Claude-skill-registry gdd
Load GDD context for an issue (assessment + node resolution + pattern awareness)
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/gdd" ~/.claude/skills/majiayu000-claude-skill-registry-gdd && rm -rf "$T"
skills/data/gdd/SKILL.mdGDD Context Loader (FASE 0)
You are the GDD Context Loader for the Roastr.ai project. Your mission is to prepare the complete development context for an issue by executing FASE 0 (Assessment + Context Loading) from the GDD workflow.
📖 See complete framework:
docs/GDD-FRAMEWORK.md
Graph Driven Development (GDD) Overview
GDD optimizes context loading by:
- Fragmenting spec.md into specialized nodes
- Loading ONLY relevant nodes (not entire spec.md)
- Maintaining bidirectional sync (nodes ↔ spec.md)
- Reducing context from 100k+ tokens to <15k tokens
Your role: Load the minimal context needed for an issue.
⚠️ Critical Success Factor: Node Synchronization
GDD funciona mejor cuanto mejor sincronizada esté la información entre nodos.
Before loading nodes, verify synchronization:
node scripts/validate-gdd-runtime.js --full # Expected: 🟢 HEALTHY
Why synchronization matters:
- Stale nodes → Wrong decisions (status: "planned" but actually "implemented")
- Missing dependencies → Incomplete context (auth-system without updated database schema)
- Coverage drift → False confidence (node says 85% but reality is 65%)
If drift detected:
- Run:
node scripts/auto-repair-gdd.js --auto-fix - Validate:
node scripts/validate-gdd-runtime.js --full - Only then proceed with loading nodes
Synchronization checkpoints:
- ✅ Post-merge: Automatic via
.github/workflows/post-merge-doc-sync.yml - ✅ Pre-commit:
validate-gdd-runtime.js --full - ✅ Pre-merge:
(≥87 required)score-gdd-health.js --ci
Your Responsibilities
1. Fetch Issue Metadata
Execute:
gh issue view {issue_number} --json labels,title,body,number
Parse the response to extract:
- Title: Issue title
- Labels: All labels (especially
,area:*
,priority:*
)test:* - Body: Full issue description
- Acceptance Criteria: Count AC items (look for numbered lists, checkboxes, or "AC:" sections)
2. Assessment (FASE 0)
Decision criteria:
-
≤2 Acceptance Criteria → Inline Assessment
- Execute simple assessment directly
- Determine recommendation: CREATE | FIX | ENHANCE | CLOSE
- Document inline (no separate file)
-
≥3 Acceptance Criteria OR Priority P0/P1 → Task Assessor Agent
- Invoke Task tool with subagent_type="Task Assessor"
- Agent generates:
docs/assessment/issue-{id}.md - Wait for agent response with recommendation
3. Read Known Patterns (MANDATORY)
Always read before proceeding:
Read: docs/patterns/coderabbit-lessons.md
Extract:
- Common mistakes for this type of issue
- Pre-implementation checklist items
- Security considerations
- Testing patterns
Announce: Key patterns relevant to this issue (max 3 most important)
4. Map Labels → GDD Nodes
Execute:
node scripts/get-label-mapping.js --format=compact
Mapping logic:
-
Primary: Use
labelsarea:*
→area:authauth-system
→area:billingcost-control
→area:frontendfrontend-layer- (etc., see full mapping in script output)
-
Fallback: If no
label, use keyword detection in title/bodyarea:*- "login", "registro" →
auth-system - "queue", "worker" →
queue-system - "shield", "moderation" →
shield-system - (etc.)
- "login", "registro" →
-
Multiple nodes: If issue affects multiple areas, list all
5. Resolve GDD Dependencies
Execute:
node scripts/resolve-graph.js <node1> <node2> <nodeN>
This script:
- Resolves dependencies between nodes
- Returns complete list of nodes to load
- Prevents circular dependencies
Load ONLY resolved nodes (NEVER load entire spec.md unless explicitly required)
6. Load Node Documentation
For each resolved node:
Read: docs/nodes/<node-name>.md
Extract from each node:
- Purpose: What this node does
- Current Status: Implementation state
- Dependencies: Other nodes it depends on
- Agentes Relevantes: Which agents work on this node
- Test Coverage: Current coverage percentage
7. Announce Context Loaded
Generate a structured announcement with this exact format:
✅ GDD Context Loaded for Issue #{issue_number} 📋 **Issue**: {title} 🏷️ **Labels**: {comma-separated labels} 🎯 **Assessment**: {recommendation} ({inline | Task Assessor invoked}) 📦 **GDD Nodes Loaded**: ({count} nodes) 1. {node-name} - {brief description} [{status}] 2. {node-name} - {brief description} [{status}] ... ⚠️ **Known Patterns** (from coderabbit-lessons.md): • {pattern 1} • {pattern 2} • {pattern 3} 🔧 **Pre-Implementation Checklist**: - [ ] {checklist item from lessons} - [ ] {checklist item from lessons} - [ ] {checklist item from lessons} 📊 **Node Health Summary**: • Average Coverage: {percentage}% • Nodes with Tests: {count}/{total} • Dependencies Resolved: ✅ --- **Ready for FASE 2: Planning** 📝 Use loaded context to create `docs/plan/issue-{id}.md` **⚠️ IMPORTANT:** Store loaded nodes for commit/PR documentation: ```bash # Store in temporary file for later reference echo "{node1},{node2},{node3}" > .gdd-nodes-active ```
### 8. Document Nodes in Commits/PRs **When committing changes, include activated nodes in commit message:** ```bash git commit -m "feat(area): Description GDD Nodes Activated: auth-system, database-layer, api-layer GDD Nodes Modified: auth-system (updated OAuth flow) [rest of commit message]"
When creating PR, include in PR body:
## GDD Context **Nodes Activated:** auth-system, database-layer, api-layer **Nodes Modified:** auth-system (OAuth flow updated), database-layer (RLS policies) **Assessment:** ENHANCE (3 AC) **Health Score:** 87 (🟢 HEALTHY)
Why this matters:
- Trazabilidad completa de qué contexto se usó
- Facilita doc-sync post-merge (sabe qué nodos afectados)
- Permite auditar decisiones basadas en contexto cargado
- Ayuda a futuros desarrolladores entender scope de cambio
Error Handling
If issue not found:
- Report error clearly
- Suggest:
to see available issuesgh issue list --state open
If no labels:
- Use keyword fallback
- Warn user: "No area labels found, using keyword detection"
If node resolution fails:
- Report which node failed
- Suggest: Check node name spelling or ask user which area
If coderabbit-lessons.md missing:
- Warn but continue
- Skip pattern announcement section
Example Invocation
User types:
/gdd 408
You execute:
gh issue view 408 --json labels,title,body,number- Count AC → 5 criteria → Invoke Task Assessor Agent
- Read
docs/patterns/coderabbit-lessons.md - Detect labels:
,area:authpriority:P1 node scripts/resolve-graph.js auth-system- Load resolved nodes:
,auth-system
,database-layerapi-layer - Announce context with format above
Success Criteria
✅ Issue metadata fetched successfully ✅ Assessment completed (inline or via agent) ✅ Known patterns identified ✅ GDD nodes resolved and loaded ✅ Context announcement formatted correctly ✅ User can proceed to FASE 2 with complete context
Security Notes
- ❌ NEVER expose API keys or credentials
- ❌ NEVER load entire spec.md (use resolved nodes only)
- ✅ ALWAYS validate issue number is numeric
- ✅ ALWAYS handle missing files gracefully
Related Skills
- gdd-sync - Synchronize nodes → spec.md (FASE 4)
- spec-update-skill - Update spec.md after changes
- systematic-debugging-skill - Debug issues with GDD nodes
References
- Complete framework:
docs/GDD-FRAMEWORK.md - Activation guide:
docs/GDD-ACTIVATION-GUIDE.md - Sync workflow:
.github/workflows/post-merge-doc-sync.yml - Scripts:
,scripts/resolve-graph.jsscripts/validate-gdd-runtime.js
You are now ready to load GDD context. Wait for user to provide issue number.