Test-first bug hunt
Play the combo
Foe: Flaky Wisp, a failing or flaky test.
Foes
- Flaky WispHaze Poison Ward Insight Flicker Pinned Enraged
Party · Context
- HunterYour agent100/100Haze Poison Ward Insight Flicker Pinned Enraged
The Flaky Wisp blocks the way.
What really happensIt stands for a failing or flaky test.
Hunter: Context 100/100.
The Flaky Wisp uses Flicker.
What really happensA flaky test passes on one run and fails on the next.
Hunter takes 8. Hunter: Context 92/100.
A scroll that bars fixes until the hero has a root cause.
What really happensReproduce the failure and keep the evidence.
Flaky Wisp takes 50.
The Flaky Wisp uses Flicker.
Hunter takes 8. Hunter: Context 84/100.
A scroll that makes the hero write the failing test before the fix.
What really happensWrite the failing check, then the smallest fix.
Flaky Wisp takes 50. Flaky Wisp falls.
The Flaky Wisp falls.
What really happensReproduce the failure first, then lock the repair behind a test that failed before the fix.
Cast order

Superpowers Systematic Debugging
Reproduce the failure and keep the evidence.

Matt Pocock TDD
Write the failing check, then the smallest fix.
Why it works
Reproduce the failure first, then lock the repair behind a test that failed before the fix.
Records
No published usage for this combo yet.
Proving Grounds record
Controlled quest results, separate from recorded usage. Each setup pools runs across its quests. The per-quest table below has casts, cast time, mana, incantation and runes; medians are not pooled.
Hero: Claude Code 2.1.305; weapon (model): claude-haiku-5-5; charge (effort): low; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: OMP 18.8.3; weapon (model): anthropic/claude-haiku-5-5; charge (effort): low; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.
Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.
Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.
Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.
| QuestFixed task | Clear ratePassed runs | SteadinessReliability lower bound | BuffClear-rate points vs Unarmed | Instant castsFirst-prompt clears | CastsPrompts to clear | Cast timeAgent runtime | ManaCost at API list prices | IncantationOutput tokens | RunesLines added / removed | AttunementSkills opened | SetupApp, model, effort and sandbox |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Broken Trail: Pagination RepairQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 32sUnarmed: 32s | 2,396 Unarmed: 1,876 | Not reportedUnarmed: Not reported | +53 / -1Unarmed: +62 / -1 | 100% | Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v2 and spell commits |
| Broken Trail: Pagination RepairQuest v2 | 100%3 of 3Unarmed: 100% (9 of 9) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 9 of 9 | 1 | 19sUnarmed: 20s | 837 Unarmed: 834 | Not reportedUnarmed: 2.7k | Not reportedUnarmed: +48 / -1 | 0% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Broken Trail: Pagination RepairQuest v2 | 100%2 of 2Unarmed: 100% (9 of 9) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 9 of 9 | 1 | 21sUnarmed: 20s | 894 Unarmed: 834 | Not reportedUnarmed: 2.7k | Not reportedUnarmed: +48 / -1 | 0% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Broken Trail: Pagination RepairQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 43sUnarmed: 50s | Not priced yet77.5k tokensUnarmed: Not priced yet | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 100% | Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Broken Trail: Pagination RepairQuest v2 | 100%2 of 2Unarmed: 100% (3 of 3) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 3 of 3 | 1 | 48sUnarmed: 50s | Not priced yet77.7k tokensUnarmed: Not priced yet | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 100% | Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Broken Trail: Pagination RepairQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 22sUnarmed: 25s | 47 Unarmed: 30 | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 100% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-haiku-5-5; charge (effort): low; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Broken Trail: Pagination RepairQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 21sUnarmed: 18s | 738 Unarmed: 410 | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 100% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Broken Trail: Pagination RepairQuest v2 | 100%2 of 2Unarmed: 100% (3 of 3) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 3 of 3 | 1 | 15sUnarmed: 18s | 431 Unarmed: 410 | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 0% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Hunter: Month-End Schedule RepairQuest v2 | 0%0 of 3Unarmed: 0% (0 of 3) | 0% | +0 ppvs Unarmed | 0 of 30%Unarmed: 0 of 3 | Not reported | 37sUnarmed: 32s | 101 Unarmed: 81 | Not reportedUnarmed: Not reported | +56 / -9Unarmed: +72 / -10 | 100% | Hero: Claude Code 2.1.305; weapon (model): claude-haiku-5-5; charge (effort): low; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v2 and spell commits |
| Hunter: Month-End Schedule RepairQuest v2 | 100%6 of 6Unarmed: 100% (6 of 6) | 61% | +0 ppvs Unarmed | 6 of 6100%Unarmed: 6 of 6 | 1 | 1m 24sUnarmed: 1m 13s | 4,316 Unarmed: 3,532 | Not reportedUnarmed: Not reported | +65 / -7Unarmed: +79 / -9 | 100% | Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v2 and spell commits |
| Hunter: Month-End Schedule RepairQuest v2 | 33%2 of 6Unarmed: 33% (5 of 15) | 10% | +0 ppvs Unarmed | 2 of 633%Unarmed: 5 of 15 | 1 | 44sUnarmed: 39s | 1,355 Unarmed: 1,319 | Not reportedUnarmed: 4.7k | +50 / -8Unarmed: +48 / -8 | 0% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v2 and spell commits |
| Hunter: Month-End Schedule RepairQuest v2 | 50%1 of 2Unarmed: 33% (5 of 15) | 9% | +17 ppvs Unarmed | 1 of 250%Unarmed: 5 of 15 | 1 | 32sUnarmed: 39s | 1,214 Unarmed: 1,319 | Not reportedUnarmed: 4.7k | +44 / -4Unarmed: +48 / -8 | 0% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v2 and spell commits |
| Hunter: Month-End Schedule RepairQuest v2 | 33%1 of 3Unarmed: 33% (2 of 6) | 6% | +0 ppvs Unarmed | 1 of 333%Unarmed: 2 of 6 | 1 | 39sUnarmed: 22s | 1,538 Unarmed: 701 | Not reportedUnarmed: 2.9k | +56 / -8Unarmed: +53 / -8 | 100% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v2 and spell commits |
| Rune Trail: Slug FunctionQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 1m 15sUnarmed: 44s | 3,689 Unarmed: 2,172 | Not reportedUnarmed: Not reported | +70 / -1Unarmed: +98 / -1 | 100% | Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v2 and spell commits |
| Rune Trail: Slug FunctionQuest v2 | 100%4 of 4Unarmed: 100% (9 of 9) | 51% | +0 ppvs Unarmed | 4 of 4100%Unarmed: 9 of 9 | 1 | 24sUnarmed: 25s | 916 Unarmed: 934 | Not reportedUnarmed: 3.4k | Not reportedUnarmed: +61 / -1 | 50% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Rune Trail: Slug FunctionQuest v2 | 100%2 of 2Unarmed: 100% (9 of 9) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 9 of 9 | 1 | 27sUnarmed: 25s | 997 Unarmed: 934 | Not reportedUnarmed: 3.4k | Not reportedUnarmed: +61 / -1 | 0% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Rune Trail: Slug FunctionQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 56sUnarmed: 52s | Not priced yet85.2k tokensUnarmed: Not priced yet | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 100% | Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Rune Trail: Slug FunctionQuest v2 | 100%2 of 2Unarmed: 100% (3 of 3) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 3 of 3 | 1 | 1m 19sUnarmed: 52s | Not priced yet73.4k tokensUnarmed: Not priced yet | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 100% | Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Rune Trail: Slug FunctionQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 30sUnarmed: 35s | 63 Unarmed: 52 | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 100% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-haiku-5-5; charge (effort): low; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Rune Trail: Slug FunctionQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 2 of 3 | 1 | 23sUnarmed: 20s | 671 Unarmed: 475 | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 100% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Rune Trail: Slug FunctionQuest v2 | 100%2 of 2Unarmed: 100% (3 of 3) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 2 of 3 | 1 | 18sUnarmed: 20s | 572 Unarmed: 475 | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 0% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Fading Tracks: TTL Cache RepairQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 1m 14sUnarmed: 1m 23s | 3,756 Unarmed: 4,173 | Not reportedUnarmed: Not reported | +143 / -19Unarmed: +150 / -34 | 100% | Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot) Try this loadoutRecorded with quest v2 and spell commits |
| Fading Tracks: TTL Cache RepairQuest v2 | 100%3 of 3Unarmed: 100% (9 of 9) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 9 of 9 | 1 | 18sUnarmed: 19s | 832 Unarmed: 831 | Not reportedUnarmed: 2.5k | Not reportedUnarmed: +75 / -13 | 0% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Fading Tracks: TTL Cache RepairQuest v2 | 100%2 of 2Unarmed: 100% (9 of 9) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 9 of 9 | 1 | 19sUnarmed: 19s | 817 Unarmed: 831 | Not reportedUnarmed: 2.5k | Not reportedUnarmed: +75 / -13 | 0% | Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Fading Tracks: TTL Cache RepairQuest v2 | 100%3 of 3Unarmed: 100% (6 of 6) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 6 of 6 | 1 | 1m 40sUnarmed: 1m 7s | Not priced yet143.3k tokensUnarmed: Not priced yet | Not reportedUnarmed: 2.1k | Not reportedUnarmed: +117 / -13 | 100% | Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Fading Tracks: TTL Cache RepairQuest v2 | 100%2 of 2Unarmed: 100% (6 of 6) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 6 of 6 | 1 | 1m 26sUnarmed: 1m 7s | Not priced yet102.8k tokensUnarmed: Not priced yet | Not reportedUnarmed: 2.1k | Not reportedUnarmed: +117 / -13 | 100% | Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Fading Tracks: TTL Cache RepairQuest v2 | 100%3 of 3Unarmed: 100% (3 of 3) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 3 of 3 | 1 | 36sUnarmed: 40s | 87 Unarmed: 64 | Not reportedUnarmed: Not reported | Not reportedUnarmed: Not reported | 100% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-haiku-5-5; charge (effort): low; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Fading Tracks: TTL Cache RepairQuest v2 | 100%3 of 3Unarmed: 100% (6 of 6) | 44% | +0 ppvs Unarmed | 3 of 3100%Unarmed: 6 of 6 | 1 | 19sUnarmed: 20s | 800 Unarmed: 639 | Not reportedUnarmed: 2.5k | Not reportedUnarmed: +66 / -9 | 100% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
| Fading Tracks: TTL Cache RepairQuest v2 | 100%2 of 2Unarmed: 100% (6 of 6) | 34% | +0 ppvs Unarmed | 2 of 2100%Unarmed: 6 of 6 | 1 | 19sUnarmed: 20s | 556 Unarmed: 639 | Not reportedUnarmed: 2.5k | Not reportedUnarmed: +66 / -9 | 0% | Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.0 mishaps excluded. 2026-10-21 to 2026-10-21. Try this loadoutRecorded with quest v2 and spell commits |
Scrying (screenshots of runs)
The latest run of each setup. Local paths, names and ids are blurred; credentials are removed.
Learn the spells
1. Superpowers Systematic Debugging
Claude Code
/plugin install superpowers@claude-plugins-officialCodex
/plugins2. Matt Pocock TDD
Claude Code
claude plugin install mattpocock-skills@claude-plugins-officialCodex
codex plugin marketplace add mattpocock/skills codex plugin add mattpocock-skills@mattpocock





