.claude/skills/write-trd/SKILL.md
Generates a Technical Requirements Document through structured interviews and codebase analysis.
npx skillsauth add nickolashkraus/dotfiles write-trdInstall 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 writing a TRD. Follow every step in order.
Ask the user once:
Do you have supporting materials? (PRD, meeting notes, Slack threads, design docs, prior art.) Paste them or share file paths. Type "none" to skip.
If materials are provided, read them in full. Extract goals, constraints, decisions already made, named integrations, timeline hints, and open questions. Carry this forward and do not re-ask anything the materials already answer.
Ask all unanswered questions in a single message. Skip any that the supporting materials already answer.
1. Project/feature name?
2. Author(s) and roles?
3. Related PRD link? ("none" if N/A)
4. Linear epic link? ("none" if N/A)
5. Figma link? ("none" if N/A)
6. Review deadline? (YYYY-MM-DD or "TBD")
7. Problem statement: what technical problem are we solving?
(3-5 sentences)
8. Why now? What changed, or what happens if we don't do this?
9. What is in scope? (bullet list of systems/components)
10. What is out of scope? (explicit exclusions)
11. Mobile app changes? (yes/no/unsure)
12. Security or compliance requirements? (yes/no/unsure)
After the interview, explore the codebase. Do not ask the user for information you can infer from code. Extract:
Use this to pre-populate the architecture, data model, API design, and observability sections.
After exploring the code, ask remaining questions in a single message. Skip any you can answer from code or prior context.
13. Proposed high-level approach? ("infer from code" if obvious)
14. Key design decisions or trade-offs to document?
15. Alternatives considered and rejected? ("none" if N/A)
16. New infrastructure needed? (Cloud Functions, queues, new
DBs, etc.)
17. Feature flags planned? (Statsig gate names, or "none")
18. Team composition? (e.g., "2 BE, 1 Web, 1 Mobile")
19. Target sprint start date or rough timeline?
20. Key success metrics?
21. Open questions or unresolved decisions?
Populate the template in TEMPLATE.md top to bottom. Follow these rules:
[TBD: what is needed].TRD-<kebab-feature-name>-<YYYY-MM-DD>.md in the project root
unless the user specifies a different location.Before delivering, confirm:
[TBD: reason].tools
Check the veracity of a claim against notes, documentation, and resources. Takes a string argument or reads from the clipboard.
content-media
Update a Notion page with the Markdown contents of a local file.
content-media
Update a Linear issue with the Markdown contents of a local file.
tools
Check macOS clipboard for typos and formatting issues, fix them, and re-paste to clipboard.