From ccce25fe2b70248e4b7332eefb183ca575e3058c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eryk=20Or=C5=82owski?= Date: Wed, 10 Jun 2026 18:30:50 +0200 Subject: [PATCH] fix(skills): address bot review findings post-943b299 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - competitive-platform-analysis: add ## Examples section per ECC guidelines (8-axis taxonomy walkthrough + pre-filter scoring matrix) - competitive-report-structure: clarify dimension 9 poles are client- specific (e.g., Memorability/Hireability) not hard-coded names - brand-discovery: fix terminal state — set inProgressModule to null after 90_SYNTHESIS.md is complete to prevent misleading resumption All fixes mirrored to .agents/ copies. Co-Authored-By: Claude Sonnet 4.6 --- .agents/skills/brand-discovery/SKILL.md | 5 ++- .../competitive-platform-analysis/SKILL.md | 34 +++++++++++++++++++ .../competitive-report-structure/SKILL.md | 3 +- skills/brand-discovery/SKILL.md | 4 ++- skills/competitive-platform-analysis/SKILL.md | 34 +++++++++++++++++++ skills/competitive-report-structure/SKILL.md | 3 +- 6 files changed, 79 insertions(+), 4 deletions(-) diff --git a/.agents/skills/brand-discovery/SKILL.md b/.agents/skills/brand-discovery/SKILL.md index 3fb61529..6e8769d7 100644 --- a/.agents/skills/brand-discovery/SKILL.md +++ b/.agents/skills/brand-discovery/SKILL.md @@ -6,6 +6,7 @@ description: >- personality, voice, narrative, and founder-brand tension across 8 modules using laddering, 5 Whys, and projective techniques. Produces a resumable session with disk-persisted state and a master brandbook (90_SYNTHESIS.md). +origin: community --- # Brand Discovery @@ -114,7 +115,9 @@ After writing, confirm: "Module X saved. State updated. Next: Y." **Terminal module (90_SYNTHESIS.md):** when writing the final synthesis, set `inProgressModule` to `"90_SYNTHESIS.md"` and `nextModule` to `null` in `state.json`. After writing, set `completedModules` to include -`"90_SYNTHESIS.md"` and confirm: "Brandbook complete. All modules saved." +`"90_SYNTHESIS.md"`, then set `inProgressModule` to `null` — leaving it +populated would cause a future resumption to treat the completed brandbook +as still in progress. Confirm: "Brandbook complete. All modules saved." ## Multi-founder mode diff --git a/.agents/skills/competitive-platform-analysis/SKILL.md b/.agents/skills/competitive-platform-analysis/SKILL.md index bb975a97..da1078be 100644 --- a/.agents/skills/competitive-platform-analysis/SKILL.md +++ b/.agents/skills/competitive-platform-analysis/SKILL.md @@ -175,6 +175,40 @@ each tagged with its axis positions, tier, and source links, ready to hand to - **Relying on a single source per competitor.** Self-reported site copy is marketing, not fact. Verify attributes across at least two sources. - **Jumping straight to scoring.** This skill scopes and tiers the set. Benchmark-methodology handles scoring. Don't conflate the two steps. +## Examples + +**Scenario:** A boutique brand-identity studio (2-person, EU-remote, productized +sprints, contrarian/manifesto-driven aesthetic) wants to scope its competitive +set before benchmarking. The strategic tension from the positioning brief is +*memorability × hireability*. + +**Step 1 — eight-axis population (sample candidates):** + +| Candidate | Positioning stance | Specialization | Size band | Engagement | Distinctiveness | Evidence model | Brand strength | Market | +|---|---|---|---|---|---|---|---|---| +| Studio A | brand-led / editorial | identity only | micro | productized | contrarian | aesthetic-led | cult | global-remote | +| Studio B | capability-led | broad DS+motion | boutique | bespoke | conventional | outcome-led | interchangeable | US | +| Agency C | capability-led | brand+digital | mid-size | retainer | conventional | outcome-led | interchangeable | EU | +| Freelancer D | brand-led | brand voice only | solo | day-rate | editorial | aesthetic-led | ownable | global | +| Studio E | brand-led | brand strategy | micro | productized | manifesto-driven | outcome-led | cult | EU-remote | + +**Step 2 — pre-filter scoring (client scoping consequence: weight distinctiveness +because the client's moat is POV-first, not capability breadth):** + +| Candidate | Offer overlap (1–5) | Distinctiveness (1–5) | Commercial credibility (1–5) | Craft proximity (1–5) | Tier | Include? | +|---|---|---|---|---|---|---| +| Studio A | 5 | 5 | 3 | 5 | Direct | ✓ must-profile | +| Studio B | 3 | 2 | 5 | 3 | Adjacent | ✓ credibility anchor | +| Agency C | 2 | 1 | 5 | 2 | Aspirational | ✓ scale reference | +| Freelancer D | 4 | 4 | 2 | 4 | Direct | ✓ cautionary case | +| Studio E | 5 | 5 | 4 | 4 | Direct | ✓ must-profile | + +**Step 3 — output handed to `benchmark-methodology`:** +Five candidates (3 Direct, 1 Adjacent, 1 Aspirational), each tagged with +axis positions, tier, and source links. Studio A and Studio E are the +sharpest head-to-head rivals; Freelancer D is the "memorable but +un-hireable" cautionary case to learn from. + ## Related Skills - `brand-discovery` — use first to establish the positioning brief and strategic tension that scopes the competitor set. diff --git a/.agents/skills/competitive-report-structure/SKILL.md b/.agents/skills/competitive-report-structure/SKILL.md index 8f61f68a..7336b63b 100644 --- a/.agents/skills/competitive-report-structure/SKILL.md +++ b/.agents/skills/competitive-report-structure/SKILL.md @@ -74,7 +74,8 @@ the detail. ### 4. Benchmarking matrix The full **competitors × dimensions** table — the quantitative spine. Rows = competitors (grouped by tier), columns = the nine benchmark dimensions (note: -dimension 9 — strategic tension — has two poles: Memorability and Hireability; +dimension 9 — strategic tension — has two poles (e.g., Memorability and +Hireability for a brand-studio client; substitute the client's own paired axes); represent them as two separate sub-columns rather than averaging them). Include the client's own honest self-assessment as a row for contrast. Use a **heatmap** (color or symbol scale) so strength/weakness patterns are scannable. Do **not** diff --git a/skills/brand-discovery/SKILL.md b/skills/brand-discovery/SKILL.md index faf8eadc..6e8769d7 100644 --- a/skills/brand-discovery/SKILL.md +++ b/skills/brand-discovery/SKILL.md @@ -115,7 +115,9 @@ After writing, confirm: "Module X saved. State updated. Next: Y." **Terminal module (90_SYNTHESIS.md):** when writing the final synthesis, set `inProgressModule` to `"90_SYNTHESIS.md"` and `nextModule` to `null` in `state.json`. After writing, set `completedModules` to include -`"90_SYNTHESIS.md"` and confirm: "Brandbook complete. All modules saved." +`"90_SYNTHESIS.md"`, then set `inProgressModule` to `null` — leaving it +populated would cause a future resumption to treat the completed brandbook +as still in progress. Confirm: "Brandbook complete. All modules saved." ## Multi-founder mode diff --git a/skills/competitive-platform-analysis/SKILL.md b/skills/competitive-platform-analysis/SKILL.md index bb975a97..da1078be 100644 --- a/skills/competitive-platform-analysis/SKILL.md +++ b/skills/competitive-platform-analysis/SKILL.md @@ -175,6 +175,40 @@ each tagged with its axis positions, tier, and source links, ready to hand to - **Relying on a single source per competitor.** Self-reported site copy is marketing, not fact. Verify attributes across at least two sources. - **Jumping straight to scoring.** This skill scopes and tiers the set. Benchmark-methodology handles scoring. Don't conflate the two steps. +## Examples + +**Scenario:** A boutique brand-identity studio (2-person, EU-remote, productized +sprints, contrarian/manifesto-driven aesthetic) wants to scope its competitive +set before benchmarking. The strategic tension from the positioning brief is +*memorability × hireability*. + +**Step 1 — eight-axis population (sample candidates):** + +| Candidate | Positioning stance | Specialization | Size band | Engagement | Distinctiveness | Evidence model | Brand strength | Market | +|---|---|---|---|---|---|---|---|---| +| Studio A | brand-led / editorial | identity only | micro | productized | contrarian | aesthetic-led | cult | global-remote | +| Studio B | capability-led | broad DS+motion | boutique | bespoke | conventional | outcome-led | interchangeable | US | +| Agency C | capability-led | brand+digital | mid-size | retainer | conventional | outcome-led | interchangeable | EU | +| Freelancer D | brand-led | brand voice only | solo | day-rate | editorial | aesthetic-led | ownable | global | +| Studio E | brand-led | brand strategy | micro | productized | manifesto-driven | outcome-led | cult | EU-remote | + +**Step 2 — pre-filter scoring (client scoping consequence: weight distinctiveness +because the client's moat is POV-first, not capability breadth):** + +| Candidate | Offer overlap (1–5) | Distinctiveness (1–5) | Commercial credibility (1–5) | Craft proximity (1–5) | Tier | Include? | +|---|---|---|---|---|---|---| +| Studio A | 5 | 5 | 3 | 5 | Direct | ✓ must-profile | +| Studio B | 3 | 2 | 5 | 3 | Adjacent | ✓ credibility anchor | +| Agency C | 2 | 1 | 5 | 2 | Aspirational | ✓ scale reference | +| Freelancer D | 4 | 4 | 2 | 4 | Direct | ✓ cautionary case | +| Studio E | 5 | 5 | 4 | 4 | Direct | ✓ must-profile | + +**Step 3 — output handed to `benchmark-methodology`:** +Five candidates (3 Direct, 1 Adjacent, 1 Aspirational), each tagged with +axis positions, tier, and source links. Studio A and Studio E are the +sharpest head-to-head rivals; Freelancer D is the "memorable but +un-hireable" cautionary case to learn from. + ## Related Skills - `brand-discovery` — use first to establish the positioning brief and strategic tension that scopes the competitor set. diff --git a/skills/competitive-report-structure/SKILL.md b/skills/competitive-report-structure/SKILL.md index 8f61f68a..7336b63b 100644 --- a/skills/competitive-report-structure/SKILL.md +++ b/skills/competitive-report-structure/SKILL.md @@ -74,7 +74,8 @@ the detail. ### 4. Benchmarking matrix The full **competitors × dimensions** table — the quantitative spine. Rows = competitors (grouped by tier), columns = the nine benchmark dimensions (note: -dimension 9 — strategic tension — has two poles: Memorability and Hireability; +dimension 9 — strategic tension — has two poles (e.g., Memorability and +Hireability for a brand-studio client; substitute the client's own paired axes); represent them as two separate sub-columns rather than averaging them). Include the client's own honest self-assessment as a row for contrast. Use a **heatmap** (color or symbol scale) so strength/weakness patterns are scannable. Do **not**