← Back to Skills

gdd

Eibon7
Updated 2 days ago
23 views
0
View on GitHub
Othergeneral

About

The GDD skill loads minimal, issue-specific context for the Roastr.ai project by executing the FASE 0 workflow. It fragments the specification into specialized nodes and loads only the relevant ones instead of the entire spec, reducing context from over 100k tokens to under 15k. This requires verifying node synchronization before use to ensure the graph's information is current.

Quick Install

Claude Code

Recommended
Plugin CommandRecommended
/plugin add https://github.com/Eibon7/roastr-ai
Git CloneAlternative
git clone https://github.com/Eibon7/roastr-ai.git ~/.claude/skills/gdd

Copy and paste this command in Claude Code to install this skill

Documentation

GDD 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:

  1. Run: node scripts/auto-repair-gdd.js --auto-fix
  2. Validate: node scripts/validate-gdd-runtime.js --full
  3. 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: score-gdd-health.js --ci (β‰₯87 required)

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 area:* labels

    • area:auth β†’ auth-system
    • area:billing β†’ cost-control
    • area:frontend β†’ frontend-layer
    • (etc., see full mapping in script output)
  • Fallback: If no area:* label, use keyword detection in title/body

    • "login", "registro" β†’ auth-system
    • "queue", "worker" β†’ queue-system
    • "shield", "moderation" β†’ shield-system
    • (etc.)
  • 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: gh issue list --state open to see available issues

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:

  1. gh issue view 408 --json labels,title,body,number
  2. Count AC β†’ 5 criteria β†’ Invoke Task Assessor Agent
  3. Read docs/patterns/coderabbit-lessons.md
  4. Detect labels: area:auth, priority:P1
  5. node scripts/resolve-graph.js auth-system
  6. Load resolved nodes: auth-system, database-layer, api-layer
  7. 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.js, scripts/validate-gdd-runtime.js

You are now ready to load GDD context. Wait for user to provide issue number.

GitHub Repository

Eibon7/roastr-ai
Path: .claude/skills/gdd

Related Skills

subagent-driven-development

Development

This skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.

View skill

algorithmic-art

Meta

This Claude Skill creates original algorithmic art using p5.js with seeded randomness and interactive parameters. It generates .md files for algorithmic philosophies, plus .html and .js files for interactive generative art implementations. Use it when developers need to create flow fields, particle systems, or other computational art while avoiding copyright issues.

View skill

executing-plans

Design

Use the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.

View skill

cost-optimization

Other

This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.

View skill