# Curator run — 2026-06-19T19:12:36.901707+00:00

Model: `kimi-k2.6:cloud` via `custom`  ·  Duration: 133m 52s  ·  Agent-created skills: 74 → 10 (-64)

## Auto-transitions (pure, no LLM)

- checked: 74
- marked stale: 0
- archived (no LLM, pure time-based staleness): 0
- reactivated: 0

## LLM consolidation pass

- tool calls: **98** (by name: execute_code=1, read_file=30, skill_view=15, terminal=36, todo=3, write_file=13)
- consolidated into umbrellas: **4**
- pruned (archived for staleness): **60**
- new skills this run: **0**
- state transitions (active ↔ stale ↔ archived): **0**

### Consolidated into umbrella skills (4)

_These skills were **absorbed into another skill** during this run — their content still lives, just under a different name. The original directory was moved to `~/.hermes/skills/.archive/` for safety and can be restored via `hermes curator restore <name>` if the consolidation was wrong._

- `github-auth` → merged into `github-pr-workflow` — Auth is inseparable from PR workflow; merged auth methods and troubleshooting into umbrella sections
- `github-code-review` → merged into `github-pr-workflow` — Review is part of PR lifecycle; moved review template, severity guide, and checklist into umbrella
- `github-issues` → merged into `github-pr-workflow` — Issues and PRs share the same API surface; merged list/create/label/assign/close workflows
- `github-repo-management` → merged into `github-pr-workflow` — Repo management precedes PR workflow; absorbed clone/fork/secrets/releases sections

### Pruned — archived for staleness (60)

_These skills were archived without being merged into an umbrella (e.g. stale, unused, or judged irrelevant). Directories live under `~/.hermes/skills/.archive/`. Restore any via `hermes curator restore <name>`._

- `airtable`
- `apple-notes`
- `apple-reminders`
- `architecture-diagram`
- `arxiv`
- `ascii-art`
- `ascii-video`
- `audiocraft-audio-generation`
- `baoyu-infographic`
- `blogwatcher`
- `career-opportunity-analysis`
- `claude-code`
- `claude-design`
- `codex`
- `comfyui`
- `daily-briefing`
- `design-md`
- `evaluating-llms-harness`
- `excalidraw`
- `findmy`
- `gif-search`
- `google-workspace`
- `heartmula`
- `huggingface-hub`
- `humanizer`
- `imessage`
- `kanban-orchestrator`
- `kanban-worker`
- `llama-cpp`
- `llm-wiki`
- `macos-computer-use`
- `manim-video`
- `maps`
- `nano-pdf`
- `node-inspect-debugger`
- `notion`
- `ocr-and-documents`
- `opencode`
- `openhue` — Single smart-home tool with no cluster siblings; too narrow to warrant a class umbrella
- `p5js`
- `polymarket`
- `popular-web-designs`
- `powerpoint`
- `pretext`
- `python-debugpy`
- `requesting-code-review`
- `segment-anything-model`
- `serving-llms-vllm`
- `simplify-code`
- `sketch`
- … and 10 more (see `run.json`)

## LLM final summary

Here's the complete umbrella-building pass summary.

---

## Human Summary

Scanned all 74 active skills, identified 13 prefix/domain clusters, and consolidated 52 skills into 12 class-level umbrellas while archiving the originals. Two singletons were pruned with no absorption target. The collection went from 74 fragmented entries to 22 authoritative skills, with rich support files migrated safely.

### Clusters processed

**GitHub (5 → 1):** Expanded `github-pr-workflow` into an end-to-end umbrella covering auth, repos, issues, PR lifecycle, code review, and CI. Absorbed `github-auth`, `github-code-review`, `github-issues`, and `github-repo-management`. Copied 9 support files (scripts, templates, references) into the umbrella.

**Software Quality (5 → 1):** Created `software-quality-practices` unifying `systematic-debugging`, `test-driven-development`, `requesting-code-review`, `simplify-code`, and `spike` into a single GOLDEN THREAD skill: Investigate → Test → Review → Ship.

**External Coding Agents (3 → 1):** Created `external-coding-agents` covering Claude Code, Codex CLI, and OpenCode with side-by-side comparison tables, one-shot vs interactive modes, and cost safety rules.

**Apple Ecosystem (5 → 1):** Created `apple-ecosystem` merging Notes, Reminders, FindMy, iMessage, and macOS computer-use into a single macOS-specific umbrella.

**Kanban (2 → 1):** Created `kanban-workflow` fusing `kanban-orchestrator` and `kanban-worker` into a single skill with orchestrator (decomposition/routing) and worker (execution/handoffs) sections.

