Claude-skill-registry beads-validation
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/beads-validation" ~/.claude/skills/majiayu000-claude-skill-registry-beads-validation && rm -rf "$T"
manifest:
skills/data/beads-validation/SKILL.mdsource content
Beads Validation Skill
Validates that beads issues are correctly created and ready for TDD.
When to Use
-
After creating issues (in rust-project-init):
- Check all PRD features have corresponding issues
- Check priorities are valid
- Check issue IDs exist before adding dependencies
-
Before TDD loop (in /ship Phase 2.5):
- Check for circular dependencies
- Check
returns expected first taskbd ready - Check no issues are incorrectly blocked
Validation Checks
1. PRD → Issues Mapping
# Count features in PRD grep -c "^###\|^-" docs/PRD.md | head -1 # Count issues created bd list --status=open | wc -l # Each MVP feature should have an issue
2. Dependency Validity
# List all dependencies bd list --status=open --json | jq '.[] | .dependencies' # Check each dependency ID exists bd show {dep_id} # Should not error
3. Circular Dependency Check
# bd doctor checks for cycles bd doctor
4. Ready State Check
# Should have at least one ready issue bd ready --limit=1 # If empty, something is blocked incorrectly
5. Priority Validation
# All priorities should be 0-4 bd list --json | jq '.[] | .priority' | sort -u
6. Issue Quality Check (NEW)
# Check all open issues have required sections python3 scripts/validate_beads.py --check-quality
Validates that issues are self-contained:
- Minimum length: Description > 100 characters
- Summary section: Overview, Goal, or clear opening statement
- Files section: Specific paths mentioned
- Steps section: Implementation steps (numbered list)
- Criteria section: Acceptance criteria or checkboxes
Script Usage
# After creating issues python3 scripts/validate_beads.py --check-created --prd docs/PRD.md # Before TDD python3 scripts/validate_beads.py --check-deps --check-ready # Check issue quality (for handoff) python3 scripts/validate_beads.py --check-quality # Full validation (all checks) python3 scripts/validate_beads.py --all --prd docs/PRD.md
Output:
## Beads Validation [PASS] PRD features: 4, Issues created: 4 [PASS] All dependency IDs exist [PASS] No circular dependencies [PASS] Ready queue has 1 issue (notes-abc) [PASS] All 4 open issues pass quality check [PASS] All priorities valid (0-4) Result: 6/6 checks passed
Quality check failure output:
## Beads Validation [WARN] 2/4 issues have quality problems Quality issues: task-abc: - Description too short (45 chars, need 100+) - Missing Acceptance Criteria section task-xyz: - Missing Files to Modify section
Common Issues
No Ready Issues
[FAIL] No issues ready to work on
Cause: All issues blocked by dependencies Fix: Check dependency chain, ensure at least one issue has no blockers
Missing Features
[WARN] PRD has 5 features, only 3 issues created
Fix: Create missing issues with
bd create
Invalid Dependency
[FAIL] Dependency notes-xyz does not exist
Fix: Check issue ID before
bd dep add
Circular Dependency
[FAIL] Circular dependency: A → B → C → A
Fix: Remove one dependency to break cycle
Low Quality Issue
[WARN] task-abc: Description too short (45 chars, need 100+) [WARN] task-abc: Missing Files to Modify section
Fix: Use
bd edit <id> --description and follow the template from beads-workflow/references/issue-template.md
Integration
Called automatically in:
→ After creating issuesrust-project-init.md
→ Phase 2.5: Before TDD loopship.md
→ Before handoff (Phase 5)beads-workflow