Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

RFC-007 — Skill distillation: download → wiki → Claude skill

  • Status: Draft
  • Authors: @yiidtw
  • Created: 2026-07-12
  • Related: SPEC.md “Pipeline” section, RFC-004 (reference self wiki), amem-clipper#3 (Paste Board)

TL;DR

amem Clipper’s positioning is a three-step pipeline: download the resource the user is reading/watching (web page, video) → compile it into an Obsidian vault (personal wiki, knowledge graph) → distill recurring procedural knowledge into Claude skills.

Steps 1–2 ship today. This RFC defines step 3: when a cluster of wiki nodes qualifies for distillation, how the compile works, and the guardrails that keep the skill list from drowning in junk.

Corrected 2026-08-11 (competitor scan). The original claim here — “every clipper competitor stops at storage; nobody closes the loop into agent capability” — is now half wrong, and the surviving half is narrower:

  • Closing the loop to agent access is a red ocean. LLM Wiki ships a bundled MCP server plus a published llm_wiki_skill installable with npx skills add; SiYuan, Karakeep, and basic-memory all serve MCP too. Claiming nobody reaches agent capability is false.
  • Compiling captured knowledge into new skills is still unclaimed. Every one of those, verified by reading their source, consumes hand-written SKILL.md files — none generates one from what the user captured.

So the moat is not “step 3”; it is the automatic generation half of step 3. Write it that way externally, because the wider claim does not survive contact with LLM Wiki.

Three-tier semantics

TierKind of knowledgeAgent usage
wiki nodedeclarative — “what is X”storage substrate
MCP recallreference — search + cite with provenanceon-demand lookup
skillprocedural — “how to do X”auto-triggered reflex

Distillation is selective. Of ~100 captures, maybe 3 clusters represent a repeatable workflow worth compiling; the other 97 stay reference material served via amem_recall. Compiling everything would pollute skill discovery and destroy trigger accuracy.

Qualification criteria (what makes a cluster skill-worthy)

A node cluster qualifies for distillation when ALL of:

  1. Procedural — the nodes describe steps/commands/decision rules, not just facts. Heuristic: imperative verbs, numbered steps, code blocks with commands (not just definitions).
  2. Recurring — signal that this workflow repeats:
    • ≥3 captures in the same topic cluster, OR
    • the same nodes surfaced in ≥3 distinct amem_recall queries, OR
    • the user explicitly says so.
  3. Self-contained — the distilled skill can execute from its own text + linked wiki nodes, without the original page being live.

v1 trigger is explicit only: amem compile-skill <cluster> (MCP tool + CLI). Auto-suggestion (“these 4 nodes look like a workflow — distill?”) is a later phase; auto-compilation without a human in the loop is a non-goal.

Compile output

~/.claude/skills/<slug>/SKILL.md     # or project .claude/skills/ when scoped
  • Frontmatter name + description follow skill-creator conventions (description states WHEN to trigger, with 中英 keywords the user actually says).
  • Body: distilled procedure, NOT a paste of the source nodes.
  • Provenance footer is mandatory: wikilinks back to the source ~/.amem/wiki/<node_id>.md nodes + original URLs. A skill whose sources died should be auditable and re-verifiable (amem_factcheck tie-in).

Guardrails

  1. Skill budget — warn when distilled skills exceed ~20; force review of the least-triggered before adding more.
  2. No secrets — compile refuses content matching credential patterns; vault references (vault get KEY) instead of literals.
  3. Eval before install — run the eval/skill-creator grader on the generated SKILL.md; below-threshold output lands as a draft in the wiki, not in ~/.claude/skills/.
  4. Idempotent recompile — re-running on the same cluster updates the existing skill (matched by provenance), never duplicates.

Video capture (step 1 scope note)

“Download” for video = transcript + key frames, not the media file: storage, copyright, and yt-dlp maintenance all argue against full downloads, and the agent consumes the text layer anyway. Full-media archival is a non-goal.

Acceptance

  • amem compile-skill <cluster> MCP tool + CLI verb
  • Qualification check (procedural + recurring + self-contained) with human-readable rejection reasons
  • SKILL.md output with provenance footer, eval-gated install
  • Idempotent recompile on provenance match
  • E2E: 3 captures on one workflow → compile → new skill triggers in a fresh Claude Code session

Non-goals

  • Auto-compiling every capture into a skill (junk-pollution failure mode)
  • Full video/media archival
  • Distilling from sources the user hasn’t captured (that’s the frontier model’s own knowledge, not amem’s)