.agents/skills/write-a-prd/SKILL.md
Create a PRD through user interview, codebase exploration, and module design, then submit as a GitHub issue after user approval. Use when user wants to write a PRD, create a product requirements document, or plan a new feature. Always present the PRD for user approval before submitting.
npx skillsauth add kagenti/humr write-a-prdInstall 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.
This skill will be invoked when the user wants to create a PRD. You may skip steps if you don't consider them necessary, but you MUST NEVER skip the user approval step before submitting to GitHub.
Ask the user for a long, detailed description of the problem they want to solve and any potential ideas for solutions.
Explore the repo to verify their assertions and understand the current state of the codebase.
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one by one.
Sketch out the major modules you will need to build or modify to complete the implementation. Actively look for opportunities to extract deep modules that can be tested in isolation.
A deep module (as opposed to a shallow module) is one which encapsulates a lot of functionality in a simple, testable interface which rarely changes.
Check with the user that these modules match their expectations. Check with the user which modules they want tests written for.
Once you have complete understanding of the problem and solution, use the template below to write the PRD. Present the full PRD to the user and explicitly ask for their approval before proceeding.
Only after the user has explicitly approved the PRD, submit it as a GitHub issue. NEVER create the GitHub issue without user approval.
The problem that the user is facing, from the user's perpective.
The solution to the problem, from user's perspective.
Implementation decisions should not be overly prescriptive, we want those decisions to be durable.
</prd-template>testing
Upgrade a previously bootstrapped or adopted project when the architecture evolves. Diffs the current architecture rules against the project's last locked review, identifies new or changed rules, and proposes incremental changes. Triggers on phrases like "upgrade my project", "sync with latest architecture", "update to new rules", "upgrade tseng", or "architecture changed, update my project". Also invocable via the /tseng:upgrade slash command.
development
Spec out a feature or change with full knowledge of the opinionated TypeScript architecture and the project's adoption state. Conducts a thorough discovery interview to understand domain concerns, bounded contexts, and application services, then produces a high-level architectural specification — never concrete implementation details. Triggers on phrases like "spec this feature", "design this change", "architect this", "help me spec", "what modules do I need", or "think through this feature". Also invocable via the /tseng:spec slash command.
development
Review an existing TypeScript project against the opinionated architecture rules. Use when the user asks to review, audit, check, or validate their project's architecture. Triggers on phrases like "review my project", "check the architecture", "audit my code structure", "validate my project", or "does my project follow the rules". Also invocable via the /tseng:review slash command.
testing
Use when completing tasks, implementing major features, or before merging to verify work meets requirements