Write Product Spec Skill Security Audit
What the author says it does (original text)
Write a PRODUCT.md spec for a significant user-facing feature in Warp, focused on detailed behavior and validation. Use when the user asks for a product spec, desired behavior doc, or PRD, wants to define feature behavior before implementation, or when the feature is substantial or behaviorally ambiguous enough that a written spec would improve implementation or review.
No obvious risks found in this check
- Files checked
- 1
- Risks found
- 0
Inside this skill
The Skill’s main function is to write a user-behavior-focused PRODUCT.md for a significant feature, while explicitly excluding internal types, algorithms, and other implementation details.
View source
Write a `PRODUCT.md` spec for a significant feature in Warp.## OverviewThe product spec should make the desired behavior unambiguous enough that an agent can implement it correctly and avoid regressions. Describe the feature purely from the user's perspective — what the user sees, does, and experiences, and the invariants that must hold for them. Do not include implementation details (internal types, state layout, module boundaries, data flow, algorithms).It creates or maintains a persistent file at specs/<id>/PRODUCT.md, with the directory ID taken from a Linear ticket, GitHub issue, or a user-provided feature name.
View source
Write specs to `specs/<id>/PRODUCT.md`, where `<id>` is one of:- a Linear ticket number (e.g. `specs/APP-1234/PRODUCT.md`)- a GitHub issue id, prefixed with `gh-` (e.g. `specs/gh-4567/PRODUCT.md`)- a short kebab-case feature name (e.g. `specs/vertical-tabs-hover-sidecar/PRODUCT.md`)`specs/` should contain only id-named directories as direct children — no engineer-named subdirectories.## Keep the spec currentApproved specs may ship in the same PR as the implementation. As implementation evolves, update `PRODUCT.md` in the same PR when user-facing behavior or UX details change. The checked-in spec should describe the feature that actually ships.For features with UI or interaction design, it requires asking whether a Figma mock exists and recording any supplied link in the specification; purely backend features skip this question.
View source
If the feature has any UI or interaction design, ask the user whether a Figma mock exists before drafting the Behavior section, and include the link in the spec when one is provided. A mock is often the most reliable source of truth for visual states, spacing, and edge-case layouts — not asking can cause the Behavior section to guess at intent the designer already settled.- If the user provides a link, include it under a short `## Figma` section (or inline near the top of Behavior) as `Figma: <link>`.- If the user confirms no mock exists, note `Figma: none provided` so the absence is explicit rather than ambiguous.- If the feature is purely backend (data model, API, CLI with no visual surface), skip the question and omit the section.The Skill mentions possible external ticket creation through Linear MCP or gh, but explicitly limits it to cases where the user asks for it and requires clarification when the team, labels, or repository are unclear.
View source
Ticket / issue references are optional. If the user has a Linear ticket or GitHub issue, use its id. If they don't, ask them for a feature name to use as the directory. Only create a new Linear ticket or GitHub issue when the user explicitly asks for one; in that case use the Linear MCP tools or `gh` CLI respectively (and `ask_user_question` if team, labels, or repo are unclear).Files and check records1 files
Coverage and gaps
Content covered in each file
These are the source ranges included in this check, not a guarantee that every issue has been resolved.
SKILL.mdFull text included
This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.
SKILL.mdInstructions
- Lines read
- 165
- File checksum (to compare versions)
- 4e7ef781aad1cd42e3178680f6e9d72de439d66c1b99023e4386103065a5fb19