mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-16 08:26:52 +08:00
Merge pull request #2221 from hretheum/feat/add-brand-discovery-competitive-skills
feat(skills): add brand-discovery and competitive benchmarking pipeline. Catalog counts reconciled.
This commit is contained in:
commit
c8395472bf
190
.agents/skills/benchmark-methodology/SKILL.md
Normal file
190
.agents/skills/benchmark-methodology/SKILL.md
Normal file
@ -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:
|
||||||
|
|
||||||
|
```
|
||||||
|
## <Competitor name>
|
||||||
|
- **Profile / Tier:** <positioning stance · specialization · size band> / <Direct | Adjacent | Aspirational>
|
||||||
|
- **One-liner:** <how they position themselves, in their words>
|
||||||
|
- **Model / size / geography:** <solo|micro|boutique> · <region> · <pricing/engagement model>
|
||||||
|
- **Notable clients / evidence:** <named, with proven/asserted tag>
|
||||||
|
|
||||||
|
### 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> — <why>
|
||||||
|
- **[Axis 2 from positioning brief]:** <1–5> — <why>
|
||||||
|
- **Quadrant:** <high/high | high-1/low-2 | low-1/high-2 | low/low>
|
||||||
|
|
||||||
|
### 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.
|
||||||
7
.agents/skills/benchmark-methodology/agents/openai.yaml
Normal file
7
.agents/skills/benchmark-methodology/agents/openai.yaml
Normal file
@ -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
|
||||||
145
.agents/skills/brand-discovery/SKILL.md
Normal file
145
.agents/skills/brand-discovery/SKILL.md
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
---
|
||||||
|
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."
|
||||||
|
|
||||||
|
**Terminal module (90_SYNTHESIS.md):** when writing the final synthesis,
|
||||||
|
set `inProgressModule` to `"90_SYNTHESIS.md"` and `nextModule` to `null`
|
||||||
|
in `state.json`. After writing, set `completedModules` to include
|
||||||
|
`"90_SYNTHESIS.md"`, then set `inProgressModule` to `null` — leaving it
|
||||||
|
populated would cause a future resumption to treat the completed brandbook
|
||||||
|
as still in progress. Confirm: "Brandbook complete. All modules saved."
|
||||||
|
|
||||||
|
## Multi-founder mode
|
||||||
|
|
||||||
|
When more than one founder participates, write each founder's answers to
|
||||||
|
`founders/{participant}.md` instead of the main module files. Validate the
|
||||||
|
`participant` name before writing: accept only alphanumeric characters and
|
||||||
|
hyphens (e.g. `founder-a`, `anna`); reject names containing path separators
|
||||||
|
(`/`, `\`, `..`) or special characters. Validate `moduleFile` against the
|
||||||
|
enumerated module sequence (10 through 90 only). Validate `outputPath` to
|
||||||
|
ensure it is an absolute path within the project directory — reject relative
|
||||||
|
paths and paths that escape via `..` segments. 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.
|
||||||
7
.agents/skills/brand-discovery/agents/openai.yaml
Normal file
7
.agents/skills/brand-discovery/agents/openai.yaml
Normal file
@ -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
|
||||||
42
.agents/skills/brand-discovery/references/10_purpose-why.md
Normal file
42
.agents/skills/brand-discovery/references/10_purpose-why.md
Normal file
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes, stories, and examples captured during the interview.
|
||||||
|
Record exact language — paraphrase belongs in Synthesis, not here.
|
||||||
|
Include speaker attribution if multi-founder session. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
|
|
||||||
|
<!-- Your interpretation of the raw material.
|
||||||
|
Write three sections: formulations, open questions, contradictions. -->
|
||||||
|
|
||||||
|
### 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)
|
||||||
46
.agents/skills/brand-discovery/references/20_positioning.md
Normal file
46
.agents/skills/brand-discovery/references/20_positioning.md
Normal file
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and examples. Record exact language. -->
|
||||||
|
|
||||||
|
### 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)
|
||||||
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and examples. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
@ -0,0 +1,59 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and projective-technique responses. -->
|
||||||
|
|
||||||
|
### "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
|
||||||
61
.agents/skills/brand-discovery/references/50_voice-tone.md
Normal file
61
.agents/skills/brand-discovery/references/50_voice-tone.md
Normal file
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and examples from the interview.
|
||||||
|
Collect actual copy samples the founder likes or hates. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and stories. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
133
.agents/skills/brand-discovery/references/90_SYNTHESIS.md
Normal file
133
.agents/skills/brand-discovery/references/90_SYNTHESIS.md
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Raw
|
||||||
|
|
||||||
|
<!-- Module 90 consolidates outputs from Modules 10–70; minimal new raw input is
|
||||||
|
collected here. Capture any final founder statements or corrections made
|
||||||
|
during the synthesis pass below. -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Synthesis
|
||||||
|
|
||||||
|
### 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) | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 4b. Aaker Brand System (from Module 40)
|
||||||
|
|
||||||
|
> **Primary archetype** (Mark & Pearson):
|
||||||
|
>
|
||||||
|
> **Secondary archetype** (if present):
|
||||||
|
>
|
||||||
|
> **Aaker brand identity** — four dimensions:
|
||||||
|
> - *Brand as product:*
|
||||||
|
> - *Brand as organisation:*
|
||||||
|
> - *Brand as person (personality):*
|
||||||
|
> - *Brand as symbol:*
|
||||||
|
>
|
||||||
|
> **Brand associations** (3–5 key associations the brand should own):
|
||||||
|
>
|
||||||
|
> **Brand equity signals** (what clients would lose if this brand disappeared):
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 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
|
||||||
|
|
||||||
|
<!-- Anything that couldn't be resolved with the current data. -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 10. Practical next steps
|
||||||
|
|
||||||
|
<!-- 3–5 concrete actions the brand can take based on this brandbook. -->
|
||||||
|
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
214
.agents/skills/competitive-platform-analysis/SKILL.md
Normal file
214
.agents/skills/competitive-platform-analysis/SKILL.md
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
---
|
||||||
|
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.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
**Scenario:** A boutique brand-identity studio (2-person, EU-remote, productized
|
||||||
|
sprints, contrarian/manifesto-driven aesthetic) wants to scope its competitive
|
||||||
|
set before benchmarking. The strategic tension from the positioning brief is
|
||||||
|
*memorability × hireability*.
|
||||||
|
|
||||||
|
**Step 1 — eight-axis population (sample candidates):**
|
||||||
|
|
||||||
|
| Candidate | Positioning stance | Specialization | Size band | Engagement | Distinctiveness | Evidence model | Brand strength | Market |
|
||||||
|
|---|---|---|---|---|---|---|---|---|
|
||||||
|
| Studio A | brand-led / editorial | identity only | micro | productized | contrarian | aesthetic-led | cult | global-remote |
|
||||||
|
| Studio B | capability-led | broad DS+motion | boutique | bespoke | conventional | outcome-led | interchangeable | US |
|
||||||
|
| Agency C | capability-led | brand+digital | mid-size | retainer | conventional | outcome-led | interchangeable | EU |
|
||||||
|
| Freelancer D | brand-led | brand voice only | solo | day-rate | editorial | aesthetic-led | ownable | global |
|
||||||
|
| Studio E | brand-led | brand strategy | micro | productized | manifesto-driven | outcome-led | cult | EU-remote |
|
||||||
|
|
||||||
|
**Step 2 — pre-filter scoring (client scoping consequence: weight distinctiveness
|
||||||
|
because the client's moat is POV-first, not capability breadth):**
|
||||||
|
|
||||||
|
| Candidate | Offer overlap (1–5) | Distinctiveness (1–5) | Commercial credibility (1–5) | Craft proximity (1–5) | Tier | Include? |
|
||||||
|
|---|---|---|---|---|---|---|
|
||||||
|
| Studio A | 5 | 5 | 3 | 5 | Direct | ✓ must-profile |
|
||||||
|
| Studio B | 3 | 2 | 5 | 3 | Adjacent | ✓ credibility anchor |
|
||||||
|
| Agency C | 2 | 1 | 5 | 2 | Aspirational | ✓ scale reference |
|
||||||
|
| Freelancer D | 4 | 4 | 2 | 4 | Direct | ✓ cautionary case |
|
||||||
|
| Studio E | 5 | 5 | 4 | 4 | Direct | ✓ must-profile |
|
||||||
|
|
||||||
|
**Step 3 — output handed to `benchmark-methodology`:**
|
||||||
|
Five candidates (3 Direct, 1 Adjacent, 1 Aspirational), each tagged with
|
||||||
|
axis positions, tier, and source links. Studio A and Studio E are the
|
||||||
|
sharpest head-to-head rivals; Freelancer D is the "memorable but
|
||||||
|
un-hireable" cautionary case to learn from.
|
||||||
|
|
||||||
|
## Related Skills
|
||||||
|
|
||||||
|
- `brand-discovery` — use first to establish the positioning brief and strategic tension that scopes the competitor set.
|
||||||
|
- `benchmark-methodology` — the next step; takes the tiered set and scores each competitor across nine dimensions.
|
||||||
@ -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
|
||||||
162
.agents/skills/competitive-report-structure/SKILL.md
Normal file
162
.agents/skills/competitive-report-structure/SKILL.md
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
---
|
||||||
|
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 benchmark dimensions (note:
|
||||||
|
dimension 9 — strategic tension — has two poles (e.g., Memorability and
|
||||||
|
Hireability for a brand-studio client; substitute the client's own paired axes);
|
||||||
|
represent them as two separate sub-columns rather than averaging them). Include
|
||||||
|
the client's own honest self-assessment as a row for contrast. Use a **heatmap**
|
||||||
|
(color or symbol scale) so strength/weakness patterns are scannable. Do **not**
|
||||||
|
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.
|
||||||
@ -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
|
||||||
@ -11,7 +11,7 @@
|
|||||||
{
|
{
|
||||||
"name": "ecc",
|
"name": "ecc",
|
||||||
"source": "./",
|
"source": "./",
|
||||||
"description": "Harness-native ECC operator layer - 66 agents, 264 skills, 84 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses",
|
"description": "Harness-native ECC operator layer - 66 agents, 268 skills, 84 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses",
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Affaan Mustafa",
|
"name": "Affaan Mustafa",
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "ecc",
|
"name": "ecc",
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"description": "Harness-native ECC plugin for engineering teams - 66 agents, 264 skills, 84 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses",
|
"description": "Harness-native ECC plugin for engineering teams - 66 agents, 268 skills, 84 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Affaan Mustafa",
|
"name": "Affaan Mustafa",
|
||||||
"url": "https://x.com/affaanmustafa"
|
"url": "https://x.com/affaanmustafa"
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# Everything Claude Code (ECC) — Agent Instructions
|
# Everything Claude Code (ECC) — Agent Instructions
|
||||||
|
|
||||||
This is a **production-ready AI coding plugin** providing 66 specialized agents, 264 skills, 84 commands, and automated hook workflows for software development.
|
This is a **production-ready AI coding plugin** providing 66 specialized agents, 268 skills, 84 commands, and automated hook workflows for software development.
|
||||||
|
|
||||||
**Version:** 2.0.0
|
**Version:** 2.0.0
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat
|
|||||||
|
|
||||||
```
|
```
|
||||||
agents/ — 66 specialized subagents
|
agents/ — 66 specialized subagents
|
||||||
skills/ — 264 workflow skills and domain knowledge
|
skills/ — 268 workflow skills and domain knowledge
|
||||||
commands/ — 84 slash commands
|
commands/ — 84 slash commands
|
||||||
hooks/ — Trigger-based automations
|
hooks/ — Trigger-based automations
|
||||||
rules/ — Always-follow guidelines (common + per-language)
|
rules/ — Always-follow guidelines (common + per-language)
|
||||||
|
|||||||
@ -157,7 +157,7 @@ Stable graduation of the 2.0 line: 261 skills, the control-pane substrate (sessi
|
|||||||
### v2.0.0-rc.1 — Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026)
|
### 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.
|
- **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: 66 agents, 264 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: 66 agents, 268 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.
|
- **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.
|
- **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.
|
- **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.
|
||||||
@ -428,7 +428,7 @@ If you stacked methods, clean up in this order:
|
|||||||
/plugin list ecc@ecc
|
/plugin list ecc@ecc
|
||||||
```
|
```
|
||||||
|
|
||||||
**That's it!** You now have access to 66 agents, 264 skills, and 84 legacy command shims.
|
**That's it!** You now have access to 66 agents, 268 skills, and 84 legacy command shims.
|
||||||
|
|
||||||
### Dashboard GUI
|
### Dashboard GUI
|
||||||
|
|
||||||
@ -1517,7 +1517,7 @@ The configuration is automatically detected from `.opencode/opencode.json`.
|
|||||||
|---------|---------------------|----------|--------|
|
|---------|---------------------|----------|--------|
|
||||||
| Agents | PASS: 66 agents | PASS: 12 agents | **Claude Code leads** |
|
| Agents | PASS: 66 agents | PASS: 12 agents | **Claude Code leads** |
|
||||||
| Commands | PASS: 84 commands | PASS: 35 commands | **Claude Code leads** |
|
| Commands | PASS: 84 commands | PASS: 35 commands | **Claude Code leads** |
|
||||||
| Skills | PASS: 264 skills | PASS: 37 skills | **Claude Code leads** |
|
| Skills | PASS: 268 skills | PASS: 37 skills | **Claude Code leads** |
|
||||||
| Hooks | PASS: 8 event types | PASS: 11 events | **OpenCode has more!** |
|
| Hooks | PASS: 8 event types | PASS: 11 events | **OpenCode has more!** |
|
||||||
| Rules | PASS: 29 rules | PASS: 13 instructions | **Claude Code leads** |
|
| Rules | PASS: 29 rules | PASS: 13 instructions | **Claude Code leads** |
|
||||||
| MCP Servers | PASS: 14 servers | PASS: Full | **Full parity** |
|
| MCP Servers | PASS: 14 servers | PASS: Full | **Full parity** |
|
||||||
@ -1678,7 +1678,7 @@ ECC is the **first plugin to maximize every major AI coding tool**. Here's how e
|
|||||||
|---------|-----------------------|------------|-----------|----------|----------------|
|
|---------|-----------------------|------------|-----------|----------|----------------|
|
||||||
| **Agents** | 66 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 | N/A |
|
| **Agents** | 66 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 | N/A |
|
||||||
| **Commands** | 84 | Shared | Instruction-based | 35 | 5 prompts |
|
| **Commands** | 84 | Shared | Instruction-based | 35 | 5 prompts |
|
||||||
| **Skills** | 264 | Shared | 10 (native format) | 37 | Via instructions |
|
| **Skills** | 268 | Shared | 10 (native format) | 37 | Via instructions |
|
||||||
| **Hook Events** | 8 types | 15 types | None yet | 11 types | None |
|
| **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 |
|
| **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 |
|
| **Rules** | 34 (common + lang) | 34 (YAML frontmatter) | Instruction-based | 13 instructions | 1 always-on file |
|
||||||
|
|||||||
@ -164,7 +164,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
|
|||||||
/plugin list ecc@ecc
|
/plugin list ecc@ecc
|
||||||
```
|
```
|
||||||
|
|
||||||
**完成!** 你现在可以使用 66 个代理、264 个技能和 84 个命令。
|
**完成!** 你现在可以使用 66 个代理、268 个技能和 84 个命令。
|
||||||
|
|
||||||
### multi-* 命令需要额外配置
|
### multi-* 命令需要额外配置
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# Everything Claude Code (ECC) — 智能体指令
|
# Everything Claude Code (ECC) — 智能体指令
|
||||||
|
|
||||||
这是一个**生产就绪的 AI 编码插件**,提供 66 个专业代理、264 项技能、84 条命令以及自动化钩子工作流,用于软件开发。
|
这是一个**生产就绪的 AI 编码插件**,提供 66 个专业代理、268 项技能、84 条命令以及自动化钩子工作流,用于软件开发。
|
||||||
|
|
||||||
**版本:** 2.0.0
|
**版本:** 2.0.0
|
||||||
|
|
||||||
@ -147,7 +147,7 @@
|
|||||||
|
|
||||||
```
|
```
|
||||||
agents/ — 66 个专业子代理
|
agents/ — 66 个专业子代理
|
||||||
skills/ — 264 个工作流技能和领域知识
|
skills/ — 268 个工作流技能和领域知识
|
||||||
commands/ — 84 个斜杠命令
|
commands/ — 84 个斜杠命令
|
||||||
hooks/ — 基于触发的自动化
|
hooks/ — 基于触发的自动化
|
||||||
rules/ — 始终遵循的指导方针(通用 + 每种语言)
|
rules/ — 始终遵循的指导方针(通用 + 每种语言)
|
||||||
|
|||||||
@ -228,7 +228,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
|
|||||||
/plugin list ecc@ecc
|
/plugin list ecc@ecc
|
||||||
```
|
```
|
||||||
|
|
||||||
**搞定!** 你现在可以使用 66 个智能体、264 项技能和 84 个命令了。
|
**搞定!** 你现在可以使用 66 个智能体、268 项技能和 84 个命令了。
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
@ -1142,7 +1142,7 @@ opencode
|
|||||||
|---------|---------------|----------|--------|
|
|---------|---------------|----------|--------|
|
||||||
| 智能体 | PASS: 66 个 | PASS: 12 个 | **Claude Code 领先** |
|
| 智能体 | PASS: 66 个 | PASS: 12 个 | **Claude Code 领先** |
|
||||||
| 命令 | PASS: 84 个 | PASS: 35 个 | **Claude Code 领先** |
|
| 命令 | PASS: 84 个 | PASS: 35 个 | **Claude Code 领先** |
|
||||||
| 技能 | PASS: 264 项 | PASS: 37 项 | **Claude Code 领先** |
|
| 技能 | PASS: 268 项 | PASS: 37 项 | **Claude Code 领先** |
|
||||||
| 钩子 | PASS: 8 种事件类型 | PASS: 11 种事件 | **OpenCode 更多!** |
|
| 钩子 | PASS: 8 种事件类型 | PASS: 11 种事件 | **OpenCode 更多!** |
|
||||||
| 规则 | PASS: 29 条 | PASS: 13 条指令 | **Claude Code 领先** |
|
| 规则 | PASS: 29 条 | PASS: 13 条指令 | **Claude Code 领先** |
|
||||||
| MCP 服务器 | PASS: 14 个 | PASS: 完整 | **完全对等** |
|
| MCP 服务器 | PASS: 14 个 | PASS: 完整 | **完全对等** |
|
||||||
@ -1250,7 +1250,7 @@ ECC 是**第一个最大化利用每个主要 AI 编码工具的插件**。以
|
|||||||
|---------|-----------------------|------------|-----------|----------|
|
|---------|-----------------------|------------|-----------|----------|
|
||||||
| **智能体** | 66 | 共享 (AGENTS.md) | 共享 (AGENTS.md) | 12 |
|
| **智能体** | 66 | 共享 (AGENTS.md) | 共享 (AGENTS.md) | 12 |
|
||||||
| **命令** | 84 | 共享 | 基于指令 | 35 |
|
| **命令** | 84 | 共享 | 基于指令 | 35 |
|
||||||
| **技能** | 264 | 共享 | 10 (原生格式) | 37 |
|
| **技能** | 268 | 共享 | 10 (原生格式) | 37 |
|
||||||
| **钩子事件** | 8 种类型 | 15 种类型 | 暂无 | 11 种类型 |
|
| **钩子事件** | 8 种类型 | 15 种类型 | 暂无 | 11 种类型 |
|
||||||
| **钩子脚本** | 20+ 个脚本 | 16 个脚本 (DRY 适配器) | N/A | 插件钩子 |
|
| **钩子脚本** | 20+ 个脚本 | 16 个脚本 (DRY 适配器) | N/A | 插件钩子 |
|
||||||
| **规则** | 34 (通用 + 语言) | 34 (YAML 前页) | 基于指令 | 13 条指令 |
|
| **规则** | 34 (通用 + 语言) | 34 (YAML 前页) | 基于指令 | 13 条指令 |
|
||||||
|
|||||||
3
package-lock.json
generated
3
package-lock.json
generated
@ -517,6 +517,7 @@
|
|||||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"acorn": "bin/acorn"
|
"acorn": "bin/acorn"
|
||||||
},
|
},
|
||||||
@ -988,6 +989,7 @@
|
|||||||
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
|
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.8.0",
|
"@eslint-community/eslint-utils": "^4.8.0",
|
||||||
"@eslint-community/regexpp": "^4.12.1",
|
"@eslint-community/regexpp": "^4.12.1",
|
||||||
@ -2662,6 +2664,7 @@
|
|||||||
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
|
|||||||
190
skills/benchmark-methodology/SKILL.md
Normal file
190
skills/benchmark-methodology/SKILL.md
Normal file
@ -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:
|
||||||
|
|
||||||
|
```
|
||||||
|
## <Competitor name>
|
||||||
|
- **Profile / Tier:** <positioning stance · specialization · size band> / <Direct | Adjacent | Aspirational>
|
||||||
|
- **One-liner:** <how they position themselves, in their words>
|
||||||
|
- **Model / size / geography:** <solo|micro|boutique> · <region> · <pricing/engagement model>
|
||||||
|
- **Notable clients / evidence:** <named, with proven/asserted tag>
|
||||||
|
|
||||||
|
### 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> — <why>
|
||||||
|
- **[Axis 2 from positioning brief]:** <1–5> — <why>
|
||||||
|
- **Quadrant:** <high/high | high-1/low-2 | low-1/high-2 | low/low>
|
||||||
|
|
||||||
|
### 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.
|
||||||
145
skills/brand-discovery/SKILL.md
Normal file
145
skills/brand-discovery/SKILL.md
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
---
|
||||||
|
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."
|
||||||
|
|
||||||
|
**Terminal module (90_SYNTHESIS.md):** when writing the final synthesis,
|
||||||
|
set `inProgressModule` to `"90_SYNTHESIS.md"` and `nextModule` to `null`
|
||||||
|
in `state.json`. After writing, set `completedModules` to include
|
||||||
|
`"90_SYNTHESIS.md"`, then set `inProgressModule` to `null` — leaving it
|
||||||
|
populated would cause a future resumption to treat the completed brandbook
|
||||||
|
as still in progress. Confirm: "Brandbook complete. All modules saved."
|
||||||
|
|
||||||
|
## Multi-founder mode
|
||||||
|
|
||||||
|
When more than one founder participates, write each founder's answers to
|
||||||
|
`founders/{participant}.md` instead of the main module files. Validate the
|
||||||
|
`participant` name before writing: accept only alphanumeric characters and
|
||||||
|
hyphens (e.g. `founder-a`, `anna`); reject names containing path separators
|
||||||
|
(`/`, `\`, `..`) or special characters. Validate `moduleFile` against the
|
||||||
|
enumerated module sequence (10 through 90 only). Validate `outputPath` to
|
||||||
|
ensure it is an absolute path within the project directory — reject relative
|
||||||
|
paths and paths that escape via `..` segments. 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.
|
||||||
42
skills/brand-discovery/references/10_purpose-why.md
Normal file
42
skills/brand-discovery/references/10_purpose-why.md
Normal file
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes, stories, and examples captured during the interview.
|
||||||
|
Record exact language — paraphrase belongs in Synthesis, not here.
|
||||||
|
Include speaker attribution if multi-founder session. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
|
|
||||||
|
<!-- Your interpretation of the raw material.
|
||||||
|
Write three sections: formulations, open questions, contradictions. -->
|
||||||
|
|
||||||
|
### 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)
|
||||||
46
skills/brand-discovery/references/20_positioning.md
Normal file
46
skills/brand-discovery/references/20_positioning.md
Normal file
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and examples. Record exact language. -->
|
||||||
|
|
||||||
|
### 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)
|
||||||
52
skills/brand-discovery/references/30_audience-niche.md
Normal file
52
skills/brand-discovery/references/30_audience-niche.md
Normal file
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and examples. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
@ -0,0 +1,59 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and projective-technique responses. -->
|
||||||
|
|
||||||
|
### "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
|
||||||
61
skills/brand-discovery/references/50_voice-tone.md
Normal file
61
skills/brand-discovery/references/50_voice-tone.md
Normal file
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and examples from the interview.
|
||||||
|
Collect actual copy samples the founder likes or hates. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
54
skills/brand-discovery/references/60_narrative-story.md
Normal file
54
skills/brand-discovery/references/60_narrative-story.md
Normal file
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes and stories. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
49
skills/brand-discovery/references/70_founder-tension.md
Normal file
49
skills/brand-discovery/references/70_founder-tension.md
Normal file
@ -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
|
||||||
|
|
||||||
|
<!-- Verbatim quotes. -->
|
||||||
|
|
||||||
|
### 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
|
||||||
133
skills/brand-discovery/references/90_SYNTHESIS.md
Normal file
133
skills/brand-discovery/references/90_SYNTHESIS.md
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Raw
|
||||||
|
|
||||||
|
<!-- Module 90 consolidates outputs from Modules 10–70; minimal new raw input is
|
||||||
|
collected here. Capture any final founder statements or corrections made
|
||||||
|
during the synthesis pass below. -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Synthesis
|
||||||
|
|
||||||
|
### 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) | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 4b. Aaker Brand System (from Module 40)
|
||||||
|
|
||||||
|
> **Primary archetype** (Mark & Pearson):
|
||||||
|
>
|
||||||
|
> **Secondary archetype** (if present):
|
||||||
|
>
|
||||||
|
> **Aaker brand identity** — four dimensions:
|
||||||
|
> - *Brand as product:*
|
||||||
|
> - *Brand as organisation:*
|
||||||
|
> - *Brand as person (personality):*
|
||||||
|
> - *Brand as symbol:*
|
||||||
|
>
|
||||||
|
> **Brand associations** (3–5 key associations the brand should own):
|
||||||
|
>
|
||||||
|
> **Brand equity signals** (what clients would lose if this brand disappeared):
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 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
|
||||||
|
|
||||||
|
<!-- Anything that couldn't be resolved with the current data. -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 10. Practical next steps
|
||||||
|
|
||||||
|
<!-- 3–5 concrete actions the brand can take based on this brandbook. -->
|
||||||
|
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
214
skills/competitive-platform-analysis/SKILL.md
Normal file
214
skills/competitive-platform-analysis/SKILL.md
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
---
|
||||||
|
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.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
**Scenario:** A boutique brand-identity studio (2-person, EU-remote, productized
|
||||||
|
sprints, contrarian/manifesto-driven aesthetic) wants to scope its competitive
|
||||||
|
set before benchmarking. The strategic tension from the positioning brief is
|
||||||
|
*memorability × hireability*.
|
||||||
|
|
||||||
|
**Step 1 — eight-axis population (sample candidates):**
|
||||||
|
|
||||||
|
| Candidate | Positioning stance | Specialization | Size band | Engagement | Distinctiveness | Evidence model | Brand strength | Market |
|
||||||
|
|---|---|---|---|---|---|---|---|---|
|
||||||
|
| Studio A | brand-led / editorial | identity only | micro | productized | contrarian | aesthetic-led | cult | global-remote |
|
||||||
|
| Studio B | capability-led | broad DS+motion | boutique | bespoke | conventional | outcome-led | interchangeable | US |
|
||||||
|
| Agency C | capability-led | brand+digital | mid-size | retainer | conventional | outcome-led | interchangeable | EU |
|
||||||
|
| Freelancer D | brand-led | brand voice only | solo | day-rate | editorial | aesthetic-led | ownable | global |
|
||||||
|
| Studio E | brand-led | brand strategy | micro | productized | manifesto-driven | outcome-led | cult | EU-remote |
|
||||||
|
|
||||||
|
**Step 2 — pre-filter scoring (client scoping consequence: weight distinctiveness
|
||||||
|
because the client's moat is POV-first, not capability breadth):**
|
||||||
|
|
||||||
|
| Candidate | Offer overlap (1–5) | Distinctiveness (1–5) | Commercial credibility (1–5) | Craft proximity (1–5) | Tier | Include? |
|
||||||
|
|---|---|---|---|---|---|---|
|
||||||
|
| Studio A | 5 | 5 | 3 | 5 | Direct | ✓ must-profile |
|
||||||
|
| Studio B | 3 | 2 | 5 | 3 | Adjacent | ✓ credibility anchor |
|
||||||
|
| Agency C | 2 | 1 | 5 | 2 | Aspirational | ✓ scale reference |
|
||||||
|
| Freelancer D | 4 | 4 | 2 | 4 | Direct | ✓ cautionary case |
|
||||||
|
| Studio E | 5 | 5 | 4 | 4 | Direct | ✓ must-profile |
|
||||||
|
|
||||||
|
**Step 3 — output handed to `benchmark-methodology`:**
|
||||||
|
Five candidates (3 Direct, 1 Adjacent, 1 Aspirational), each tagged with
|
||||||
|
axis positions, tier, and source links. Studio A and Studio E are the
|
||||||
|
sharpest head-to-head rivals; Freelancer D is the "memorable but
|
||||||
|
un-hireable" cautionary case to learn from.
|
||||||
|
|
||||||
|
## Related Skills
|
||||||
|
|
||||||
|
- `brand-discovery` — use first to establish the positioning brief and strategic tension that scopes the competitor set.
|
||||||
|
- `benchmark-methodology` — the next step; takes the tiered set and scores each competitor across nine dimensions.
|
||||||
162
skills/competitive-report-structure/SKILL.md
Normal file
162
skills/competitive-report-structure/SKILL.md
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
---
|
||||||
|
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 benchmark dimensions (note:
|
||||||
|
dimension 9 — strategic tension — has two poles (e.g., Memorability and
|
||||||
|
Hireability for a brand-studio client; substitute the client's own paired axes);
|
||||||
|
represent them as two separate sub-columns rather than averaging them). Include
|
||||||
|
the client's own honest self-assessment as a row for contrast. Use a **heatmap**
|
||||||
|
(color or symbol scale) so strength/weakness patterns are scannable. Do **not**
|
||||||
|
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.
|
||||||
Loading…
x
Reference in New Issue
Block a user