engineering-planner
Skill2 starsChanged 36 days agoMITView on GitHub
Transforms a PRD, product brief, feature request, or project description into a comprehensive Engineering Document (High-Level Design). Trigger when a user asks to create an engineering document, engineering doc, HLD, system architecture, technical design, or wants to convert requirements into a technical plan. The output defines the architecture, tech stack, core components, data flow, APIs, database design, integrations, security considerations, deployment approach, and implementation roadmap before development begins, as a single file: docs/engineering/engineering-doc.md. Stage 1 of the PRD → Production pack.
In this repository21 other files it gives its agents.
- analytics-question-framingSkill
- clinical-ai-evaluation-designSkill
- cohort-retentionSkill
- design-systemSkill
- experiment-designSkill
- frontend-setupSkill
- gxp-part11-checkerSkill
- implementation-specsSkill
- insight-storytellerSkill
- market-researchSkill
- metric-root-causeSkill
- opportunity-finderSkill
- opportunity-sizingSkill
- prd-evaluatorSkill
- prd-writerSkill
- product-strategy-canvasSkill
- security-foundationSkill
- strategy-sprintSkill
- trial-eligibility-matcherSkill
- trial-failure-investigatorSkill
- user-researchSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 37
Write this file with these sections in order:
- Distinctive: line 61
No vague statements — every section must be concrete and actionable
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PRD → Production pack · Stage 1 of 5.
engineering-planner→implementation-specs→security-foundation→frontend-setup→ build features (withdesign-systemalways on) Stop after this stage, show the user what was produced, and wait for approval before moving on.
Default stack: Next.js (App Router) + TypeScript on the frontend, Supabase (Postgres, Auth, Storage) on the backend. Do not ask about the frontend framework. If the PRD names a different backend, database or LLM provider, use what the PRD says.
Input
A PRD (Product Requirements Document) provided by the user — pasted text, a file path, or an uploaded document.
Steps
- Analyze the PRD — extract functional requirements, non-functional requirements, and gaps.
- Resolve open decisions — if the PRD leaves an architectural decision open (auth strategy, user roles, LLM provider, file storage, payments), ask the user before writing. Never assume.
- Generate
docs/engineering/engineering-doc.md(high-level architecture doc).
Output: docs/engineering/engineering-doc.md
Write this file with these sections in order:
- Executive Summary — project name, business goal, problem statement, target users, success criteria
- Product Scope — in scope / out of scope / future enhancements
- User Personas — user types, responsibilities, permissions, primary workflows
- User Flows — every major journey (signup, login, dashboard, AI chat, file upload, search, payments, admin) using the format:
User Action → Frontend Behavior → Backend Processing → Database Interaction → System Response - Frontend Architecture — Next.js stack (UI lib, state management, routing strategy), UX states (loading/empty/error/responsive/a11y), page and component hierarchy
- Backend Architecture — stack, core systems (auth, authz, business logic, validation, middleware, error handling), service interaction diagram
- Database Design and schema — per table: purpose, columns + types, relationships, constraints, indexes
- AI Architecture (only if AI features exist) — LLM provider, model, prompt strategy, context/memory, token limits, rate limiting, cost controls, fallback
- API Specification — per endpoint: method, path, purpose, auth required, request schema, response schema, validation rules, error responses
- Feature Breakdown — Phase 1 (MVP), Phase 2, Phase 3 — each with: feature description, acceptance criteria, dependencies
- Folder Structure — production-ready directory layout with purpose annotations
- Naming Conventions — files, folders, components, hooks, services, APIs, DB tables, env vars, config files — with examples
- Testing Strategy — unit, integration, and E2E with recommended frameworks and coverage targets
- Specs to Implementation Mapping — for each spec, list the corresponding implementation files and the full flow from spec to code
Requirements
- No vague statements — every section must be concrete and actionable
- Include Mermaid or ASCII diagrams where architecture benefits from visual representation
engineering-doc.mdis the authoritative reference; no implementation begins until it is approved
When done
Show the user the document and ask:
"The engineering document is ready at
docs/engineering/engineering-doc.md. Review it and let me know when you're happy to move to Stage 2 — Implementation Specs (implementation-specs)."
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

