plan-to-issues-62312f — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited plan-to-issues-62312f (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Turn specs and implementation plans into a set of independent, well-structured GitHub issues ready for parallel execution. Each issue gets acceptance criteria, file dependency mapping, wave assignment, and priority labels.
Core principle: Issues that touch the same files MUST NOT be in the same wave. File overlap = sequential execution.
Announce at start: "I'm using the plan-to-issues skill to decompose this plan into GitHub issues."
Iron Law:
ISSUES MODIFYING THE SAME FILE MUST NEVER RUN IN THE SAME WAVE/taskmaestro for parallel executionUse this ESPECIALLY when:
/taskmaestro executionDon't use when:
The skill accepts one of:
docs/plans/YYYY-MM-DD-<feature>.mdRead the plan and extract discrete units of work:
src/utils/parse.ts not src/utils/src/utils/parse.test.tsCompletion criteria:
Use `validate_parallel_issues` to verify safety:
Call: codingbuddy validate_parallel_issues
issues: [issue_numbers]
issueContents: { "1": "body1", "2": "body2", ... }Decision matrix:
| Overlap | Action |
|---|---|
| No shared files | Same wave OK |
| Shared test helpers only | Same wave OK (read-only imports) |
| Shared source files | Different waves MANDATORY |
| Shared config files | Different waves MANDATORY |
Completion criteria:
validate_parallel_issues called (if issues already exist)Priority levels:
| Priority | Meaning | Criteria |
|---|---|---|
P0 | Critical | Blocks other issues; foundational setup |
P1 | High | Core feature; needed for MVP |
P2 | Medium | Enhancement; improves quality |
P3 | Low | Nice-to-have; polish |
Wave assignment rules:
Wave 1: [#1, #2, #3] ← No file overlaps between these
Wave 2: [#4, #5] ← Depend on Wave 1; no overlaps between these
Wave 3: [#6] ← Depends on Wave 2Completion criteria:
Create each issue with structured body:
gh issue create \
--title "<type>(<scope>): <description>" \
--label "<priority>,<wave>,<feature-area>" \
--body "$(cat <<'EOF'
## Summary
<1-2 sentence description of what this issue delivers>
## Details
<Implementation details, approach, key decisions>
## Files to Create/Modify
- [ ] `path/to/file.ts` — <what changes>
- [ ] `path/to/file.test.ts` — <what tests>
## Acceptance Criteria
- [ ] <Criterion 1>
- [ ] <Criterion 2>
- [ ] <Criterion 3>
## Dependencies
- Depends on: #<number> (if any)
- Blocks: #<number> (if any)
## Wave Assignment
**Wave <N>** — <reason for this wave>
Can run in parallel with: #<numbers>
Must wait for: #<numbers> (if any)
EOF
)"Label conventions:
| Label | Format | Example |
|---|---|---|
| Priority | P0 through P3 | P1 |
| Wave | wave-<N> | wave-1 |
| Feature area | Project-specific | auth, api, ui |
| Type | Conventional commits | feat, fix, refactor |
Auto-create missing labels:
gh label create "wave-1" --color "4ECDC4" --description "Wave 1: parallel group" 2>/dev/null || true
gh label create "wave-2" --color "45B7D1" --description "Wave 2: parallel group" 2>/dev/null || true
gh label create "P0" --color "FF0000" --description "Critical priority" 2>/dev/null || true
gh label create "P1" --color "FF6B6B" --description "High priority" 2>/dev/null || true
gh label create "P2" --color "FFD93D" --description "Medium priority" 2>/dev/null || true
gh label create "P3" --color "95E1D3" --description "Low priority" 2>/dev/null || trueCompletion criteria:
Present the final decomposition:
## Decomposition Summary
### Dependency Graph
#1 ─┬─► #3
└─► #4 ──► #6
#2 ────► #5
### Wave Execution Plan
| Wave | Issues | Parallel Safe | Depends On |
|------|--------|---------------|------------|
| 1 | #1, #2 | Yes (0 file overlaps) | — |
| 2 | #3, #4, #5 | Yes (0 file overlaps) | Wave 1 |
| 3 | #6 | N/A (single) | Wave 2 |
### File Overlap Matrix
| | #1 | #2 | #3 | #4 | #5 | #6 |
|---|---|---|---|---|---|---|
| #1 | — | 0 | 1 | 0 | 0 | 0 |
| #2 | 0 | — | 0 | 0 | 1 | 0 |
...
Total issues: 6
Waves: 3
Estimated parallel speedup: ~3xCompletion criteria:
The wave grouping output is designed for direct use with /taskmaestro:
/taskmaestro --issues "#1,#2,#3" --wave 1
/taskmaestro --issues "#4,#5" --wave 2Each wave runs in parallel tmux panes with git worktree isolation.
| Phase | Action | Tool |
|---|---|---|
| 1. Analyze | Extract deliverables from plan | Read tool |
| 2. Overlap | Detect file conflicts | validate_parallel_issues |
| 3. Prioritize | Assign P0-P3 and waves | Manual analysis |
| 4. Create | Generate GitHub issues | gh issue create |
| 5. Summarize | Dependency graph + execution plan | Output |
Before creating issues:
validate_parallel_issues called for final verification| Thought | Reality |
|---|---|
| "These issues probably don't overlap" | CHECK. Run overlap detection. Assumptions cause merge conflicts. |
| "I'll put them all in Wave 1 for speed" | STOP. Overlapping files in one wave = guaranteed conflicts. |
| "File overlap is minor, just a config file" | STOP. Config conflicts are the hardest to resolve. Different waves. |
| "I don't need acceptance criteria" | You do. Issues without AC get implemented wrong. |
| "I'll figure out waves later" | Waves are determined by file overlap. Do it now. |
| "This deliverable is too small for its own issue" | Small, focused issues are easier to parallelize and review. |
| "I'll skip validate_parallel_issues" | The MCP tool catches overlaps you missed. Always validate. |
Input: docs/plans/2025-03-15-auth-redesign.md
Output: 5 GitHub issues across 2 waves
Wave 1 (parallel):
#101 feat(auth): add JWT token service [P0, wave-1]
#102 feat(auth): add password hashing utils [P0, wave-1]
#103 feat(db): add users migration [P0, wave-1]
Wave 2 (parallel, after Wave 1):
#104 feat(auth): add login/register endpoints [P1, wave-2]
#105 feat(auth): add auth middleware [P1, wave-2]Input: docs/plans/2025-04-01-api-v2.md
Overlap detected:
Issue A: modifies src/routes/index.ts
Issue B: modifies src/routes/index.ts
→ A and B MUST be in different waves
Wave 1: [A, C, D] ← A here
Wave 2: [B, E] ← B here (after A merges)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.