define-customer-profile
Iteratively craft a CUSTOMER.md document that precisely defines your ideal customer profile (ICP). This is the foundational document from which everything else (product, features, brand) derives. Uses parallel research agents and multi-choice workflow with feedback cycles.
What this skill does
**User request**: $ARGUMENTS
# Customer Profile Skill
Create the foundational CUSTOMER.md document through iterative refinement. This document precisely defines WHO your customer is, their problems, behaviors, and what they value. **Everything else in the product derives from this document.**
> **This is the most important document your product will ever have.** Product decisions, feature prioritization, and even brand guidelines all flow from understanding the customer. Get this right first.
## Overview
This skill supports both **creating a new customer doc** and **refining an existing one**. Users come back to adjust their ICP as they learn more about their market or pivot their product.
**Loop**: Check existing → Discover → Research → Draft → Refine → Repeat until complete
This skill guides you through:
0. **Check Existing** - Look for existing CUSTOMER.md; let user choose to refine or start fresh
1. **Discovery** - Clarifying questions about your product, market, and current understanding (keeps asking until confident)
2. **Research Phase** - Launch parallel agents to research ICP data, market, competitors (optional)
3. **Initial Draft** - Generate first CUSTOMER.md based on inputs + research
4. **Refinement & Completion** - Review sections, validate assumptions, update doc, finalize
**Returning users** can skip to Phase 4 to refine specific sections.
### Where the Value Comes From
The discovery questions give you a solid starting point, but **the real magic happens in Phase 2 (Research) and Phase 4 (Refinement)**:
- Research agents dig into real market data, competitor positioning, and ICP characteristics
- You validate whether the ICP resonates with your actual experience
- Each cycle sharpens the doc until it truly captures YOUR ideal customer
**Discovery log**: `/tmp/customer-discovery-{YYYYMMDD-HHMMSS}.md` - external memory updated after each step.
## Workflow
### Initial Setup (create todos immediately)
**Create todo list** - areas to discover, not steps. List expands as user answers reveal new areas.
**Starter todos**:
```
- [ ] Check for existing CUSTOMER.md; done when existing file read or absence confirmed
- [ ] Discovery questions→log; done when user answers captured
- [ ] Research→log (if requested); done when research findings logged
- [ ] (expand: areas as discovery reveals)
- [ ] Generate initial draft; done when draft created
- [ ] Refinement cycles→log; done when user approves direction
- [ ] Refresh: read full discovery log
- [ ] Finalize document; done when CUSTOMER.md written
```
**Create discovery log** at `/tmp/customer-discovery-{YYYYMMDD-HHMMSS}.md`:
```markdown
# Discovery Log: Customer Profile
Started: {timestamp}
## Discovery Answers
(populated incrementally)
## Research Findings
(populated incrementally)
## Decisions Made
(populated incrementally)
## Refinement Notes
(populated incrementally)
```
### Phase 0: Check for Existing Document
**Mark "Check for existing CUSTOMER.md" todo `in_progress`.**
Before starting discovery, check if the user already has a CUSTOMER.md:
1. **Search for existing doc**: Use Glob to search for `**/CUSTOMER.md` in the current directory and common locations
2. **If found**: Read it and ask the user what they want to do
```
header: "Existing Customer Doc Found"
question: "I found an existing CUSTOMER.md. What would you like to do?"
options:
- "Refine it - update specific sections based on new learnings"
- "Start fresh - create a new customer profile from scratch"
- "Review it - just read through what's there"
```
**If "Refine it"**: Ask which sections need updating, then jump to Phase 4 with targeted questions.
**If "Start fresh"**: Proceed to Phase 1 (Discovery) - will overwrite the existing doc.
**If "Review it"**: Read and display the doc, then ask what they want to do next.
3. **If NOT found**: Proceed directly to Phase 1 (Discovery)
**Mark "Check for existing CUSTOMER.md" todo `completed`.**
### Phase 1: Discovery
**Mark "Discovery questions" todo `in_progress`.**
Use AskUserQuestion tool with multi-choice options for EVERY question. **Put the recommended option FIRST** with "(Recommended)" suffix to reduce cognitive load.
**After EACH question**, append to discovery log:
```markdown
### Q{N}: {question topic}
**Answer**: {user's answer}
**Impact**: {what this reveals about ICP}
**New areas**: {any new todos to add}
```
**Recommendation Strategy**: Since there's no prior document, recommendations are based on:
- Most common patterns for solo devs/indie hackers
- Product type (once selected, informs subsequent recommendations)
- Sensible defaults that apply to most cases
**Question 1: Product Stage**
```
header: "Product Stage"
question: "Where is your product in its lifecycle?"
options:
- "Early stage - have some users, finding PMF (Recommended)"
- "Pre-launch - still building, no customers yet"
- "Growth stage - PMF found, scaling acquisition"
- "Mature - established product, optimizing"
```
Recommendation: "Early stage" is most common for solo devs using this tool.
**Question 2: Product Type**
```
header: "Product Type"
question: "What type of product are you building?"
options:
- "B2B SaaS - software for businesses (Recommended)"
- "Developer tool - for engineers/developers"
- "B2C app - consumer application"
- "Marketplace/Platform - connecting buyers and sellers"
- "Content/Media - newsletter, course, community"
- "Physical product - hardware or tangible goods"
```
Recommendation: "B2B SaaS" is most common. Use selected type to inform later recommendations.
**Question 3: Problem Space** (Free text)
```
header: "Problem"
question: "What core problem does your product solve?"
freeText: true
placeholder: "Describe the main pain point (e.g., 'Teams waste hours manually syncing data between tools')"
```
This is essential context that's hard to multiple-choice. Get 1-2 sentences.
**Question 4: Current Customer Knowledge**
```
header: "Current Understanding"
question: "How well do you know your ideal customer today?"
options:
- "Somewhat - have some customers, seeing some patterns (Recommended)"
- "Very well - I've talked to many, have clear patterns"
- "Vaguely - have hypotheses but not validated"
- "Not at all - need to figure this out from scratch"
```
Recommendation: "Somewhat" - most users have some signal but need help structuring it.
**Question 5: Primary Value Proposition**
```
header: "Value Prop"
question: "What's the PRIMARY value you deliver?"
options:
- "Save time - automation, efficiency (Recommended)"
- "Save money - cost reduction, better ROI"
- "Make money - revenue generation, growth"
- "Reduce risk - security, compliance, reliability"
- "Improve quality - better outcomes, fewer errors"
- "Enable capability - do something previously impossible"
- "Provide enjoyment - entertainment, satisfaction"
```
Recommendation: "Save time" is the most common value prop for SaaS products.
**Question 6: Purchase Decision**
Recommendation based on product type:
- B2B SaaS → "Team lead" or "Individual user"
- Developer tool → "Individual user"
- B2C → "Individual user"
- Enterprise → "Multiple stakeholders"
```
header: "Buyer Type"
question: "Who makes the purchase decision?"
options:
- "Individual user - they buy for themselves (Recommended for B2C/dev tools)"
- "Team lead - buys for their team (Recommended for B2B SaaS)"
- "Executive/C-suite - strategic purchase"
- "Procurement/IT - goes through formal process"
- "Multiple stakeholders - committee decision"
- "No purchase - free product, other monetization"
```
**Question 7: Known Customer Characteristics**
```
header: "Customer Traits"
question: "What do you know about your best customers? (Select all that apply)"
options:
- "Pain intensity (desperate vs nice-to-have) (Recommended)"
- "Specific job title or role (Recommended)"
- "Behavioral patterns (power users, specific workflows)"
- "Company size or type"
-Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".