From hieutrtr-ai1-skills
Project planning and feature breakdown for Python/React full-stack projects. Use during the planning phase when breaking down feature requests, user stories, or product requirements into implementation plans. Guides identification of affected files and modules, defines acceptance criteria, assesses risks, and estimates overall complexity. Produces module maps, risk assessments, and acceptance criteria. Does NOT cover architecture decisions (use system-architecture), implementation (use python-backend-expert or react-frontend-expert), or atomic task decomposition (use task-decomposition).
npx claudepluginhub joshuarweaver/cascade-code-testing-misc --plugin hieutrtr-ai1-skillsThis skill is limited to using the following tools:
Activate this skill when:
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Activate this skill when:
Do NOT use this skill for:
system-architecture)python-backend-expert or react-frontend-expert)api-design-patterns)task-decomposition)Follow this 4-step workflow for every planning request:
Scan the project and identify every file or module area affected by the change:
Backend (FastAPI):
routes/ — New or modified endpoint handlersservices/ — Business logic changesrepositories/ — Data access layer changesmodels/ — SQLAlchemy model changes (triggers migration)schemas/ — Pydantic request/response schema changescore/ — Configuration, security, or middleware changesmigrations/ — Alembic migration filesFrontend (React/TypeScript):
pages/ — New or modified page componentscomponents/ — Shared UI component changeshooks/ — Custom hook changes or additionsservices/ — API client changes (TanStack Query keys, mutations)types/ — Shared TypeScript type definitionsutils/ — Utility function changesShared / Cross-cutting:
types/ or shared/ — Types shared between backend and frontend.env / config — Environment variable changestests/ — Test files for each changed modulePresent the module map as a table:
| Layer | Module | Change Type | Impact |
|----------|-----------------|-------------------|-----------|
| Backend | models/user.py | Add field | Migration |
| Backend | schemas/user.py | Add response field| API change|
| Frontend | hooks/useUser.ts| Update query | UI change |
Define how the completed feature will be verified:
Integration verification:
Regression check:
pytest -x && npm testmypy src/ && npx tsc --noEmitruff check src/ && npm run lintFlag potential issues using the categories below. For each risk:
See references/risk-assessment-checklist.md for the complete risk category list.
Write the plan to a file at the project root: plan.md (or plan-<feature-name>.md if multiple plans exist). Use references/plan-template.md as the template.
The file must contain:
# Implementation Plan: [Feature Name]
## Objective
[1-2 sentence summary of what this delivers]
## Context
- Triggered by: [user story / feature request / bug report]
- Related work: [links to related plans, ADRs, or PRs]
## Open Questions
[List ambiguities that need resolution before implementation]
## Affected Modules
[Module map table from Step 2]
## Verification
[Integration verification from Step 3]
## Risks & Unknowns
[Risk table from Step 4]
## Acceptance Criteria
[Bullet list of observable outcomes that confirm the feature works]
## Estimation Summary
[Overall complexity estimate — see table below]
Always write the plan to a file. This enables /task-decomposition to read it as input. After writing, tell the user: "Plan written to plan.md. Run /task-decomposition to break it into atomic tasks."
Estimate overall feature complexity using this table:
| Metric | Value |
|---|---|
| Total backend modules affected | [N] |
| Total frontend modules affected | [N] |
| Migration required | Yes / No |
| API changes | Yes / No (new endpoints / modified contracts) |
| Overall complexity | trivial / small / medium / large |
Complexity guidelines:
Objective: Allow users to upload and display a profile picture.
Affected Modules:
| Layer | Module | Change Type | Impact |
|---|---|---|---|
| Backend | models/user.py | Add avatar_url | Migration |
| Backend | schemas/user.py | Add field | API contract |
| Backend | services/upload.py | New service | New file |
| Backend | routes/users.py | Add endpoint | API change |
| Frontend | components/AvatarUpload | New component | UI change |
| Frontend | hooks/useUploadAvatar.ts | New hook | Data fetch |
| Frontend | pages/ProfilePage.tsx | Integrate | UI change |
Verification:
pytest -x && npm testRisks:
Acceptance Criteria:
Estimation Summary:
| Metric | Value |
|---|---|
| Backend modules affected | 4 |
| Frontend modules affected | 3 |
| Migration required | Yes |
| API changes | Yes (new upload endpoint) |
| Overall complexity | medium |
Output: Written to plan.md. Run /task-decomposition to break it into atomic tasks.
Cross-cutting changes (auth middleware, error handling, logging): These affect many modules. Flag for architecture review before planning. Consider whether the change should be its own plan.
Database migrations with data transformation: Flag as a risk. Note that migration testing (upgrade + rollback) is needed. Task-decomposition will create a dedicated migration task.
Frontend state cascades: When modifying shared state (React Context, TanStack Query cache), map the component tree to identify all consumers in the module map.
API breaking changes: If modifying an existing endpoint's contract, check for frontend consumers first. Consider API versioning if external consumers exist. Note in the plan that frontend updates must be coordinated.
Feature flags: For large features spanning multiple sprints, note in the plan that a feature flag is needed. Task-decomposition will handle the implementation ordering.
Third-party dependency updates: If the feature requires a new package, list it in the plan's affected modules. Note potential peer dependency conflicts as a risk.