Agent Skill
2/7/2026parade-doctor
Diagnose and verify Parade project setup. Checks all required components and reports issues.
D
dot
1GitHub Stars
1Views
npx skills add dot-do/dotdo
SKILL.md
| Name | parade-doctor |
| Description | Diagnose and verify Parade project setup. Checks all required components and reports issues. |
name: parade-doctor description: Diagnose and verify Parade project setup. Checks all required components and reports issues.
Parade Doctor Skill
Purpose
Diagnose and verify Parade project setup. Checks all required components (directories, database, beads integration, skills, configuration) and reports health status with actionable recommendations.
When to Use
- After running
npx parade-initand/init-project - When something isn't working correctly
- To verify project health before starting work
- When debugging workflow issues
- User explicitly invokes
/parade-doctor
Diagnostic Checks
1. Directory Structure
.parade/exists.claude/exists.beads/existsproject.yamlexists
2. Database Health
discovery.dbexists (check both.parade/and root)- Database is readable
- Required tables exist:
briefs,specs,interview_questions,sme_reviews,workflow_events,agent_telemetry
3. Beads Integration
bdCLI is installed and in PATHbd listworks.beads/config.yamlexists and is valid
4. Skill Files
discover/SKILL.mdexistsapprove-spec/SKILL.mdexistsrun-tasks/SKILL.mdexistsretro/SKILL.mdexistsworkflow-status/SKILL.mdexistsinit-project/SKILL.mdexists
5. Configuration
project.yamlis valid YAML- Has required fields:
project.name,stacks - Optional fields:
design_system,agents.custom
Execution Flow
Step 1: Check Directory Structure
# Check required directories
if [ -d ".parade" ]; then
echo "✅ .parade/ directory"
else
echo "❌ .parade/ directory missing"
fi
if [ -d ".claude" ]; then
echo "✅ .claude/ directory"
else
echo "❌ .claude/ directory missing"
fi
if [ -d ".beads" ]; then
echo "✅ .beads/ directory"
else
echo "❌ .beads/ directory missing"
fi
if [ -f "project.yaml" ]; then
echo "✅ project.yaml"
else
echo "❌ project.yaml missing"
fi
Step 2: Check Database Health
# Find discovery.db location
if [ -f ".parade/discovery.db" ]; then
DISCOVERY_DB=".parade/discovery.db"
echo "✅ discovery.db found at .parade/discovery.db"
elif [ -f "./discovery.db" ]; then
DISCOVERY_DB="./discovery.db"
echo "⚠️ discovery.db found at project root (legacy location)"
else
echo "❌ discovery.db not found"
DISCOVERY_DB=""
fi
# Test database readability
if [ -n "$DISCOVERY_DB" ]; then
if sqlite3 "$DISCOVERY_DB" "SELECT 1;" >/dev/null 2>&1; then
echo "✅ Database readable"
else
echo "❌ Database corrupted or unreadable"
fi
# Check required tables
TABLES=$(sqlite3 "$DISCOVERY_DB" "SELECT name FROM sqlite_master WHERE type='table';")
REQUIRED_TABLES=("briefs" "specs" "interview_questions" "sme_reviews" "workflow_events" "agent_telemetry")
for table in "${REQUIRED_TABLES[@]}"; do
if echo "$TABLES" | grep -q "^$table$"; then
echo "✅ Table: $table"
else
echo "❌ Missing table: $table"
fi
done
fi
Step 3: Check Beads Integration
# Check bd CLI
if command -v bd >/dev/null 2>&1; then
BD_VERSION=$(bd --version 2>&1 || echo "unknown")
echo "✅ bd CLI installed (version $BD_VERSION)"
# Test bd list
if bd list --json >/dev/null 2>&1; then
echo "✅ bd list works"
else
echo "❌ bd list failed"
fi
else
echo "❌ bd CLI not installed"
fi
# Check beads config
if [ -f ".beads/config.yaml" ]; then
echo "✅ .beads/config.yaml exists"
# Validate YAML
if python3 -c "import yaml; yaml.safe_load(open('.beads/config.yaml'))" 2>/dev/null; then
echo "✅ config.yaml valid"
else
echo "⚠️ config.yaml may have syntax issues"
fi
else
echo "❌ .beads/config.yaml missing"
fi
Step 4: Check Skill Files
SKILLS=("discover" "approve-spec" "run-tasks" "retro" "workflow-status" "init-project")
for skill in "${SKILLS[@]}"; do
if [ -f ".claude/skills/$skill/SKILL.md" ]; then
echo "✅ $skill"
else
echo "❌ Missing: $skill"
fi
done
Step 5: Check Configuration
if [ -f "project.yaml" ]; then
# Validate YAML syntax
if python3 -c "import yaml; yaml.safe_load(open('project.yaml'))" 2>/dev/null; then
echo "✅ project.yaml valid YAML"
# Check required fields
if grep -q "name:" project.yaml; then
PROJECT_NAME=$(grep "name:" project.yaml | head -1 | sed 's/.*name: *//' | tr -d '"')
echo "✅ Project name: $PROJECT_NAME"
else
echo "❌ Missing: project.name"
fi
if grep -q "stacks:" project.yaml; then
echo "✅ stacks section defined"
else
echo "❌ Missing: stacks section"
fi
# Check optional fields
if grep -q "design_system:" project.yaml; then
echo "✅ design_system section defined"
else
echo "⚠️ Optional: design_system section (consider adding)"
fi
if grep -q "agents:" project.yaml && grep -q "custom:" project.yaml; then
echo "✅ Custom agents defined"
else
echo "⚠️ Optional: custom agents (not required)"
fi
else
echo "❌ project.yaml has syntax errors"
fi
fi
Output Format
🏥 Parade Doctor - Project Health Check
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Directory Structure:
✅ .parade/ directory
✅ .claude/ directory
✅ .beads/ directory
✅ project.yaml
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Database:
✅ discovery.db found at .parade/discovery.db
✅ Database readable
✅ Table: briefs
✅ Table: specs
✅ Table: interview_questions
✅ Table: sme_reviews
✅ Table: workflow_events
✅ Table: agent_telemetry
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Beads CLI:
✅ bd CLI installed (version 0.5.2)
✅ bd list works
✅ .beads/config.yaml exists
✅ config.yaml valid
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Skills:
✅ discover
✅ approve-spec
✅ run-tasks
✅ retro
✅ workflow-status
✅ init-project
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Configuration:
✅ project.yaml valid YAML
✅ Project name: "MyProject"
✅ stacks section defined
⚠️ Optional: design_system section (consider adding)
⚠️ Optional: custom agents (not required)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Health Score: 95% (23/24 checks passed)
Recommendations:
- Consider adding a design_system section to project.yaml
- All critical components are healthy!
Error Output Examples
Missing .parade/ Directory
❌ .parade/ directory missing
How to fix:
1. Run: npx parade-init
2. Follow the setup wizard
3. Run: /parade-doctor again
Missing discovery.db
❌ discovery.db not found
How to fix:
1. Ensure you've run /init-project
2. Or manually create: sqlite3 .parade/discovery.db ".databases"
3. Run any workflow skill (/discover) to initialize schema
bd CLI Not Installed
❌ bd CLI not installed
How to fix:
1. Install beads: npm install -g @beadlabs/beads-cli
2. Or via brew: brew install beads-cli
3. Verify: bd --version
Missing Skill Files
❌ Missing: discover
❌ Missing: approve-spec
How to fix:
1. Re-run: npx parade-init --repair
2. Or manually copy from parade-init package:
cp -r node_modules/@parade/init/.claude/skills/* .claude/skills/
Invalid project.yaml
❌ project.yaml has syntax errors
How to fix:
1. Validate YAML: cat project.yaml | python3 -c "import yaml, sys; yaml.safe_load(sys.stdin)"
2. Common issues: incorrect indentation, missing quotes
3. Re-run: /init-project to regenerate
Health Score Calculation
Total Checks:
- Directory Structure: 4 checks
- Database: 7 checks (1 location + 1 readable + 5 tables)
- Beads Integration: 4 checks
- Skills: 6 checks
- Configuration: 4 checks (2 required + 2 optional)
Score = (passed_checks / total_checks) * 100
Thresholds:
- 100%: Perfect health
- 90-99%: Good health (minor optional items missing)
- 70-89%: Degraded (some components missing)
- <70%: Critical (major components missing)
Implementation Notes
Shell Script vs. Direct Execution
Execute checks directly in bash for speed and reliability. Use Python only for YAML validation if available (graceful fallback if not).
Error Handling
- Use
2>/dev/null || trueto silence expected errors - Distinguish between "missing" vs "broken" components
- Provide specific, actionable error messages
Platform Compatibility
- Use POSIX-compliant bash commands
- Test on macOS, Linux, Windows (Git Bash)
- Gracefully handle missing utilities (python3, sqlite3)
Performance
All checks should complete in < 2 seconds. No network calls required.
Example Invocations
Healthy Project
User: /parade-doctor
Claude: Running health check...
🏥 Parade Doctor - Project Health Check
[All green checkmarks]
Health Score: 100% (28/28 checks passed)
Your Parade setup is perfect! Ready to start building.
Fresh Project (Missing beads)
User: /parade-doctor
Claude: Running health check...
🏥 Parade Doctor - Project Health Check
Directory Structure: ✅ (4/4)
Database: ✅ (7/7)
Beads CLI: ❌ (0/4)
❌ bd CLI not installed
Skills: ✅ (6/6)
Configuration: ✅ (4/4)
Health Score: 74% (21/28 checks passed)
Critical Issue:
Beads CLI is not installed. Install with:
npm install -g @beadlabs/beads-cli
After fixing, run /parade-doctor again.
Integration with Other Skills
/init-project
Should run /parade-doctor at the end to verify setup.
/discover, /approve-spec, /run-tasks
Can reference doctor output in error messages: "Database error detected. Run /parade-doctor to diagnose."
/workflow-status
Can show doctor summary in status output.
Future Enhancements
- Auto-repair mode:
/parade-doctor --fixattempts to fix common issues - Deep checks: Verify database schema versions, check for orphaned records
- Performance analysis: Check database size, index health
- Network checks: Verify beads sync connectivity (if remote backend)
- Skill validation: Parse SKILL.md files for required sections
- Git health: Check for unstaged changes, unpushed commits
Output
After successful execution:
- Console output with health check results
- Health score percentage
- Categorized check results (✅ pass, ❌ fail, ⚠️ warning)
- Actionable recommendations for any failures
- Exit code: 0 (healthy), 1 (warnings), 2 (critical issues)
Skills Info
Original Name:parade-doctorAuthor:dot
Download