Skip to content

content: rebuild Modules 2-8 to the full lesson-production standard#36

Merged
projectamazonph merged 3 commits into
mainfrom
claude/amazon-ph-academy-alignment-3pvxz9
Jul 17, 2026
Merged

content: rebuild Modules 2-8 to the full lesson-production standard#36
projectamazonph merged 3 commits into
mainfrom
claude/amazon-ph-academy-alignment-3pvxz9

Conversation

@projectamazonph

@projectamazonph projectamazonph commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up to PR #32. Modules 2-8 got factual fixes and voice-guide compliance in PR #32, but were still missing four blocks that docs/CURRICULUM-REDESIGN.md's lesson-production standard requires and that Modules 0-1 already had (from PR #31):

  • "What you can do after this lesson" (client outcome), placed right after the title.
  • "The decision in one sentence" (decision card), placed right after the outcome.
  • "Your turn" (a scenario the learner works through before seeing the answer), placed before the existing Quick check.
  • "Client language" (1-2 sentences a VA could adapt for a client update), placed alongside Your turn.

This closes out the "Rewrite foundation + campaign-building lessons using the lesson-production standard" item from issue #24's Release 2 checklist, for all of Modules 0-8.

Scope: additions only. No existing body content, tables, Key Takeaways, Quick check, Fact cards, or "What to read next" sections were touched, in any of the 19 files.

  • content/curriculum/modules/3-listing-optimization/* (3 files)
  • content/curriculum/modules/4-campaign-architecture/* (4 files)
  • content/curriculum/modules/5-portfolio-strategy/* (3 files)
  • content/curriculum/modules/6-bidding-lab/* (3 files)
  • content/curriculum/modules/7-search-term-triage/* (3 files)
  • content/curriculum/modules/8-competitive-intelligence/* (3 files)

(Module 2's 4 files landed in a separate commit on this same branch, also included here.)

Every "Your turn" scenario is new (not a copy of an existing in-file example), and none of the debunked claims already corrected in these files elsewhere (break-even CPC framing, the discontinued Item Comparison report, the nonexistent Bid Simulator, income-implies-profitability) were reintroduced in the new text.

Test plan

  • Diffed every file: additions only, nothing else in the files changed.
  • Grepped all new text for em-dashes, emoji, and banned AI-slop phrases (leverage, delve, unlock, etc.) — none found.
  • Spot-checked the math in several "Your turn" worked answers (e.g. 4.4's max-CPC calculation, 5.3's profit-after-ad-spend figures, 6.2's stacked placement/dynamic-bid multiplier) — all reconcile.
  • Not run against a real database (docs-and-content-only change; no importer/schema impact).

Generated by Claude Code

Summary by CodeRabbit

  • New Features
    • Added “What you can do after this lesson” learning outcomes and “decision in one sentence” takeaways across keyword research, listing optimization, campaign architecture, portfolio strategy, bidding, and competitive intelligence lessons.
    • Added/expanded interactive “Your turn” practice exercises with scenarios, worked-through calculations, and guided work-through steps.
    • Added ready-to-use “Client language” scripts and explanations to support clearer client communication.
  • Documentation
    • Updated curriculum lesson content to reinforce actionable workflows for match types, negatives, campaign structure, pacing, launch bidding, and search-term triage.

claude added 2 commits July 17, 2026 13:32
Module 2's four files (match types, keyword research workflow,
negative keywords, keyword grouping) had the factual and voice-guide
fixes from PR #32 but were still missing the "What you can do after
this lesson", "The decision in one sentence", "Your turn", and
"Client language" blocks that the lesson-production standard in
docs/CURRICULUM-REDESIGN.md requires (Modules 0-1 already had these).
Adds them without touching existing body content, tables, Key
Takeaways, Quick check, or What to read next.
Modules 3-8 (19 files) had the factual and voice-guide fixes from
PR #32 but were still missing the "What you can do after this
lesson", "The decision in one sentence", "Your turn", and "Client
language" blocks the lesson-production standard in
docs/CURRICULUM-REDESIGN.md requires (Modules 0-1 already had these,
Module 2 got them in the previous commit). Adds them without
touching existing body content, tables, Key Takeaways, Quick check,
Fact cards, or What to read next. Every new scenario is original
(not a duplicate of an existing in-file example), math in worked
"Your turn" scenarios was verified, and none of the debunked claims
already corrected elsewhere in these files (break-even CPC framing,
discontinued Item Comparison report, Bid Simulator, income-implies-
profitability) were reintroduced.

This closes out the "Rewrite foundation + campaign-building lessons
using the lesson-production standard" item from issue #24's Release
2 checklist for all of Modules 0-8.
@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The curriculum lessons across modules 2–8 now include explicit learning outcomes, concise decision rules, “Your turn” exercises with worked guidance, and client-facing language for explaining the taught strategies.

Changes

Keyword research

Layer / File(s) Summary
Keyword research practice and framing
content/curriculum/modules/2-keyword-research/*
Match types, keyword research, negative keywords, and keyword grouping now include learner outcomes, decision rules, applied exercises, worked explanations, and client-facing scripts.

Listing optimization

Layer / File(s) Summary
Listing diagnosis and optimization practice
content/curriculum/modules/3-listing-optimization/*
Lessons add guidance and scenarios covering listing quality versus bidding, listing rewrites and image fixes, and A+ Content conversion and ACoS calculations.

Campaign architecture

Layer / File(s) Summary
Campaign setup and structure practice
content/curriculum/modules/4-campaign-architecture/*
Lessons add setup rules and exercises for Sponsored Products, ad-type selection, campaign separation, negative targeting, budget allocation, and planning.

Portfolio strategy

Layer / File(s) Summary
Portfolio, pacing, and seasonal decisions
content/curriculum/modules/5-portfolio-strategy/*
Lessons add scenarios for portfolio adoption, budget pacing, and evaluating seasonal performance through profit after ad spend.

Bidding lab

Layer / File(s) Summary
Bid strategy and ceiling calculations
content/curriculum/modules/6-bidding-lab/*
Lessons add decision rules and worked examples for bid strategies, placement adjustments, maximum base bids, and launch-week bidding.

Search-term triage

Layer / File(s) Summary
Search-term classification and actions
content/curriculum/modules/7-search-term-triage/*
Lessons add metric-based triage rules, worked classifications, negative-keyword decisions, and client explanations for bid and match-type actions.

Competitive intelligence

Layer / File(s) Summary
Competitive analysis practice
content/curriculum/modules/8-competitive-intelligence/*
Lessons add decision framing and exercises for Brand Analytics, share of voice, competitor benchmarking, and campaign responses.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related issues

  • projectamazonph/amph-v2#24 — The lesson additions advance the planned curriculum rewrite and lesson-production standard in the same curriculum source tree.

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the broad change: rebuilding Modules 2-8 to lesson-production standard.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/amazon-ph-academy-alignment-3pvxz9

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 15

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@content/curriculum/modules/2-keyword-research/2.1-match-types.mdx`:
- Around line 184-188: Update the “Client language” quote in
content/curriculum/modules/2-keyword-research/2.1-match-types.mdx#L184-L188 to
contain exactly two plain client-facing sentences. Apply the same two-sentence
requirement to
content/curriculum/modules/2-keyword-research/2.2-keyword-research-workflow.mdx#L234-L238,
2.3-negative-keywords.mdx#L194-L198, 2.4-keyword-grouping.mdx#L208-L212,
3-listing-optimization/3.2-listing-anatomy.mdx#L205-L209, and
3.3-aplus-content.mdx#L183-L187; reduce the quote in
3-listing-optimization/3.1-listing-quality-score.mdx#L209-L213 from three
sentences to two, preserving the existing client-facing meaning.

In `@content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx`:
- Around line 17-19: Update the negative-keyword guidance in
content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx lines
17-19 to require sufficient spend or clicks with no sales, while allowing
clearly irrelevant terms as an exception. Update the recommendation in
content/curriculum/modules/2-keyword-research/2.1-match-types.mdx lines 178-182
to require supporting clicks, spend, orders, or a target-ACoS threshold before
suggesting a negative.

In
`@content/curriculum/modules/3-listing-optimization/3.1-listing-quality-score.mdx`:
- Around line 205-207: Update the scenario’s inconsistent advertising inputs so
CPC, CVR, price, and ACoS produce the stated ACoS when calculated; adjust either
the CVR or ACoS value while preserving the lesson’s intended recommendation and
surrounding discussion.

In `@content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx`:
- Around line 201-203: Revise the worked answer to use only the supplied facts:
a collapsible silicone travel mug and 350ml capacity. Remove or clearly label as
unverified assumptions the leakproof, tested-lid, fit, commuting, camping, and
other unsupported claims, and do not describe the product name as brand-level;
keep the title, bullet, and image recommendations grounded in confirmed
information.
- Around line 207-209: Revise the quoted explanation so it does not suggest that
rewriting the title or adding search terms expands ad eligibility or guarantees
more queries. Preserve the point about naturally improving relevance while
explicitly acknowledging that ad reach depends on campaign targeting and match
type.

In `@content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx`:
- Around line 179-181: Update the trademark-investment recommendation in the
lesson’s worked example to first verify Brand Registry eligibility for the
client’s country, account, and trademark filing path, including whether a
pending application qualifies. Treat the ₱18,000 spend as required only if
eligibility is not available without completing the trademark, then apply the
existing Q4 payback calculation.
- Around line 17-19: Revise the “The decision in one sentence” guidance and the
corresponding Brand Registry/A+ section to make enrollment conditional on
eligibility and supported by the seller’s own conversion data. Present improved
conversion and ACoS as a hypothesis to validate, not a universal outcome, while
preserving the recommendation to scale ad spend only after confirming ROI.

In
`@content/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdx`:
- Line 136: Update
content/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdx at
lines 136-136 to choose either phrase or broad match and provide a single
explicit budget allocation totaling 100%, with exact, discovery, and competitor
targeting amounts clearly accounting for the full budget. Update
content/curriculum/modules/4-campaign-architecture/4.4-campaign-architecture-practice.mdx
at lines 120-120 so the exact, discovery, and product-targeting amounts sum to
exactly ₱1,600.

In
`@content/curriculum/modules/4-campaign-architecture/4.2-sponsored-brands-display.mdx`:
- Around line 124-130: Revise the brand-defense guidance around the “Work it
through” section and its “Client language” quote: acknowledge that Sponsored
Products can defend branded searches through manual keyword targeting, while
presenting Sponsored Brands as the cleaner brand-led option when Brand Registry
is available. Replace the guarantee that SB “puts” products at the top with
language that it can compete for a top placement, and qualify Sponsored Display
past-viewer retargeting with account and marketplace eligibility.

In `@content/curriculum/modules/5-portfolio-strategy/5.1-campaign-portfolios.mdx`:
- Line 224: Update the portfolio budget explanation in “Work it through” to
explicitly identify the 60/25/15 allocation as a three-product-line adaptation
of the referenced 60/20/10/10 framework. Preserve the existing product
assignments and amounts while clarifying that the percentages are intentionally
adapted for three lines.

In `@content/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdx`:
- Line 202: Update the budget-increase guidance in “Work it through” to present
the 20–30% increase as a starting point rather than a guaranteed solution. Tie
the adjustment to remaining live through the 8PM–12AM PHT window, and advise
pairing it with bid cuts or pausing low-performing keywords if the budget would
still exhaust early.

In `@content/curriculum/modules/6-bidding-lab/6.1-bid-strategies.mdx`:
- Around line 163-169: Update the “Client language” quote to scope the “never
raise” statement to the base bid, acknowledging that placement adjustments may
increase the effective CPC above the configured amount. Preserve the
conservative rationale without presenting Fixed Bids or Dynamic Down Only as an
absolute CPC cap.

In
`@content/curriculum/modules/7-search-term-triage/7.1-search-term-analysis.mdx`:
- Around line 159-161: Update the “cutting board with juice groove”
classification in the “Work it through” section to provide a target ACoS or make
the Winner classification and aggressive-bid recommendation conditional on 14%
ACoS being below the campaign’s target. Do not present the current ACoS alone as
sufficient evidence for harvesting.

In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`:
- Around line 13-20: Reconcile the action taxonomy in the lesson with the
scenario’s Monitor recommendation: either add Monitor consistently to the
available-actions list, decision flowchart, and submission guidance, or replace
Monitor in the scenario with one of the existing five actions. Update all
affected references, including the section around the scenario at lines 165-178,
so learners can submit the recommended decision.

In
`@content/curriculum/modules/8-competitive-intelligence/8.2-share-of-voice.mdx`:
- Around line 162-164: Update the “Work it through” guidance for the 9% SOV
example to use Amazon’s Search Term Impression Share report for term-level share
and rank over a fixed window. Remove the recommendation to confirm SOV with a
short bid-ceiling test, since that measures bid elasticity rather than share of
voice, while preserving the Contender tier and bidding-strategy guidance.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1e701765-4a49-431f-b051-1d467a60c7db

📥 Commits

Reviewing files that changed from the base of the PR and between 70c035a and f436cbe.

📒 Files selected for processing (23)
  • content/curriculum/modules/2-keyword-research/2.1-match-types.mdx
  • content/curriculum/modules/2-keyword-research/2.2-keyword-research-workflow.mdx
  • content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx
  • content/curriculum/modules/2-keyword-research/2.4-keyword-grouping.mdx
  • content/curriculum/modules/3-listing-optimization/3.1-listing-quality-score.mdx
  • content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx
  • content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx
  • content/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdx
  • content/curriculum/modules/4-campaign-architecture/4.2-sponsored-brands-display.mdx
  • content/curriculum/modules/4-campaign-architecture/4.3-campaign-structure.mdx
  • content/curriculum/modules/4-campaign-architecture/4.4-campaign-architecture-practice.mdx
  • content/curriculum/modules/5-portfolio-strategy/5.1-campaign-portfolios.mdx
  • content/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdx
  • content/curriculum/modules/5-portfolio-strategy/5.3-seasonal-strategy.mdx
  • content/curriculum/modules/6-bidding-lab/6.1-bid-strategies.mdx
  • content/curriculum/modules/6-bidding-lab/6.2-placement-adjustments.mdx
  • content/curriculum/modules/6-bidding-lab/6.3-bid-elevator-prep.mdx
  • content/curriculum/modules/7-search-term-triage/7.1-search-term-analysis.mdx
  • content/curriculum/modules/7-search-term-triage/7.2-negative-keywords.mdx
  • content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx
  • content/curriculum/modules/8-competitive-intelligence/8.1-brand-analytics.mdx
  • content/curriculum/modules/8-competitive-intelligence/8.2-share-of-voice.mdx
  • content/curriculum/modules/8-competitive-intelligence/8.3-competitor-benchmarking.mdx

Comment thread content/curriculum/modules/2-keyword-research/2.1-match-types.mdx Outdated
Comment on lines +17 to +19
## The decision in one sentence

A search term with real spend and no sales is a negative candidate; whether it's exact or phrase, campaign- or ad-group-level, depends on how narrow the waste is.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Require enough evidence before blocking a term.

Both lessons let low-data terms become negatives too early. Add a minimum clicks/spend or target-ACoS threshold, with a clear-irrelevance exception, before recommending a negative.

  • content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx#L17-L19: change “real spend and no sales” to “sufficient spend/clicks with no sales, or clearly irrelevant.”
  • content/curriculum/modules/2-keyword-research/2.1-match-types.mdx#L178-L182: provide clicks, spend, orders, or a target-ACoS threshold before recommending a negative.
📍 Affects 2 files
  • content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx#L17-L19 (this comment)
  • content/curriculum/modules/2-keyword-research/2.1-match-types.mdx#L178-L182
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx`
around lines 17 - 19, Update the negative-keyword guidance in
content/curriculum/modules/2-keyword-research/2.3-negative-keywords.mdx lines
17-19 to require sufficient spend or clicks with no sales, while allowing
clearly irrelevant terms as an exception. Update the recommendation in
content/curriculum/modules/2-keyword-research/2.1-match-types.mdx lines 178-182
to require supporting clicks, spend, orders, or a target-ACoS threshold before
suggesting a negative.

Comment thread content/curriculum/modules/3-listing-optimization/3.1-listing-quality-score.mdx Outdated
Comment thread content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx Outdated
Comment thread content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx Outdated
Comment thread content/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdx Outdated
Comment thread content/curriculum/modules/6-bidding-lab/6.1-bid-strategies.mdx Outdated
Comment thread content/curriculum/modules/7-search-term-triage/7.1-search-term-analysis.mdx Outdated
Comment thread content/curriculum/modules/8-competitive-intelligence/8.2-share-of-voice.mdx Outdated
Fixes across 14 files:
- 3.1: fixed the "Your turn" scenario's ACoS arithmetic (stated 61%,
  actual math gives ~101% at the given CPC/CVR/price); reduced the
  Client language quote from three sentences to two.
- 3.2: removed invented product claims (leakproof, tested lid,
  "brand-level" naming) not supported by the brief, framing them as
  assumptions to confirm instead; reworded the title-rewrite
  explanation so it doesn't imply a title change alone expands ad
  eligibility, since reach still depends on campaign targeting and
  match type.
- 3.3: made the "decision in one sentence" and worked scenario
  conditional on Brand Registry eligibility and the seller's own
  conversion data, instead of presenting A+ Content's ACoS
  improvement as a guaranteed outcome; the scenario now checks
  eligibility (e.g. IP Accelerator or non-US pending-trademark paths)
  before assuming the full trademark spend is required.
- 4.1, 4.4: replaced budget ranges that only summed to 75-100% with
  one explicit split (55/30/15) that sums to exactly the stated daily
  budget in each scenario.
- 4.2: softened the brand-defense guidance so Sponsored Products
  isn't described as unable to defend a branded search at all, and
  Sponsored Brands "puts" a product back at the top became "can
  compete for a top placement"; qualified Sponsored Display
  retargeting with its own Brand Registry/eligibility requirement.
- 5.1: labeled the 60/25/15 portfolio split as a three-product-line
  adaptation of the lesson's own 60/20/10/10 framework, instead of
  reading as an unexplained mismatch.
- 5.2: reframed the 20-30% budget increase as a starting point tied
  to the actual 8PM-12AM PHT peak window, with bid cuts or pausing
  low performers as the fallback if it still exhausts early.
- 6.1: scoped the "never raise above what we set" client-language
  claim to the base bid, since placement adjustments can still lift
  the effective CPC above it.
- 7.1: made the "Winner" classification and aggressive-bid
  recommendation conditional on a stated 20% target ACoS, instead of
  presenting a bare 14% ACoS as sufficient evidence on its own.
- 7.3: replaced a "Monitor" classification that isn't one of the
  lesson's five named actions with "Keep for now," matching the
  precedent this lesson's own quick-practice section already uses
  for low-click terms.
- 8.2: replaced a bid-ceiling-test suggestion (which measures bid
  elasticity, not SOV) with a reference to Amazon's actual Search
  Term Impression Share report for term-level share and rank.
- 2.1, 2.2: tightened Client language quotes to two clean sentences.
@projectamazonph
projectamazonph merged commit 576ed22 into main Jul 17, 2026
4 of 5 checks passed

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

♻️ Duplicate comments (1)
content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx (1)

15-19: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Reconcile the five-action taxonomy with “Monitor.”

The lesson lists five actions, but the flowchart still produces Monitor, and the scenario maps a low-data, irrelevant-looking term to Keep. Keep requires relevance and consistent orders. Add Monitor as an explicit sixth “wait for data” state everywhere, or replace it with a formally defined action and update the flowchart and practice answers.

As per coding guidelines, curriculum content must follow the documented lesson-production standard and voice rules.

Also applies to: 171-171

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`
around lines 15 - 19, Reconcile the action taxonomy across the lesson by adding
Monitor as an explicit sixth state for low-data terms, or replace it with a
formally defined existing action. Update the decision flowchart and all
scenario/practice answers, including the low-data irrelevant-looking term, so
Keep is reserved for relevant terms with consistent orders and every outcome
uses the documented taxonomy and lesson-production voice.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx`:
- Line 209: Update the rewritten-title explanation in the listing optimization
curriculum to replace the claim that the old title matches only one search term
with wording that it gives shoppers limited product detail. Preserve the
existing caveat that displayed searches depend on campaign targeting and match
types, not title text alone.
- Line 203: Revise the worked answer in the listing-anatomy lesson so it only
states confirmed facts: a collapsible silicone travel mug and 350 ml capacity.
Remove or clearly mark “collapses to half the size,” “fit any bag pocket or cup
holder,” and similar unverified claims as client-verification placeholders,
while preserving the lesson’s documented production standard and voice.

In `@content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx`:
- Line 187: Update the client script’s trademark-cost statement in the quoted
Brand Registry guidance to make the ₱18,000 expense conditional: state that it
is necessary only if the client is not already eligible through a qualifying
pending trademark. Preserve the existing explanation of free enrollment and the
related Sponsored Brands benefit, while following the documented
lesson-production voice and standards.
- Line 181: Reword the A+ Content conversion-rate example in “Work it through”
so the 7% to 10% scenario is presented as a standalone hypothetical, not as
being within the cited 5–17% lift benchmark. Preserve the existing ACoS
calculations and trademark eligibility guidance.

In `@content/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdx`:
- Line 202: Revise the “Work it through” guidance so early budget exhaustion
alone does not trigger a budget increase: require acceptable ACOS/ROAS and
conversion efficiency first, otherwise prioritize bid reductions, negative
targeting, pausing waste, or reallocation. Qualify the 80–90% end-of-day pacing
range as a heuristic only for campaigns intended to spend their full budget, not
a universal target, while retaining the existing timing and optimization
context.

In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`:
- Around line 169-171: Revise the “silicone baking mat set” recommendation in
the “Work it through” section so Increase Bid is conditional on strong CTR and
confirmation that the term is not already winning top positions. Add those
scenario inputs and retain Increase Bid only when all required criteria are met;
otherwise specify the appropriate action based on the missing conditions.
- Around line 169-171: Update the “baking mat for kids crafts” example in the
work-through text to show “no sales” or “N/A” instead of “ACoS 0%,” while
preserving the existing Keep recommendation and low-click rationale.

---

Duplicate comments:
In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`:
- Around line 15-19: Reconcile the action taxonomy across the lesson by adding
Monitor as an explicit sixth state for low-data terms, or replace it with a
formally defined existing action. Update the decision flowchart and all
scenario/practice answers, including the low-data irrelevant-looking term, so
Keep is reserved for relevant terms with consistent orders and every outcome
uses the documented taxonomy and lesson-production voice.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3b95315e-d496-46d5-bda6-d080f8de3951

📥 Commits

Reviewing files that changed from the base of the PR and between f436cbe and 4af6a51.

📒 Files selected for processing (14)
  • content/curriculum/modules/2-keyword-research/2.1-match-types.mdx
  • content/curriculum/modules/2-keyword-research/2.2-keyword-research-workflow.mdx
  • content/curriculum/modules/3-listing-optimization/3.1-listing-quality-score.mdx
  • content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx
  • content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx
  • content/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdx
  • content/curriculum/modules/4-campaign-architecture/4.2-sponsored-brands-display.mdx
  • content/curriculum/modules/4-campaign-architecture/4.4-campaign-architecture-practice.mdx
  • content/curriculum/modules/5-portfolio-strategy/5.1-campaign-portfolios.mdx
  • content/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdx
  • content/curriculum/modules/6-bidding-lab/6.1-bid-strategies.mdx
  • content/curriculum/modules/7-search-term-triage/7.1-search-term-analysis.mdx
  • content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx
  • content/curriculum/modules/8-competitive-intelligence/8.2-share-of-voice.mdx
🚧 Files skipped from review as they are similar to previous changes (10)
  • content/curriculum/modules/4-campaign-architecture/4.2-sponsored-brands-display.mdx
  • content/curriculum/modules/2-keyword-research/2.1-match-types.mdx
  • content/curriculum/modules/2-keyword-research/2.2-keyword-research-workflow.mdx
  • content/curriculum/modules/3-listing-optimization/3.1-listing-quality-score.mdx
  • content/curriculum/modules/8-competitive-intelligence/8.2-share-of-voice.mdx
  • content/curriculum/modules/7-search-term-triage/7.1-search-term-analysis.mdx
  • content/curriculum/modules/4-campaign-architecture/4.4-campaign-architecture-practice.mdx
  • content/curriculum/modules/6-bidding-lab/6.1-bid-strategies.mdx
  • content/curriculum/modules/4-campaign-architecture/4.1-sponsored-products.mdx
  • content/curriculum/modules/5-portfolio-strategy/5.1-campaign-portfolios.mdx


You're optimizing the listing for a $19.99 collapsible silicone travel mug. The current title is "Silicone Travel Mug." The current bullet 1 reads "350ml capacity." The main image sits on a white background but is only 900px, and there are just 3 images total. Before reading further: rewrite the title so it's PPC-optimized but still natural to read, rewrite bullet 1 using the feature to benefit to proof structure, and name the two image fixes needed before this listing is ready for real ad spend.

**Work it through:** Title: "Collapsible Silicone Travel Mug, 350ml Cup for On-the-Go Use." That adds the confirmed capacity and a general use-case phrase without inventing features the brief never confirmed, since a title should only promise what the listing can actually back up. Bullet 1: "COLLAPSES TO HALF THE SIZE. At 350ml, this mug flattens down to fit any bag pocket or cup holder once you're done with it. Confirm with the client whether it's leakproof and tested for daily carry before adding that as a third sentence, since an unverified durability claim is worse than none at all." That moves the bullet from a bare spec ("350ml capacity") toward feature and benefit, with proof added only once it's actually verified. Image fixes: the main image needs to reach at least 1000px so Amazon's zoom feature can activate, and the listing needs more than 3 images, at least 5, ideally with a lifestyle shot in position 2 showing the mug in use.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Keep the worked answer grounded in confirmed product facts.

The prompt confirms only a collapsible silicone travel mug and 350 ml capacity. “Collapses to half the size” and “fit any bag pocket or cup holder” add unverified claims; the later leakproof caveat does not remove them. Use confirmed facts or mark these as client-verification placeholders.

As per coding guidelines, curriculum content must follow the documented lesson-production standard and voice rules.

Proposed correction
- Bullet 1: "COLLAPSES TO HALF THE SIZE. At 350ml, this mug flattens down to fit any bag pocket or cup holder once you're done with it."
+ Bullet 1: "COLLAPSIBLE SILICONE DESIGN. Folds down for compact storage. 350 ml capacity."
🧰 Tools
🪛 LanguageTool

[grammar] ~203-~203: Ensure spelling is correct
Context: ...llet 1: "COLLAPSES TO HALF THE SIZE. At 350ml, this mug flattens down to fit any bag ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~203-~203: ‘none at all’ might be wordy. Consider a shorter alternative.
Context: ...verified durability claim is worse than none at all." That moves the bullet from a bare spe...

(EN_WORDINESS_PREMIUM_NONE_AT_ALL)


[grammar] ~203-~203: Ensure spelling is correct
Context: ...That moves the bullet from a bare spec ("350ml capacity") toward feature and benefit, ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx` at
line 203, Revise the worked answer in the listing-anatomy lesson so it only
states confirmed facts: a collapsible silicone travel mug and 350 ml capacity.
Remove or clearly mark “collapses to half the size,” “fit any bag pocket or cup
holder,” and similar unverified claims as client-verification placeholders,
while preserving the lesson’s documented production standard and voice.

Source: Coding guidelines


Use this when a client asks why you're rewriting a title that already has the product name in it:

> "The current title only matches one search term, so I'm rewriting it to naturally include the confirmed size and general use-case language. That can improve relevance signals, but how many searches we actually show for still depends on our campaign's targeting and match types, not the title alone."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Do not claim the old title matches only one search term.

A title can contribute relevance to multiple queries; title text does not determine query reach by itself. Replace this with “gives shoppers limited product detail,” while keeping the existing caveat about targeting and match types.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/curriculum/modules/3-listing-optimization/3.2-listing-anatomy.mdx` at
line 209, Update the rewritten-title explanation in the listing optimization
curriculum to replace the claim that the old title matches only one search term
with wording that it gives shoppers limited product detail. Preserve the
existing caveat that displayed searches depend on campaign targeting and match
types, not title text alone.


Your client sells a $22 insulated lunch box. They're not Brand Registered yet (trademark filed but not approved), their CPC (cost per click) is $0.60, and their current conversion rate is 7%. Ad sales are running about ₱60,000 a month. The client asks whether spending ₱18,000 to complete their trademark this quarter is worth it before their Q4 push. Before reading further: what's the first thing to check before recommending that spend, and using this lesson's ACoS (advertising cost of sales) math, what happens to ACoS if A+ Content lifts conversion rate from 7% to roughly 10%?

**Work it through:** Check eligibility first. A pending trademark filed through Amazon's IP Accelerator program, or a pending application in some countries outside the US, can sometimes enroll in Brand Registry before full registration; a trademark filed directly with the US trademark office generally can't. Confirm the client's filing path and country before treating the ₱18,000 as a hard prerequisite. If full registration really is required: ACoS is ad spend divided by ad sales, which works out to CPC divided by (conversion rate times price). At a 7% conversion rate: $0.60 / (0.07 × $22) = $0.60 / $1.54, about 39% ACoS. If A+ Content lifts conversion rate to 10%, within this lesson's commonly cited range: $0.60 / (0.10 × $22) = $0.60 / $2.20, about 27% ACoS. Against ₱60,000 a month in ad sales, that roughly 12-point gap is worth about ₱7,000 a month in modeled spend saved, which would repay the ₱18,000 trademark cost in under 3 months, once the client's own before-and-after data confirms the lift actually happens. Tell the client: check eligibility first, and if the trademark really is required, it's worth finishing before Q4, treating the ACoS improvement as a hypothesis to confirm, not a guarantee.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx"

echo "== Outline =="
ast-grep outline "$file" --view expanded || true

echo
echo "== Relevant lines around the cited passage =="
sed -n '150,210p' "$file" | cat -n

echo
echo "== Search for the 5-17% range and related CVR wording =="
rg -n "5-17%|5–17%|conversion rate|CVR|percentage points|relative" "$file"

Repository: projectamazonph/amph-v2

Length of output: 9722


Separate the 10% CVR example from the 5–17% lift benchmark. In content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx:181, 7% → 10% is a 3-point (42.9% relative) lift, so it shouldn’t be described as “within” the earlier 5–17% range unless that benchmark is restated in the same units. Reword it as a standalone hypothetical or recalculate the example against a matching lift range.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx` at
line 181, Reword the A+ Content conversion-rate example in “Work it through” so
the 7% to 10% scenario is presented as a standalone hypothetical, not as being
within the cited 5–17% lift benchmark. Preserve the existing ACoS calculations
and trademark eligibility guidance.

Source: Coding guidelines


Use this when a client asks if the trademark cost for Brand Registry is worth it:

> "Brand Registry enrollment itself is free. The real cost is trademarking your brand name, which can pay for itself within months once we confirm the conversion lift with your own data, and also gives you access to Sponsored Brands ads you can't run without it."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Carry the eligibility caveat into the client script.

The worked answer correctly says to verify whether the pending trademark qualifies first, but this script presents trademarking as the required cost. Say “if the client is not already eligible” before presenting ₱18,000 as necessary.

As per coding guidelines, curriculum content must follow the documented lesson-production standard and voice rules.

Proposed correction
-> "Brand Registry enrollment itself is free. The real cost is trademarking your brand name, which can pay for itself within months once we confirm the conversion lift with your own data, and also gives you access to Sponsored Brands ads you can't run without it."
+> "Brand Registry enrollment itself is free. First, we'll confirm whether your pending application already qualifies. If not, the remaining trademark cost may pay for itself once we confirm the conversion lift with your own data."
🧰 Tools
🪛 LanguageTool

[style] ~187-~187: Try using a synonym here to strengthen your writing.
Context: ...rsion lift with your own data, and also gives you access to Sponsored Brands ads you can'...

(GIVE_PROVIDE)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/curriculum/modules/3-listing-optimization/3.3-aplus-content.mdx` at
line 187, Update the client script’s trademark-cost statement in the quoted
Brand Registry guidance to make the ₱18,000 expense conditional: state that it
is necessary only if the client is not already eligible through a qualifying
pending trademark. Preserve the existing explanation of free enrollment and the
related Sponsored Brands benefit, while following the documented
lesson-production voice and standards.

Source: Coding guidelines


Your client's phone-case campaign has a ₱1,500 daily budget. It's 11AM and the dashboard already shows ₱1,200 spent, 80% of the day's budget. This is the third day in a row the campaign has paused by around 2PM. The client has a promo launching this Friday and doesn't want it shut out early. Before reading further: what does this burn rate pattern tell you, and what would you actually change before Friday?

**Work it through:** A good pacing target is 80 to 90% of the daily budget spent by end of day. Hitting 80% by 11AM, three days running, is nowhere near that: this campaign is burning through its budget in a few hours and going dark for the rest of the day, which is the classic "budget too low for demand" pattern, not a one-off spike. The fix is to raise the daily budget, roughly 20 to 30% as a starting point, so it can run further into the evening instead of pausing at 2PM. Check pacing again after the change, and be ready to pair it with bid cuts or pausing low-performing keywords if it's still exhausting before the peak PHT evening window (8PM to 12AM). Do this before Friday, not on Friday: a promo day is when you most want the campaign live through that window, not paused since early afternoon.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not infer “budget too low” from burn rate alone.

Spending 80% by 11AM proves early budget exhaustion, but not that the campaign should receive more budget; high CPC or low-quality traffic could be driving the spend. Make ACOS/ROAS and conversion efficiency the gate: increase budget only when performance is acceptable, otherwise reduce bids, add negatives, pause waste, or reallocate first. Amazon describes daily budgets as maximums that are not paced and also recommends reviewing bidding and targeting when optimizing spend. (advertising.amazon.com)

Please also qualify the “80–90% by end of day” figure as a heuristic for campaigns intended to use their full budget, not a universal success target.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/curriculum/modules/5-portfolio-strategy/5.2-budget-pacing.mdx` at
line 202, Revise the “Work it through” guidance so early budget exhaustion alone
does not trigger a budget increase: require acceptable ACOS/ROAS and conversion
efficiency first, otherwise prioritize bid reductions, negative targeting,
pausing waste, or reallocation. Qualify the 80–90% end-of-day pacing range as a
heuristic only for campaigns intended to spend their full budget, not a
universal target, while retaining the existing timing and optimization context.

Comment on lines +169 to +171
Your target ACoS (advertising cost of sales) is 20%. You're triaging a $22 silicone baking mat set. Four terms come in: "silicone baking mat set," 28 clicks, 6 orders, ACoS 11%, already exact match. "baking mat non stick," 24 clicks, 5 orders, ACoS 14%, currently broad match only. "baking mat oven liner," 19 clicks, 3 orders, ACoS 32%, exact match. "baking mat for kids crafts," 8 clicks, 0 orders, ACoS 0%. Before reading further: which of the five actions fits each term?

**Work it through:** "silicone baking mat set" is already exact match with ACoS well under target and consistent orders. That's room to spend more per click: Increase Bid. "baking mat non stick" is performing well (14% ACoS, under the 20% target) with 24 clicks, past the 15–20 click minimum, but it's still only broad match, so Harvest to Exact. "baking mat oven liner" is relevant and converting, but its 32% ACoS is above the 20% target, so Decrease Bid rather than negating a term that's actually bringing in orders. "baking mat for kids crafts" has 0 orders on only 8 clicks. That's under the 10-click threshold this lesson uses for a confident negative, and the term also signals a craft use case rather than baking, so the safest call is Keep for now, the same low-click "wait for more data" case this lesson's quick-practice answer #5 uses, revisiting once it clears 10+ clicks rather than negating today on too little evidence.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Provide the inputs required before recommending Increase Bid.

The exact-match term is sent to Increase Bid from low ACoS and order volume alone, but Action 5 also requires strong CTR and confirmation that it is not already winning top positions. Add those metrics or make the recommendation conditional; the current scenario does not support a definite bid increase.

🧰 Tools
🪛 LanguageTool

[grammar] ~169-~169: Use a hyphen to join words.
Context: ...1%, already exact match. "baking mat non stick," 24 clicks, 5 orders, ACoS 14%, c...

(QB_NEW_EN_HYPHEN)


[grammar] ~171-~171: Use a hyphen to join words.
Context: ...per click: Increase Bid. "baking mat non stick" is performing well (14% ACoS, und...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`
around lines 169 - 171, Revise the “silicone baking mat set” recommendation in
the “Work it through” section so Increase Bid is conditional on strong CTR and
confirmation that the term is not already winning top positions. Add those
scenario inputs and retain Increase Bid only when all required criteria are met;
otherwise specify the appropriate action based on the missing conditions.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE='content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx'

echo '--- target lines around 169-171 ---'
nl -ba "$FILE" | sed -n '150,190p'

echo
echo '--- search for ACoS and zero-sales phrasing in curriculum ---'
rg -n -C 2 'ACoS|0 orders|no sales|undefined|0%' content/curriculum/modules/7-search-term-triage content/curriculum | sed -n '1,240p'

Repository: projectamazonph/amph-v2

Length of output: 237


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE='content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx'

echo '--- target excerpt with line numbers ---'
awk 'NR>=150 && NR<=190 { printf "%4d  %s\n", NR, $0 }' "$FILE"

echo
echo '--- curriculum search for zero-sales / ACoS language ---'
rg -n -C 2 'ACoS|0 orders|no sales|undefined|0%' content/curriculum | sed -n '1,240p'

Repository: projectamazonph/amph-v2

Length of output: 32431


Use “no sales” or “N/A” instead of 0% for this term. With 8 clicks and 0 orders, ACoS is undefined in this lesson’s own definition; 0% reads like a profitable result and can mislead learners.

🧰 Tools
🪛 LanguageTool

[grammar] ~169-~169: Use a hyphen to join words.
Context: ...1%, already exact match. "baking mat non stick," 24 clicks, 5 orders, ACoS 14%, c...

(QB_NEW_EN_HYPHEN)


[grammar] ~171-~171: Use a hyphen to join words.
Context: ...per click: Increase Bid. "baking mat non stick" is performing well (14% ACoS, und...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@content/curriculum/modules/7-search-term-triage/7.3-str-triage-prep.mdx`
around lines 169 - 171, Update the “baking mat for kids crafts” example in the
work-through text to show “no sales” or “N/A” instead of “ACoS 0%,” while
preserving the existing Keep recommendation and low-click rationale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants