.agents/skills/product-soul/SKILL.md
Write a Product Soul document — the strategic north star that sits above any PRD or feature spec. Captures the product's reason for existing across five lenses: user, business, strategy, product-market fit, and GTM distribution. Load when the user asks to write a product soul, product strategy doc, product north star, product positioning doc, product one-pager, or "why we exist" document. Also triggers on "write the soul of this product", "product strategy document", "what is this product really about", "capture the product vision", or when an agent needs strategic context before making product decisions. The output is docs/product-soul.md — a living document that brainstorming, prd-writing, and inversion can reference for grounding.
npx skillsauth add dvy1987/agent-loom product-soulInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a senior product strategist. You write Product Soul documents that are honest, specific, and immediately useful for decision-making — not marketing copy, not aspirational fluff. Every sentence earns its place by helping an agent or human make a better product decision.
The Product Soul document is the strategic layer above any PRD. It answers: why does this product exist, who genuinely needs it, does the market believe that, and how does it reach them? It is written once (then updated), referenced always. When brainstorming, prd-writing, or inversion need context about what the product is really trying to do, this is what they read.
Not a roadmap. Not a PRD. Not a pitch deck. Those come after.
Signal check (silent): During discovery, if the user cannot articulate the user problem, the business model, or the differentiation after reasonable probing — note this as genuine foundational uncertainty. You may offer a focused thinking exercise (first-principles or socratic) once, briefly, before continuing. If the user wants to proceed with hypotheses, document them as hypotheses and move on.
Look for existing context: docs/specs/, docs/prd/, AGENTS.md, README, any prior brainstorming outputs. Import as foundation. Ask only about what's missing.
Ask one question at a time across the five lenses. Stop each lens when you have enough — do not interview exhaustively. The goal is to capture the honest truth, not the polished pitch.
Read references/discovery-questions.md for the full question bank per lens. Core questions:
Lens 1 — User
Lens 2 — Business
Lens 3 — Strategy
Lens 4 — Product-Market Fit
Lens 5 — GTM Distribution
Before writing, offer: "Shall I run inversion and adversarial hat to pressure-test the strategic assumptions?"
inversion — flips the strategic assumptions to find what could guarantee failureadversarial-hat — systematically critiques the PMF evidence and GTM claims for accuracyApply findings to the PMF and Strategy sections before writing.
Write the complete document in one pass. Use the schema from references/product-soul-schema.md. Apply the quality bar:
Before presenting:
inversion if not already doneSave to: docs/product-soul.md
Append to docs/skill-outputs/SKILL-OUTPUTS.md:
| YYYY-MM-DD HH:MM | product-soul | docs/product-soul.md | Product Soul document |
Tell the user:
"Product Soul saved to
docs/product-soul.md. This document will be used as context by brainstorming, prd-writing, and inversion."
Last Updated field and note which sections are hypotheses vs. confirmed.Writing docs/product-soul.md...
Version: 1.0 | Date: YYYY-MM-DD | Status: Hypothesis (PMF unconfirmed)
Primary user: Indie developer, 1–3 person team, building a SaaS product as a side project or early startup. Technical enough to integrate an API but context-switching constantly — billing is a day lost they don't have. Current behaviour: Hand-writing Stripe webhook handlers, copying from StackOverflow, spending 6–12 hours on something they know is fragile. Their words: "I just want subscriptions to work so I can focus on my actual product."
Model: Usage-based SaaS. Free tier to first transaction, then per-seat or per-revenue-share. Year 1 must-be-true: 500 active integrations generating >$1 in live revenue. Year 3 must-be-true: Self-serve motion covers CAC; expansion revenue from teams upgrading. Biggest risk: Stripe itself builds this natively.
Alternatives: Stripe's own Billing (too complex for 1-person teams), Paddle (takes margin), roll-your-own (what we replace). Moat: Deep integration with indie developer workflows — not enterprise compliance, not white-glove support. Speed to first working subscription is <30 minutes. Stripe will never optimise for this segment. Strategic bet: The indie developer market is large enough and underserved enough that a focused tool outperforms a general one.
Status: Pre-PMF. 40 beta users, 12 active (30% activation). Signal we're watching: Developers who complete first integration — do they return for a second project? Current rate: 4/12 (33%). PMF signal threshold: >60% of activated users integrate a second project within 60 days. Not-PMF signal: If users complete integration once and never return, we are a tutorial, not a product.
First user finds us via: Developer Twitter/X + specific Stripe frustration searches on Google ("stripe webhooks subscription management"). Wedge channel: SEO on high-intent developer queries. 3 posts targeting specific Stripe pain points. Acquisition → Activation → Retention loop: Search → free signup → first integration working (activation) → second project (retention signal) → team invite (expansion).
When brainstorming or prd-writing need strategic context: "Read docs/product-soul.md for product context before proceeding."
When inversion is called from this skill: "Apply inversion to the strategic assumptions in [lens]."
After completing, always report:
Product Soul complete: [product name]
File saved: docs/product-soul.md
Sections written: User · Business · Strategy · PMF · GTM
PMF status: [Confirmed / Pre-PMF hypothesis / Unknown]
Inversion run: [yes / no]
Open hypotheses: N
Logged to: docs/skill-outputs/SKILL-OUTPUTS.md
development
Run a fast, read-only health check across all skills in the library and produce a structured quality report — without modifying anything. Load when the user asks to validate skills, check skill health, audit the library, run a skill quality check, or when improve-skills needs a pre-flight before starting its cycle. Also triggers on "what's wrong with my skills", "check all skills", "skill health report", "are my skills ok", or "pre-flight check". Called automatically by improve-skills before any improvement work begins, and by universal-skill-creator after every new skill is created. Never modifies any file — only reads and reports.
tools
Design, build, validate, and ship production-grade agent skills that work across OpenAI Codex, Ampcode, Factory.ai Droids, Google Gemini, Warp, Bolt.new, Replit, GitHub Copilot, Claude Code, VS Code, Cursor, and any agentskills.io compliant platform. Load when the user asks to create a skill, build a custom skill, write a SKILL.md, package instructions as a reusable agent capability, convert a workflow into a skill, improve or audit an existing SKILL.md, generate a meta-skill, make a cross-platform skill, turn a repeated task into automation, or design agent skills that target multiple AI coding tools simultaneously. Also load for skill stacking, skill scoping, skill discovery, parameterized skills, skill publishing to GitHub or skills.sh, or when the user says skill creator, skill architect, or skill engineer.
tools
Identify the right tool for a process step. Load when a user or skill needs to check tool availability, confirm CLI compatibility, or determine if an MCP server is needed. Triggers on "what tool", "do I need an MCP", "is [tool] available", "which tool handles", "tool lookup", "check tool availability", "find a tool for". Called by process-decomposer and agent-builder when assigning tools to steps.
development
Apply the Red-Green-Refactor cycle to software development. Load when the user asks to write code using TDD, create unit tests, implement a feature with test coverage, refactor code, or ensure software quality through automated testing. Also triggers on "test-driven development", "write tests first", "TDD this feature", "Red-Green-Refactor", "ensure 100% test coverage", or any request to build software with a test-first approach. Supports unit, integration, and end-to-end testing strategies.