Curator Pipeline Skill (v3.1.0)

SkillDocs & knowledge

Maintain the nmem knowledge base — a lint pass that hunts contradictions, duplicates, dead references, and expired entries, plus a synthesis pass that reports what changed and what is drifting. Use when the user says "lint my memory", "curate", "整理知识库", "nmem 维护", suspects memories have gone stale,

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Curator Pipeline Skill (v3.1.0) skill

What this skill tells your AI

The instructions your AI receives, as published by vaayne/agent-kit in skills/curator/SKILL.md and read by ahel’s review.

Full Autonomous Learning Pipeline - Discovers, scores, and learns from quality repositories.

Role & Priorities

Priorities (ordered): quality → coverage → relevance → performance → speed

Scope: Repository discovery, quality scoring, pattern extraction, procedural memory population.

Agent Teams Integration (v2.88)

Optimal Scenario: C (Integrated)

Why Scenario C for Curator

  • High coordination need: 5+ sequential pipeline stages
  • Quality gates required: Each stage needs validation before proceeding
  • Multi-tool operations: GitHub API, git, file processing, JSON manipulation
  • Scalability: Can process multiple repositories in parallel

Scenario Analysis

CriterionWeightScoreRationale
Coordination Need25%8/10Multi-stage pipeline requires orchestration
Specialization Need25%5/10General API/git skills sufficient
Quality Gate Need20%9/10Each stage needs validation
Tool Restriction Need15%3/10Needs broad tool access
Scalability15%8/10Can process many repos
Total100%6.9/10Scenario C optimal

Workflow (Scenario C)

# Integrated Team Workflow
TeamCreate(team_name="curator-pipeline", description="Learning from ${DOMAIN} repos")

# Stage 1: Discovery
Task(subagent_type="ralph-researcher", prompt="Search GitHub for ${DOMAIN} repositories")
→ Returns candidate list

# Stage 2: Scoring (parallel)
Task(subagent_type="ralph-reviewer", prompt="Score ${REPO_1} quality")
Task(subagent_type="ralph-reviewer", prompt="Score ${REPO_2} quality")
→ Returns quality scores

# Stage 3: Ranking
Team lead aggregates scores and selects top N

# Stage 4: Ingest & Learn (parallel)
Task(subagent_type="ralph-coder", prompt="Clone and extract patterns from ${TOP_REPO}")
→ Returns extracted patterns

# Stage 5: Quality Gate
TeammateIdle hook validates pattern quality
TaskCompleted hook verifies manifest population

# Stage 6: Injection
Procedural memory updated automatically

Pipeline Stages

1. Discovery (curator-discovery.sh)

# Search GitHub for repositories
--type <domain>    # backend, frontend, database, security, devops, testing
--lang <language>  # typescript, python, go, rust, java
--tier <tier>      # premium (1000+ stars), standard (500+), economic (100+)

Output: Candidate repository list with metadata.

2. Scoring (curator-scoring.sh)

Quality metrics:

  • Star count and trend
  • Recent commit activity
  • Documentation quality
  • Test coverage indicators
  • Organization reputation

Output: Scored repository list (0-100).

3. Ranking (curator-rank.sh)

# Select top repositories
--max <n>         # Maximum repos to process (default: 3)
--diversity       # Ensure organization diversity

Output: Ranked candidate list.

4. Ingest (curator-ingest.sh)

# Clone and prepare repositories
--clone-depth 1   # Shallow clone for efficiency

Output: Cloned repositories in corpus/pending/.

5. Approve (curator-approve.sh)

# Manual or automatic approval
--auto            # Auto-approve based on score threshold
--threshold 75    # Minimum score for auto-approval

Output: Repositories moved to corpus/approved/.

6. Learn (curator-learn.sh) - GAP FIXES v2.88

# Extract patterns and populate procedural memory
# GAP-C01 FIX: Manifest files[] now populated
# GAP-C02 FIX: Domain detection and assignment

Output:

  • Updated .claude/rules/learned/ (MemPalace taxonomy)
  • Manifest with files[] array
  • Domain-categorized rules

Commands

Full Pipeline

/curator full --type backend --lang typescript

Executes all stages: discovery → scoring → ranking → ingest → approve → learn.

Quick Pipeline

/curator quick --type security --lang python --repo owner/repo

Skips discovery, learns from specific repository.

Status Check

/curator status

Shows:

  • Approved repositories count
  • Rules per domain
  • Learning gaps

Configuration

// ~/.ralph/config/memory-config.json
{
  "curator": {
    "max_repos_per_run": 3,
    "min_stars": 100,
    "clone_depth": 1,
    "auto_approve_threshold": 75,
    "domains": ["backend", "frontend", "database", "security", "devops", "testing"]
  },
  "auto_learn": {
    "enabled": true,
    "blocking": false,
    "min_rules_domain": 3
  }
}

Quality Gates (v2.88)

StageGateFailure Action
DiscoveryResults > 0Retry with broader search
ScoringTop score >= 60Lower threshold or expand search
IngestClone successSkip repo, continue
LearnPatterns > 0Log warning, proceed

GAP Fixes Applied (v2.88)

GAP-C01: Manifest Files[] Population

Before:

{"files": [], "patterns_extracted": 0}

After:

{
  "files": ["src/handler.ts", "src/middleware.ts"],
  "patterns_extracted": 5,
  "detected_domain": "backend",
  "detected_language": "typescript"
}

GAP-C02: Domain Detection

Rules now automatically categorized:

  • Keyword analysis of repository content
  • File extension detection
  • Configuration file inspection

Related Skills

  • /curator-repo-learn - Single repository learning (Scenario B)
  • /repo-learn - Alias for curator-repo-learn
  • /smart-fork - Pattern extraction from external repos

Hooks Integration

HookTriggerPurpose
orchestrator-auto-learn.shPreToolUse (Task)Detect learning gaps
(removed in v3.0)UserPromptSubmit(curator-suggestion.sh deleted)
(removed by #69 Slice D)Stop(continuous-learning.sh deleted — extraction is explicit)
(removed by #69 Slice D)SessionEnd(vault-index-updater.sh deleted)

Action Reporting (v2.93.0)

Esta skill genera reportes automáticos completos para trazabilidad:

Reporte Automático

Cuando esta skill completa, se genera automáticamente:

  1. En la conversación de Claude: Resultados visibles
  2. En el repositorio: docs/actions/curator/{timestamp}.md
  3. Metadatos JSON: .claude/metadata/actions/curator/{timestamp}.json

Contenido del Reporte

Cada reporte incluye:

  • Summary: Descripción de la tarea ejecutada
  • Execution Details: Duración, iteraciones, archivos modificados
  • Results: Errores encontrados, recomendaciones
  • Next Steps: Próximas acciones sugeridas

Ver Reportes Anteriores

# Listar todos los reportes de esta skill
ls -lt docs/actions/curator/

# Ver el reporte más reciente
cat $(ls -t docs/actions/curator/*.md | head -1)

# Buscar reportes fallidos
grep -l "Status: FAILED" docs/actions/curator/*.md

Generación Manual (Opcional)

source .claude/lib/action-report-lib.sh
start_action_report "curator" "Task description"
# ... ejecución ...
complete_action_report "success" "Summary" "Recommendations"

Referencias del Sistema

Signals

GitHub stars
53
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
curator
Source
github.com/vaayne/agent-kit