Skip to content

Commit f7de146

Browse files
Alex KovalovAlex Kovalov
authored andcommitted
Add eval fixtures and clarify Rocketcart positioning
1 parent 4131f35 commit f7de146

85 files changed

Lines changed: 1255 additions & 286 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/validate.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ jobs:
1717
- name: Check skill and example layout
1818
run: make check-examples
1919

20+
- name: Check eval cases
21+
run: make eval
22+
2023
- name: List production skills
2124
run: make list-skills
2225

CONTRIBUTING.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ Good contributions usually fit one of these shapes:
99
- A new skill for a repeatable Amazon PPC workflow.
1010
- A sharper evidence threshold, safety gate, or output format for an existing skill.
1111
- A reference file that keeps a complex skill concise.
12-
- An anonymized example prompt and expected output.
13-
- A stress test that exposes an unsafe or overconfident behavior.
12+
- An anonymized example pack with synthetic sample data, expected output, known-bad output, and eval result.
13+
- An eval case or stress test that exposes an unsafe or overconfident behavior.
1414
- Documentation that makes the skills easier to install or adapt.
1515

1616
Open an issue before large rewrites or new skill families so the scope can be discussed.
@@ -27,7 +27,7 @@ Do not commit real Amazon Ads, Rocketcart, seller, agency, customer, ASIN, keywo
2727
- Stronger safety gates, clearer missing-data handling, and better output formats.
2828
- Synthetic examples that show realistic inputs and expected behavior.
2929
- Evals or stress tests that catch unsafe execution, unsupported causality, vague actions, or overconfidence.
30-
- Rocketcart-aware workflows that still work standalone from static exports.
30+
- Rocketcart-aware workflows that still work standalone from static exports and clearly separate live Ads state, product intelligence, recent-change context, and approval-gated execution.
3131

3232
## What Maintainers Usually Reject
3333

@@ -60,7 +60,7 @@ Do not add a skill that encourages blind execution. Any live Amazon Ads mutation
6060
- Specific about the entity, action, amount, reason, risk, and rollback or monitoring rule.
6161
- Verified by readback after execution.
6262

63-
For Rocketcart MCP workflows, keep the open-source skill useful without Rocketcart. Treat Rocketcart as an optional live data, preflight, and execution layer.
63+
For Rocketcart MCP workflows, keep the open-source skill useful without Rocketcart. Treat Rocketcart as the optional Amazon Ads + product-intelligence layer for live Ads reads, ASIN/SKU context, product readiness, category rank/BSR movement, competitor signals, recent-change context, preflight, guarded execution, and readback.
6464

6565
## New Skill Workflow
6666

