Quick Ref: Decompose goal into trackable issues with waves. Output: .agents/plans/*.md + bd issues.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionplanExecute the skills CLI command in your project's root directory to begin installation:
Fetches plan from boshu2/agentops and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate plan. Access via /plan in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
0
total installs
0
this week
260
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
260
stars
Quick Ref: Decompose goal into trackable issues with waves. Output:
.agents/plans/*.md+ bd issues.
YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.
CLI dependencies: bd (issue creation). If bd is unavailable, write the plan to .agents/plans/ as markdown with issue descriptions, and use TaskList for tracking instead. The plan document is always created regardless of bd availability.
| Flag | Default | Description |
|---|---|---|
--auto |
off | Skip human approval gate. Used by /rpi --auto for fully autonomous lifecycle. |
--fast-path |
off | Force Minimal detail template (see Step 3.2) |
--skip-symbol-check |
off | Skip symbol verification in Step 3.6 (for greenfield plans) |
--skip-audit-gate |
off | Skip baseline audit gate in Step 6 (for documentation-only plans) |
Given /plan <goal> [--auto]:
mkdir -p .agents/plans
Look for existing research on this topic:
ls -la .agents/research/ 2>/dev/null | head -10
Use Grep to search .agents/ for related content. If research exists, read it with the Read tool to understand the context before planning.
Search knowledge flywheel for prior planning patterns:
if command -v ao &>/dev/null; then
ao search "<topic> plan decomposition patterns" 2>/dev/null | head -10
ao lookup --query "<goal>" --limit 5 2>/dev/null | head -30
fi
Apply retrieved knowledge (mandatory when results returned):
If ao returns relevant learnings or patterns, do NOT just load them as passive context. For each returned item:
After reviewing, record each citation with the correct type:
# Only use "applied" when the learning actually influenced your output.
# Use "retrieved" for items that were loaded but not referenced in your work.
ao metrics cite "<learning-path>" --type applied 2>/dev/null || true # influenced a decision
ao metrics cite "<learning-path>" --type retrieved 2>/dev/null || true # loaded but not used
Section evidence: When lookup results include section_heading, matched_snippet, or match_confidence fields, prefer the matched section over the whole file — it pinpoints the relevant portion. Higher match_confidence (>0.7) means the section is a strong match; lower values (<0.4) are weaker signals. Use the matched_snippet as the primary context rather than reading the full file.
Skip silently if ao is unavailable or returns no results.
Before decomposition, load compiled planning rules from .agents/planning-rules/*.md when they exist. This is the primary prevention surface for /plan in the compiler-enabled flow.
Use the tracked contracts in docs/contracts/finding-compiler.md and docs/contracts/finding-registry.md:
applicable_when overlap, language overlap, and literal goal-text overlap.agents/findings/registry.jsonlUse the selected planning rules / active findings as hard planning context before issue decomposition. Record the applied finding IDs and how they changed the plan. These become required context for the written plan, not optional side notes.
Ranked packet contract: Treat compiled planning rules, active findings, and matching high-severity next-work.jsonl items as one ranked packet, not three unrelated lookups. The packet must prefer the strongest overlap in this order:
applicable_when / issue-type overlapIf research files exist, read the most recent one and verify it contains substantive findings before proceeding:
LATEST_RESEARCH=$(ls -t .agents/research/*.md 2>/dev/null | head -1)
if [ -n "$LATEST_RESEARCH" ]; then
# Verify research has substantive content (not just frontmatter)
if grep -qE '^## (Summary|Key Files|Findings|Key Findings|Architecture|Executive Summary|Recommendations|Part [0-9])' "$LATEST_RESEARCH"; then
echo "Research validated: $LATEST_RESEARCH"
else
echo "WARNING: Research file exists but lacks standard sections (Summary, Key Files, Findings, Key Findings, Architecture, Executive Summary, or Recommendations)."
echo "Consider running /research first for a thorough exploration."
fi
fi
Read the validated research file with the Read tool before proceeding to Step 3. Do not plan based solely on file existence — understanding the research content is essential for accurate decomposition.
USE THE TASK TOOL to dispatch an Explore agent. The explore prompt MUST request symbol-level detail:
Tool: Task
Parameters:
subagent_type: "Explore"
description: "Understand codebase for: <goal>"
prompt: |
Explore the codebase to understand what's needed for: <goal>
1. Find relevant files and modules
2. Understand current architecture
3. Identify what needs to change
For EACH file that needs modification, return:
- Exact function/method signatures that need changes
- Struct/type definitions that need new fields
- Key functions to reuse (with file:line references)
- Existing test file locations and naming conventions (e.g., TestFoo_Bar)
- Import paths and package relationships
Return: file inventory, per-file symbol details, reuse points with line numbers, test patterns
Before decomposing into issues, run a quantitative baseline audit to ground the plan in verified numbers. This is mandatory for ALL plans — not just cleanup/refactor. Any plan that makes quantitative claims (counts, sizes, coverage) must verify them mechanically.
Run grep/wc/ls commands to count the current state of what you're changing:
ls/find/wc -lgrep -l/grep -Lgrep -L or findRecord the verification commands alongside their results. These become pre-mortem evidence and acceptance criteria.
| Bad | Good |
|---|---|
| "14 missing refs/" | "14 missing refs/ (verified: ls -d skills/*/references/ | wc -l = 20 of 34)" |
| "clean up dead code" | "Delete 3,003 LOC across 3 packages (verified: find src/old -name '*.go' | xargs wc -l)" |
| "update stale docs" | "Rewrite 4 specs (verified: ls docs/specs/*.md | wc -l = 4)" |
| "add missing sections" | "Add Examples to 27 skills (verified: grep -L '## Examples' skills/*/SKILL.md | wc -l = 27)" |
wc -l on files near size limits (especially SKILL.md files with the 800-line lint limit). If a planned change will push a file past the limit, split or refactor before implementation.grep -rn 'func Test' <test-dir>/ | wc -l. Changing a gate without updating its test fixtures causes false-green CI.Ground truth with numbers prevents scope creep and makes completion verifiable. In ol-571, the audit found 5,752 LOC to remove — without it, the plan would have been vague. In ag-dnu, wrong counts (11 vs 14, 0 vs 7) caused a pre-mortem FAIL that a simple grep audit would have prevented.
Auto-select plan detail level based on issue count and goal complexity:
| Level | Criteria | Template | Description |
|---|---|---|---|
| Minimal | 1-2 issues, fast complexity | Bullet points per issue | Title, 2-line description, acceptance criteria, files list |
| Standard | 3-6 issues, standard complexity | Current plan format | Full implementation specs, tests, verification |
| Deep | 7+ issues, full complexity, or --deep |
Extended format | Symbol-level specs, data transformation tables, design briefs, cross-wave registry |
Read references/detail-templates.md for the template definitions.
Override: --deep forces Deep regardless of issue count. --fast-path forces Minimal.
After exploring the codebase, generate symbol-level implementation detail for EVERY file in the plan. This is what separates actionable specs from vague descriptions. A worker reading the plan should know exactly what to write without rediscovering function names, parameters, or code locations.
Start with a ## Files to Modify table listing EVERY file the plan touches:
## Files to Modify
| File | Change |
|------|--------|
| `src/auth/middleware.go` | Add rate limit check to `AuthMiddleware` |
| `src/config/config.go` | Add `RateLimit` section to `Config` struct |
| `src/auth/middleware_test.go` | **NEW** — rate limit middleware tests |
Mark new files with **NEW**. This table gives the implementer the full blast radius in 30 seconds.
For each logical change group, provide symbol-level detail:
Exact function signatures — name the function, its parameters, and what changes:
worktreePath string parameter to classifyRunStatus"RPIConfig struct with WorktreeMode string field"Key functions to reuse — with file:line references from the explore step:
readRunHeartbeat() at rpi_phased.go:1963"parsePhasedState() at rpi_phased.go:1924"Inline code blocks — for non-obvious constructs (struct definitions, CLI flags, config snippets). Verify all inline snippets compile with go build ./... before including them in issue descriptions — workers copy them verbatim:
type RPIConfig struct {
WorktreeMode string `yaml:"worktree_mode" json:"worktree_mode"`
}
New struct fields with tags — exact field names and JSON/YAML tags
CLI flag definitions — exact flag names, types, defaults, and help text
For each test file, list specific test functions with one-line descriptions:
**`src/auth/middleware_test.go`** — add:
- `TestRateLimitMiddleware_UnderLimit`: Request within limit returns 200
- `TestRateLimitMiddleware_OverLimit`: Request exceeding limit returns 429
- `TestRateLimitMiddleware_ResetAfterWindow`: Counter resets after time window
For each test in the plan, classify its pyramid level per the test pyramid standard (test-pyramid.md in the standards skill):
| Test | Level | Rationale |
|---|---|---|
TestRateLimitMiddleware_UnderLimit |
L1 (Unit) | Single function behavior in isolation |
TestRateLimitMiddleware_Integration |
L2 (Integration) | Middleware + config store interaction |
TestRateLimitMiddleware_E2E |
L3 (Component) | Full request pipeline with mocked Redis |
Include test_levels metadata in each issue's validation block:
{
"test_levels": {
"required": ["L0", "L1"],
"recommended": ["L2"],
"rationale": "Reason for level selection"
}
Make data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
mattpocock/skills
mattpocock/skills
parcadei/continuous-claude-v3
cursor/plugins
ailabs-393/ai-labs-claude-skills
ailabs-393/ai-labs-claude-skills
plan is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
Keeps context tight: plan is the kind of skill you can hand to a new teammate without a long onboarding doc.
Solid pick for teams standardizing on skills: plan is focused, and the summary matches what you get after install.
plan reduced setup friction for our internal harness; good balance of opinion and flexibility.
Registry listing for plan matched our evaluation — installs cleanly and behaves as described in the markdown.
plan has been reliable in day-to-day use. Documentation quality is above average for community skills.
Keeps context tight: plan is the kind of skill you can hand to a new teammate without a long onboarding doc.
plan is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
plan reduced setup friction for our internal harness; good balance of opinion and flexibility.
plan has been reliable in day-to-day use. Documentation quality is above average for community skills.
showing 1-10 of 65