Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when a campaign has ended and the team needs a structured retrospective: a scorecard of results versus target, what worked / what did not / why with evidence, surprises, lessons written back into the playbook and Brand Hub, and action items with owners. Trigger on 'campaign retrospective', 'campaign retro', 'post-mortem', 'campaign debrief', 'what worked what did not', or 'lessons from the campaign'.
.claude/skills/minhnv0807-63-campaign-retrospective-global/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 61% | 0% |
> A retrospective is not for assigning blame — it is how the team and the system get better after every campaign. The best insight comes from failure, but only if it is safe to speak honestly. A retro with no action is wasted time: every lesson must become one concrete change in the playbook, the Brand Hub, or the process.
Ask up to 4 questions:
07-marketing-report-global, use it as the input.)| KPI | Target | Actual | % achieved | vs previous campaign | |-----|--------|--------|------------|----------------------| | Revenue | | | | | | Leads | | | | | | CPA | | | | | | ROAS | | | | | | Spend | | | | | | Timeline (on schedule?) | | | | | | Budget (within plan?) | | | | |
Overall verdict: Success (>90% of KPIs) / Mixed (60-90%) / Miss (<60%).
When comparing against category benchmarks, use the right region and industry row in references/benchmarks-global.md — and adjust for seasonality before declaring a CPA increase a failure, since Q4 media costs run materially above Q1.
| # | What worked | Evidence (numbers) | Why it worked | How to apply next time | |---|-------------|--------------------|---------------|------------------------| | 1 | | | | | | 2 | | | | | | 3 | | | | |
Name the winning patterns explicitly:
| # | What failed | Evidence | Root cause | Decision: stop / fix / retest | |---|-------------|----------|------------|-------------------------------| | 1 | | | | | | 2 | | | | |
Root cause must go past the symptom. "The ads were bad" is not a root cause; "audience overlapped with the previous campaign > frequency rose above 4 > CTR fell below 1%" is.
| Item | Assessment | Problems hit | Improvement | |------|------------|--------------|-------------| | Brief quality | | | | | Timeline adherence | | | | | Team communication | | | | | Review and approval process | | | | | Launch-day execution | | | | | Data and tracking setup | | | |
Biggest process bottleneck: the single thing most worth fixing next time.
Record specific contributions: Name] — the specific contribution and its positive impact on the result]. Recognize publicly, correct privately.
| Document to update | What changes | Owner | Deadline | |--------------------|--------------|-------|----------| | Launch playbook (60-launch-playbook-global) | Add or amend step: X] | Leader | | | Campaign brief template | Adjust section: Y] | Leader | | | Brand Hub — customer insight | Add new insight from this campaign: Z] | | | | Brand Hub — KPI framework / internal benchmarks | Update the benchmarks you actually achieved (CPA, CVR) | | | | Winning creative library | Store the winners plus the reason they won | | |
Every action item needs an owner and a deadline — never "the whole team will handle it."
File name: campaign-retro-[campaign-name]-[YYYYMMDD].md — the 9 sections above: scorecard > what worked > what did not > surprises > process review > team callouts > playbook and Brand Hub updates > input for the next campaign > action items with owners.
07-marketing-report-global: the final report supplies the scorecard data.60-launch-playbook-global: execution lessons are written directly back into the playbook.02-campaign-brief-global: the "lessons from the previous campaign" section of a new brief comes from this retro.34-ai-marketing-os-global: new insights and real benchmarks are written into the Brand Hub.65-team-performance-review-global: team callouts and observations feed individual reviews at period end — keep the two documents separate.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→pass | 43,144 | 33,553 | -22% | 1 | 1 | 0% | 6,664 | 6,916 | +4% | 0 | 0 | — |
case-01 | fail→fail | 23,782 | 28,057 | +18% | 1 | 1 | 0% | 3,605 | 6,121 | +70% | 0 | 0 | — |
case-03 | fail→pass | 20,914 | 28,863 | +38% | 1 | 1 | 0% | 4,075 | 6,388 | +57% | 0 | 0 | — |
case-04 | pass→pass | 17,151 | 15,219 | -11% | 1 | 1 | 0% | 2,897 | 4,698 | +62% | 0 | 0 | — |
case-05 | pass→pass | 9,288 | 8,179 | -12% | 1 | 1 | 0% | 1,680 | 3,384 | +101% | 0 | 0 | — |
case-06 | pass→pass | 9,982 | 9,687 | -3% | 1 | 1 | 0% | 1,659 | 3,446 | +108% | 0 | 0 | — |
case-07 | fail→fail | 9,590 | 6,918 | -28% | 1 | 1 | 0% | 1,611 | 3,097 | +92% | 0 | 0 | — |
case-13 | fail→pass | 10,528 | 4,568 | -57% | 1 | 1 | 0% | 1,776 | 2,508 | +41% | 0 | 0 | — |
case-08 | fail→pass | 11,600 | 4,603 | -60% | 1 | 1 | 0% | 1,796 | 2,631 | +46% | 0 | 0 | — |
case-09 | fail→pass | 13,834 | 13,556 | -2% | 1 | 1 | 0% | 2,363 | 3,805 | +61% | 0 | 0 | — |
case-10 | fail→pass | 9,700 | 6,645 | -31% | 1 | 1 | 0% | 1,612 | 3,017 | +87% | 0 | 0 | — |
case-11 | fail→pass | 5,799 | 2,539 | -56% | 1 | 1 | 0% | 1,107 | 2,322 | +110% | 0 | 0 | — |
case-12 | fail→pass | 13,658 | 7,172 | -47% | 1 | 1 | 0% | 2,231 | 3,126 | +40% | 0 | 0 | — |
case-14 | fail→fail | 7,049 | 6,421 | -9% | 1 | 1 | 0% | 1,292 | 2,974 | +130% | 0 | 0 | — |
case-15 | pass→pass | 12,607 | 8,134 | -35% | 1 | 1 | 0% | 2,082 | 3,096 | +49% | 0 | 0 | — |
case-16 | fail→pass | 10,760 | 8,833 | -18% | 1 | 1 | 0% | 1,902 | 3,277 | +72% | 0 | 0 | — |
case-17 | pass→pass | 12,440 | 7,547 | -39% | 1 | 1 | 0% | 2,032 | 3,158 | +55% | 0 | 0 | — |
case-18 | fail→pass | 8,174 | 3,752 | -54% | 1 | 1 | 0% | 1,460 | 2,548 | +75% | 0 | 0 | — |
case-19 | pass→pass | 20,166 | 20,194 | +0% | 1 | 1 | 0% | 3,643 | 5,275 | +45% | 0 | 0 | — |
case-20 | pass→fail | 10,065 | 10,842 | +8% | 1 | 1 | 0% | 2,052 | 3,769 | +84% | 0 | 0 | — |
case-21 | pass→pass | 11,658 | 10,352 | -11% | 1 | 1 | 0% | 1,981 | 3,517 | +78% | 0 | 0 | — |
case-22 | pass→pass | 13,392 | 5,832 | -56% | 1 | 1 | 0% | 1,986 | 2,740 | +38% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +41 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.