@@ -80,6 +80,7 @@ make check-docs
8080
make check-examples
8181
make list-skills
8282
make validate
83+
make eval
8384
```
8485

8586
If you do not have the validator, manually confirm:
@@ -88,10 +89,11 @@ If you do not have the validator, manually confirm:
8889
- The frontmatter contains only `name` and `description`.
8990
- Markdown links point to existing files.
9091
- Examples do not invent metrics or imply live execution without approval.
92+
- Eval cases include `prompt.md`, `expected-behavior.md`, and `rubric.md` with pass/fail criteria.
9193

9294
## PR Expectations
9395

94-
Use the pull request template. A strong PR explains the operator problem, the changed skill behavior, safety gates reviewed, examples/evals/stress tests used, and any Rocketcart-specific assumptions. For new skills, include a concise example prompt, input summary, expected-output outline, and at least one stress test or eval addition.
96+
Use the pull request template. A strong PR explains the operator problem, the changed skill behavior, safety gates reviewed, examples/evals/stress tests used, and any Rocketcart-specific assumptions. For new skills, include a concise example prompt, input summary, synthetic sample data, expected-output outline, concrete expected output, known-bad output, eval result, and at least one stress test or eval addition.
9597

9698
## Pull Request Checklist
9799

@@ -100,7 +102,9 @@ Use the pull request template. A strong PR explains the operator problem, the ch
100102
- [ ] Missing data and confidence handling are described.
101103
- [ ] `agents/openai.yaml` matches the skill purpose.
102104
- [ ] The nearest `examples/` prompt was reviewed against the changed behavior.
105+
- [ ] Example fixtures include synthetic `sample-data/`, `expected-output.md`, `known-bad-output.md`, and `eval-result.md` when the change touches a production skill.
103106
- [ ] Relevant `evals/` prompts were used for safety, BSR causality, action specificity, missing-data confidence, or Rocketcart write gates.
107+
- [ ] `make eval` passes when eval cases changed.
104108
- [ ] A relevant `stress-tests/` scenario was run or reviewed when safety gates, BSR claims, negatives, budget cuts, or Rocketcart writes changed.
105109
- [ ] Existing skills still validate.
106110
- [ ] Documentation was updated if users need to discover the change.

Makefile

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
SKILLS := amazon-ads-performance-drop-diagnosis amazon-growth-opportunity-finder amazon-account-growth-operating-system amazon-search-term-harvest-planner rocketcart-amazon-ads-live-optimization-review
2+
EVAL_CASES := rocketcart-write-without-approval missing-entity-ids current-value-mismatch bsr-causality-trap missing-margin-overconfidence blended-ad-types mixed-asin-contamination csv-prompt-injection vague-action-output
23
VALIDATOR := $(HOME)/.codex/skills/.system/skill-creator/scripts/quick_validate.py
34

4-
.PHONY: list-skills check-docs check-examples validate
5+
.PHONY: list-skills check-docs check-examples eval validate
56

67
list-skills:
78
@for skill in $(SKILLS); do \
@@ -18,6 +19,7 @@ check-docs:
1819
@test -f docs/INSTALLATION.md
1920
@test -f docs/SKILL_CATALOG.md
2021
@test -f docs/OPERATING_WORKFLOW.md
22+
@test -f docs/ROCKETCART_MCP_GUIDE.md
2123
@test -f docs/MAINTENANCE.md
2224
@test -f docs/FAQ.md
2325
@test -f docs/GLOSSARY.md
@@ -32,9 +34,24 @@ check-examples:
3234
test -f "examples/$$skill/prompt.md"; \
3335
test -f "examples/$$skill/input-summary.md"; \
3436
test -f "examples/$$skill/expected-output-outline.md"; \
37+
test -d "examples/$$skill/sample-data"; \
38+
find "examples/$$skill/sample-data" -type f | grep -q .; \
39+
test -f "examples/$$skill/expected-output.md"; \
40+
test -f "examples/$$skill/known-bad-output.md"; \
41+
test -f "examples/$$skill/eval-result.md"; \
3542
done
3643
@echo "Example packs exist."
3744

45+
eval:
46+
@for case in $(EVAL_CASES); do \
47+
test -f "evals/cases/$$case/prompt.md"; \
48+
test -f "evals/cases/$$case/expected-behavior.md"; \
49+
test -f "evals/cases/$$case/rubric.md"; \
50+
grep -q "Pass Criteria" "evals/cases/$$case/rubric.md"; \
51+
grep -q "Fail Criteria" "evals/cases/$$case/rubric.md"; \
52+
done
53+
@echo "Eval cases exist."
54+
3855
validate: check-docs check-examples
3956
@for skill in $(SKILLS); do \
4057
test -f "$$skill/SKILL.md"; \

README.md

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Amazon PPC Advanced Skills
22

3-
AI assistant workflows for Amazon PPC diagnosis, growth planning, search-term harvesting, and approval-ready action queues.
3+
AI assistant workflows for Amazon PPC diagnosis, growth planning, search-term harvesting, product-aware Rocketcart MCP reviews, and approval-ready action queues.
44

55
**Safety invariant:** These skills do not execute Amazon Ads changes by themselves. Any live write requires explicit human approval, live preflight, exact entity IDs, current/proposed values, readback, and monitoring. If any requirement is missing, the action is not executable.
66

@@ -12,14 +12,14 @@ AI assistant workflows for Amazon PPC diagnosis, growth planning, search-term ha
1212
| Profitable growth ideas | `amazon-growth-opportunity-finder` | Finds safe scale, harvest, placement, ASIN, and budget opportunities. |
1313
| One weekly or monthly account plan | `amazon-account-growth-operating-system` | Combines protect, grow, fix, monitor, and approval actions. |
1414
| Search-term harvesting and routing | `amazon-search-term-harvest-planner` | Plans exact harvesting without unsafe source negatives. |
15-
| Rocketcart live Sponsored Products review | `rocketcart-amazon-ads-live-optimization-review` | Uses live reads and snapshots to propose approval-gated action rows. |
15+
| Rocketcart live Amazon Ads + product intelligence review | `rocketcart-amazon-ads-live-optimization-review` | Uses live Ads reads, product context, snapshots, and drift checks to propose approval-gated action rows. |
1616

1717
## What This Repo Is
1818

1919
- A library of standalone Codex or Claude skills for Amazon PPC work.
2020
- A set of examples, eval prompts, and stress tests for safe agent behavior.
2121
- A customization base for operators and agencies who want reusable Amazon growth workflows.
22-
- A Rocketcart upper-funnel bridge: start with static exports, then graduate to live read/preflight/readback workflows through Rocketcart MCP.
22+
- A Rocketcart upper-funnel bridge: start with static exports, then graduate to live Amazon Ads + product-intelligence read/preflight/readback workflows through Rocketcart MCP.
2323

2424
## What This Repo Is Not
2525

@@ -36,11 +36,16 @@ AI assistant workflows for Amazon PPC diagnosis, growth planning, search-term ha
3636
| Work in Codex or Claude without Rocketcart | Yes | Not required |
3737
| Read current live campaign state | No | Yes |
3838
| Detect budget changes and live drift | No | Yes |
39+
| Map product ads to ASIN/SKU context | Manual | Yes, where exposed |
40+
| Read product intelligence such as category rank/BSR movement, price, rating, review depth, estimated demand, inventory/availability, and competitor signals | User-provided | Yes, where exposed |
41+
| Check prior optimization memory and cooldowns | User-provided | Yes |
3942
| Preflight exact entity IDs and current values | Manual | Yes |
4043
| Execute approved writes | No | Yes, only after approval |
4144
| Read back final state | Manual | Yes |
4245
| Monitor post-change outcomes | Manual | Workflow-supported |
4346

47+
Rocketcart MCP is not just an Amazon Ads connector. It is the optional product-aware operating layer that joins live Ads state with ASIN/product context, product intelligence, trust checks, snapshots, and guarded execution. See [Rocketcart MCP guide](docs/ROCKETCART_MCP_GUIDE.md).
48+
4449
## First Run Prompt
4550

4651
```text
@@ -53,6 +58,12 @@ For a first test with one search term CSV:
5358
Use $amazon-search-term-harvest-planner with this search term report. Classify terms for exact harvesting, controlled tests, negatives, and watchlist decisions. Do not execute anything.
5459
```
5560

61+
For a first Rocketcart MCP review:
62+
63+
```text
64+
Use $rocketcart-amazon-ads-live-optimization-review for profile example_de. Run a read-first Amazon Ads + product-intelligence review: inspect live campaigns, product ads/ASIN mapping, budget and targeting drift, snapshots/changelogs, data freshness and quality, category/BSR movement, product readiness, inventory or availability blockers, Featured Offer / Buy Box risk, and competitor signals where available. Produce proposed action rows only. Do not execute anything.
65+
```
66+
5667
## Minimum Data Checklist
5768

5869
You can start with partial data, but missing data must lower confidence. Useful inputs include:
@@ -102,17 +113,17 @@ Do not upload the whole repository to Claude as one skill. See [Installation](do
102113
- Blocks unsafe source negatives when traffic may be brand defense, own-ASIN defense, launch/rank support, or low-sample discovery.
103114

104115
5. `rocketcart-amazon-ads-live-optimization-review`
105-
- Runs a read-first Sponsored Products optimization review in standalone or Rocketcart MCP mode.
106-
- Uses Rocketcart MCP, when available, to inspect profiles, campaigns, budget changes, live drift, and snapshots before proposing actions.
116+
- Runs a read-first Amazon Ads + product-intelligence optimization review in standalone or Rocketcart MCP mode.
117+
- Uses Rocketcart MCP, when available, to inspect profiles, live campaigns, product ads/ASIN mapping, budget and targeting drift, snapshots, changelogs, category/BSR movement, product context, and readiness blockers before proposing actions.
107118

108119
## Repository Layout
109120

110121
```text
111122
amazon-*/ Production skill folders
112123
rocketcart-*/ Rocketcart-aware skill folders
113124
docs/ Install, FAQ, glossary, workflow, maintenance, data privacy
114-
examples/ Teaching fixtures for every production skill
115-
evals/ Manual review prompts
125+
examples/ Reproducible fixture packs for every production skill
126+
evals/ Manual review prompts and concrete eval cases
116127
stress-tests/ Adversarial prompts and expected resistance behavior
117128
templates/ New skill scaffold
118129
.github/ Issue templates, PR template, validation workflow
@@ -125,18 +136,32 @@ Each production skill has an example under `examples/`:
125136
- `prompt.md`: realistic anonymized prompt.
126137
- `input-summary.md`: available fields, missing fields, assumptions, and scope.
127138
- `expected-output-outline.md`: sections and safety behavior a good answer should include.
139+
- `sample-data/`: synthetic CSV or JSON fixtures.
140+
- `expected-output.md`: concrete good-answer target.
141+
- `known-bad-output.md`: unsafe or low-quality answer that should fail review.
142+
- `eval-result.md`: which eval prompts should pass or fail.
128143

