Use when the owner wants to run an interactive product design session for a Loupe card, from a card or from a one-line idea, or when a prompt names /loupe:product-design.
Installs into .claude/skills of the current project.
Are you the author of Loupe Product Design?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ubermuda-loupe-product-design)
---
name: product-design
description: "Use when the owner wants to run an interactive product design session for a Loupe card, from a card or from a one-line idea, or when a prompt names /loupe:product-design."
---
# Interactive product design
Run a product design session with the owner, write the product document, link it to the card, and stop. The owner's approval of the document moves the card to Tech design.
This skill is not a stage skill. It loads no `stage-contract.md` and no harness adapter, and it asks the owner questions. Run it in the main session, because AskUserQuestion does not work in a subagent. You can send a subagent to find facts (Q1).
Move the card only in P0. Never move it when you stop, and never move it after P0. This rule overrides the move table of `loupe-board`.
P0 opens an interactive run on the card with `card_run_open`. Close the run with `card_run_close` in P10. When you stop at any other point after P0, call `card_run_close` before you stop.
`references/session-flow.md` holds the levels L1 to L4 and the phases P0 to P10. `references/question-rules.md` holds the question rules Q1 to Q8 and the coverage checklist of P6. `references/claude-design.md` holds the Claude Design rules C1 to C7.
## Procedure
1. Load the `loupe-board` and `loupe-documents` instructions.
2. Read the `Instruction files` section of `.loupe/lifecycle.md` for the writing style and the docs and landing page checks. When the file is missing, write plainly, and ask the owner about docs in P6.
3. Find the Product design slug in the `Board` section of that file. A line names the column that holds a card in product design. With no such line, use `product-design`.
4. Read `references/session-flow.md`, `references/question-rules.md` and `references/claude-design.md`. Follow them for the whole session.
5. With a card, call `card_get`. Read the tags of each linked document with `document_get`, before any move. The product document has the tag `product-design`, or a title that starts `Product design`.
- An approved product document: stop, and tell the owner.
- An unapproved product document: it is the existing document that P1 reads.
- No linked product document: search `document_list` for the title `Product design: <card title>`. Keep only a row whose title is exactly that title. Show each such row to the owner, and ask whether it belongs to this card. When the owner says yes, link the row to the card with `card_update`, and send the existing `documentIds` plus its id. Then apply the two rules above. An approved row does not move the card, so tell the owner to move it by hand. When the owner says no for every row, go on with no existing document.
6. Run P0 to get the card into the Product design column and open the run, as `session-flow.md` says.
7. Run the phases of the level that P2 sets. Ask each question as `question-rules.md` says. Use AskUserQuestion when the answer has clear options, and plain chat when the tool is missing.
8. Read `../loupe-stage-product-design/references/product-document.md` before P10. It is the template, and it lists the sections a Light document keeps.
9. Run P8 to P10 when the questions end. Ask for no confirmation in the terminal, because the document is the readback (P9).
## Where session output goes
Put each item in its section of the product document.
- A technical choice that Q6 parks goes in "For tech design".
- A guess that the owner did not check goes in "Assumptions" (A4).
- Each question and its answer go in "Decisions log" (A5).
- A decision that the owner defers goes in "Open questions" (Q8).
- A deferred decision in "Open questions" gets the worked example of `../loupe-documents/references/design-structure.md` "Decisions", and no "How each option works" list. A question in chat gets no example.
- The whole product document follows the reader rule of `../loupe-documents/references/design-structure.md` "Write for a reader who knows the product".
- The answers of the P7 pre-mortem go in "Risks".
- The P8 scenarios go in "Scenarios".
- The Claude Design canvas link and the label of each pick go in "Decisions log", and the `R` entry they shaped cites both. When a Claude Design session ran, the product document also links the recap of the picks (C6).
## P10: write and link
1. When a Claude Design session ran, add the recap of the picks to its project (C6).
2. With no existing document, call `document_create` with the title `Product design: <card title>`.
3. Use the tag `product-design`, or the spelling `tag_list` already has for it. Without it, an approval moves nothing and shows no error.
4. With an existing document, call `document_revise` on it instead. When the document lacks the tag `product-design`, or has one of the tags `design`, `product`, `tech-design` and `decisions`, call `document_set_tags`. Send its current tags without those four, plus `product-design`. A document with both `product-design` and `tech-design` moves no card on approval. Keep each section with a standing approval unchanged, as `../loupe-stage-product-design/references/review-round.md` "An approved section wins" says. When the document has open review comments, answer them as "Answer every open comment" in that file says.
5. Call `card_get` again. When the card does not link the document yet, call `card_update` with the existing `documentIds` plus the new id. The field replaces the whole set.
6. Call `card_run_close` with the card and the `sessionId` of P0.
7. Never move the card after P0. Give the owner the review URL, and stop. The owner reviews the `R` entries and the scenarios there.