diff --git a/.agents/skills/benchmark-methodology/SKILL.md b/.agents/skills/benchmark-methodology/SKILL.md new file mode 100644 index 00000000..bc75367f --- /dev/null +++ b/.agents/skills/benchmark-methodology/SKILL.md @@ -0,0 +1,190 @@ +--- +name: benchmark-methodology +description: >- + Use after competitive-platform-analysis has produced a tiered competitor set. + Scores each competitor across nine weighted dimensions (positioning, voice, + visual craft, offer packaging, evidence, enterprise-readiness, thought + leadership, pricing, client's strategic tension) with explicit 1–5 rubrics + and a tension-plot. Precedes competitive-report-structure. +--- + +# Benchmark Methodology + +Use this skill to turn a scoped competitor set into **comparable, defensible +scores**. Each competitor is assessed on the same nine dimensions, with +explicit 1–5 rubrics, then captured in a uniform profile card. Consistency is +the point: scores are only useful if the same evidence would earn the same +number for any competitor. + +## When to Activate + +- A scoped, tiered competitor set from competitive-platform-analysis is ready to score. +- Need comparable, evidence-anchored scores across competitors — not gut-feel rankings. +- Client's strategic tension (the paired axes defining their target white-space) has been established. +- Preparing to produce profile cards for assembly in competitive-report-structure. + +## Client positioning brief (establish first) + +Before scoring, establish the client's positioning brief. It supplies: + +- **Strategic tension** — the two axes (e.g., memorability × hireability) whose + intersection marks the client's target white-space. Dimension 9 is always + the client's named tension; report both poles separately, never averaged. +- **Differentiator** — what makes the client's moat. This informs which + dimensions matter most for the client's positioning argument. +- **Brand balance** — the intended mix of distinct strategic emphases. Strategic + recommendations must not break this balance without flagging it. + +## Why these dimensions + +The client competes on a **specific tension held across two poles**, not on +service breadth. The dimensions are weighted to reflect that moat. Two +dimensions — the tension poles — are scored **separately and never averaged +together**, because the client's strategic question is precisely whether a rival +achieves both simultaneously. + +## The nine dimensions (with weights) + +Weights guide synthesis emphasis, not a single blended score (avoid a false +composite — see Bias controls). Sum = 100%. + +1. **Positioning clarity & distinctiveness** (18%) — Is the studio's position + sharp, ownable, and instantly legible? Or generic? +2. **Brand voice / verbal distinctiveness** (15%) — Does the copy have an + ownable register, or is it interchangeable agency-speak? +3. **Visual identity & site craft** (15%) — Quality and ownership of the visual + system; site as proof-of-craft. +4. **Service offer & packaging** (12%) — Productized and legible (named + sprints/audits) vs vague. Packaging maturity. +5. **Evidence & credibility** (12%) — Named clients, quantified outcomes, + case-study depth. Proof beyond assertion. +6. **Enterprise-readiness / commercial maturity** (10%) — Signals they can land + and hold SaaS/fintech/B2B/enterprise work (process, logos, scale, contracts). +7. **Thought leadership / content presence** (8%) — Owned POV: writing, talks, + newsletters, frameworks. Depth over volume. +8. **Pricing transparency & engagement model** (5%) — Is pricing/engagement + legible? Productized vs bespoke vs opaque. +9. **[Client's strategic tension]** (5% as a flag; **score BOTH poles, + report separately**) — Read the tension name and axis descriptions from the + client's positioning brief. Plot both; the gap is the insight. The client's + target quadrant is the single most important finding: who else is already + there? + +## Scoring rubric (1–5, applies to dimensions 1–8) + +Anchor every score to observable evidence. Generic descriptors below; adapt the +specifics per dimension but keep the level meaning constant. + +- **1 — Absent / generic.** No discernible position or craft; indistinguishable + from a template. Active liability. +- **2 — Below par.** Some intent but inconsistent, derivative, or unconvincing. + Wouldn't survive a side-by-side. +- **3 — Competent / table-stakes.** Solid, professional, unremarkable. Meets + expectation, ownable by nobody. +- **4 — Strong / distinctive.** Clearly above peers; a real strength a buyer + would notice and cite. +- **5 — Category-defining.** Best-in-class, ownable, hard to imitate. Sets the + bar others react to. + +### Tension axes (dimension 9) — score each 1–5 + +Read the axis labels and their 1/3/5 anchors from the client's positioning +brief. Example anchors for a memorability × credibility tension: + +- **Memorability** — 1: forgotten instantly · 3: recognizable in context · + 5: unforgettable, talked-about, distinctively owned. +- **Credibility** — 1: feels risky/amateur · 3: safe, competent, + unexciting · 5: enterprise-trusted, obvious safe choice. + +Plot competitors on the tension 2×2. The client's target quadrant is named in +the positioning brief. Who else occupies that quadrant is the single most +important finding of the benchmark. + +## How to collect the data + +For each competitor, work the dimensions in this order (cheapest signal first): + +1. **Competitor's own site** — positioning, voice, offer packaging, pricing + posture, named clients, manifesto/POV. Screenshot the homepage + one case + study. +2. **Case studies / work** — evidence depth, quantified outcomes, client names. + Distinguish *asserted* ("we delivered X") from *proven* (metrics, named, + verifiable). +3. **Review directories** — corroborate clients, project size, engagement model + → credibility & enterprise-readiness (e.g. Clutch.co or the niche equivalent). +4. **LinkedIn** — team size/model, founder narrative, content cadence → + thought leadership, model. +5. **Portfolio / craft platforms** — craft register (use the showcase native to + the niche: design boards, showreels, published samples, etc.). +6. **Content channels** — newsletter/talks/writing → thought-leadership depth. + +**What to record per dimension:** the score, one-line justification, and the +source link/screenshot that earned it. No score without evidence. + +## Bias controls + +- **No single composite score.** Report dimension scores and the tension plot + separately. A weighted average hides the asymmetry that matters. +- **Asserted vs proven.** Downgrade credibility/evidence scores for + self-reported claims with no corroboration. Site copy is marketing, not fact. +- **Aesthetic affinity bias.** Reviewers may over-score studios whose aesthetic + they share and under-score rivals' commercial strength. Score craft and + credibility independently; a "boring" site may be winning bigger clients. +- **Recency / flashiness bias.** Award-winning, showpiece work dazzles but may + lack commercial depth — verify with directories/clients before scoring + credibility. +- **Survivorship.** The visible, well-marketed studios aren't the whole market; + note strong-but-quiet operators found via directories/reviews. +- **Calibrate across the set, not in isolation.** Before finalizing, re-read + scores side-by-side — a "4" must mean the same thing for every competitor. + Adjust outliers. + +## Competitor profile card (output format) + +Produce one card per profiled competitor — the atomic unit the report assembles +from: + +``` +## +- **Profile / Tier:** / +- **One-liner:** +- **Model / size / geography:** · · +- **Notable clients / evidence:** + +### Dimension scores +| Dimension | Score (1–5) | Justification (1 line) | Source | +|---|---|---|---| +| Positioning clarity & distinctiveness | | | | +| Brand voice / verbal distinctiveness | | | | +| Visual identity & site craft | | | | +| Service offer & packaging | | | | +| Evidence & credibility | | | | +| Enterprise-readiness / commercial maturity | | | | +| Thought leadership / content presence | | | | +| Pricing transparency & engagement model | | | | + +### Tension plot +- **[Axis 1 from positioning brief]:** <1–5> — +- **[Axis 2 from positioning brief]:** <1–5> — +- **Quadrant:** + +### Read for [client] +- **Strength to learn from:** <…> +- **Weakness to exploit / white-space it exposes:** <…> +- **Threat to [client]:** <…> +``` + +Hand the completed cards plus the tension plot to `competitive-report-structure`. + +## Anti-Patterns + +- **Averaging the tension axes.** The two poles of the client's strategic tension must be scored and reported separately. Averaging destroys the insight — the gap between poles is the finding. +- **Scoring without evidence.** Every score requires a one-line justification and a source link. A score without evidence is an opinion, not a benchmark. +- **Creating a single composite score.** Report dimension scores individually. A weighted average hides the asymmetric strengths that matter for positioning. +- **Applying generic rubric anchors without adapting.** The 1–5 anchors must be calibrated to the specific dimension and competitor set. The generic descriptions are a starting point, not a fixed standard. +- **Running before the competitor set is scoped.** Use competitive-platform-analysis first to produce a tiered, pruned set. Scoring an unscoped list wastes effort on irrelevant competitors. + +## Related Skills + +- `competitive-platform-analysis` — the prerequisite; produces the tiered competitor set this skill scores. +- `competitive-report-structure` — the next step; assembles the scored profile cards into a client-deliverable report. diff --git a/.agents/skills/benchmark-methodology/agents/openai.yaml b/.agents/skills/benchmark-methodology/agents/openai.yaml new file mode 100644 index 00000000..18c2a2e9 --- /dev/null +++ b/.agents/skills/benchmark-methodology/agents/openai.yaml @@ -0,0 +1,7 @@ +interface: + display_name: "Benchmark Methodology" + short_description: "Score competitors across nine weighted dimensions" + brand_color: "#F59E0B" + default_prompt: "Use $benchmark-methodology to score a tiered competitor set." +policy: + allow_implicit_invocation: true diff --git a/.agents/skills/brand-discovery/SKILL.md b/.agents/skills/brand-discovery/SKILL.md new file mode 100644 index 00000000..5ba79b92 --- /dev/null +++ b/.agents/skills/brand-discovery/SKILL.md @@ -0,0 +1,133 @@ +--- +name: brand-discovery +description: >- + Use when a brand needs to discover or articulate its identity through + structured multi-session interviews. Covers purpose, positioning, audience, + 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). +--- + +# Brand Discovery + +Use this skill to conduct a structured, adaptive brand identity interview. +The goal is a complete `90_SYNTHESIS.md` — a master brandbook the +organization can use to brief designers, writers, and external +collaborators. + +The interview runs across multiple sessions. Capture answers to disk as you +go so that no elicited knowledge is lost when a conversation ends, and so a +later session can resume from where the last one stopped. + +## When to Activate + +- A brand is being created, repositioned, or needs a written identity reference to brief collaborators. +- Multiple sessions are expected — the conversation will span days or weeks. +- Multiple founders or stakeholders need individual interviews before a reconciliation pass. +- The user wants a structured, repeatable method rather than an ad-hoc chat. +- Existing brand documentation is scattered, implicit, or founder-dependent and needs to be made explicit. + +## Session start protocol + +On every activation, perform these steps **before** asking any interview +question: + +1. **Check for prior progress.** Look for an existing set of module files + and a `state.json` checkpoint in the project's brand-identity directory. + If none exists, this is a fresh start — confirm the brand name, + participants, and where to save the brand-identity files, then begin at + the first module. +2. **Read the current module file** if one is in progress, and scan its Raw + section for previously captured answers. +3. **Report to the user** in two or three sentences: which module we are + in, its status, and what remains. Then ask: "Continue here, or switch + module?" + +## Interview discipline + +Apply these rules throughout every module: + +1. **One question at a time.** Never present a list of questions. +2. **After each answer:** short paraphrase → one deepening probe OR close + the thread if the topic is saturated. Never move on silently. +3. **Laddering:** for every "what" answer, follow with "Why does that + matter to you?" until a core value surfaces (typically two to four + iterations). +4. **5 Whys:** for beliefs or positioning claims — push until the root + reason, not the surface declaration, is on the table. +5. **Detect thin answers:** if generic, jargon-heavy, or vague, ask for + one concrete example, a client story, or a number. +6. **Projective techniques** (use once per module to break a plateau): + - "If the brand were a person, how would they walk into a room?" + - Brand obituary: "If the organization closed in five years, what would + customers miss? What would you regret not having said?" + - Competitive contrast: "Name one peer you admire but would never want + to become. What specifically makes them the wrong model?" +7. **Saturation signal:** when two consecutive probes produce no new + information, summarise and close the module. +8. **End of module:** write a structured module file with two sections: + - `## Raw` — verbatim quotes and examples. + - `## Synthesis` — your interpretation, three candidate formulations, + open questions, contradictions between participants. + Then update the `state.json` checkpoint (see State protocol below). + +## Module sequence + +| File | Label | Frameworks used | +|------|-------|-----------------| +| `10_purpose-why.md` | Purpose / Why | Sinek Golden Circle, Lencioni | +| `20_positioning.md` | Positioning | Dunford "Obviously Awesome", Moore template | +| `30_audience-niche.md` | Audience & Niche | Baker "Business of Expertise", ICP | +| `40_personality-archetype.md` | Personality & Archetype | Mark & Pearson 12 archetypes, J. Aaker 5 dims | +| `50_voice-tone.md` | Voice & Tone | Brand voice guidelines | +| `60_narrative-story.md` | Narrative / Story | Neumeier trueline, brand story arc | +| `70_founder-tension.md` | Founder Brands vs Studio Brand | Enns "Win Without Pitching" | +| `90_SYNTHESIS.md` | Master Brandbook | Kapferer prism, Aaker brand system | + +Complete modules in order. Honour a user request to jump modules and note +the skip in `state.json`. + +## State write protocol + +After each module reaches saturation or done status, write two files: + +**Module file** at `modules/{moduleFile}` — full Raw and Synthesis content. + +**`state.json`** — a lightweight checkpoint so a later session can resume. +Update `completedModules`, `inProgressModule`, `nextModule`, `lastUpdated`. +Schema: + +```json +{ + "session": "{brand_name}-brand-{YYYY-MM}", + "outputPath": "{path_to_brand_identity_directory}", + "completedModules": [], + "inProgressModule": "10_purpose-why.md", + "nextModule": "20_positioning.md", + "participants": ["founder-A"], + "lastUpdated": "{ISO-8601}" +} +``` + +After writing, confirm: "Module X saved. State updated. Next: Y." + +## Multi-founder mode + +When more than one founder participates, write each founder's answers to +`founders/{participant}.md` instead of the main module files. After all +founders complete a module, run a reconciliation pass: summarise +convergences and divergences in the module file, flag "productive tensions" +for the group alignment workshop. + +## Anti-Patterns + +- **Starting without reading state first.** Every session must open by checking for existing module files and `state.json`. Skipping this loses all continuity from prior sessions. +- **Asking multiple questions at once.** One question at a time is not optional — lists produce checklist answers, not real insight. +- **Moving to Synthesis before saturation.** If the last two probes produced no new information, the module is done. If they did — it isn't. +- **Skipping multi-founder reconciliation.** When multiple stakeholders are involved, individual interviews must complete before reconciliation. Discussing the brand collectively first introduces anchoring bias. +- **Treating this as a one-shot session.** This skill is designed for multiple sessions. Rushing to `90_SYNTHESIS.md` in one conversation produces shallow output. + +## Related Skills + +- `competitive-platform-analysis` — after brand-discovery establishes the positioning brief, use this to scope and categorise the competitor set. +- `brand-voice` (ECC) — if the brand-discovery voice-and-tone module needs a separate, source-derived writing-style profile. diff --git a/.agents/skills/brand-discovery/agents/openai.yaml b/.agents/skills/brand-discovery/agents/openai.yaml new file mode 100644 index 00000000..a1b6d986 --- /dev/null +++ b/.agents/skills/brand-discovery/agents/openai.yaml @@ -0,0 +1,7 @@ +interface: + display_name: "Brand Discovery" + short_description: "Adaptive multi-session brand identity interviews" + brand_color: "#8B5CF6" + default_prompt: "Use $brand-discovery to run a structured brand identity interview." +policy: + allow_implicit_invocation: true diff --git a/.agents/skills/brand-discovery/references/10_purpose-why.md b/.agents/skills/brand-discovery/references/10_purpose-why.md new file mode 100644 index 00000000..8788b945 --- /dev/null +++ b/.agents/skills/brand-discovery/references/10_purpose-why.md @@ -0,0 +1,42 @@ +# Module 10 — Purpose / Why + +> **Frameworks:** Sinek Golden Circle · Lencioni organisational purpose +> +> **Goal:** Surface the brand's core belief — the Why that exists independently +> of what the organisation sells or how it delivers. Captures the founding +> conviction, not the elevator pitch. + +--- + +## Raw + + + +### Core belief (why does this exist?) + +### The behavioural How (values in action, not poster slogans) + +### What the brand refuses to be or do + +### Founder quotes strong enough to become internal anchors + +--- + +## Synthesis + + + +### Candidate Why formulations (offer 2–3 versions, vary register and specificity) + +1. +2. +3. + +### Open questions / threads to pursue in later modules + +### Contradictions or tensions between participants (multi-founder only) + +### How does this Why constrain or enable positioning? (bridge to Module 20) diff --git a/.agents/skills/brand-discovery/references/20_positioning.md b/.agents/skills/brand-discovery/references/20_positioning.md new file mode 100644 index 00000000..fe32d241 --- /dev/null +++ b/.agents/skills/brand-discovery/references/20_positioning.md @@ -0,0 +1,46 @@ +# Module 20 — Positioning + +> **Frameworks:** Dunford *Obviously Awesome* · Moore crossing-the-chasm template · +> Jobs-to-be-done lens +> +> **Goal:** Define the brand's competitive frame — who it's for, what category it +> competes in, what it does uniquely, and why that matters to the target client. +> Output is the raw material for a positioning statement the brand can act on. + +--- + +## Raw + + + +### Who is the target client? (role, company type, situation) + +### What category does the brand compete in? (how clients currently solve this problem) + +### What makes the brand different from alternatives in that category? + +### What does the target client care about most? (the value they get that others can't match) + +### Competitive alternatives named by the founder (include "do nothing" / "hire in-house") + +### Phrases or metaphors the founder uses naturally to describe what they do + +--- + +## Synthesis + +### Positioning statement draft (Dunford template) +> For **[target client]** who **[situation / JTBD]**, **[brand name]** is the +> **[category]** that **[unique value]**. Unlike **[alternatives]**, we +> **[key differentiator]**. + +### Alternative framings (vary the category or the differentiator) + +1. +2. + +### White-space hypothesis (what no competitor is claiming that this brand could own) + +### Open questions / ambiguities + +### Tensions with Module 10 Why (flag any contradictions for Module 90 reconciliation) diff --git a/.agents/skills/brand-discovery/references/30_audience-niche.md b/.agents/skills/brand-discovery/references/30_audience-niche.md new file mode 100644 index 00000000..2f18e0c9 --- /dev/null +++ b/.agents/skills/brand-discovery/references/30_audience-niche.md @@ -0,0 +1,52 @@ +# Module 30 — Audience & Niche + +> **Frameworks:** Baker *The Business of Expertise* · Ideal Client Profile (ICP) · +> Pain / trigger / desired outcome lens +> +> **Goal:** Make the target audience concrete enough to brief a copywriter or run +> a paid campaign — not a demographic sketch, but a psychographic and situational +> portrait of the best client the brand wants more of. + +--- + +## Raw + + + +### Who is the ideal client? (describe a specific person, not a segment) + +### What situation or trigger brings them to look for help? + +### What have they tried before and why did it fall short? + +### What does success look like to them? (in their words, not the brand's) + +### What do they fear or want to avoid? + +### Worst-fit clients (who the brand doesn't want to work with, and why) + +### Quotes or stories from real past clients that illustrate the ideal fit + +--- + +## Synthesis + +### Ideal Client Profile (ICP) + +| Dimension | Description | +|---|---| +| Role / title | | +| Organisation type & size | | +| Trigger situation | | +| Primary pain | | +| Desired outcome | | +| Budget signal | | +| Red-flag / disqualifier | | + +### Psychographic portrait (2–3 sentences: how this person thinks, what they value, what they distrust) + +### Niche hypothesis (the smallest viable market the brand could credibly own) + +### Audience segments to test (if there is ambiguity about primary vs secondary ICP) + +### Open questions / threads for Module 20 positioning reconciliation diff --git a/.agents/skills/brand-discovery/references/40_personality-archetype.md b/.agents/skills/brand-discovery/references/40_personality-archetype.md new file mode 100644 index 00000000..5b5ba29e --- /dev/null +++ b/.agents/skills/brand-discovery/references/40_personality-archetype.md @@ -0,0 +1,60 @@ +# Module 40 — Personality & Archetype + +> **Frameworks:** Mark & Pearson 12 brand archetypes · J. Aaker 5 brand personality +> dimensions (sincerity / excitement / competence / sophistication / ruggedness) +> +> **Goal:** Establish the brand's character — how it would behave if it were a +> person. Personality governs tone, visual register, and what feels "on brand" +> versus "wrong". A sharp archetype makes a hundred small decisions automatic. + +--- + +## Raw + + + +### "If the brand were a person, how would they walk into a room?" + +### Archetype instinct (which of the 12 resonates immediately, and why?) +> Creator · Caregiver · Ruler · Jester · Regular Person · Lover · Hero · +> Outlaw · Magician · Innocent · Sage · Explorer + +### Three adjectives the founder uses most naturally to describe the brand's character + +### One brand or public figure the founder admires but the brand should NOT become +(and specifically what to avoid) + +### One brand or public figure whose personality register the brand aspires to + +### How should the brand make clients feel? (not think — feel) + +--- + +## Synthesis + +### Primary archetype + shadow + +| | | +|---|---| +| **Primary archetype** | (name + 1-line why) | +| **Secondary / shadow** | (what the primary archetype risks becoming; what keeps it honest) | + +### J. Aaker personality scores (1–5, 5 = strongly applies) + +| Dimension | Score | Evidence | +|---|---|---| +| Sincerity (warm, honest, down-to-earth) | | | +| Excitement (daring, spirited, imaginative) | | | +| Competence (reliable, intelligent, successful) | | | +| Sophistication (upper-class, charming) | | | +| Ruggedness (outdoorsy, tough) | | | + +### Personality in action (3 behavioural guidelines derived from the archetype) + +1. +2. +3. + +### What the brand must never sound or look like (the anti-personality) + +### Open questions / tensions with Module 50 Voice diff --git a/.agents/skills/brand-discovery/references/50_voice-tone.md b/.agents/skills/brand-discovery/references/50_voice-tone.md new file mode 100644 index 00000000..edc17436 --- /dev/null +++ b/.agents/skills/brand-discovery/references/50_voice-tone.md @@ -0,0 +1,61 @@ +# Module 50 — Voice & Tone + +> **Frameworks:** Brand voice spectrum (formal ↔ casual, serious ↔ playful, +> distant ↔ warm, conventional ↔ irreverent) · Content-type tone matrix +> +> **Goal:** Codify the brand's verbal register precisely enough that two different +> writers produce copy that sounds like the same person. Voice is constant; +> tone shifts by context (home page vs. error message vs. proposal cover). + +--- + +## Raw + + + +### Copy the founder admires (from their own brand or others) — include the source + +### Copy the founder dislikes or finds "wrong register" — what specifically is wrong? + +### Words or phrases the brand uses all the time (even informally) + +### Words or phrases the brand actively avoids + +### How should the brand sound on: a sales page? an error message? a proposal? + +### "We always…" / "We never…" statements about how the brand communicates + +--- + +## Synthesis + +### Voice spectrum (mark the brand's position on each axis) + +| Axis | 1 | 2 | 3 | 4 | 5 | Notes | +|---|---|---|---|---|---|---| +| Formal ←→ Casual | | | | | | | +| Serious ←→ Playful | | | | | | | +| Distant ←→ Warm | | | | | | | +| Conventional ←→ Irreverent | | | | | | | +| Minimal ←→ Expressive | | | | | | | + +### Voice statement (one paragraph a writer can internalise) + +### Tone matrix by content type + +| Content type | Tone shift | Example phrase | +|---|---|---| +| Homepage headline | | | +| Case study / evidence | | | +| Proposal / commercial | | | +| Error / apology | | | +| Social / informal | | | + +### The three things to check every draft against + +1. +2. +3. + +### Open questions / tensions with Module 40 Personality diff --git a/.agents/skills/brand-discovery/references/60_narrative-story.md b/.agents/skills/brand-discovery/references/60_narrative-story.md new file mode 100644 index 00000000..11a8376c --- /dev/null +++ b/.agents/skills/brand-discovery/references/60_narrative-story.md @@ -0,0 +1,54 @@ +# Module 60 — Narrative / Story + +> **Frameworks:** Neumeier trueline · Brand story arc (context → conflict → +> resolution → invitation) · Hero's journey (brand as guide, client as hero) +> +> **Goal:** Crystallise the brand's founding story and its narrative arc — the +> conflict it was built to resolve, the transformation it delivers, and the +> invitation it extends to clients. The trueline is the single sentence that +> holds every story the brand tells. + +--- + +## Raw + + + +### The founding story (what happened, when, why this — not the polished version) + +### The conflict or frustration that made the brand necessary + +### What the world looks like when the brand's work succeeds (the transformation) + +### A client story that best illustrates what the brand does and why it matters + +### What would be lost if the brand didn't exist? (brand obituary prompt) + +### The invitation: what does the brand ask clients to do or believe? + +--- + +## Synthesis + +### Trueline draft (Neumeier: "[Brand] is the only [category] that [unique claim].") + +> + +### Alternative truelines (2–3 variations, vary level of abstraction) + +1. +2. +3. + +### Brand story arc + +| Beat | Content | +|---|---| +| **Context** (the world before) | | +| **Conflict** (what's broken / wrong) | | +| **Resolution** (what the brand does about it) | | +| **Invitation** (what the client is asked to do) | | + +### The brand as guide (not hero) — what the client achieves, not the brand + +### Open questions / tensions with Module 20 Positioning and Module 10 Why diff --git a/.agents/skills/brand-discovery/references/70_founder-tension.md b/.agents/skills/brand-discovery/references/70_founder-tension.md new file mode 100644 index 00000000..5c414e27 --- /dev/null +++ b/.agents/skills/brand-discovery/references/70_founder-tension.md @@ -0,0 +1,49 @@ +# Module 70 — Founder Brand vs Organisation Brand + +> **Frameworks:** Enns *Win Without Pitching* · Personal brand vs institutional +> brand spectrum +> +> **Goal:** Map the relationship between the founder's personal reputation and the +> organisation's brand. Clarify how much equity each carries, what the healthy +> boundary is, and how to sequence personal vs organisation brand investment. +> Unresolved founder-brand tension is a common scaling bottleneck. + +--- + +## Raw + + + +### Is the founder personally known in the market? How? + +### Do clients buy the founder or the organisation? (ask for evidence, not instinct) + +### What happens to the brand if the founder steps back or is unavailable? + +### What does the founder want for their personal brand in 3–5 years? + +### What does the organisation's brand need to be able to do independently? + +### Where has the founder-brand been an asset? Where has it been a constraint? + +--- + +## Synthesis + +### Current state: where on the spectrum? + +``` +[Founder IS the brand] ←————————→ [Organisation brand stands alone] + 1 2 3 4 5 +``` +Current position: ___ Target position (3-year): ___ + +### What the founder brand should own (and keeps owning) + +### What the organisation brand needs to own (independently of the founder) + +### Transition plan sketch (if moving from founder-centric toward institutional) + +### Risk if nothing changes + +### Open questions / threads for Module 90 Synthesis diff --git a/.agents/skills/brand-discovery/references/90_SYNTHESIS.md b/.agents/skills/brand-discovery/references/90_SYNTHESIS.md new file mode 100644 index 00000000..1bce2f12 --- /dev/null +++ b/.agents/skills/brand-discovery/references/90_SYNTHESIS.md @@ -0,0 +1,105 @@ +# Module 90 — Master Brandbook (Synthesis) + +> **Frameworks:** Kapferer Brand Identity Prism · Aaker brand system (identity / +> personality / associations / equity) +> +> **Goal:** Reconcile all seven preceding modules into a single, actionable +> brandbook. This document is the source of truth the brand uses to brief +> designers, writers, and external collaborators. It resolves tensions between +> modules, commits to specific formulations, and translates them into practical +> guidelines. + +--- + +## 1. The Why (from Module 10) + +> **Core belief:** + +> **Behavioural How (values in action):** + +> **What we refuse to be:** + +--- + +## 2. Positioning (from Module 20) + +> **Positioning statement:** +> For **[target client]** who **[situation]**, **[brand name]** is the +> **[category]** that **[unique value]**. Unlike **[alternatives]**, we +> **[key differentiator]**. + +> **White-space the brand owns:** + +--- + +## 3. Audience (from Module 30) + +> **Ideal Client Profile (one-paragraph portrait):** + +> **Niche the brand is building toward:** + +> **Red-flag / disqualifier:** + +--- + +## 4. Kapferer Brand Identity Prism + +| Facet | Content | +|---|---| +| **Physique** (visible, tangible brand attributes) | | +| **Personality** (character if the brand were a person) | | +| **Culture** (values and principles behind the brand) | | +| **Relationship** (how the brand relates to clients) | | +| **Reflection** (how clients see themselves using this brand) | | +| **Self-image** (how clients feel inside when using this brand) | | + +--- + +## 5. Voice & Tone summary (from Module 50) + +> **Voice statement (one paragraph):** + +> **The three checks every draft must pass:** +> 1. +> 2. +> 3. + +--- + +## 6. Narrative assets (from Module 60) + +> **Trueline:** + +> **Brand story arc (one paragraph, usable as an About page starting point):** + +--- + +## 7. Founder / organisation brand boundary (from Module 70) + +> **What the founder brand owns:** + +> **What the organisation brand owns:** + +--- + +## 8. Tensions resolved (record any module-to-module conflicts and how they were settled) + +| Tension | Module A | Module B | Resolution | +|---|---|---|---| +| | | | | + +--- + +## 9. Open questions deferred to next session + + + +--- + +## 10. Practical next steps + + + +1. +2. +3. diff --git a/.agents/skills/competitive-platform-analysis/SKILL.md b/.agents/skills/competitive-platform-analysis/SKILL.md new file mode 100644 index 00000000..2877d323 --- /dev/null +++ b/.agents/skills/competitive-platform-analysis/SKILL.md @@ -0,0 +1,180 @@ +--- +name: competitive-platform-analysis +description: >- + Use when scoping a competitive landscape — identifying, categorising, and + score-filtering a competitor set before any benchmarking begins. Decides who + counts as a competitor, which tier they belong to, and which sources to mine. + First step in the three-skill competitive pipeline; precedes + benchmark-methodology. +--- + +# Competitive Platform Analysis + +Use this skill to decide **who to benchmark** and **where to find them** before +any scoring begins. A competitive analysis is only as good as its frame: the +wrong set makes the client look either unbeatable or doomed. The goal is a +defensible, decision-relevant set — not an exhaustive census. + +## When to Activate + +- About to start a competitive benchmarking project and need to define the competitor set first. +- Unsure which companies belong in Direct / Adjacent / Aspirational tiers. +- Need a defensible, pruned scope for a market landscape report. +- Has a positioning brief and wants to identify who contests that position. +- First step before running benchmark-methodology. + +## Client positioning brief (establish first) + +Before scoping the set, establish the client's positioning brief. If you don't +already have it, run a short brand-discovery interview to elicit it — do **not** +invent one and do **not** scope the set blind. The brief supplies: + +- **Identity / aesthetic register** — what kind of studio or company this is and + how it presents itself. +- **Offer** — what services or products it delivers. +- **Target clients** — who it sells to. +- **Differentiator** — the moat or positioning argument the client believes in. +- **Scoping consequence** — the implication for how to weight competitors (e.g., + prioritize by distinctiveness vs. capability overlap vs. price). +- **Strategic tension** — the paired axes that define the client's white-space + (e.g., memorability × hireability). + +**Do not proceed without the positioning brief.** A competitor list scoped +without the client's lens is noise, not intelligence. The scoping consequence in +particular determines which competitors are *strong* rivals (those that contest +the client's moat) vs. merely overlapping on service menu. + +## Selection criteria + +For each candidate, capture these axes — they decide both inclusion and tier: + +- **Size / model** — solo, micro-studio (2–8), boutique (sub-30), mid-size + agency. Match the client's own band; same-band studios are the realistic + head-to-head set. +- **Niche / specialization** — how closely the candidate's focus overlaps with + the client's offer. Tighter overlap = more direct. +- **Geography / market** — EU vs US vs global-remote; language; time-zone reach. + Note whether they win the same clients the client targets. +- **Pricing & engagement model** — productized sprints, retainer, project, + day-rate; transparent vs "contact us". Signals positioning maturity. +- **Portfolio style** — generic vs. opinionated/editorial vs. contrarian. Closer + to the client's aesthetic register = more they contest the client's + distinctiveness. +- **Technical depth / craft maturity** — relevant if the client's credibility + story includes public process work, open tooling, or documented systems. +- **Brand strength** — does the studio have an ownable verbal/visual identity, or + is it interchangeable? Weight this per the client's scoping consequence. + +## Player taxonomy — axes to populate across + +Don't sort competitors into niche-specific buckets; sort them along a few +generic axes so the landscape isn't skewed toward one archetype. These axes +apply to any creative-service market (design, motion, copywriting, branding, +content, film, etc.). Aim for breadth across each axis first, then prune to the +most instructive. + +1. **Positioning stance** — *brand-led / editorial* (competes on identity, + voice, POV) vs *capability-led* (competes on craft, throughput, outcomes). + Populate both poles; the client's closest mirror sits at its own end. +2. **Specialization** — *specialist* (one tight discipline or vertical) vs + *generalist* (broad service menu). Tighter overlap with the client's focus = + more direct. +3. **Size / model** — *solo / micro* vs *boutique* vs *mid-size* vs + *enterprise-scale*. Same-band players are the realistic head-to-head; larger + bands are the aspirational/commercial-maturity reference. +4. **Engagement format** — *productized* (named sprints, audits, fixed packages) + vs *bespoke* (custom project / retainer). Signals positioning maturity. +5. **Distinctiveness posture** — *conventional / safe* vs *contrarian / + manifesto-driven*. The opinionated end is key for distinctiveness + benchmarking in any niche. +6. **Evidence / credibility model** — *outcome-led* (metrics, named clients, + case depth) vs *aesthetic-led* (portfolio, awards). Tells you how each player + earns trust. +7. **Brand strength of the operator** — *interchangeable* vs *cult / ownable + identity* (including senior independents who prove the "memorable solo brand" + model). +8. **Market / reach** — *local / regional* vs *global-remote*; note whether they + win the same clients the client targets. + +Plot each candidate on the relevant axes; a competitor is *direct* when it sits +near the client on positioning, specialization, size, and market at once. + +## Competitive tiers (how the set resolves) + +Group the final set into three tiers — this structure carries through to the +report: + +- **Direct** — same band, overlapping offer, same client targets. The realistic + head-to-head. +- **Adjacent** — partial overlap (one capability, or a different client size) + that pressures at the edges. +- **Aspirational** — players the client is not competing with today but whose + brand or commercial maturity sets the bar to aim at. +- *(Watch also for substitutes:* no-code/AI tools, in-house teams, generalist + freelancers — note as a threat vector, not a profiled competitor unless + materially relevant.)* + +## Data sources (where to look) + +Match the source to the dimension you need. The platform *types* below are +generic; substitute the ones native to the client's niche (e.g. Dribbble/Behance +for design, showreel/Vimeo for motion, writing samples/published work for copy): + +- **Portfolio / craft platforms** — craft quality, range, aesthetic register + (e.g. Dribbble, Behance, Vimeo, or the niche's equivalent showcase). +- **Awards / curated showcases** — craft ambition and editorial recognition; + over-indexes on flashy, so cross-check commercial credibility (e.g. Awwwards, + industry award lists). +- **Competitor's own site** — primary source for positioning, voice, offer + packaging, pricing posture, named clients, manifesto/POV. +- **LinkedIn** — team size/model, founder narrative, post cadence, client logos, + geography. +- **Review directories** — reviews, named clients, project sizes, engagement + models; strongest signal for commercial credibility and enterprise-readiness + (e.g. Clutch.co or the niche's equivalent). +- **Open / public work** — process repos, published samples, open creative + output: depth and craft-transparency evidence. +- **Conference talks / podcasts / newsletters** — thought-leadership depth and + POV ownership. + +Always **verify claims across at least two sources** before treating a competitor +attribute as fact (self-reported site copy ≠ verified outcome). Carry an +adversarial-verification discipline into every profile. + +## Scoring matrix template (selection stage) + +A lightweight pre-filter to decide who graduates into full benchmarking. Score +1–5; keep candidates that score high on **either** distinctiveness **or** +credibility — the client's strategic tension means both poles are instructive. + +| Candidate | Positioning stance | Specialization | Size band | Tier | Offer overlap (1–5) | Distinctiveness (1–5) | Commercial credibility (1–5) | Craft proximity (1–5) | Include? | +|-----------|--------------------|----------------|-----------|------|---------------------|------------------------|------------------------------|------------------------|----------| + +Rules of thumb (apply per the client's scoping consequence in the positioning brief): + +- High distinctiveness **and** high credibility → must-profile (proves the + client's target tension is achievable). +- High distinctiveness, low credibility → cautionary case (memorable but + un-hireable — a potential failure mode to learn from). +- High credibility, low distinctiveness → "competent but forgettable" mass the + client defines itself against. +- Low on both → drop unless needed for landscape breadth. + +## Output of this stage + +A scoped, tiered competitor set (typically 10–18 candidates → 8–12 profiled), +each tagged with its axis positions, tier, and source links, ready to hand to +`benchmark-methodology`. + +## Anti-Patterns + +- **Scoping without a positioning brief.** A competitor list built without the client's lens is noise. The brief determines what counts as a real rival. +- **Listing every similar company.** The goal is a defensible 10–18 candidate set, not a census. Breadth without pruning makes benchmarking unmanageable. +- **Blurring the Direct/Adjacent/Aspirational tiers.** These tiers serve different strategic purposes. Mixing them produces a flat list that can't drive decisions. +- **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. + +## Related Skills + +- `brand-discovery` — use first to establish the positioning brief and strategic tension that scopes the competitor set. +- `benchmark-methodology` — the next step; takes the tiered set and scores each competitor across nine dimensions. diff --git a/.agents/skills/competitive-platform-analysis/agents/openai.yaml b/.agents/skills/competitive-platform-analysis/agents/openai.yaml new file mode 100644 index 00000000..a3afbc89 --- /dev/null +++ b/.agents/skills/competitive-platform-analysis/agents/openai.yaml @@ -0,0 +1,7 @@ +interface: + display_name: "Competitive Platform Analysis" + short_description: "Scope and tier a competitor set before benchmarking" + brand_color: "#0EA5E9" + default_prompt: "Use $competitive-platform-analysis to scope and categorize a competitor set." +policy: + allow_implicit_invocation: true diff --git a/.agents/skills/competitive-report-structure/SKILL.md b/.agents/skills/competitive-report-structure/SKILL.md new file mode 100644 index 00000000..c20f1d73 --- /dev/null +++ b/.agents/skills/competitive-report-structure/SKILL.md @@ -0,0 +1,159 @@ +--- +name: competitive-report-structure +description: >- + Use after benchmark-methodology has produced scored competitor profile cards. + Assembles findings into a decision-grade report: landscape map, competitor + profiles, benchmarking matrix, white-space analysis, strategic recommendations, + and team alignment trigger questions. Final step in the three-skill competitive + pipeline. +--- + +# Competitive Report Structure + +Use this skill to assemble scored competitor cards into a decision-grade report. +The report must answer three questions for the client: **who do we compete with, +how do we compete, and where is our defensible white-space?** Every section +earns its place by moving toward those answers — cut anything that doesn't. + +## When to Activate + +- All competitor profile cards from benchmark-methodology are complete and ready to assemble. +- Need to present competitive findings to a founder, leadership team, or board. +- The report must drive decisions (who to compete with, how, where the moat is) — not just document the landscape. +- Preparing a client deliverable that must be auditable and defensible. + +## Client positioning brief (establish first) + +Before assembling the report, establish the client's positioning brief. It +supplies: + +- **Strategic tension** — the paired axes (e.g., memorability × hireability) + that define the client's target white-space. All maps and synthesis resolve + back to this tension. +- **Brand balance** — the intended proportional mix of the client's strategic + emphases (e.g., 60% strategy/evidence, 25% distinctiveness, 15% craft). + Every recommendation must be checked against this balance; flag any that + would shift it. +- **Differentiator** — the framing principle for the executive summary and + white-space section. +- **Target quadrant** — where the client intends to sit in the tension map; + confirming whether that quadrant is genuinely open is the report's central + empirical question. + +## Framing principle + +The whole report is organized around the client's strategic tension and +recommendations resolve back to the client's deliberate brand balance. +Recommendations that would break that balance must be flagged against it +explicitly — "this move shifts the balance from X/Y/Z toward A/B/C; confirm +intent." + +## Report sections + +### 1. Executive summary +3–5 takeaways, decision-first. State the most important findings in plain +language: where the client is strong, where it's exposed, who occupies its +target white-space, and the top 2–3 moves. Written so a founder/PM reads only +this and knows what to do. No methodology here. + +### 2. Market landscape & category framing +Define the category and map it. Use a **multi-axis map** — at minimum a 2×2 +(e.g., *brand-led ↔ capability-led* × *boutique ↔ enterprise-scale*), and +ideally the **client's tension plot** from `benchmark-methodology` as the +headline map. Place every profiled competitor and the client. The map should +make the client's intended position visually obvious and show how crowded (or +empty) it is. + +### 3. Competitor tiers +Organize the set into **Direct / Adjacent / Aspirational** (from +`competitive-platform-analysis`). One short paragraph per tier explaining who's +in it and why it matters to the client. This sets reader expectations before +the detail. + +### 4. Benchmarking matrix +The full **competitors × dimensions** table — the quantitative spine. Rows = +competitors (grouped by tier), columns = the nine dimensions. 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** +add a blended total column — report dimensions separately (per the bias +controls). Call out the columns where the client leads and where it trails. + +### 5. Deep dives +3–5 most instructive competitors in narrative form (from their profile cards). +Choose for instruction, not ranking: the best exemplar of the target tension +(high on both poles), the cautionary "one pole only" case, the "competent but +forgettable" archetype the client defines against, plus any direct threat. Each +deep dive: what they do, what the client should learn, what the client should +avoid. + +### 6. White-space & threats +The strategic heart. Two parts: + +- **White-space:** the position the client can own that rivals don't — argued + from the maps and matrix, not asserted. Confirm whether the target quadrant + (from the positioning brief) is genuinely open. +- **Threats:** who/what pressures the client — a rival closing the gap, + substitutes (no-code/AI tools, in-house teams, generalist freelancers), or + category shifts. Be honest about the client's own risks (e.g., a bold identity + reading as un-serious to risk-averse buyers). + +### 7. Strategic recommendations +Concrete, prioritized moves: who the client competes with, how it differentiates, +and where to invest (offer packaging, evidence/case studies, thought leadership, +brand sharpening). **Tie every recommendation back to the brand balance from the +positioning brief** and flag any that would shift it. Sequence by impact × +effort. + +### 8. Sources / methodology appendix +The dimensions, weights, rubrics, the scoped set with tiers, source links per +competitor, and verification notes (asserted vs proven). This is what makes the +report auditable and defensible — carry the adversarial citation discipline +through. + +## How to present data + +- **2×2 / positioning maps** — for landscape and the tension plot. Lead with + these; they carry the argument faster than prose. +- **Heatmap matrix** — for the competitors × dimensions comparison (section 4). +- **Profile cards** — the source unit feeding deep dives (section 5). +- **Quadrant callouts** — name who sits in each quadrant explicitly, especially + the client's target one. +- Keep tables scannable; push raw evidence and links to the appendix. + +## Decision framework (the report must resolve these) + +- **Who do we compete with?** — Name the Direct tier specifically; that's the + real fight. +- **How do we compete?** — State the client's differentiator in one sentence, + grounded in the matrix (which dimensions the client owns). +- **Where are our differentiators defensible?** — Identify the + dimensions/quadrant rivals can't easily copy (the moat), vs. the ones that + are table-stakes. + +## Trigger questions for the team alignment session + +End with questions that force decisions, not admiration of the analysis: + +- Is the target quadrant truly open, or is a rival already moving in? +- Which Direct competitor is the sharpest threat in the next 12 months, and + what's the counter? +- Does the brand balance still hold given the landscape — should any emphasis + shift? +- Which dimension where the client trails is worth closing, and which to + deliberately concede? +- What's the one move that most widens distinctiveness *without* costing + hireability / credibility? + +## Anti-Patterns + +- **Leading with methodology.** The executive summary opens with the most important finding, not an explanation of how the benchmark was run. Methodology belongs in the appendix. +- **Presenting scores without the tension plot.** The 2×2 tension map is the headline artefact. A table of numbers without the map buries the strategic insight. +- **Omitting the decision framework.** The report must resolve the three questions (who to compete with, how, where the moat is). Leaving these unanswered turns the report into a literature review. +- **Starting before all profile cards are complete.** Benchmark-methodology must finish before assembly begins. Partial data produces gaps that undermine the heatmap and white-space analysis. +- **Adding a blended total column to the matrix.** Explicitly excluded — it creates a false composite that obscures the asymmetry the client needs to act on. + +## Related Skills + +- `benchmark-methodology` — the prerequisite; produces the scored competitor profile cards this skill assembles. +- `competitive-platform-analysis` — provides the tier structure (Direct / Adjacent / Aspirational) used in Section 3. +- `brand-discovery` — use to establish the client's positioning brief if it hasn't been defined. diff --git a/.agents/skills/competitive-report-structure/agents/openai.yaml b/.agents/skills/competitive-report-structure/agents/openai.yaml new file mode 100644 index 00000000..86df7c04 --- /dev/null +++ b/.agents/skills/competitive-report-structure/agents/openai.yaml @@ -0,0 +1,7 @@ +interface: + display_name: "Competitive Report Structure" + short_description: "Assemble scored cards into a decision-grade competitive report" + brand_color: "#10B981" + default_prompt: "Use $competitive-report-structure to assemble a competitive benchmarking report." +policy: + allow_implicit_invocation: true diff --git a/README.md b/README.md index cb3ad85a..768e7636 100644 --- a/README.md +++ b/README.md @@ -149,12 +149,12 @@ This repo is the raw code only. The guides explain everything. ### v2.0.0 — The Agent Harness Operating System (Jun 2026) -Stable graduation of the 2.0 line: 261 skills, the control-pane substrate (session adapters + MCP inventory), the worktree-lifecycle service, the `orch-*` orchestrator family, and the launch of the [ECC Discord community](https://discord.gg/36yGMHGFbR). Full notes: [docs/releases/2.0.0/release-notes.md](docs/releases/2.0.0/release-notes.md). +Stable graduation of the 2.0 line: 265 skills, the control-pane substrate (session adapters + MCP inventory), the worktree-lifecycle service, the `orch-*` orchestrator family, and the launch of the [ECC Discord community](https://discord.gg/36yGMHGFbR). Full notes: [docs/releases/2.0.0/release-notes.md](docs/releases/2.0.0/release-notes.md). ### v2.0.0-rc.1 — Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026) - **Dashboard GUI** — New Tkinter-based desktop application (`ecc_dashboard.py` or `npm run dashboard`) with dark/light theme toggle, font customization, and project logo in header and taskbar. -- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 64 agents, 262 skills, and 84 legacy command shims. +- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 64 agents, 269 skills, and 84 legacy command shims. - **Operator and outbound workflow expansion** — `brand-voice`, `social-graph-ranker`, `connections-optimizer`, `customer-billing-ops`, `ecc-tools-cost-audit`, `google-workspace-ops`, `project-flow-ops`, and `workspace-surface-audit` round out the operator lane. - **Media and launch tooling** — `manim-video`, `remotion-video-creation`, and upgraded social publishing surfaces make technical explainers and launch content part of the same system. - **Framework and product surface growth** — `nestjs-patterns`, richer Codex/OpenCode install surfaces, and expanded cross-harness packaging keep the repo usable beyond Claude Code alone. @@ -425,7 +425,7 @@ If you stacked methods, clean up in this order: /plugin list ecc@ecc ``` -**That's it!** You now have access to 64 agents, 262 skills, and 84 legacy command shims. +**That's it!** You now have access to 64 agents, 269 skills, and 84 legacy command shims. ### Dashboard GUI @@ -1498,7 +1498,7 @@ The configuration is automatically detected from `.opencode/opencode.json`. |---------|---------------------|----------|--------| | Agents | PASS: 64 agents | PASS: 12 agents | **Claude Code leads** | | Commands | PASS: 84 commands | PASS: 35 commands | **Claude Code leads** | -| Skills | PASS: 262 skills | PASS: 37 skills | **Claude Code leads** | +| Skills | PASS: 269 skills | PASS: 37 skills | **Claude Code leads** | | Hooks | PASS: 8 event types | PASS: 11 events | **OpenCode has more!** | | Rules | PASS: 29 rules | PASS: 13 instructions | **Claude Code leads** | | MCP Servers | PASS: 14 servers | PASS: Full | **Full parity** | @@ -1659,7 +1659,7 @@ ECC is the **first plugin to maximize every major AI coding tool**. Here's how e |---------|-----------------------|------------|-----------|----------|----------------| | **Agents** | 64 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 | N/A | | **Commands** | 84 | Shared | Instruction-based | 35 | 5 prompts | -| **Skills** | 262 | Shared | 10 (native format) | 37 | Via instructions | +| **Skills** | 269 | Shared | 10 (native format) | 37 | Via instructions | | **Hook Events** | 8 types | 15 types | None yet | 11 types | None | | **Hook Scripts** | 20+ scripts | 16 scripts (DRY adapter) | N/A | Plugin hooks | N/A | | **Rules** | 34 (common + lang) | 34 (YAML frontmatter) | Instruction-based | 13 instructions | 1 always-on file | diff --git a/README.zh-CN.md b/README.zh-CN.md index 3e29edcf..411bec87 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -82,7 +82,7 @@ ### v2.0.0 — 智能体 Harness 操作系统(2026年6月) -2.0 主线稳定版:261 个技能、control-pane 基底(会话适配器 + MCP 清单)、worktree 生命周期服务,以及 [ECC Discord 社区](https://discord.gg/36yGMHGFbR)。 +2.0 主线稳定版:265 个技能、control-pane 基底(会话适配器 + MCP 清单)、worktree 生命周期服务,以及 [ECC Discord 社区](https://discord.gg/36yGMHGFbR)。 ### v2.0.0-rc.1 — 表面同步、运营工作流与 ECC 2.0 Alpha(2026年4月) @@ -164,7 +164,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/" /plugin list ecc@ecc ``` -**完成!** 你现在可以使用 64 个代理、262 个技能和 84 个命令。 +**完成!** 你现在可以使用 64 个代理、269 个技能和 84 个命令。 ### multi-* 命令需要额外配置 diff --git a/docs/zh-CN/README.md b/docs/zh-CN/README.md index 49303d97..62c30de0 100644 --- a/docs/zh-CN/README.md +++ b/docs/zh-CN/README.md @@ -83,7 +83,7 @@ ### v2.0.0 — 智能体 Harness 操作系统(2026年6月) -2.0 主线稳定版:261 个技能、control-pane 基底(会话适配器 + MCP 清单)、worktree 生命周期服务,以及 [ECC Discord 社区](https://discord.gg/36yGMHGFbR)。 +2.0 主线稳定版:265 个技能、control-pane 基底(会话适配器 + MCP 清单)、worktree 生命周期服务,以及 [ECC Discord 社区](https://discord.gg/36yGMHGFbR)。 ### v2.0.0-rc.1 — 表面同步、运营工作流与 ECC 2.0 Alpha(2026年4月) @@ -228,7 +228,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/" /plugin list ecc@ecc ``` -**搞定!** 你现在可以使用 64 个智能体、262 项技能和 84 个命令了。 +**搞定!** 你现在可以使用 64 个智能体、269 项技能和 84 个命令了。 *** @@ -1142,7 +1142,7 @@ opencode |---------|---------------|----------|--------| | 智能体 | PASS: 64 个 | PASS: 12 个 | **Claude Code 领先** | | 命令 | PASS: 84 个 | PASS: 35 个 | **Claude Code 领先** | -| 技能 | PASS: 262 项 | PASS: 37 项 | **Claude Code 领先** | +| 技能 | PASS: 269 项 | PASS: 37 项 | **Claude Code 领先** | | 钩子 | PASS: 8 种事件类型 | PASS: 11 种事件 | **OpenCode 更多!** | | 规则 | PASS: 29 条 | PASS: 13 条指令 | **Claude Code 领先** | | MCP 服务器 | PASS: 14 个 | PASS: 完整 | **完全对等** | @@ -1250,7 +1250,7 @@ ECC 是**第一个最大化利用每个主要 AI 编码工具的插件**。以 |---------|-----------------------|------------|-----------|----------| | **智能体** | 64 | 共享 (AGENTS.md) | 共享 (AGENTS.md) | 12 | | **命令** | 84 | 共享 | 基于指令 | 35 | -| **技能** | 262 | 共享 | 10 (原生格式) | 37 | +| **技能** | 269 | 共享 | 10 (原生格式) | 37 | | **钩子事件** | 8 种类型 | 15 种类型 | 暂无 | 11 种类型 | | **钩子脚本** | 20+ 个脚本 | 16 个脚本 (DRY 适配器) | N/A | 插件钩子 | | **规则** | 34 (通用 + 语言) | 34 (YAML 前页) | 基于指令 | 13 条指令 | diff --git a/skills/benchmark-methodology/SKILL.md b/skills/benchmark-methodology/SKILL.md new file mode 100644 index 00000000..950784c3 --- /dev/null +++ b/skills/benchmark-methodology/SKILL.md @@ -0,0 +1,191 @@ +--- +name: benchmark-methodology +description: >- + Use after competitive-platform-analysis has produced a tiered competitor set. + Scores each competitor across nine weighted dimensions (positioning, voice, + visual craft, offer packaging, evidence, enterprise-readiness, thought + leadership, pricing, client's strategic tension) with explicit 1–5 rubrics + and a tension-plot. Precedes competitive-report-structure. +origin: community +--- + +# Benchmark Methodology + +Use this skill to turn a scoped competitor set into **comparable, defensible +scores**. Each competitor is assessed on the same nine dimensions, with +explicit 1–5 rubrics, then captured in a uniform profile card. Consistency is +the point: scores are only useful if the same evidence would earn the same +number for any competitor. + +## When to Activate + +- A scoped, tiered competitor set from competitive-platform-analysis is ready to score. +- Need comparable, evidence-anchored scores across competitors — not gut-feel rankings. +- Client's strategic tension (the paired axes defining their target white-space) has been established. +- Preparing to produce profile cards for assembly in competitive-report-structure. + +## Client positioning brief (establish first) + +Before scoring, establish the client's positioning brief. It supplies: + +- **Strategic tension** — the two axes (e.g., memorability × hireability) whose + intersection marks the client's target white-space. Dimension 9 is always + the client's named tension; report both poles separately, never averaged. +- **Differentiator** — what makes the client's moat. This informs which + dimensions matter most for the client's positioning argument. +- **Brand balance** — the intended mix of distinct strategic emphases. Strategic + recommendations must not break this balance without flagging it. + +## Why these dimensions + +The client competes on a **specific tension held across two poles**, not on +service breadth. The dimensions are weighted to reflect that moat. Two +dimensions — the tension poles — are scored **separately and never averaged +together**, because the client's strategic question is precisely whether a rival +achieves both simultaneously. + +## The nine dimensions (with weights) + +Weights guide synthesis emphasis, not a single blended score (avoid a false +composite — see Bias controls). Sum = 100%. + +1. **Positioning clarity & distinctiveness** (18%) — Is the studio's position + sharp, ownable, and instantly legible? Or generic? +2. **Brand voice / verbal distinctiveness** (15%) — Does the copy have an + ownable register, or is it interchangeable agency-speak? +3. **Visual identity & site craft** (15%) — Quality and ownership of the visual + system; site as proof-of-craft. +4. **Service offer & packaging** (12%) — Productized and legible (named + sprints/audits) vs vague. Packaging maturity. +5. **Evidence & credibility** (12%) — Named clients, quantified outcomes, + case-study depth. Proof beyond assertion. +6. **Enterprise-readiness / commercial maturity** (10%) — Signals they can land + and hold SaaS/fintech/B2B/enterprise work (process, logos, scale, contracts). +7. **Thought leadership / content presence** (8%) — Owned POV: writing, talks, + newsletters, frameworks. Depth over volume. +8. **Pricing transparency & engagement model** (5%) — Is pricing/engagement + legible? Productized vs bespoke vs opaque. +9. **[Client's strategic tension]** (5% as a flag; **score BOTH poles, + report separately**) — Read the tension name and axis descriptions from the + client's positioning brief. Plot both; the gap is the insight. The client's + target quadrant is the single most important finding: who else is already + there? + +## Scoring rubric (1–5, applies to dimensions 1–8) + +Anchor every score to observable evidence. Generic descriptors below; adapt the +specifics per dimension but keep the level meaning constant. + +- **1 — Absent / generic.** No discernible position or craft; indistinguishable + from a template. Active liability. +- **2 — Below par.** Some intent but inconsistent, derivative, or unconvincing. + Wouldn't survive a side-by-side. +- **3 — Competent / table-stakes.** Solid, professional, unremarkable. Meets + expectation, ownable by nobody. +- **4 — Strong / distinctive.** Clearly above peers; a real strength a buyer + would notice and cite. +- **5 — Category-defining.** Best-in-class, ownable, hard to imitate. Sets the + bar others react to. + +### Tension axes (dimension 9) — score each 1–5 + +Read the axis labels and their 1/3/5 anchors from the client's positioning +brief. Example anchors for a memorability × credibility tension: + +- **Memorability** — 1: forgotten instantly · 3: recognizable in context · + 5: unforgettable, talked-about, distinctively owned. +- **Credibility** — 1: feels risky/amateur · 3: safe, competent, + unexciting · 5: enterprise-trusted, obvious safe choice. + +Plot competitors on the tension 2×2. The client's target quadrant is named in +the positioning brief. Who else occupies that quadrant is the single most +important finding of the benchmark. + +## How to collect the data + +For each competitor, work the dimensions in this order (cheapest signal first): + +1. **Competitor's own site** — positioning, voice, offer packaging, pricing + posture, named clients, manifesto/POV. Screenshot the homepage + one case + study. +2. **Case studies / work** — evidence depth, quantified outcomes, client names. + Distinguish *asserted* ("we delivered X") from *proven* (metrics, named, + verifiable). +3. **Review directories** — corroborate clients, project size, engagement model + → credibility & enterprise-readiness (e.g. Clutch.co or the niche equivalent). +4. **LinkedIn** — team size/model, founder narrative, content cadence → + thought leadership, model. +5. **Portfolio / craft platforms** — craft register (use the showcase native to + the niche: design boards, showreels, published samples, etc.). +6. **Content channels** — newsletter/talks/writing → thought-leadership depth. + +**What to record per dimension:** the score, one-line justification, and the +source link/screenshot that earned it. No score without evidence. + +## Bias controls + +- **No single composite score.** Report dimension scores and the tension plot + separately. A weighted average hides the asymmetry that matters. +- **Asserted vs proven.** Downgrade credibility/evidence scores for + self-reported claims with no corroboration. Site copy is marketing, not fact. +- **Aesthetic affinity bias.** Reviewers may over-score studios whose aesthetic + they share and under-score rivals' commercial strength. Score craft and + credibility independently; a "boring" site may be winning bigger clients. +- **Recency / flashiness bias.** Award-winning, showpiece work dazzles but may + lack commercial depth — verify with directories/clients before scoring + credibility. +- **Survivorship.** The visible, well-marketed studios aren't the whole market; + note strong-but-quiet operators found via directories/reviews. +- **Calibrate across the set, not in isolation.** Before finalizing, re-read + scores side-by-side — a "4" must mean the same thing for every competitor. + Adjust outliers. + +## Competitor profile card (output format) + +Produce one card per profiled competitor — the atomic unit the report assembles +from: + +``` +## +- **Profile / Tier:** / +- **One-liner:** +- **Model / size / geography:** · · +- **Notable clients / evidence:** + +### Dimension scores +| Dimension | Score (1–5) | Justification (1 line) | Source | +|---|---|---|---| +| Positioning clarity & distinctiveness | | | | +| Brand voice / verbal distinctiveness | | | | +| Visual identity & site craft | | | | +| Service offer & packaging | | | | +| Evidence & credibility | | | | +| Enterprise-readiness / commercial maturity | | | | +| Thought leadership / content presence | | | | +| Pricing transparency & engagement model | | | | + +### Tension plot +- **[Axis 1 from positioning brief]:** <1–5> — +- **[Axis 2 from positioning brief]:** <1–5> — +- **Quadrant:** + +### Read for [client] +- **Strength to learn from:** <…> +- **Weakness to exploit / white-space it exposes:** <…> +- **Threat to [client]:** <…> +``` + +Hand the completed cards plus the tension plot to `competitive-report-structure`. + +## Anti-Patterns + +- **Averaging the tension axes.** The two poles of the client's strategic tension must be scored and reported separately. Averaging destroys the insight — the gap between poles is the finding. +- **Scoring without evidence.** Every score requires a one-line justification and a source link. A score without evidence is an opinion, not a benchmark. +- **Creating a single composite score.** Report dimension scores individually. A weighted average hides the asymmetric strengths that matter for positioning. +- **Applying generic rubric anchors without adapting.** The 1–5 anchors must be calibrated to the specific dimension and competitor set. The generic descriptions are a starting point, not a fixed standard. +- **Running before the competitor set is scoped.** Use competitive-platform-analysis first to produce a tiered, pruned set. Scoring an unscoped list wastes effort on irrelevant competitors. + +## Related Skills + +- `competitive-platform-analysis` — the prerequisite; produces the tiered competitor set this skill scores. +- `competitive-report-structure` — the next step; assembles the scored profile cards into a client-deliverable report. diff --git a/skills/brand-discovery/SKILL.md b/skills/brand-discovery/SKILL.md new file mode 100644 index 00000000..c5e59358 --- /dev/null +++ b/skills/brand-discovery/SKILL.md @@ -0,0 +1,134 @@ +--- +name: brand-discovery +description: >- + Use when a brand needs to discover or articulate its identity through + structured multi-session interviews. Covers purpose, positioning, audience, + 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 + +Use this skill to conduct a structured, adaptive brand identity interview. +The goal is a complete `90_SYNTHESIS.md` — a master brandbook the +organization can use to brief designers, writers, and external +collaborators. + +The interview runs across multiple sessions. Capture answers to disk as you +go so that no elicited knowledge is lost when a conversation ends, and so a +later session can resume from where the last one stopped. + +## When to Activate + +- A brand is being created, repositioned, or needs a written identity reference to brief collaborators. +- Multiple sessions are expected — the conversation will span days or weeks. +- Multiple founders or stakeholders need individual interviews before a reconciliation pass. +- The user wants a structured, repeatable method rather than an ad-hoc chat. +- Existing brand documentation is scattered, implicit, or founder-dependent and needs to be made explicit. + +## Session start protocol + +On every activation, perform these steps **before** asking any interview +question: + +1. **Check for prior progress.** Look for an existing set of module files + and a `state.json` checkpoint in the project's brand-identity directory. + If none exists, this is a fresh start — confirm the brand name, + participants, and where to save the brand-identity files, then begin at + the first module. +2. **Read the current module file** if one is in progress, and scan its Raw + section for previously captured answers. +3. **Report to the user** in two or three sentences: which module we are + in, its status, and what remains. Then ask: "Continue here, or switch + module?" + +## Interview discipline + +Apply these rules throughout every module: + +1. **One question at a time.** Never present a list of questions. +2. **After each answer:** short paraphrase → one deepening probe OR close + the thread if the topic is saturated. Never move on silently. +3. **Laddering:** for every "what" answer, follow with "Why does that + matter to you?" until a core value surfaces (typically two to four + iterations). +4. **5 Whys:** for beliefs or positioning claims — push until the root + reason, not the surface declaration, is on the table. +5. **Detect thin answers:** if generic, jargon-heavy, or vague, ask for + one concrete example, a client story, or a number. +6. **Projective techniques** (use once per module to break a plateau): + - "If the brand were a person, how would they walk into a room?" + - Brand obituary: "If the organization closed in five years, what would + customers miss? What would you regret not having said?" + - Competitive contrast: "Name one peer you admire but would never want + to become. What specifically makes them the wrong model?" +7. **Saturation signal:** when two consecutive probes produce no new + information, summarise and close the module. +8. **End of module:** write a structured module file with two sections: + - `## Raw` — verbatim quotes and examples. + - `## Synthesis` — your interpretation, three candidate formulations, + open questions, contradictions between participants. + Then update the `state.json` checkpoint (see State protocol below). + +## Module sequence + +| File | Label | Frameworks used | +|------|-------|-----------------| +| `10_purpose-why.md` | Purpose / Why | Sinek Golden Circle, Lencioni | +| `20_positioning.md` | Positioning | Dunford "Obviously Awesome", Moore template | +| `30_audience-niche.md` | Audience & Niche | Baker "Business of Expertise", ICP | +| `40_personality-archetype.md` | Personality & Archetype | Mark & Pearson 12 archetypes, J. Aaker 5 dims | +| `50_voice-tone.md` | Voice & Tone | Brand voice guidelines | +| `60_narrative-story.md` | Narrative / Story | Neumeier trueline, brand story arc | +| `70_founder-tension.md` | Founder Brands vs Studio Brand | Enns "Win Without Pitching" | +| `90_SYNTHESIS.md` | Master Brandbook | Kapferer prism, Aaker brand system | + +Complete modules in order. Honour a user request to jump modules and note +the skip in `state.json`. + +## State write protocol + +After each module reaches saturation or done status, write two files: + +**Module file** at `modules/{moduleFile}` — full Raw and Synthesis content. + +**`state.json`** — a lightweight checkpoint so a later session can resume. +Update `completedModules`, `inProgressModule`, `nextModule`, `lastUpdated`. +Schema: + +```json +{ + "session": "{brand_name}-brand-{YYYY-MM}", + "outputPath": "{path_to_brand_identity_directory}", + "completedModules": [], + "inProgressModule": "10_purpose-why.md", + "nextModule": "20_positioning.md", + "participants": ["founder-A"], + "lastUpdated": "{ISO-8601}" +} +``` + +After writing, confirm: "Module X saved. State updated. Next: Y." + +## Multi-founder mode + +When more than one founder participates, write each founder's answers to +`founders/{participant}.md` instead of the main module files. After all +founders complete a module, run a reconciliation pass: summarise +convergences and divergences in the module file, flag "productive tensions" +for the group alignment workshop. + +## Anti-Patterns + +- **Starting without reading state first.** Every session must open by checking for existing module files and `state.json`. Skipping this loses all continuity from prior sessions. +- **Asking multiple questions at once.** One question at a time is not optional — lists produce checklist answers, not real insight. +- **Moving to Synthesis before saturation.** If the last two probes produced no new information, the module is done. If they did — it isn't. +- **Skipping multi-founder reconciliation.** When multiple stakeholders are involved, individual interviews must complete before reconciliation. Discussing the brand collectively first introduces anchoring bias. +- **Treating this as a one-shot session.** This skill is designed for multiple sessions. Rushing to `90_SYNTHESIS.md` in one conversation produces shallow output. + +## Related Skills + +- `competitive-platform-analysis` — after brand-discovery establishes the positioning brief, use this to scope and categorise the competitor set. +- `brand-voice` (ECC) — if the brand-discovery voice-and-tone module needs a separate, source-derived writing-style profile. diff --git a/skills/brand-discovery/references/10_purpose-why.md b/skills/brand-discovery/references/10_purpose-why.md new file mode 100644 index 00000000..8788b945 --- /dev/null +++ b/skills/brand-discovery/references/10_purpose-why.md @@ -0,0 +1,42 @@ +# Module 10 — Purpose / Why + +> **Frameworks:** Sinek Golden Circle · Lencioni organisational purpose +> +> **Goal:** Surface the brand's core belief — the Why that exists independently +> of what the organisation sells or how it delivers. Captures the founding +> conviction, not the elevator pitch. + +--- + +## Raw + + + +### Core belief (why does this exist?) + +### The behavioural How (values in action, not poster slogans) + +### What the brand refuses to be or do + +### Founder quotes strong enough to become internal anchors + +--- + +## Synthesis + + + +### Candidate Why formulations (offer 2–3 versions, vary register and specificity) + +1. +2. +3. + +### Open questions / threads to pursue in later modules + +### Contradictions or tensions between participants (multi-founder only) + +### How does this Why constrain or enable positioning? (bridge to Module 20) diff --git a/skills/brand-discovery/references/20_positioning.md b/skills/brand-discovery/references/20_positioning.md new file mode 100644 index 00000000..fe32d241 --- /dev/null +++ b/skills/brand-discovery/references/20_positioning.md @@ -0,0 +1,46 @@ +# Module 20 — Positioning + +> **Frameworks:** Dunford *Obviously Awesome* · Moore crossing-the-chasm template · +> Jobs-to-be-done lens +> +> **Goal:** Define the brand's competitive frame — who it's for, what category it +> competes in, what it does uniquely, and why that matters to the target client. +> Output is the raw material for a positioning statement the brand can act on. + +--- + +## Raw + + + +### Who is the target client? (role, company type, situation) + +### What category does the brand compete in? (how clients currently solve this problem) + +### What makes the brand different from alternatives in that category? + +### What does the target client care about most? (the value they get that others can't match) + +### Competitive alternatives named by the founder (include "do nothing" / "hire in-house") + +### Phrases or metaphors the founder uses naturally to describe what they do + +--- + +## Synthesis + +### Positioning statement draft (Dunford template) +> For **[target client]** who **[situation / JTBD]**, **[brand name]** is the +> **[category]** that **[unique value]**. Unlike **[alternatives]**, we +> **[key differentiator]**. + +### Alternative framings (vary the category or the differentiator) + +1. +2. + +### White-space hypothesis (what no competitor is claiming that this brand could own) + +### Open questions / ambiguities + +### Tensions with Module 10 Why (flag any contradictions for Module 90 reconciliation) diff --git a/skills/brand-discovery/references/30_audience-niche.md b/skills/brand-discovery/references/30_audience-niche.md new file mode 100644 index 00000000..2f18e0c9 --- /dev/null +++ b/skills/brand-discovery/references/30_audience-niche.md @@ -0,0 +1,52 @@ +# Module 30 — Audience & Niche + +> **Frameworks:** Baker *The Business of Expertise* · Ideal Client Profile (ICP) · +> Pain / trigger / desired outcome lens +> +> **Goal:** Make the target audience concrete enough to brief a copywriter or run +> a paid campaign — not a demographic sketch, but a psychographic and situational +> portrait of the best client the brand wants more of. + +--- + +## Raw + + + +### Who is the ideal client? (describe a specific person, not a segment) + +### What situation or trigger brings them to look for help? + +### What have they tried before and why did it fall short? + +### What does success look like to them? (in their words, not the brand's) + +### What do they fear or want to avoid? + +### Worst-fit clients (who the brand doesn't want to work with, and why) + +### Quotes or stories from real past clients that illustrate the ideal fit + +--- + +## Synthesis + +### Ideal Client Profile (ICP) + +| Dimension | Description | +|---|---| +| Role / title | | +| Organisation type & size | | +| Trigger situation | | +| Primary pain | | +| Desired outcome | | +| Budget signal | | +| Red-flag / disqualifier | | + +### Psychographic portrait (2–3 sentences: how this person thinks, what they value, what they distrust) + +### Niche hypothesis (the smallest viable market the brand could credibly own) + +### Audience segments to test (if there is ambiguity about primary vs secondary ICP) + +### Open questions / threads for Module 20 positioning reconciliation diff --git a/skills/brand-discovery/references/40_personality-archetype.md b/skills/brand-discovery/references/40_personality-archetype.md new file mode 100644 index 00000000..5b5ba29e --- /dev/null +++ b/skills/brand-discovery/references/40_personality-archetype.md @@ -0,0 +1,60 @@ +# Module 40 — Personality & Archetype + +> **Frameworks:** Mark & Pearson 12 brand archetypes · J. Aaker 5 brand personality +> dimensions (sincerity / excitement / competence / sophistication / ruggedness) +> +> **Goal:** Establish the brand's character — how it would behave if it were a +> person. Personality governs tone, visual register, and what feels "on brand" +> versus "wrong". A sharp archetype makes a hundred small decisions automatic. + +--- + +## Raw + + + +### "If the brand were a person, how would they walk into a room?" + +### Archetype instinct (which of the 12 resonates immediately, and why?) +> Creator · Caregiver · Ruler · Jester · Regular Person · Lover · Hero · +> Outlaw · Magician · Innocent · Sage · Explorer + +### Three adjectives the founder uses most naturally to describe the brand's character + +### One brand or public figure the founder admires but the brand should NOT become +(and specifically what to avoid) + +### One brand or public figure whose personality register the brand aspires to + +### How should the brand make clients feel? (not think — feel) + +--- + +## Synthesis + +### Primary archetype + shadow + +| | | +|---|---| +| **Primary archetype** | (name + 1-line why) | +| **Secondary / shadow** | (what the primary archetype risks becoming; what keeps it honest) | + +### J. Aaker personality scores (1–5, 5 = strongly applies) + +| Dimension | Score | Evidence | +|---|---|---| +| Sincerity (warm, honest, down-to-earth) | | | +| Excitement (daring, spirited, imaginative) | | | +| Competence (reliable, intelligent, successful) | | | +| Sophistication (upper-class, charming) | | | +| Ruggedness (outdoorsy, tough) | | | + +### Personality in action (3 behavioural guidelines derived from the archetype) + +1. +2. +3. + +### What the brand must never sound or look like (the anti-personality) + +### Open questions / tensions with Module 50 Voice diff --git a/skills/brand-discovery/references/50_voice-tone.md b/skills/brand-discovery/references/50_voice-tone.md new file mode 100644 index 00000000..edc17436 --- /dev/null +++ b/skills/brand-discovery/references/50_voice-tone.md @@ -0,0 +1,61 @@ +# Module 50 — Voice & Tone + +> **Frameworks:** Brand voice spectrum (formal ↔ casual, serious ↔ playful, +> distant ↔ warm, conventional ↔ irreverent) · Content-type tone matrix +> +> **Goal:** Codify the brand's verbal register precisely enough that two different +> writers produce copy that sounds like the same person. Voice is constant; +> tone shifts by context (home page vs. error message vs. proposal cover). + +--- + +## Raw + + + +### Copy the founder admires (from their own brand or others) — include the source + +### Copy the founder dislikes or finds "wrong register" — what specifically is wrong? + +### Words or phrases the brand uses all the time (even informally) + +### Words or phrases the brand actively avoids + +### How should the brand sound on: a sales page? an error message? a proposal? + +### "We always…" / "We never…" statements about how the brand communicates + +--- + +## Synthesis + +### Voice spectrum (mark the brand's position on each axis) + +| Axis | 1 | 2 | 3 | 4 | 5 | Notes | +|---|---|---|---|---|---|---| +| Formal ←→ Casual | | | | | | | +| Serious ←→ Playful | | | | | | | +| Distant ←→ Warm | | | | | | | +| Conventional ←→ Irreverent | | | | | | | +| Minimal ←→ Expressive | | | | | | | + +### Voice statement (one paragraph a writer can internalise) + +### Tone matrix by content type + +| Content type | Tone shift | Example phrase | +|---|---|---| +| Homepage headline | | | +| Case study / evidence | | | +| Proposal / commercial | | | +| Error / apology | | | +| Social / informal | | | + +### The three things to check every draft against + +1. +2. +3. + +### Open questions / tensions with Module 40 Personality diff --git a/skills/brand-discovery/references/60_narrative-story.md b/skills/brand-discovery/references/60_narrative-story.md new file mode 100644 index 00000000..11a8376c --- /dev/null +++ b/skills/brand-discovery/references/60_narrative-story.md @@ -0,0 +1,54 @@ +# Module 60 — Narrative / Story + +> **Frameworks:** Neumeier trueline · Brand story arc (context → conflict → +> resolution → invitation) · Hero's journey (brand as guide, client as hero) +> +> **Goal:** Crystallise the brand's founding story and its narrative arc — the +> conflict it was built to resolve, the transformation it delivers, and the +> invitation it extends to clients. The trueline is the single sentence that +> holds every story the brand tells. + +--- + +## Raw + + + +### The founding story (what happened, when, why this — not the polished version) + +### The conflict or frustration that made the brand necessary + +### What the world looks like when the brand's work succeeds (the transformation) + +### A client story that best illustrates what the brand does and why it matters + +### What would be lost if the brand didn't exist? (brand obituary prompt) + +### The invitation: what does the brand ask clients to do or believe? + +--- + +## Synthesis + +### Trueline draft (Neumeier: "[Brand] is the only [category] that [unique claim].") + +> + +### Alternative truelines (2–3 variations, vary level of abstraction) + +1. +2. +3. + +### Brand story arc + +| Beat | Content | +|---|---| +| **Context** (the world before) | | +| **Conflict** (what's broken / wrong) | | +| **Resolution** (what the brand does about it) | | +| **Invitation** (what the client is asked to do) | | + +### The brand as guide (not hero) — what the client achieves, not the brand + +### Open questions / tensions with Module 20 Positioning and Module 10 Why diff --git a/skills/brand-discovery/references/70_founder-tension.md b/skills/brand-discovery/references/70_founder-tension.md new file mode 100644 index 00000000..5c414e27 --- /dev/null +++ b/skills/brand-discovery/references/70_founder-tension.md @@ -0,0 +1,49 @@ +# Module 70 — Founder Brand vs Organisation Brand + +> **Frameworks:** Enns *Win Without Pitching* · Personal brand vs institutional +> brand spectrum +> +> **Goal:** Map the relationship between the founder's personal reputation and the +> organisation's brand. Clarify how much equity each carries, what the healthy +> boundary is, and how to sequence personal vs organisation brand investment. +> Unresolved founder-brand tension is a common scaling bottleneck. + +--- + +## Raw + + + +### Is the founder personally known in the market? How? + +### Do clients buy the founder or the organisation? (ask for evidence, not instinct) + +### What happens to the brand if the founder steps back or is unavailable? + +### What does the founder want for their personal brand in 3–5 years? + +### What does the organisation's brand need to be able to do independently? + +### Where has the founder-brand been an asset? Where has it been a constraint? + +--- + +## Synthesis + +### Current state: where on the spectrum? + +``` +[Founder IS the brand] ←————————→ [Organisation brand stands alone] + 1 2 3 4 5 +``` +Current position: ___ Target position (3-year): ___ + +### What the founder brand should own (and keeps owning) + +### What the organisation brand needs to own (independently of the founder) + +### Transition plan sketch (if moving from founder-centric toward institutional) + +### Risk if nothing changes + +### Open questions / threads for Module 90 Synthesis diff --git a/skills/brand-discovery/references/90_SYNTHESIS.md b/skills/brand-discovery/references/90_SYNTHESIS.md new file mode 100644 index 00000000..1bce2f12 --- /dev/null +++ b/skills/brand-discovery/references/90_SYNTHESIS.md @@ -0,0 +1,105 @@ +# Module 90 — Master Brandbook (Synthesis) + +> **Frameworks:** Kapferer Brand Identity Prism · Aaker brand system (identity / +> personality / associations / equity) +> +> **Goal:** Reconcile all seven preceding modules into a single, actionable +> brandbook. This document is the source of truth the brand uses to brief +> designers, writers, and external collaborators. It resolves tensions between +> modules, commits to specific formulations, and translates them into practical +> guidelines. + +--- + +## 1. The Why (from Module 10) + +> **Core belief:** + +> **Behavioural How (values in action):** + +> **What we refuse to be:** + +--- + +## 2. Positioning (from Module 20) + +> **Positioning statement:** +> For **[target client]** who **[situation]**, **[brand name]** is the +> **[category]** that **[unique value]**. Unlike **[alternatives]**, we +> **[key differentiator]**. + +> **White-space the brand owns:** + +--- + +## 3. Audience (from Module 30) + +> **Ideal Client Profile (one-paragraph portrait):** + +> **Niche the brand is building toward:** + +> **Red-flag / disqualifier:** + +--- + +## 4. Kapferer Brand Identity Prism + +| Facet | Content | +|---|---| +| **Physique** (visible, tangible brand attributes) | | +| **Personality** (character if the brand were a person) | | +| **Culture** (values and principles behind the brand) | | +| **Relationship** (how the brand relates to clients) | | +| **Reflection** (how clients see themselves using this brand) | | +| **Self-image** (how clients feel inside when using this brand) | | + +--- + +## 5. Voice & Tone summary (from Module 50) + +> **Voice statement (one paragraph):** + +> **The three checks every draft must pass:** +> 1. +> 2. +> 3. + +--- + +## 6. Narrative assets (from Module 60) + +> **Trueline:** + +> **Brand story arc (one paragraph, usable as an About page starting point):** + +--- + +## 7. Founder / organisation brand boundary (from Module 70) + +> **What the founder brand owns:** + +> **What the organisation brand owns:** + +--- + +## 8. Tensions resolved (record any module-to-module conflicts and how they were settled) + +| Tension | Module A | Module B | Resolution | +|---|---|---|---| +| | | | | + +--- + +## 9. Open questions deferred to next session + + + +--- + +## 10. Practical next steps + + + +1. +2. +3. diff --git a/skills/competitive-platform-analysis/SKILL.md b/skills/competitive-platform-analysis/SKILL.md new file mode 100644 index 00000000..97633807 --- /dev/null +++ b/skills/competitive-platform-analysis/SKILL.md @@ -0,0 +1,181 @@ +--- +name: competitive-platform-analysis +description: >- + Use when scoping a competitive landscape — identifying, categorising, and + score-filtering a competitor set before any benchmarking begins. Decides who + counts as a competitor, which tier they belong to, and which sources to mine. + First step in the three-skill competitive pipeline; precedes + benchmark-methodology. +origin: community +--- + +# Competitive Platform Analysis + +Use this skill to decide **who to benchmark** and **where to find them** before +any scoring begins. A competitive analysis is only as good as its frame: the +wrong set makes the client look either unbeatable or doomed. The goal is a +defensible, decision-relevant set — not an exhaustive census. + +## When to Activate + +- About to start a competitive benchmarking project and need to define the competitor set first. +- Unsure which companies belong in Direct / Adjacent / Aspirational tiers. +- Need a defensible, pruned scope for a market landscape report. +- Has a positioning brief and wants to identify who contests that position. +- First step before running benchmark-methodology. + +## Client positioning brief (establish first) + +Before scoping the set, establish the client's positioning brief. If you don't +already have it, run a short brand-discovery interview to elicit it — do **not** +invent one and do **not** scope the set blind. The brief supplies: + +- **Identity / aesthetic register** — what kind of studio or company this is and + how it presents itself. +- **Offer** — what services or products it delivers. +- **Target clients** — who it sells to. +- **Differentiator** — the moat or positioning argument the client believes in. +- **Scoping consequence** — the implication for how to weight competitors (e.g., + prioritize by distinctiveness vs. capability overlap vs. price). +- **Strategic tension** — the paired axes that define the client's white-space + (e.g., memorability × hireability). + +**Do not proceed without the positioning brief.** A competitor list scoped +without the client's lens is noise, not intelligence. The scoping consequence in +particular determines which competitors are *strong* rivals (those that contest +the client's moat) vs. merely overlapping on service menu. + +## Selection criteria + +For each candidate, capture these axes — they decide both inclusion and tier: + +- **Size / model** — solo, micro-studio (2–8), boutique (sub-30), mid-size + agency. Match the client's own band; same-band studios are the realistic + head-to-head set. +- **Niche / specialization** — how closely the candidate's focus overlaps with + the client's offer. Tighter overlap = more direct. +- **Geography / market** — EU vs US vs global-remote; language; time-zone reach. + Note whether they win the same clients the client targets. +- **Pricing & engagement model** — productized sprints, retainer, project, + day-rate; transparent vs "contact us". Signals positioning maturity. +- **Portfolio style** — generic vs. opinionated/editorial vs. contrarian. Closer + to the client's aesthetic register = more they contest the client's + distinctiveness. +- **Technical depth / craft maturity** — relevant if the client's credibility + story includes public process work, open tooling, or documented systems. +- **Brand strength** — does the studio have an ownable verbal/visual identity, or + is it interchangeable? Weight this per the client's scoping consequence. + +## Player taxonomy — axes to populate across + +Don't sort competitors into niche-specific buckets; sort them along a few +generic axes so the landscape isn't skewed toward one archetype. These axes +apply to any creative-service market (design, motion, copywriting, branding, +content, film, etc.). Aim for breadth across each axis first, then prune to the +most instructive. + +1. **Positioning stance** — *brand-led / editorial* (competes on identity, + voice, POV) vs *capability-led* (competes on craft, throughput, outcomes). + Populate both poles; the client's closest mirror sits at its own end. +2. **Specialization** — *specialist* (one tight discipline or vertical) vs + *generalist* (broad service menu). Tighter overlap with the client's focus = + more direct. +3. **Size / model** — *solo / micro* vs *boutique* vs *mid-size* vs + *enterprise-scale*. Same-band players are the realistic head-to-head; larger + bands are the aspirational/commercial-maturity reference. +4. **Engagement format** — *productized* (named sprints, audits, fixed packages) + vs *bespoke* (custom project / retainer). Signals positioning maturity. +5. **Distinctiveness posture** — *conventional / safe* vs *contrarian / + manifesto-driven*. The opinionated end is key for distinctiveness + benchmarking in any niche. +6. **Evidence / credibility model** — *outcome-led* (metrics, named clients, + case depth) vs *aesthetic-led* (portfolio, awards). Tells you how each player + earns trust. +7. **Brand strength of the operator** — *interchangeable* vs *cult / ownable + identity* (including senior independents who prove the "memorable solo brand" + model). +8. **Market / reach** — *local / regional* vs *global-remote*; note whether they + win the same clients the client targets. + +Plot each candidate on the relevant axes; a competitor is *direct* when it sits +near the client on positioning, specialization, size, and market at once. + +## Competitive tiers (how the set resolves) + +Group the final set into three tiers — this structure carries through to the +report: + +- **Direct** — same band, overlapping offer, same client targets. The realistic + head-to-head. +- **Adjacent** — partial overlap (one capability, or a different client size) + that pressures at the edges. +- **Aspirational** — players the client is not competing with today but whose + brand or commercial maturity sets the bar to aim at. +- *(Watch also for substitutes:* no-code/AI tools, in-house teams, generalist + freelancers — note as a threat vector, not a profiled competitor unless + materially relevant.)* + +## Data sources (where to look) + +Match the source to the dimension you need. The platform *types* below are +generic; substitute the ones native to the client's niche (e.g. Dribbble/Behance +for design, showreel/Vimeo for motion, writing samples/published work for copy): + +- **Portfolio / craft platforms** — craft quality, range, aesthetic register + (e.g. Dribbble, Behance, Vimeo, or the niche's equivalent showcase). +- **Awards / curated showcases** — craft ambition and editorial recognition; + over-indexes on flashy, so cross-check commercial credibility (e.g. Awwwards, + industry award lists). +- **Competitor's own site** — primary source for positioning, voice, offer + packaging, pricing posture, named clients, manifesto/POV. +- **LinkedIn** — team size/model, founder narrative, post cadence, client logos, + geography. +- **Review directories** — reviews, named clients, project sizes, engagement + models; strongest signal for commercial credibility and enterprise-readiness + (e.g. Clutch.co or the niche's equivalent). +- **Open / public work** — process repos, published samples, open creative + output: depth and craft-transparency evidence. +- **Conference talks / podcasts / newsletters** — thought-leadership depth and + POV ownership. + +Always **verify claims across at least two sources** before treating a competitor +attribute as fact (self-reported site copy ≠ verified outcome). Carry an +adversarial-verification discipline into every profile. + +## Scoring matrix template (selection stage) + +A lightweight pre-filter to decide who graduates into full benchmarking. Score +1–5; keep candidates that score high on **either** distinctiveness **or** +credibility — the client's strategic tension means both poles are instructive. + +| Candidate | Positioning stance | Specialization | Size band | Tier | Offer overlap (1–5) | Distinctiveness (1–5) | Commercial credibility (1–5) | Craft proximity (1–5) | Include? | +|-----------|--------------------|----------------|-----------|------|---------------------|------------------------|------------------------------|------------------------|----------| + +Rules of thumb (apply per the client's scoping consequence in the positioning brief): + +- High distinctiveness **and** high credibility → must-profile (proves the + client's target tension is achievable). +- High distinctiveness, low credibility → cautionary case (memorable but + un-hireable — a potential failure mode to learn from). +- High credibility, low distinctiveness → "competent but forgettable" mass the + client defines itself against. +- Low on both → drop unless needed for landscape breadth. + +## Output of this stage + +A scoped, tiered competitor set (typically 10–18 candidates → 8–12 profiled), +each tagged with its axis positions, tier, and source links, ready to hand to +`benchmark-methodology`. + +## Anti-Patterns + +- **Scoping without a positioning brief.** A competitor list built without the client's lens is noise. The brief determines what counts as a real rival. +- **Listing every similar company.** The goal is a defensible 10–18 candidate set, not a census. Breadth without pruning makes benchmarking unmanageable. +- **Blurring the Direct/Adjacent/Aspirational tiers.** These tiers serve different strategic purposes. Mixing them produces a flat list that can't drive decisions. +- **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. + +## Related Skills + +- `brand-discovery` — use first to establish the positioning brief and strategic tension that scopes the competitor set. +- `benchmark-methodology` — the next step; takes the tiered set and scores each competitor across nine dimensions. diff --git a/skills/competitive-report-structure/SKILL.md b/skills/competitive-report-structure/SKILL.md new file mode 100644 index 00000000..cc81a078 --- /dev/null +++ b/skills/competitive-report-structure/SKILL.md @@ -0,0 +1,160 @@ +--- +name: competitive-report-structure +description: >- + Use after benchmark-methodology has produced scored competitor profile cards. + Assembles findings into a decision-grade report: landscape map, competitor + profiles, benchmarking matrix, white-space analysis, strategic recommendations, + and team alignment trigger questions. Final step in the three-skill competitive + pipeline. +origin: community +--- + +# Competitive Report Structure + +Use this skill to assemble scored competitor cards into a decision-grade report. +The report must answer three questions for the client: **who do we compete with, +how do we compete, and where is our defensible white-space?** Every section +earns its place by moving toward those answers — cut anything that doesn't. + +## When to Activate + +- All competitor profile cards from benchmark-methodology are complete and ready to assemble. +- Need to present competitive findings to a founder, leadership team, or board. +- The report must drive decisions (who to compete with, how, where the moat is) — not just document the landscape. +- Preparing a client deliverable that must be auditable and defensible. + +## Client positioning brief (establish first) + +Before assembling the report, establish the client's positioning brief. It +supplies: + +- **Strategic tension** — the paired axes (e.g., memorability × hireability) + that define the client's target white-space. All maps and synthesis resolve + back to this tension. +- **Brand balance** — the intended proportional mix of the client's strategic + emphases (e.g., 60% strategy/evidence, 25% distinctiveness, 15% craft). + Every recommendation must be checked against this balance; flag any that + would shift it. +- **Differentiator** — the framing principle for the executive summary and + white-space section. +- **Target quadrant** — where the client intends to sit in the tension map; + confirming whether that quadrant is genuinely open is the report's central + empirical question. + +## Framing principle + +The whole report is organized around the client's strategic tension and +recommendations resolve back to the client's deliberate brand balance. +Recommendations that would break that balance must be flagged against it +explicitly — "this move shifts the balance from X/Y/Z toward A/B/C; confirm +intent." + +## Report sections + +### 1. Executive summary +3–5 takeaways, decision-first. State the most important findings in plain +language: where the client is strong, where it's exposed, who occupies its +target white-space, and the top 2–3 moves. Written so a founder/PM reads only +this and knows what to do. No methodology here. + +### 2. Market landscape & category framing +Define the category and map it. Use a **multi-axis map** — at minimum a 2×2 +(e.g., *brand-led ↔ capability-led* × *boutique ↔ enterprise-scale*), and +ideally the **client's tension plot** from `benchmark-methodology` as the +headline map. Place every profiled competitor and the client. The map should +make the client's intended position visually obvious and show how crowded (or +empty) it is. + +### 3. Competitor tiers +Organize the set into **Direct / Adjacent / Aspirational** (from +`competitive-platform-analysis`). One short paragraph per tier explaining who's +in it and why it matters to the client. This sets reader expectations before +the detail. + +### 4. Benchmarking matrix +The full **competitors × dimensions** table — the quantitative spine. Rows = +competitors (grouped by tier), columns = the nine dimensions. 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** +add a blended total column — report dimensions separately (per the bias +controls). Call out the columns where the client leads and where it trails. + +### 5. Deep dives +3–5 most instructive competitors in narrative form (from their profile cards). +Choose for instruction, not ranking: the best exemplar of the target tension +(high on both poles), the cautionary "one pole only" case, the "competent but +forgettable" archetype the client defines against, plus any direct threat. Each +deep dive: what they do, what the client should learn, what the client should +avoid. + +### 6. White-space & threats +The strategic heart. Two parts: + +- **White-space:** the position the client can own that rivals don't — argued + from the maps and matrix, not asserted. Confirm whether the target quadrant + (from the positioning brief) is genuinely open. +- **Threats:** who/what pressures the client — a rival closing the gap, + substitutes (no-code/AI tools, in-house teams, generalist freelancers), or + category shifts. Be honest about the client's own risks (e.g., a bold identity + reading as un-serious to risk-averse buyers). + +### 7. Strategic recommendations +Concrete, prioritized moves: who the client competes with, how it differentiates, +and where to invest (offer packaging, evidence/case studies, thought leadership, +brand sharpening). **Tie every recommendation back to the brand balance from the +positioning brief** and flag any that would shift it. Sequence by impact × +effort. + +### 8. Sources / methodology appendix +The dimensions, weights, rubrics, the scoped set with tiers, source links per +competitor, and verification notes (asserted vs proven). This is what makes the +report auditable and defensible — carry the adversarial citation discipline +through. + +## How to present data + +- **2×2 / positioning maps** — for landscape and the tension plot. Lead with + these; they carry the argument faster than prose. +- **Heatmap matrix** — for the competitors × dimensions comparison (section 4). +- **Profile cards** — the source unit feeding deep dives (section 5). +- **Quadrant callouts** — name who sits in each quadrant explicitly, especially + the client's target one. +- Keep tables scannable; push raw evidence and links to the appendix. + +## Decision framework (the report must resolve these) + +- **Who do we compete with?** — Name the Direct tier specifically; that's the + real fight. +- **How do we compete?** — State the client's differentiator in one sentence, + grounded in the matrix (which dimensions the client owns). +- **Where are our differentiators defensible?** — Identify the + dimensions/quadrant rivals can't easily copy (the moat), vs. the ones that + are table-stakes. + +## Trigger questions for the team alignment session + +End with questions that force decisions, not admiration of the analysis: + +- Is the target quadrant truly open, or is a rival already moving in? +- Which Direct competitor is the sharpest threat in the next 12 months, and + what's the counter? +- Does the brand balance still hold given the landscape — should any emphasis + shift? +- Which dimension where the client trails is worth closing, and which to + deliberately concede? +- What's the one move that most widens distinctiveness *without* costing + hireability / credibility? + +## Anti-Patterns + +- **Leading with methodology.** The executive summary opens with the most important finding, not an explanation of how the benchmark was run. Methodology belongs in the appendix. +- **Presenting scores without the tension plot.** The 2×2 tension map is the headline artefact. A table of numbers without the map buries the strategic insight. +- **Omitting the decision framework.** The report must resolve the three questions (who to compete with, how, where the moat is). Leaving these unanswered turns the report into a literature review. +- **Starting before all profile cards are complete.** Benchmark-methodology must finish before assembly begins. Partial data produces gaps that undermine the heatmap and white-space analysis. +- **Adding a blended total column to the matrix.** Explicitly excluded — it creates a false composite that obscures the asymmetry the client needs to act on. + +## Related Skills + +- `benchmark-methodology` — the prerequisite; produces the scored competitor profile cards this skill assembles. +- `competitive-platform-analysis` — provides the tier structure (Direct / Adjacent / Aspirational) used in Section 3. +- `brand-discovery` — use to establish the client's positioning brief if it hasn't been defined.