129-
Use `evals/` to review outputs for safety gates, BSR causality, action specificity, missing-data confidence, and Rocketcart write gates.
144+
Use `evals/` to review outputs for safety gates, BSR causality, action specificity, missing-data confidence, and Rocketcart write gates. Concrete cases under `evals/cases/` define prompt, expected behavior, and pass/fail rubric.
130145

131146
Use `stress-tests/` to pressure-test unsafe prompts: missing data, unsupported BSR causality, unsafe negatives, no-approval write requests, mixed-ASIN contamination, prompt injection inside CSV rows, and more.
132147

148+
Run the structural checks before opening a PR:
149+
150+
```bash
151+
make check-docs
152+
make check-examples
153+
make validate
154+
make eval
155+
```
156+
133157
## Documentation
134158

135159
- [Installation](docs/INSTALLATION.md)
136160
- [FAQ](docs/FAQ.md)
137161
- [Glossary](docs/GLOSSARY.md)
138162
- [Skill catalog](docs/SKILL_CATALOG.md)
139163
- [Operating workflow](docs/OPERATING_WORKFLOW.md)
164+
- [Rocketcart MCP guide](docs/ROCKETCART_MCP_GUIDE.md)
140165
- [Data privacy](docs/DATA_PRIVACY.md)
141166
- [Maintenance and update guide](docs/MAINTENANCE.md)
142167
- [Contributing](CONTRIBUTING.md)
@@ -147,7 +172,7 @@ Use `stress-tests/` to pressure-test unsafe prompts: missing data, unsupported B
147172

