Mmcp.market

brand-discovery skill

by affaan-m·affaan-m/ECC·269k stars·MIT

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).

A100/100content scan

Is the brand-discovery skill safe?

Clean: nothing in its files matched our rules. We read 10 files in the folder on 2026-09-28.

No findings.

Install the brand-discovery skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/affaan-m/ECC.git /tmp/ECC
mkdir -p ~/.claude/skills
cp -r /tmp/ECC/.agents/skills/brand-discovery ~/.claude/skills/brand-discovery
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

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:

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.

  1. Check for prior progress. Look for an existing set of module files

section for previously captured answers.

  1. Read the current module file if one is in progress, and scan its Raw

in, its status, and what remains. Then ask: "Continue here, or switch module?"

  1. Report to the user in two or three sentences: which module we are

Interview discipline

Apply these rules throughout every module:

the thread if the topic is saturated. Never move on silently.

  1. One question at a time. Never present a list of questions.
  2. After each answer: short paraphrase → one deepening probe OR close

matter to you?" until a core value surfaces (typically two to four iterations).

  1. Laddering: for every "what" answer, follow with "Why does that

reason, not the surface declaration, is on the table.

  1. 5 Whys: for beliefs or positioning claims — push until the root

one concrete example, a client story, or a number.

  1. Detect thin answers: if generic, jargon-heavy, or vague, ask for
  1. Projective techniques (use once per module to break a plateau):

customers miss? What would you regret not having said?"

  • "If the brand were a person, how would they walk into a room?"
  • Brand obituary: "If the organization closed in five years, what would

to become. What specifically makes them the wrong model?"

  • Competitive contrast: "Name one peer you admire but would never want

information, summarise and close the module.

  1. Saturation signal: when two consecutive probes produce no new
  1. End of module: write a structured module file with two sections:

open questions, contradictions between participants. Then update the state.json checkpoint (see State protocol below).

  • ## Raw — verbatim quotes and examples.
  • ## Synthesis — your interpretation, three candidate formulations,

Module sequence

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:

{
  "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 (90SYNTHESIS.md): when writing the final synthesis, set inProgressModule to "90SYNTHESIS.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.

More skills from affaan-m/ECC

  • AaccessibilityWCAG 2.2 レベル AA 標準を用いてインクルーシブなデジタルプロダクトを設計・実装・監査します。Web 用のセマンティック ARIA および Web・ネイティブプラットフォーム(iOS/Android)のアクセシビリティトレイトを生成するために使用します。
  • Aagent-architecture-auditエージェントおよび LLM アプリケーション向けのフルスタック診断。12 層のエージェントスタックにおけるラッパーリグレッション、メモリ汚染、ツール規律の失敗、隠れた修復ループ、レンダリング破損を監査します。重要度順の発見事項とコードファーストの修正を生成します。エージェントアプリケーション、自律ループ、または LLM を活用した機能を構築する開発者に必須です。
  • Aagent-evalカスタムタスクでコーディングエージェント(Claude Code、Aider、Codex など)をヘッドツーヘッドで比較し、合格率、コスト、時間、一貫性のメトリクスを測定します
  • Aagent-harness-constructionAI エージェントのアクション空間、ツール定義、観測フォーマットを設計・最適化して完了率を向上させます。
  • Aagent-introspection-debuggingStructured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.
  • Aagent-introspection-debuggingキャプチャ、診断、封じ込め回復、内省レポートを使用した AI エージェント障害のための構造化された自己デバッグワークフロー。
  • Aagent-payment-x402タスクごとのバジェット、支出コントロール、ノンカストディアルウォレットを備えた x402 決済実行を AI エージェントに追加します。agentwallet-sdk を通じて Base をサポートし、OKX Payments / OKX エージェント決済プロトコルを通じて X Layer をサポートします。
  • Aagent-sortBuild an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.
  • Aagent-sort並行リポジトリ対応のレビューパスを使用して、スキル、コマンド、ルール、フック、エクストラを DAILY と LIBRARY のバケットに分類することで、特定のリポジトリ向けのエビデンスに基づいた ECC インストール計画を構築します。プロジェクトが完全なバンドルをロードする代わりに実際に必要なものに ECC をトリミングする必要がある場合に使用します。
  • Aagentic-engineeringOperate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when AI agents perform most implementation work and humans enforce quality and risk controls.
  • Aagentic-engineering評価ファースト実行、分解、コスト対応モデルルーティングを使用してエージェニックエンジニアとして動作します。
  • Aagentic-osClaude Code 上に永続的なマルチエージェントオペレーティングシステムを構築します。カーネルアーキテクチャ、スペシャリストエージェント、スラッシュコマンド、ファイルベースのメモリ、スケジュールされた自動化、外部データベースなしの状態管理をカバーします。

All agent skills → · MCP servers