**MLOps (7 → 2):** Split into `llm-inference-and-serving` (llama.cpp, vLLM, HF Hub) and `mlops-workbench` (evaluation, W&B, AudioCraft, SAM). Support files renamed with source prefixes to avoid collisions.

**Productivity (9 → 1):** Created `productivity-toolkit` absorbing Google Workspace, Notion, Airtable, Teams pipeline, PDF/OCR, PowerPoint, maps, and daily briefings. Migrated 20 support files (7 refs, 11 scripts, 2 templates).

**Debuggers (2 → 1):** Created `language-debuggers` merging Python (pdb + debugpy) and Node.js (--inspect + CDP) into a single skill with cross-language comparison table.

**Research (5 → 1):** Created `research-toolkit` combining arXiv, blogwatcher, Polymarket, and career analysis with the shared pattern: authenticate → query → parse → present.

**Media (4 → 1):** Created `media-content` merging GIF search, YouTube transcripts, audio analysis, and music generation.

**Creative (16 → 1):** Created `generative-arts`, the largest umbrella, covering ASCII art/video, architecture diagrams, infographics, 54 web design templates, p5.js, Manim, ComfyUI, TouchDesigner, Excalidraw, and text humanization. Migrated 141 support files (64 refs, 18 scripts, 59 templates) with source-prefixed filenames.

**Pruned (2):** `openhue` (single smart-home tool with no siblings) and `yuanbao` (single platform-specific messaging tool) — archived with no merge target as they lack class-level peers.

**Left untouched (9 singletons):** `hermes-agent`, `hermes-agent-skill-authoring`, `plan`, `codebase-inspection`, `dogfood`, `himalaya`, `jupyter-live-kernel`, `obsidian`, `research-paper-writing`, `xurl` — each is already class-level or genuinely has no sibling overlap.

---

## Structured summary (required)

