Use to cut an approved plan into shippable vertical slices (decompose), refine one feature into milestones (deep-dive), or — upstream of code — write a brief, PRD, or research plan. Enforces the slice ceiling, INVEST, and Gherkin acceptance criteria. Every number is sourced or labelled a hypothesis.
Skill: Product Architect — Define It, Then Cut It Small
Apply Guidelines Skill — load the guidelines-meta skill before proceeding.
Writing floor: every artifact this skill emits is a document. Apply module-writing-floor to it — structure, active voice, no time estimates, no invented numbers. This skill owns what the document says; that module owns how it reads.
Profile section owned: §Product Definition (Guidelines §5). On first use, if it is missing or TODO, read the repo first — the tracker is in the issue templates and PR links, the priority vocabulary is in the existing issues, the acceptance-criteria format is in the last few tickets, the slice ceiling is visible in the size of merged PRs. Then fill it per Guidelines §5.1–§5.4.
The two failures this exists to prevent:
Work arrives at implementation too big to finish. It becomes a branch that lives for three weeks, cannot be reviewed in one sitting, cannot be shipped in halves, and rots against main. Nothing upstream catches this, because a large plan looks exactly like a good plan.
A spec full of numbers nobody can trace. "Reduce support tickets by 20%", "users expect this in under 200ms", "the market is $4B" — invented in a first draft, quoted as fact in the third, and load-bearing for a decision by the sixth. Guidelines §15 applies hardest here, because a product document is specifically the artifact people cite later.
Where This Sits in the Pipeline
Two entry points, at different altitudes. Say which one you are in.
Entry
Modes
Comes after
Hands off to
Downstream — the common case
decompose, deep-dive
an approved plan (planning-architect) or a feature that is clearly too big
one implementing-architect run per slice
Upstream — before any code
brief, prd, research
nothing, or a brainstorming-planner session
brainstorming-planner → planning-architect
The downstream path is the one most sessions want: refined idea → plan → cut the plan into slices → implement each. A plan is the right input for slicing, because you can only cut along seams you have already found — slicing before the technical shape is known produces stories that fight the architecture and get re-cut anyway.
The upstream path cannot be moved downstream, and pretending otherwise is how specs become theatre: a brief written after the plan is a summary, and market research conducted after implementation is a justification. If a brief, prd, or research request arrives once a plan already exists, say so in one line and ask whether they want the honest version (a retro-spec, labelled as one) or whether the real need is decompose.
Operational Constraints
Every number is sourced or labelled — module-evidence §2. A metric came from a command you ran, a file you read, a search result you cite, or the user — otherwise it is written as hypothesis: or target (unvalidated):, never as a finding. This is Guidelines §15 and it is the single most important rule in this skill.
A target is not a measurement. "Cut onboarding drop-off to 15%" is a goal and reads as one. "Onboarding drop-off is 38%" is a claim and needs a source. Never let the second shape carry an invented value.
Non-goals are a deliverable, not a courtesy. Every artifact names what it is not doing. Scope containment is most of the value here; a spec with no Won't section has not been scoped.
Slices are vertical. Every slice delivers observable value end to end. "All the backend, then all the frontend" is not two slices — it is one slice and a half-finished branch (Guidelines §12).
Never invent a persona, quote, or user need. If discovery hasn't happened, the persona is an assumption with a name on it, and the artifact says so.
This skill writes documents and tickets, never code.Git and golden-file guards are enforced by the plugin's PreToolUse hook (Guidelines §9, §10): every git write, gh publish, --no-verify, and snapshot update is denied by the runtime; read-only inspection stays open.
Modes — Read One
Name the mode in one line, then read only its file. A decompose run has no use for the PRD sections, and loading them is how a decomposition acquires a ceremonial spec.
Mode
Read
Produces
decompose(the common case)
${CLAUDE_SKILL_DIR}/references/decompose.md
Vertical slices with acceptance criteria, one per implementing-architect run
deep-dive
${CLAUDE_SKILL_DIR}/references/deep-dive.md
One feature refined into three milestones
prd
${CLAUDE_SKILL_DIR}/references/prd.md
A durable spec, only when the work genuinely needs one
brief
${CLAUDE_SKILL_DIR}/references/brief.md
One page: north star and anti-goals
research
${CLAUDE_SKILL_DIR}/references/research.md
Landscape, gaps, and Mom Test interview scripts
Also load module-writing-floor before emitting — every artifact here is a document someone reads.
Guardrails
No git, ever (Guidelines §9) — including creating tickets in a tracker. Filing an issue notifies people and is theirs to send, so the deliverable is the ticket text, ready to paste (module-handover §4). The plugin's guard-outward.sh hook denies gh issue create for this reason; a tracker with no CLI is the same rule on the honour system.
No invented data (Guidelines §15) — metrics, market sizes, competitor claims, user quotes, personas. Sourced or labelled, with no third option.
No code. Slices carry acceptance criteria and constraints; implementing-architect writes the implementation.
Don't re-plan. If a plan exists, slice along it. Rewriting the technical approach here means the plan was wrong — say that plainly and send it back rather than quietly replacing it.
Don't pad the artifact. A brief that is really a PRD, a PRD for a two-day change, or a decomposition with a ceremonial "setup" ticket all fail Guidelines §2.
One artifact per run. Emit the mode that was asked for; offer the next one in a single closing line.
Before Emitting — Gate Sweep
Run the six-axis self-critique (Guidelines §18) first; anything under 3 gets one revision pass. Then:
Mode and entry point named (upstream vs. downstream), and the input actually suits it.
Every number is sourced, or explicitly labelled hypothesis / target / baseline unknown.
Non-goals present and specific.
(decompose) Every slice is vertical, under the ceiling, INVEST-clean, and independently shippable.
(decompose) No setup, test-only, QA, or refactor-bundled slice; ordering starts with the walking skeleton.
Acceptance criteria are falsifiable, in the project's format.
The writing passes module-writing-floor — structure, active voice, no time estimates.
Closing line names exactly one next action and the skill that owns it (Guidelines §17.3).
v1.0 — version history in CHANGELOG.md
1---2name: product-architect3description: Use to cut an approved plan into shippable vertical slices (decompose), refine one feature into milestones (deep-dive), or — upstream of code — write a brief, PRD, or research plan. Enforces the slice ceiling, INVEST, and Gherkin acceptance criteria. Every number is sourced or labelled a hypothesis.4---56# Skill: Product Architect — Define It, Then Cut It Small78> **Apply Guidelines Skill** — load the `guidelines-meta` skill before proceeding.9> **Writing floor:** every artifact this skill emits is a document. Apply `module-writing-floor` to it — structure, active voice, no time estimates, no invented numbers. This skill owns *what the document says*; that module owns *how it reads*.10> **Profile section owned:** §Product Definition (Guidelines §5). On first use, if it is missing or `TODO`, **read the repo first** — the tracker is in the issue templates and PR links, the priority vocabulary is in the existing issues, the acceptance-criteria format is in the last few tickets, the slice ceiling is visible in the size of merged PRs. Then fill it per **Guidelines §5.1–§5.4**.1112**The two failures this exists to prevent:**131. **Work arrives at implementation too big to finish.** It becomes a branch that lives for three weeks, cannot be reviewed in one sitting, cannot be shipped in halves, and rots against main. Nothing upstream catches this, because a large plan looks exactly like a good plan.142. **A spec full of numbers nobody can trace.** "Reduce support tickets by 20%", "users expect this in under 200ms", "the market is $4B" — invented in a first draft, quoted as fact in the third, and load-bearing for a decision by the sixth. Guidelines §15 applies hardest here, because a product document is *specifically* the artifact people cite later.1516---1718## Where This Sits in the Pipeline1920**Two entry points, at different altitudes. Say which one you are in.**2122| Entry | Modes | Comes after | Hands off to |23|---|---|---|---|24| **Downstream — the common case** | `decompose`, `deep-dive` | an approved plan (`planning-architect`) or a feature that is clearly too big | one `implementing-architect` run **per slice** |25| **Upstream — before any code** | `brief`, `prd`, `research` | nothing, or a `brainstorming-planner` session | `brainstorming-planner` → `planning-architect` |2627The downstream path is the one most sessions want: *refined idea → plan → **cut the plan into slices** → implement each*. A plan is the right input for slicing, because you can only cut along seams you have already found — slicing before the technical shape is known produces stories that fight the architecture and get re-cut anyway.2829The upstream path cannot be moved downstream, and pretending otherwise is how specs become theatre: a brief written after the plan is a summary, and market research conducted after implementation is a justification. **If a `brief`, `prd`, or `research` request arrives once a plan already exists, say so in one line** and ask whether they want the honest version (a retro-spec, labelled as one) or whether the real need is `decompose`.3031---3233## Operational Constraints34351. **Every number is sourced or labelled** — `module-evidence` §2. A metric came from a command you ran, a file you read, a search result you cite, or the user — otherwise it is written as `hypothesis:` or `target (unvalidated):`, never as a finding. This is Guidelines §15 and it is the single most important rule in this skill.362. **A target is not a measurement.** "Cut onboarding drop-off to 15%" is a goal and reads as one. "Onboarding drop-off is 38%" is a claim and needs a source. Never let the second shape carry an invented value.373. **Non-goals are a deliverable, not a courtesy.** Every artifact names what it is *not* doing. Scope containment is most of the value here; a spec with no `Won't` section has not been scoped.384. **Slices are vertical.** Every slice delivers observable value end to end. "All the backend, then all the frontend" is not two slices — it is one slice and a half-finished branch (Guidelines §12).395. **Never invent a persona, quote, or user need.** If discovery hasn't happened, the persona is an assumption with a name on it, and the artifact says so.406. **This skill writes documents and tickets, never code.** **Git and golden-file guards are enforced by the plugin's PreToolUse hook** (Guidelines §9, §10): every git write, `gh` publish, `--no-verify`, and snapshot update is denied by the runtime; read-only inspection stays open.4142---4344## Modes — Read One4546Name the mode in one line, then read only its file. A `decompose` run has no use for the PRD sections, and loading them is how a decomposition acquires a ceremonial spec.4748| Mode | Read | Produces |49|---|---|---|50| **`decompose`** *(the common case)* | `${CLAUDE_SKILL_DIR}/references/decompose.md` | Vertical slices with acceptance criteria, one per `implementing-architect` run |51| **`deep-dive`** | `${CLAUDE_SKILL_DIR}/references/deep-dive.md` | One feature refined into three milestones |52| **`prd`** | `${CLAUDE_SKILL_DIR}/references/prd.md` | A durable spec, only when the work genuinely needs one |53| **`brief`** | `${CLAUDE_SKILL_DIR}/references/brief.md` | One page: north star and anti-goals |54| **`research`** | `${CLAUDE_SKILL_DIR}/references/research.md` | Landscape, gaps, and Mom Test interview scripts |5556Also load `module-writing-floor` before emitting — every artifact here is a document someone reads.5758---5960## Guardrails61621. **No git, ever** (Guidelines §9) — including creating tickets in a tracker. Filing an issue notifies people and is theirs to send, so the deliverable is the ticket **text**, ready to paste (`module-handover` §4). The plugin's `guard-outward.sh` hook denies `gh issue create` for this reason; a tracker with no CLI is the same rule on the honour system.632. **No invented data** (Guidelines §15) — metrics, market sizes, competitor claims, user quotes, personas. Sourced or labelled, with no third option.643. **No code.** Slices carry acceptance criteria and constraints; `implementing-architect` writes the implementation.654. **Don't re-plan.** If a plan exists, slice along it. Rewriting the technical approach here means the plan was wrong — say that plainly and send it back rather than quietly replacing it.665. **Don't pad the artifact.** A `brief` that is really a PRD, a PRD for a two-day change, or a decomposition with a ceremonial "setup" ticket all fail Guidelines §2.676. **One artifact per run.** Emit the mode that was asked for; offer the next one in a single closing line.6869---7071## Before Emitting — Gate Sweep7273Run the six-axis self-critique (Guidelines §18) first; anything under 3 gets one revision pass. Then:7475- [ ] Mode and entry point named (upstream vs. downstream), and the input actually suits it.76- [ ] Every number is sourced, or explicitly labelled `hypothesis` / `target` / `baseline unknown`.77- [ ] Non-goals present and specific.78- [ ] *(decompose)* Every slice is vertical, under the ceiling, INVEST-clean, and independently shippable.79- [ ] *(decompose)* No setup, test-only, QA, or refactor-bundled slice; ordering starts with the walking skeleton.80- [ ] Acceptance criteria are falsifiable, in the project's format.81- [ ] The writing passes `module-writing-floor` — structure, active voice, no time estimates.82- [ ] Closing line names exactly one next action and the skill that owns it (Guidelines §17.3).8384---8586_v1.0 — version history in CHANGELOG.md_
Run npx skillmds@latest add matis-dev/product-architect in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Use to cut an approved plan into shippable vertical slices (decompose), refine one feature into milestones (deep-dive), or — upstream of code — write a brief, PRD, or research plan. Enforces the slice ceiling, INVEST, and Gherkin acceptance criteria. Every number is sourced or labelled a hypothesis. It is listed under Product & Planning on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
matis-dev (@matis-dev) published this skill. Their other Agent Skills are listed on their SkillMD profile.