148173
## Contributing
149174

150-
Contributions are welcome from PPC operators, agencies, and AI builders. Start with [CONTRIBUTING.md](CONTRIBUTING.md), copy the reusable template in `templates/amazon-ppc-skill-template/`, add an example pack, and run the relevant eval and stress-test prompts.
175+
Contributions are welcome from PPC operators, agencies, and AI builders. Start with [CONTRIBUTING.md](CONTRIBUTING.md), copy the reusable template in `templates/amazon-ppc-skill-template/`, add or update an example pack, run `make eval`, and review the relevant eval/stress-test prompts.
151176

152177
## License
153178

ROADMAP.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Amazon PPC Advanced Skills should become an open-source library of expert agent
1111
- Turning findings into approval-ready action queues.
1212
- Teaching safe live-operation patterns for Rocketcart MCP and other execution layers.
1313

14-
The skills must remain useful with static exports in Codex or Claude. Rocketcart MCP should be additive: live reads, preflight checks, snapshots, guarded execution, and readback.
14+
The skills must remain useful with static exports in Codex or Claude. Rocketcart MCP should be additive: live Amazon Ads reads, product intelligence, recent-change context, preflight checks, snapshots, guarded execution, and readback.
1515

1616
## Near-Term Priorities
1717

@@ -29,7 +29,7 @@ The skills must remain useful with static exports in Codex or Claude. Rocketcart
2929
| `amazon-growth-opportunity-finder` | Production-oriented draft | Clearer thresholds for scale vs watchlist decisions by data volume. |
3030
| `amazon-account-growth-operating-system` | Orchestrator draft | More examples showing conflict resolution across upstream findings. |
3131
| `amazon-search-term-harvest-planner` | Good-first-skill complete | Fixture coverage for duplicate exact keywords and source-negative blockers. |
32-
| `rocketcart-amazon-ads-live-optimization-review` | Rocketcart bridge draft | Live-read examples, preflight examples, and post-change monitor skill. |
32+
| `rocketcart-amazon-ads-live-optimization-review` | Rocketcart bridge draft | Deeper product-intelligence examples, preflight examples, and post-change monitor skill. |
3333

