.claude/skills/curator-repo-learn/SKILL.md
Learn patterns from a specific GitHub repository. Clones, analyzes code structure, extracts patterns, populates procedural memory AND syncs to Obsidian vault for Graph View visualization. Use for: targeted learning from known quality repos, quick knowledge acquisition, specific pattern extraction. Triggers: /repo-learn, /curator-repo-learn, 'learn from repo'.
npx skillsauth add alfredolopez80/multi-agent-ralph-loop curator-repo-learnInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Single Repository Pattern Extraction - Learn from a specific GitHub repository.
Priorities (ordered): accuracy → relevance → speed → coverage
Scope: Clone repository, analyze structure, extract patterns, update procedural memory.
Optimal Scenario: B (Custom Subagents)
| Criterion | Weight | Score | Rationale | |-----------|--------|-------|-----------| | Coordination Need | 25% | 2/10 | Independent operation | | Specialization Need | 25% | 9/10 | Requires pattern recognition | | Quality Gate Need | 20% | 6/10 | Moderate validation needed | | Tool Restriction Need | 15% | 3/10 | Standard tools sufficient | | Scalability | 15% | 2/10 | Single repo focus | | Total | 100% | 5.2/10 | Scenario B optimal |
# Direct Subagent Spawn
Task(subagent_type="ralph-researcher", prompt="""
Analyze repository ${REPO_URL}:
1. Clone repository (shallow)
2. Detect domain and language
3. Scan for:
- Function/method patterns
- Class/interface definitions
- Configuration patterns
- Error handling patterns
- Testing patterns
4. Extract rules with:
- domain: <detected>
- category: <detected>
- confidence: 0.75-0.95
- source_repo: ${REPO_URL}
- source_file: <path>
5. Update .claude/rules/learned/ (MemPalace taxonomy)
6. Create manifest with files[] array
Return: patterns extracted, rules added, domain detected
""")
/repo-learn https://github.com/owner/repo
/repo-learn https://github.com/nestjs/nest --domain backend
/repo-learn https://github.com/vercel/next.js --lang typescript
┌─────────────────────────────────────────────────────────────┐
│ REPO-LEARN PIPELINE │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. VALIDATE URL │
│ ├── Check GitHub format │
│ └── Verify repository exists │
│ │
│ 2. CLONE REPOSITORY │
│ ├── Shallow clone (--depth 1) │
│ └── Store in .claude/corpus/learning/ │
│ │
│ 3. DETECT METADATA │
│ ├── Domain (backend, frontend, etc.) │
│ ├── Language (typescript, python, etc.) │
│ └── Framework indicators │
│ │
│ 4. SCAN FILES │
│ ├── Source files (*.ts, *.py, etc.) │
│ ├── Configuration files │
│ └── Documentation files │
│ │
│ 5. EXTRACT PATTERNS │
│ ├── Function signatures │
│ ├── Class structures │
│ ├── Import patterns │
│ ├── Error handling patterns │
│ └── Configuration patterns │
│ │
│ 6. CREATE RULES │
│ ├── rule_id: unique identifier │
│ ├── domain: detected or specified │
│ ├── category: sub-domain │
│ ├── confidence: 0.75-0.95 │
│ ├── source_repo: repository URL │
│ ├── source_file: file path │
│ └── behavior: pattern description │
│ │
│ 7. UPDATE PROCEDURAL MEMORY │
│ ├── Backup existing rules.json │
│ ├── Merge new rules (unique_by rule_id) │
│ └── Update manifest │
│ │
│ 8. CREATE MANIFEST (GAP-C01 FIX) │
│ ├── files[]: processed file list │
│ ├── patterns_extracted: count │
│ ├── detected_domain: domain │
│ └── detected_language: language │
│ │
└─────────────────────────────────────────────────────────────┘
Automatic domain detection from repository content:
# Domain Keywords
backend: api, server, rest, graphql, controller, service
frontend: react, vue, angular, component, hook, state
database: sql, query, schema, migration, orm, prisma
security: auth, jwt, token, encrypt, hash, csrf
testing: test, spec, jest, vitest, mock, coverage
devops: docker, kubernetes, ci, deploy, pipeline
hooks: hook, lifecycle, callback, trigger, event
general: config, util, helper, common, shared
{
"repository": "https://github.com/nestjs/nest",
"learned_at": "2026-02-14T22:00:00Z",
"detected_domain": "backend",
"detected_language": "typescript",
"files": [
"packages/core/nest-application.ts",
"packages/core/nest-factory.ts",
"packages/common/services/logger.service.ts"
],
"patterns_extracted": 12,
"rules_added": [
{
"rule_id": "rule-backend-1739566800-abc123",
"domain": "backend",
"category": "backend",
"source_repo": "https://github.com/nestjs/nest",
"source_file": "packages/core/nest-application.ts",
"behavior": "Classes: class NestApplication. Functions: async initialize, async dispose.",
"confidence": 0.85
}
]
}
| Error | Recovery | |-------|----------| | Invalid URL | Show usage, exit | | Repository not found | Suggest alternatives, exit | | Clone failure | Retry with different depth | | No patterns found | Log warning, return empty | | Rules merge failure | Restore from backup |
# Quick learning without full pipeline
/curator quick --repo owner/repo
# Full pipeline for comprehensive learning
/curator full --type backend --lang typescript
# Single repo learning (this skill)
/repo-learn https://github.com/owner/repo
/curator - Full pipeline (Scenario C)/smart-fork - Pattern extraction and forking/research - Repository research| File | Purpose |
|------|---------|
| .claude/scripts/curator-learn.sh | Pattern extraction (GAP-C01, GAP-C02 fixed) |
| .claude/scripts/curator-ingest.sh | Repository cloning |
| .claude/scripts/backfill-domains.sh | Domain backfill for existing rules |
| .claude/rules/learned/ | Procedural memory (MemPalace taxonomy) |
Esta skill genera reportes automáticos completos para trazabilidad:
Cuando esta skill completa, se genera automáticamente:
docs/actions/curator-repo-learn/{timestamp}.md.claude/metadata/actions/curator-repo-learn/{timestamp}.jsonCada reporte incluye:
# Listar todos los reportes de esta skill
ls -lt docs/actions/curator-repo-learn/
# Ver el reporte más reciente
cat $(ls -t docs/actions/curator-repo-learn/*.md | head -1)
# Buscar reportes fallidos
grep -l "Status: FAILED" docs/actions/curator-repo-learn/*.md
source .claude/lib/action-report-lib.sh
start_action_report "curator-repo-learn" "Task description"
# ... ejecución ...
complete_action_report "success" "Summary" "Recommendations"
Action Reports System - Documentación completa
action-report-lib.sh - Librería helper
action-report-generator.sh - Generador
Learning System Audit
Learning System Scenarios
development
Living knowledge base management. Actions: search (query vault), save (store learning), index (update indices), compile (raw->wiki->rules graduation), init (create vault structure). Follows Karpathy pipeline: ingest->compile->query. Use when: (1) searching accumulated knowledge, (2) saving learnings, (3) compiling raw notes into wiki, (4) initializing a new vault. Triggers: /vault, 'vault search', 'knowledge base', 'save learning'.
testing
Produce a verifiable technical specification before coding. 6 mandatory sections: Interfaces, Behaviors, Invariants (from Aristotle Phase 2), File Plan, Test Plan, Exit Criteria (executable bash commands + expected results). Use when: (1) before implementing features with complexity > 4, (2) as Step 1.5 in orchestrator workflow, (3) when requirements need formalization. Triggers: /spec, 'create spec', 'write specification', 'technical spec'.
testing
Pre-launch shipping checklist orchestrating /gates, /security, /browser-test, /perf. Ensures nothing ships without passing all quality checks. Use when: (1) before deploying, (2) before merging to main, (3) before release. Triggers: /ship, 'ship it', 'ready to deploy', 'pre-launch check'.
development
Performance optimization skill. Core Web Vitals via Lighthouse, bundle size analysis, metrics tracking over time. Use when: (1) optimizing frontend performance, (2) analyzing bundle size, (3) tracking metrics regression. Triggers: /perf, 'performance audit', 'core web vitals', 'bundle size'.