By njt
Elicit structured requirements interactively via Socratic questioning for new projects or incomplete specs, reverse-engineer them from existing codebases for migrations or audits, and maintain them in requirements.md by creating, updating, resolving functional and non-functional reqs, tracking decisions, constraints, questions, glossaries, and systems docs—editing only documentation.
Interactive requirements elicitation through Socratic questioning. Use when: starting a new project and need to build requirements.md from scratch; user says "I need to build X" or "help me plan X" or "let's figure out what this thing needs to do"; user has a rough idea but hasn't written requirements yet; user has existing documentation (howtos, runbooks, config files, wikis) that contain implicit requirements needing extraction; user wants to flesh out incomplete requirements.md. Triggers: "gather requirements", "what should this do", "let's figure out the requirements", "I need to automate...", "help me plan...", or any new project description without an existing requirements.md. NOT for maintaining requirements during development — use requirements-management for that.
Skill for creating, maintaining, and working with structured project requirements documents. Use when: creating a new project and need to capture requirements; starting a coding session and need to load/understand existing requirements; a requirement needs to be added, changed, or resolved; an open question needs to be raised or answered; a design decision has been made and should be recorded; reviewing requirements for completeness or consistency. Triggers include mentions of "requirements", "requirements.md", "req", or when beginning work on a project that has a requirements.md file.
Extract structured requirements from existing source code through iterative subagent review. Use when: re-implementing an existing system; migrating from one tech stack to another; inheriting a codebase with no documentation; user says "extract requirements from this code" or "what does this system actually do"; user has working software but no spec. NOT for greenfield projects — use gathering-requirements for those. NOT for maintaining requirements during development — use requirements-management for that.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Requirements management toolkit for Claude Code. Three skills, a subagent, and a hook that keep requirements documents accurate across long coding sessions.
LLM coding sessions drift. Over a long session, Claude forgets what the system is supposed to do, conflates implementation details with requirements, re-proposes ideas that were already rejected, and lets requirements rot while the code evolves.
This toolkit makes requirements a durable, structured artifact that survives across sessions and keeps the LLM honest. A lightweight hook checks every user message for requirement changes and nudges Claude to update the docs before writing code.
| Component | Purpose |
|---|---|
skills/gathering-requirements/ | Socratic elicitation — build requirements.md from scratch for a new project |
skills/reverse-engineering-requirements/ | Extract requirements from existing source code via iterative subagent review |
skills/requirements-management/ | Keep requirements in sync during development; defines document structure and conventions |
agents/requirements-editor.md | Subagent that edits requirements.md and systems.md with strict conventions |
hooks/req_change_hook.py | Fires on every user message; injects a reminder to check for requirement changes |
assets/requirements-template.md | Blank requirements.md to start a project with |
assets/systems-template.md | Blank systems.md for documenting external system topology |
This isn't a generic requirements framework. It encodes specific beliefs about how requirements should work with LLM-assisted development:
/plugin marketplace add njt/powerups-marketplace
/plugin install powerups-requirements@powerups-marketplace
Requires Claude Code and Python 3.
git clone https://github.com/njt/powerups-requirements.git
cd powerups-requirements
# Skills
cp -r skills/gathering-requirements ~/.claude/skills/
cp -r skills/requirements-management ~/.claude/skills/
cp -r skills/reverse-engineering-requirements ~/.claude/skills/
# Agent
mkdir -p ~/.claude/agents
cp agents/requirements-editor.md ~/.claude/agents/
# Hook
mkdir -p ~/.claude/hooks
cp hooks/req_change_hook.py ~/.claude/hooks/
Register the hook in ~/.claude/settings.json:
{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "bash -c \"python3 ~/.claude/hooks/req_change_hook.py\""
}
]
}
]
}
}
If you already have a settings.json, add the hook entry to your existing UserPromptSubmit array.
The bash -c wrapper ensures ~ expands correctly on both Unix and Windows (via Git Bash).
Starting a new project — Claude will invoke the gathering-requirements skill. It walks through problem framing, iterative elicitation, gap probing, and completeness review. Produces requirements.md and optionally systems.md.
Have existing code, need a spec — Invoke reverse-engineering-requirements. A subagent reads the source and drafts requirements, then 2-3 rounds of fresh-eyes review separate real requirements from implementation accidents and identify non-goals.
npx claudepluginhub njt/powerups-requirements --plugin powerups-requirementsComprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Complete developer toolkit for Claude Code