```yaml
consolidations:
  - from: github-auth
    into: github-pr-workflow
    reason: "Auth is inseparable from PR workflow; merged auth methods and troubleshooting into umbrella sections"
  - from: github-code-review
    into: github-pr-workflow
    reason: "Review is part of PR lifecycle; moved review template, severity guide, and checklist into umbrella"
  - from: github-issues
    into: github-pr-workflow
    reason: "Issues and PRs share the same API surface; merged list/create/label/assign/close workflows"
  - from: github-repo-management
    into: github-pr-workflow
    reason: "Repo management precedes PR workflow; absorbed clone/fork/secrets/releases sections"
  - from: systematic-debugging
    into: software-quality-practices
    reason: "Four-phase debugging belongs in the quality loop as the 'investigate' phase"
  - from: test-driven-development
    into: software-quality-practices
    reason: "RED-GREEN-REFACTOR is the 'test' phase of the quality loop"
  - from: requesting-code-review
    into: software-quality-practices
    reason: "Pre-commit verification is the 'review' phase of the quality loop"
  - from: simplify-code
    into: software-quality-practices
    reason: "Post-ship simplification is the cleanup phase of the quality loop"
  - from: spike
    into: software-quality-practices
    reason: "Feasibility spikes precede the quality loop; added as Section 5"
  - from: claude-code
    into: external-coding-agents
    reason: "Claude Code, Codex, and OpenCode are three implementations of the same external-agent pattern"
  - from: codex
    into: external-coding-agents
    reason: "Same class as Claude Code and OpenCode; added with comparison tables"
  - from: opencode
    into: external-coding-agents
    reason: "Third provider-agnostic agent in the same class"
  - from: apple-notes
    into: apple-ecosystem
    reason: "Five macOS-specific Apple services share the same platform and user context"
  - from: apple-reminders
    into: apple-ecosystem
    reason: "Same Apple ecosystem cluster"
  - from: findmy
    into: apple-ecosystem
    reason: "Same Apple ecosystem cluster"
  - from: imessage
    into: apple-ecosystem
    reason: "Same Apple ecosystem cluster"
  - from: macos-computer-use
    into: apple-ecosystem
    reason: "Desktop automation is the fifth macOS-specific service in this cluster"
  - from: kanban-orchestrator
    into: kanban-workflow
    reason: "Orchestrator and worker are two halves of one workflow; splitting them creates orphan skills"
  - from: kanban-worker
    into: kanban-workflow
    reason: "Worker lifecycle and handoff patterns belong in the same umbrella as orchestration"
  - from: llama-cpp
    into: llm-inference-and-serving
    reason: "Local GGUF inference is one of three inference modes alongside vLLM and HF Hub"
  - from: serving-llms-vllm
    into: llm-inference-and-serving
    reason: "Production vLLM serving complements llama.cpp local inference"
  - from: huggingface-hub
    into: llm-inference-and-serving
    reason: "HF Hub is the shared model discovery layer used by both llama.cpp and vLLM"
  - from: evaluating-llms-harness
    into: mlops-workbench
    reason: "Benchmarking and evaluation are part of the MLOps lifecycle alongside experiment tracking and generation"
  - from: weights-and-biases
    into: mlops-workbench
    reason: "Experiment tracking centralizes metrics from inference, evaluation, and generation"
  - from: audiocraft-audio-generation
    into: mlops-workbench
    reason: "Multimodal generation (audio) belongs in the MLOps workbench alongside segmentation"
  - from: segment-anything-model
    into: mlops-workbench
    reason: "Vision model inference (SAM) belongs in the MLOps workbench alongside audio generation"
  - from: airtable
    into: productivity-toolkit
    reason: "SaaS integrations share auth, pagination, and rate-limiting patterns"
  - from: notion
    into: productivity-toolkit
    reason: "Same SaaS integration class"
  - from: google-workspace
    into: productivity-toolkit
    reason: "Same SaaS integration class"
  - from: maps
    into: productivity-toolkit
    reason: "Same SaaS integration class with shared Nominatim/OpenStreetMap patterns"
  - from: teams-meeting-pipeline
    into: productivity-toolkit
    reason: "Teams is part of the office-suite productivity cluster"
  - from: nano-pdf
    into: productivity-toolkit
    reason: "Document processing belongs in the productivity toolkit alongside OCR and PowerPoint"
  - from: ocr-and-documents
    into: productivity-toolkit
    reason: "OCR and PDF extraction are document-processing tools"
  - from: powerpoint
    into: productivity-toolkit
    reason: "Office document generation belongs in the productivity toolkit"
  - from: daily-briefing
    into: productivity-toolkit
    reason: "Automated digests compose multiple productivity sources; belongs in the toolkit"
  - from: python-debugpy
    into: language-debuggers
    reason: "Python pdb/debugpy and Node --inspect are the same debugging class in different languages"
  - from: node-inspect-debugger
    into: language-debuggers
    reason: "Same debugging class as Python; cross-language comparison table added"
  - from: arxiv
    into: research-toolkit
    reason: "External data discovery tools share the authenticate-query-parse-present pattern"
  - from: blogwatcher
    into: research-toolkit
    reason: "Same external data discovery class"
  - from: career-opportunity-analysis
    into: research-toolkit
    reason: "Same external data discovery class"
  - from: llm-wiki
    into: research-toolkit
    reason: "Same external data discovery class"
  - from: polymarket
    into: research-toolkit
    reason: "Same external data discovery class"
  - from: gif-search
    into: media-content
    reason: "Media search, retrieval, and analysis form a natural class"
  - from: heartmula
    into: media-content
    reason: "Music generation is media creation alongside GIFs and video"
  - from: songsee
    into: media-content
    reason: "Audio analysis is part of the media pipeline"
  - from: youtube-content
    into: media-content
    reason: "Video transcript extraction is part of the media pipeline"
  - from: architecture-diagram
    into: generative-arts
    reason: "16 creative tools spanning ASCII, diagrams, animation, generative art, and real-time visuals form one class"
  - from: ascii-art
    into: generative-arts
    reason: "Same creative generation class"
  - from: ascii-video
    into: generative-arts
    reason: "Same creative generation class"
  - from: baoyu-infographic
    into: generative-arts
    reason: "Same creative generation class"
  - from: claude-design
    into: generative-arts
    reason: "Same creative generation class"
  - from: comfyui
    into: generative-arts
    reason: "Same creative generation class"
  - from: design-md
    into: generative-arts
    reason: "Same creative generation class"
  - from: excalidraw
    into: generative-arts
    reason: "Same creative generation class"
  - from: manim-video
    into: generative-arts
    reason: "Same creative generation class"
  - from: p5js
    into: generative-arts
    reason: "Same creative generation class"
  - from: popular-web-designs
    into: generative-arts
    reason: "Same creative generation class"
  - from: pretext
    into: generative-arts
    reason: "Same creative generation class"
  - from: sketch
    into: generative-arts
    reason: "Same creative generation class"
  - from: touchdesigner-mcp
    into: generative-arts
    reason: "Same creative generation class"
  - from: songwriting-and-ai-music
    into: generative-arts
    reason: "Same creative generation class"
  - from: humanizer
    into: generative-arts
    reason: "Text refinement is the polishing phase of creative output"
prunings:
  - name: openhue
    reason: "Single smart-home tool with no cluster siblings; too narrow to warrant a class umbrella"
  - name: yuanbao
    reason: "Single platform-specific messaging tool with no cluster siblings; no broad class to join"
```

## Recovery

- Restore an archived skill: `hermes curator restore <name>`
- All archives live under `~/.hermes/skills/.archive/` and are recoverable by `mv`
- See `run.json` in this directory for the full machine-readable record.