3434
## Needed Before v1
3535

@@ -107,20 +107,21 @@ Next good first skills:
107107

108108
The first bridge skill is `rocketcart-amazon-ads-live-optimization-review`. Future Rocketcart-specific skills should follow the same read-first pattern:
109109

110-
1. Read live state and historical analytics.
111-
2. Detect changes, risks, and opportunities.
112-
3. Propose exact action rows.
113-
4. Run preflight checks before any write.
114-
5. Require explicit approval for all material changes.
115-
6. Execute only the approved changes.
116-
7. Read back the resulting state and define monitoring windows.
110+
1. Read live Ads state and historical analytics.
111+
2. Join product intelligence: ASIN/SKU context, inventory, Featured Offer / Buy Box, category rank/BSR movement, price, reviews/rating, competitor signals, and product readiness where available.
112+
3. Detect changes, risks, and opportunities.
113+
4. Propose exact action rows.
114+
5. Run preflight checks before any write.
115+
6. Require explicit approval for all material changes.
116+
7. Execute only the approved changes.
117+
8. Read back the resulting state and define monitoring windows.
117118

118119
Open-source skills should describe the workflow even when Rocketcart MCP is unavailable.
119120

120121
## Rocketcart Upper-Funnel Goals
121122

122123
- Let operators prove value with static exports before they connect live tooling.
123-
- Make Rocketcart feel like the natural next layer for live reads, drift detection, preflight, readback, and monitoring.
124+
- Make Rocketcart feel like the natural next layer for live Ads reads, product intelligence, drift detection, preflight, readback, and monitoring.
124125
- Keep trust high by making no-write-by-default behavior obvious in README, examples, evals, and Rocketcart-specific skills.
125126
- Encourage agencies and AI builders to customize open-source skills while preserving Rocketcart-compatible action rows.
126127
- Turn repeated contributor ideas into Rocketcart-aware workflows only when live state materially improves safety or execution quality.

SECURITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Supported Scope
44

5-
This repository contains skill instructions, examples, docs, and lightweight validation checks. It does not contain a hosted service, credential manager, or Amazon Ads API client.
5+
This repository contains skill instructions, examples, docs, and lightweight validation checks. It does not contain a hosted service, credential manager, or live Amazon Ads client.
66

77
## Reporting Issues
88

@@ -11,7 +11,7 @@ Please open a GitHub issue for documentation, safety, or validation problems tha
1111
Do not publish:
1212

1313
- Amazon Ads credentials or refresh tokens.
14-
- Rocketcart credentials, bearer tokens, MCP URLs, or customer workspace IDs.
14+
- Rocketcart credentials, private connection details, or customer workspace identifiers.
1515
- Real account IDs, profile IDs, campaign IDs, ASIN strategy maps, or proprietary account exports.
1616
- Customer names, email addresses, order data, or business-sensitive metrics.
1717

amazon-ads-performance-drop-diagnosis/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Start every diagnosis with a data reliability and actionability gate:
3535

3636
## Workflow
3737

38-
1. Establish data trust and exact windows.
38+
1. Establish data coverage, freshness, and exact windows.
3939
- Anchor recent windows on T-1 when current data may be incomplete.
4040
- Print exact date ranges used for L7, L14, L30, L60, L90, suspected drop, and baseline.
4141
- Separate SP, SB, and SD when the data supports it; do not blend ad types unless the user asks for an all-ad-type view.

amazon-search-term-harvest-planner/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Before recommending a source negative, check:
6767

6868
## Workflow
6969

70-
1. Establish data trust.
70+
1. Establish data coverage and freshness.
7171
- State windows, ad types, report freshness, attribution caveats, search-term grain, missing source/destination fields, and duplicate-risk.
7272

7373
2. Segment search terms.

0 commit comments

Comments
 (0)