planning-base
Skill5 starsChanged 17 days agoMITView on GitHub
Base planning skill with shared rules - do not invoke directly, use specific planning skills instead
In this repository50 other files it gives its agents.
- analyze-pr-commentsSkill
- architecture-analyzeSkill
- architecture-tradeoffSkill
- askSkill
- code-smellsSkill
- debugging-rocprof-sysSkill
- exploration-explore-codeSkill
- git-commitSkill
- git-gh-clientSkill
- git-prepare-pull-requestSkill
- git-pull-request-statusSkill
- gitSkill
- grill-meSkill
- library-amd-smiSkill
- notify-meSkill
- planning-architectureSkill
- planning-bugfixSkill
- planning-docsSkill
- planning-featureSkill
- planning-refactorSkill
- programming-cmake-best-practicesSkill
- programming-cpp-constexprSkill
- programming-cpp-design-patternsSkill
- programming-cpp-naming-rulesSkill
- programming-cpp-policy-based-diSkill
- programming-cppSkill
- programming-cpp-stl-algorithmsSkill
- programming-pythonSkill
- pr-review-interactiveSkill
- pr-reviewSkill
- radisha-create-skillSkill
- radisha-helpSkill
- radisha-improve-skillSkill
- radisha-skillsSkill
- radisha-updateSkill
- refactoring-techniquesSkill
- review-architectureSkill
- rocprofsys-buildSkill
- rocprofsys-configureSkill
- rocprofsysSkill
- static-analysisSkill
- testing-gtest-gmockSkill
- testing-pytestSkill
- testing-testplanSkill
- therock-build-to-commitSkill
- therock-commit-in-buildSkill
- therock-first-build-with-commitSkill
- update-pr-descriptionSkill
- verify-pmc-metricsSkill
- watchSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
21 rules. About 0 are common, 13 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Instead, use the appropriate specialized skill:
- Distinctive: line 22
Every plan leads to a Pull Request: Keep PR reviewability in mind from the start.
- Distinctive: line 32
Cursor: Use Plan Mode for phases 0-4, then switch to Agent Mode
- Very specific: line 33
Claude Code: Use EnterPlanMode tool or simply complete planning before coding
- Very specific: line 40
Before creating a new plan, check the planning/ folder in project root:
- Distinctive: line 45
Read the existing plan
- Very specific: line 46
Check which tasks are already completed (marked with [x])
- Distinctive: line 52
Before writing ANY code or making ANY changes:
- Very specific: line 62
Before decomposing, assess if this should be ONE PR or MULTIPLE PRs.
- Distinctive: line 69
> 800 lines: - Must split into multiple PRs
- Distinctive: line 98
Keep steps small enough to track progress meaningfully
- Distinctive: line 100
Group steps by PR: if multiple PRs are planned
- Distinctive: line 104
Use your platform's task tracking tool to create a structured task list:
- Very specific: line 131
Create folder: if it doesn't exist: planning/
- Distinctive: line 152
After completing EACH task or solution, you MUST:
- Very specific: line 154
Update the plan file - change - [ ] to - [x] for the completed task </IMPORTANT>
- Very specific: line 159
Update the plan file in planning/ to reflect current progress
- Distinctive: line 160
If a step reveals new requirements, add new tasks AND update the plan file
- Very specific: line 161
If a step becomes unnecessary, mark as cancelled
- Distinctive: line 165
Do NOT create tasks for:
- Distinctive: line 186
Ask user: if they want to create a PR
≈ “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
Base Planning Rules
<IMPORTANT>
This is a base skill containing shared planning rules. Do not invoke this skill directly.
Instead, use the appropriate specialized skill:
- `planning-feature` - for new features
- `planning-bugfix` - for bug fixes
- `planning-refactor` - for refactoring
- `planning-docs` - for documentation
- `review-architecture` - for architecture documentation
</IMPORTANT>Core Principles
Planning MUST happen before ANY implementation. A task is non-trivial if it requires more than 2 distinct steps.
Every plan leads to a Pull Request. Keep PR reviewability in mind from the start.
Planning Mode Workflow
<IMPORTANT>
Complete all planning phases (0-4) before implementation. After completing the plan:
1. Save the plan to `planning/` folder (Phase 5)
2. Then begin implementationPlatform-specific:
- Cursor: Use Plan Mode for phases 0-4, then switch to Agent Mode
- Claude Code: Use
EnterPlanModetool or simply complete planning before coding
This ensures the plan is persisted before any code changes begin.
</IMPORTANT>
Phase 0: Check for Existing Plans
Before creating a new plan, check the planning/ folder in project root:
- List files in
planning/directory - Look for related plans - similar features, continuation of previous work
- If found:
- Read the existing plan
- Check which tasks are already completed (marked with
[x]) - Resume from where it left off OR adapt the plan for the new request
- If not found: proceed to Phase 1
Phase 1: Analyze
Before writing ANY code or making ANY changes:
- Understand the request - What exactly is being asked?
- Identify the scope - What files/components are affected?
- Find dependencies - What existing code/patterns should be followed?
- Spot risks - What could go wrong? What needs extra attention?
Phase 2: Assess PR Scope
<IMPORTANT>
Before decomposing, assess if this should be ONE PR or MULTIPLE PRs.
Invoke `git-create-pull-request` skill for detailed PR guidelines.
</IMPORTANT>PR Size Guidelines
- < 400 lines - Ideal, easy to review
- 400-800 lines - Acceptable for complex work
- > 800 lines - Must split into multiple PRs
When to Split
- Changes touch multiple unrelated systems
- Refactoring can be separated from feature work
- Infrastructure changes can land independently
- Tests can be added before implementation
If Splitting Required
Plan each PR separately:
## PR Strategy
### PR 1: [Title]
**Scope:** [What's included]
**Dependencies:** None
### PR 2: [Title]
**Scope:** [What's included]
**Dependencies:** PR 1Phase 3: Decompose
Break the task into concrete, actionable steps:
- Each step should be independently verifiable
- Steps should be ordered by dependency (what must come first)
- Keep steps small enough to track progress meaningfully
- Include validation/testing steps where appropriate
- Group steps by PR if multiple PRs are planned
Phase 4: Create Task List
Use your platform's task tracking tool to create a structured task list:
- Claude Code:
TaskCreate,TaskUpdate,TaskListtools - Cursor:
TodoWrite
Example task structure:
1. [pending] Analyze existing code structure
2. [pending] Create/modify necessary files
3. [pending] Implement core logic
4. [pending] Add error handling
5. [pending] Verify changes work correctlyTask Status Rules:
pending- Not yet startedin_progress- Currently working on (only ONE at a time)completed- Finished and verifiedcancelled- No longer needed
Phase 5: Persist the Plan
<IMPORTANT>
This phase happens **immediately after planning is complete** - before any implementation begins.
</IMPORTANT>Save the plan to the planning/ folder in the project root:
- Create folder if it doesn't exist:
planning/ - Save plan as a markdown file with descriptive name (see specific skill for naming)
- Include in the plan file:
- Original request/goal
- Analysis summary
- Todo list with status markers
- Any relevant context or decisions made
Phase 6: Confirm (Optional)
For complex or risky changes, present the plan to the user:
"Before I begin, here's my plan:
- [step 1]
- [step 2] ... Should I proceed?"
During Execution
<IMPORTANT>
After completing EACH task or solution, you MUST:
1. Mark the task as `completed` using your platform's task tracking tool
2. Update the plan file - change `- [ ]` to `- [x]` for the completed task
</IMPORTANT>- Mark each task as
in_progresswhen you start working on it - Mark as
completedimmediately after finishing each task - Update the plan file in
planning/to reflect current progress - If a step reveals new requirements, add new tasks AND update the plan file
- If a step becomes unnecessary, mark as
cancelled
What NOT to Include in Tasks
Do NOT create tasks for:
- Reading/searching the codebase (this is implicit)
- Running linters (this is automatic)
- Basic validation steps that are part of normal workflow
After Execution: Create Test Plan
Once implementation is complete:
- Create test plan file:
planning/testplan-<feature-name>.md - Invoke
testing-testplanskill for the template - Fill in:
- Automated tests (what tests exist or will be written)
- Manual verification scenarios (for developer and QA)
- Regression check (related features to verify)
- Verify manually and check off items
After Test Plan: Create Pull Request
Once all tasks are complete and tests are written (if requested):
- Ask user if they want to create a PR
- Invoke
git-create-pull-requestskill for PR template - Create PR with required sections:
- Motivation - Why is this change needed?
- Technical Details - What changed and how?
- Test Plan - Reference
planning/testplan-<name>.md
PR creation is the final step of every feature/bugfix/refactor workflow.
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.

