para
Structured workflow for AI-assisted development (Plan → Review → Execute → Summarize → Archive). Use when the user invokes /plan, /execute, /summarize, /archive, /check, /help, /init, /status, or when adding features, fixing non-trivial bugs, refactoring, or doing any task that will result in git changes. Skip for read-only queries, explanations, or quick fixes.
SKILL.md
| Name | para |
| Description | Structured workflow for AI-assisted development (Plan → Review → Execute → Summarize → Archive). Use when the user invokes /plan, /execute, /summarize, /archive, /check, /help, /init, /status, or when adding features, fixing non-trivial bugs, refactoring, or doing any task that will result in git changes. Skip for read-only queries, explanations, or quick fixes. |
name: para description: "Structured workflow for AI-assisted development (Plan → Review → Execute → Summarize → Archive). Use when the user invokes /plan, /execute, /summarize, /archive, /check, /help, /init, /status, or when adding features, fixing non-trivial bugs, refactoring, or doing any task that will result in git changes. Skip for read-only queries, explanations, or quick fixes." triggers:
- "/plan"
- "/execute"
- "/summarize"
- "/archive"
- "/check"
- "/help"
- "/init"
- "/status"
- "plan before coding"
- "create a plan"
- "should I use PARA"
PARA-Programming Methodology
Purpose: Structured workflow methodology for AI-assisted development
Overview
PARA-Programming is a structured workflow for AI-assisted software development that ensures:
- Clear planning before execution
- Documented decisions and context
- Reproducible work sessions
- Knowledge preservation across sessions
The PARA Workflow
Plan → Review → Execute → Summarize → Archive
1. Plan Phase (/plan)
Purpose: Think before you code. Create a detailed plan for the work ahead.
When to use:
- Adding features or functionality
- Fixing complex bugs
- Making architectural changes
- Refactoring code
- Any task that will result in git changes
What happens:
- Create
context/plans/YYYY-MM-DD-<task-name>.md(in a monorepo: use rootcontext/for repo-wide work, or the relevant project'scontext/when scoped to that project) - Document objectives, approach, and implementation steps
- Identify affected files and components
- Consider edge cases and risks
- AI reviews and validates the plan
Skip PARA for:
- Simple queries ("What does X do?")
- Code navigation ("Show me X")
- Explanations ("How does X work?")
- Read-only informational tasks
For decision framework: See reference/DECISION_FRAMEWORK.md for complete "Should I use PARA?" guidelines.
Jira Epic/Initiative Breakdown
When the input to /plan is a Jira Epic or Initiative, break it down into actionable tickets as part of the plan:
Epic → User Stories + Tasks (implementation-level)
- Each Story: clear Title, detailed Description (context, scope, acceptance criteria), independently testable, vertically sliced, implementation-ready
Initiative → 1 Backend Epic + 1 Frontend Epic → Stories + Tasks each
- Each Epic: clear Title + Description with scope and goals
Dependencies:
- Explicitly identify and reference in each ticket description
- Add a dedicated Dependencies section per affected ticket
- Minimize blocking: backend creates API contract + mocks first so frontend can proceed in parallel
Output format:
Initiative (if applicable)
├── Backend Epic → Stories → Tasks
├── Frontend Epic → Stories → Tasks
└── Dependency Summary (cross-ticket view)
All titles and descriptions must be clear, concrete, and ready to create in Jira.
⚠️ DO NOT create tickets during planning. Include the breakdown in the plan document for user review. Tickets are created only after the user approves the plan — as the first action of the Execute phase, using Atlassian MCP (jira_create_issue, jira_batch_create_issues, jira_link_to_epic, jira_create_issue_link).
2. Review Phase
Purpose: Validate the plan before starting work.
What happens:
- AI presents the plan for human review
- Discuss and refine approach
- Confirm understanding of requirements
- Approve or revise before execution
3. Execute Phase (/execute)
Purpose: Implement the plan with tracking and context.
What happens:
- Execute ALL steps in the plan autonomously (no stopping between steps)
- Create feature branch (optional but recommended)
- Track todos and progress with TodoWrite
- Reference the plan during implementation
- Document decisions and changes as you work
- Show progress as each step completes: "Step X/N: [description]"
Autonomous Step Execution:
When you run /execute, ALL steps in the plan execute automatically without stopping between steps:
- Work through steps 1, 2, 3... N sequentially
- Show progress: "Step X/N: [step description]" as each completes
- Don't ask "should I proceed to next step?" - just proceed to the next step
- Make best-choice decisions without asking (pick the best option and continue)
- Only escalate to user if:
- Genuinely stuck after multiple attempts
- Critical blocker that requires user decision (e.g., conflicting requirements)
- Unrecoverable error that prevents continuing
Decision-Making:
- When multiple valid approaches exist: choose the best one and proceed
- Never ask "which approach should I use?" between steps
- Never ask "should I continue?" between steps
- Only ask user for guidance when genuinely stuck or requirements are unclear/conflicting
For execution best practices: See reference/COMMANDS.md.
4. Summarize Phase (/summarize)
Purpose: Document what was accomplished and learned.
What happens:
- Create
context/summaries/YYYY-MM-DD-<task-name>.md(in a monorepo: same root vs project scope as the plan) - Document what was built/changed
- Record decisions and trade-offs
- Note lessons learned and future considerations
- Link to related plans and commits
What to include:
- Summary of changes
- Files modified
- Key decisions made
- Testing performed
- Known limitations
- Future work identified
5. Archive Phase (/archive)
Purpose: Preserve context for future reference while keeping active context clean.
What happens:
- Move completed plans and summaries to
context/archives/(in a monorepo: under the same root or project context where the plan/summary lived) - Update
context/context.mdto remove completed work - Preserve the knowledge chain (plan → summary → archive)
Directory Structure
Single-repo (default):
project-root/
├── CLAUDE.md # Project-specific context (tech stack, conventions)
├── context/
│ ├── context.md # Active session context
│ ├── data/ # Input files, payloads, datasets
│ ├── plans/ # Pre-work planning documents
│ ├── summaries/ # Post-work reports
│ ├── archives/ # Historical context snapshots
│ └── servers/ # MCP tool wrappers
└── ~/.claude/
└── CLAUDE.md # This file (global methodology)
Monorepo only: When the repository is a monorepo (multiple apps or packages in one repo), use a parent context at the repo root and per-project context under each project:
- Root (parent): One
context/at repo root for cross-cutting plans, summaries, and archives (e.g. shared infra, repo-wide refactors, release coordination). RootCLAUDE.mddescribes the monorepo layout, shared tooling, and conventions. - Per project: Each app or package (e.g.
apps/web/,packages/api/) can have its owncontext/and optionalCLAUDE.mdfor that project's plans, summaries, and archives. Use the project'scontext/when work is scoped to that project; use the rootcontext/when work spans multiple projects or is repo-wide.
monorepo-root/
├── CLAUDE.md # Monorepo layout, shared tooling, conventions
├── context/ # Parent: repo-wide plans, summaries, archives
│ ├── context.md
│ ├── plans/
│ ├── summaries/
│ └── archives/
├── apps/
│ ├── web/
│ │ ├── CLAUDE.md # (optional) App-specific context
│ │ └── context/ # This app's plans, summaries, archives
│ └── api/
│ ├── CLAUDE.md
│ └── context/
└── packages/
└── shared/
├── CLAUDE.md
└── context/
Rule: Use the monorepo two-level structure only if the repo is actually a monorepo. For a single application or package repo, use the single-repo structure only.
File Purposes
CLAUDE.md (Project Level)
- Project-specific context
- Tech stack and architecture
- Coding conventions and patterns
- Team guidelines
- Common commands and workflows
context/context.md
- Current active work
- Session state
- Links to active plans
- Temporary findings
- Note:
context/is git-ignored. These files are local session artifacts, not version-controlled.
context/plans/
- One file per planned task
- Naming:
YYYY-MM-DD-<task-name>.md - Contains detailed implementation plan
- Preserved after execution
context/summaries/
- One file per completed task
- Naming:
YYYY-MM-DD-<task-name>.md - Documents what was accomplished
- Links back to plan and commits
context/archives/
- Historical plans and summaries
- Organized by date or milestone
- Searchable knowledge base
- Reference for similar future tasks
context/data/
- Test data and fixtures
- API payloads and responses
- Example datasets
- Input files for processing
context/servers/
- MCP tool wrappers
- Custom command implementations
- Integration helpers
Commands
/init- Initialize PARA structure/plan <task>- Create plan/execute- Start execution/summarize- Document outcomes/archive- Archive completed work/status- Check workflow state/check- Decision helper/help- Show guide
For detailed commands and best practices: See reference/COMMANDS.md.
Context Management
Where to put context (monorepo vs single-repo)
- Single-repo: One
context/at project root; all plans, summaries, and archives live there. - Monorepo: Use root
context/for repo-wide work; use each project'scontext/for work scoped to that app or package. Choose the context directory that matches the scope of the current task.
Active Context (context/context.md)
Keep this file lean and focused:
- Current task summary
- Active plans (links only)
- Temporary findings
- Session state
Note: context/ is git-ignored — context files are local session artifacts, not version-controlled.
Long-term Knowledge (CLAUDE.md)
Project-specific persistent context:
- Architecture decisions
- Tech stack and dependencies
- Coding patterns and conventions
- Common pitfalls and solutions
- Team guidelines
Historical Context (context/archives/)
Completed work for reference:
- Past plans and summaries
- Lessons learned
- Similar problems solved
- Evolution of decisions
Integration with Git
PARA-Programming complements git workflow:
/plan → feature branch → /execute → commits → /summarize → merge → /archive
- Plans document the "why" before commits show the "what"
- Summaries capture context that commit messages can't
- Archives preserve decision history beyond git log
Philosophy and Tips
For philosophy, principles, and tips for success: See reference/METHODOLOGY.md.
Cross-Skill Integration
| Situation | Skill to invoke | How |
|---|---|---|
| Plan needs technical architecture | architect skill | Read skills/architect/SKILL.md |
| Execute phase needs TDD | developer skill | Read skills/developer/SKILL.md |
| Full workflow from plan to PR | workflow skill | Read skills/workflow/SKILL.md |
| Summarize needs commit info | git-commits skill | Read skills/git-commits/SKILL.md |
| Large codebase exploration in plan | rlm skill | Read skills/rlm/SKILL.md |
| Plan includes documentation updates | documentation skill | Read skills/documentation/SKILL.md |