Research icp
Builds ideal customer profiles and buyer personas from real voice-of-customer evidence — demographics, pain points, jobs-to-be-done, decision psychology, and online habitat for a target market. Use to define who you're talking to before messaging, channel, or positioning work. Foundational: its output feeds 13+ downstream skills. Not for competitive positioning (use prioritize) or campaign planning (use plan-campaign); for brand identity, see create-brand; for market sizing, see research-market.From its SKILL.md
npx -y skills add hungv47/meta-skills --skill research-icpAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
10.1 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it
ICP Research — Orchestrator
Foundational skill for all stacks. Coordinates sub-agents to build audience intelligence from real research, not assumptions. Capability metadata (route triggers, prerequisites, load map, artifact contract) lives in routing.yaml. Why this skill exists, creative-vs-structural framing, 10-gate quality summary: references/playbook.md.
Core question: Who exactly are we talking to and what keeps them up at night?
Critical Gates — load first
Non-negotiable before any agent dispatches:
- No guessed personas — VoC or interview evidence only. Every attribute traces to product context, brief, user input, or VoC quotes. Fabricated personas mislead 13+ downstream skills.
- Don't skip habitat mapping. IMC planning needs specific community names with density and engagement type. "They're on LinkedIn" is not actionable.
- Max 2 personas. More dilutes focus. If 4+ segments surface, force-rank by revenue potential; document cuts in Segment Rationale.
- Stale product context (>30 days) → recommend re-run. If
docs/forsvn/canonical/product/PRODUCT-CONTEXT.mdDateis older than 30 days, warn and recommend re-run. Proceeding → note "stale product context" in artifact header.
The source floor (≥5 independent sources/persona), confidence labels, and the mandatory Sample Bias section are critic-enforced (Gates 8–10 below), not pre-dispatch — see the critic checklist + references/confidence-and-bias.md.
Before Starting
Apply references/_shared/before-starting-check.md. Then:
- Mode resolution (
references/_shared/mode-resolver.md).budget: deep.--fastcollapses to Route A (skips habitat-agent + decision-psychology-agent) IF Warm Start has sufficient context; critic gate collapses to single pass. Cold Start STILL fires under--fastwhen context is missing —--fastdoes NOT authorize hallucinating personas (Critical Gate 1 floor). references/_shared/execution-policy.md— session execution profile (single-vs-multi)- Read
.forsvn/index/manifest.json— find any priordocs/forsvn/canonical/research/ICP.md(re-run signal) and checkdocs/forsvn/canonical/product/PRODUCT-CONTEXT.mdstaleness (Gate 4). - Run Pre-Dispatch per
references/procedures/pre-dispatch.md— auto-scan, Warm/Cold Start, 5-question Cold Start prompt, read order, Write-back map.
Quality Gate — critic checklist (9 of 10 gates)
Gate 7 (Brief Alignment) is critic-agent-only — it needs the originating brief. Full 10-gate rubric in agents/critic-agent.md.
- Every VoC quote includes platform name and traces to a real source (not agent-generated)
- Each persona has a habitat map with specific channels and supporting evidence. Aim for 3+; document why if fewer.
- Each emotional driver traces to at least 2 specific quotes
- Decision psychology names specific cognitive biases and objections (not generic "they need trust")
- At least 15 VoC quotes across categories
- Maximum 2 personas
- Every finding carries
[Confidence: H | M | L | sources: N]perreferences/confidence-and-bias.md. No unresolvedLshipped. - Sample Bias section present and specific to this dataset. Generic disclaimers FAIL.
- Each persona meets the ≥5 independent-sources floor. Below 5 → NEEDS_CONTEXT (or
--hypothesis-modewith logged override).
Artifact Contract
- Paths:
docs/forsvn/canonical/research/ICP.md(canonical audience record,id: icp-research) +docs/forsvn/canonical/product/PRODUCT-CONTEXT.md(canonical foundational record,id: product-context— research-icp IS the producer). - Lifecycle:
canonical— edited in place; on re-run overwrite in place and bump the integerversion:(no.v[N].mdsibling — git history holds priors). - Frontmatter:
skill,version,date(ISO-8601),status,stack: research,review_surface: html,id: icp-research,type: canonical,keywords: [icp, persona, audience, voice-of-customer, pain, habitat]. Seereferences/_shared/artifact-contract-template.mdfor the full schema. - Required body sections (in order — cross-stack contract): Persona 1 (Demographics + Pain Profile + Decision Psychology + Habitat Map) · Persona 2 (if applicable, max 2) · Top 3 Emotional Drivers · Red Flags · Next Step. Full template (60+ lines):
references/format-conventions.md. - Optional sections: Segment Rationale (3+ segments surfaced, 2 cut per Gate 3) · Known Issues (critic FAILed twice and artifact ships with annotations).
- Side effects (mandatory on PASS / done_with_concerns):
- Write
docs/forsvn/canonical/research/ICP.md. - Write or update
docs/forsvn/canonical/product/PRODUCT-CONTEXT.md(8-section schema + Canonical Terminology). - Experience write-back per
procedures/pre-dispatch.mdWrite-back map: Q1 →experience/product.md+ mirror todocs/forsvn/canonical/product/PRODUCT-CONTEXT.mdProduct section; Q2/Q3/Q4 →experience/audience.md. Q5 (Route) is NOT persisted — routing only.
- Write
- Consumed by: plan-campaign · create-brand · write-copy · brief-landing-page · brief-graphic · write-ad · write-outreach · research-shortform · brief-shortform · humanmaxxing · optimize-seo · polish-vn · write-social.
- Cross-stack OUTPUT contract: Artifact Template structure + Habitat Map 5-column schema + Top 3 Emotional Drivers + Next Step block + PRODUCT-CONTEXT.md 8-section schema are load-bearing — schema changes require atomic update of 13 downstream consumers (
anti-patterns.mdrow "Cross-stack contract drift").
Chain Position
Previous: none (or any skill needing audience context — Route C) | Next: plan-campaign, create-brand.
Foundational role: Creates docs/forsvn/canonical/product/PRODUCT-CONTEXT.md consumed by 13+ downstream skills. Run first for significantly better downstream output.
Re-run triggers: audience pivot, new market entry, major product changes, quarterly for active products.
Skill deference: competitive analysis / market sizing → research-market. Campaign planning from personas → plan-campaign. Brand identity using audience data → create-brand. Business-problem diagnosis → diagnose.
Routing + Dispatch
Three routes (A / B / C) — chosen at Pre-Dispatch (Cold Start Q5 or auto-inferred per procedures/pre-dispatch.md § Route Selection). Agent table + route graphs + pattern-catalog map: references/agent-manifest.md. Full 6-step Dispatch Protocol + single-agent fallback + critic FAIL routing: references/procedures/dispatch-mechanics.md.
Anti-Patterns
Read references/anti-patterns.md before output ships — 12 named anti-patterns (7 from original body + 5 cross-cutting: hallucination under --fast, canonical product-context.md mirror skip, Q5 routing-persistence, cross-stack contract drift, write-back skipped/partial). Detection + bad/good examples + verified agent ownership against critic-agent.md Rewrite Routing Table.
Durable Rules (protected)
<!-- SLOW_UPDATE_START --> <!-- No pinned rules yet. Populate via the slow-update workflow (see references/slow-update-fence.md). Each pinned rule must (a) be procedural not instance-specific, (b) be earned from a regression or critic-flagged failure, (c) cite the artifact / decision record that justified pinning. --> <!-- SLOW_UPDATE_END -->Completion Status
- DONE — full ICP synthesized, critic PASS, all 5-7 dimensions populated with quoted evidence.
- DONE_WITH_CONCERNS — critic PASS but Route A used (habitat/decision-psychology omitted), OR VoC quote density thin (flagged in artifact).
- BLOCKED — irreconcilable persona contradictions (e.g., two distinct buyers with no merge path); needs user scope decision.
- NEEDS_CONTEXT —
docs/forsvn/canonical/product/PRODUCT-CONTEXT.mdmissing AND user can't describe product/audience; recommend/discoverfirst.
References
references/playbook.md— why, creative-vs-structural framing, foundational-role inventory, when NOT to usereferences/agent-manifest.md— agent table, 3 routes, pattern-catalog mapreferences/_shared/before-starting-check.md,mode-resolver.md,pre-dispatch-protocol.md,confidence-labeling.mdreferences/procedures/pre-dispatch.md,dispatch-mechanics.mdreferences/format-conventions.md,anti-patterns.md,confidence-and-bias.md- Pattern catalogs:
voice-of-customer.md,customer-interviews.md,habitat-mapping.md,icp-to-imc-handoff.md - Walkthrough:
references/examples/icp-walkthrough.md
What ships with it: 40 files
411.6 KB alongside SKILL.md, 10 of them executable
agents/
- critic-agent.md14.9 KB
- decision-psychology-agent.md10.8 KB
- habitat-agent.md9.3 KB
- pain-analysis-agent.md9.3 KB
- persona-agent.md8.4 KB
- synthesis-agent.md9.8 KB
- _template.md2.4 KB
- voc-collector-agent.md9.3 KB
references/
- agent-manifest.md2.8 KB
- anti-patterns.md14.3 KB
- confidence-and-bias.md10.9 KB
- customer-interviews.md5.3 KB
- examples/icp-walkthrough.md10.5 KB
- format-conventions.md12.1 KB
- habitat-mapping.md3.8 KB
- icp-to-imc-handoff.md2.0 KB
- playbook.md10.5 KB
- procedures/dispatch-mechanics.md10.4 KB
- procedures/pre-dispatch.md10.4 KB
- _shared/artifact-contract-template.md28.8 KB
- _shared/before-starting-check.md9.8 KB
- _shared/confidence-labeling.md6.0 KB
- _shared/execution-policy.md7.0 KB
- _shared/manifest-spec.md29.2 KB
- _shared/meter-instrumentation.md5.0 KB
- _shared/mode-resolver.md11.0 KB
- _shared/pre-dispatch-protocol.md20.2 KB
- _shared/product-marketing-context-schema.md12.3 KB
- voice-of-customer.md13.6 KB
scripts/
- append-loop-result.tsruns7.4 KB
- bootstrap-experience.tsruns3.6 KB
- forsvn-hosted.tsruns4.3 KB
- lib/hosted-api.tsruns8.7 KB
- lib/path-parser.tsruns11.6 KB
- log-critic-override.tsruns6.0 KB
- manifest-sync.tsruns33.1 KB
- scaffold-eval-loop.tsruns9.5 KB
- search-platforms.shruns4.1 KB
- update-quality-dashboard.tsruns9.6 KB
- routing.yaml3.3 KB