Skip to content
Documentation
Skill

/curate

Review pending Wenlan captures, revisions, or daemon refinements from Codex. Use for explicit audit walks after /brief or /handoff surfaces pending work. Invoked as /curate captures, /curate revisions, or /curate refinements.

From plugin
wenlan
6415 skills3 agents1 MCP
Install
$ npx -y skills add 7xuanlu/wenlan --skill curate --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/curate

Context preview

The summary Claude sees to decide when to auto-load this skill.

Review pending Wenlan captures, revisions, or daemon refinements from Codex. Use for explicit audit walks after /brief or /handoff surfaces pending work. Invoked as /curate captures, /curate revisions, or /curate refinements.

SKILL.md

curate.SKILL.md
name: curate
description: >
  Review pending Wenlan captures, revisions, or daemon refinements from Codex.
  Use for explicit audit walks after /brief or /handoff surfaces pending work.
  Invoked as /curate captures, /curate revisions, or /curate refinements.
argument-hint: "captures | revisions | refinements"
allowed-tools: ["Bash", "mcp__wenlan__list_pending", "mcp__wenlan__confirm_memory", "mcp__wenlan__forget", "mcp__wenlan__capture", "mcp__wenlan__recall", "mcp__wenlan__list_refinements", "mcp__wenlan__accept_refinement", "mcp__wenlan__reject_refinement"]
user-invocable: true

/curate

Power-user audit of Wenlan pending surfaces. Daily flow should stay light: `/brief` shows the top pending revisions and `/handoff` previews recent pending captures. Use `/curate` only when the user asks to walk the queue.

Safety protocol

Perform no mutation until the user replies. Ambiguous replies do not mutate. Cancellation, no reply, or unclear syntax is a no-op.

Render at most four items at a time. Number every item. Ask for explicit action syntax:

1 accept
2 dismiss
3 skip
4 edit: <replacement text>

Do not rely on hidden pagination state across turns. After applying a batch, re-list before showing another batch.

`/curate revisions`

Use the local CLI, not MCP, because revision actions must key on the exact `revision_source_id`.

Resolve `wenlan`:

if command -v wenlan >/dev/null 2>&1; then
  W="$(command -v wenlan)"
elif [ -x "$HOME/.wenlan/bin/wenlan" ]; then
  W="$HOME/.wenlan/bin/wenlan"
else
  echo "wenlan not found"
  exit 127
fi
"$W" --format json curate

If `wenlan` is missing, tell the user to run `/setup`.

The JSON array contains:

  • `revision_source_id`: staged revision id; action key for accept/dismiss.
  • `target_source_id`: original memory id; context only.
  • `content`: revised text.
  • `source_agent`: proposer.
  • `original`: current text when available.
  • `diff`: ready-made OLD/NEW preview when available.

Render up to four revisions:

Pending revisions:

1. revision_source_id: <rev_id>
   target: <target_source_id>
   proposed: "<content>"
   diff:
   <diff or "(original unavailable)">

Reply with: 1 accept, 1 dismiss, 1 skip

Apply only explicit actions:

"$W" curate accept <revision_source_id>
"$W" curate dismiss <revision_source_id>

`accept` replaces the original memory with that named revision. `dismiss` unstages the false revision link and keeps both memories as independent rows. `skip` does nothing.

`/curate captures`

If the user names a space, parse `space:<name>` and pass it to `mcp__wenlan__list_pending`. Otherwise leave `space` off so the audit covers all pending captures.

Call:

mcp__wenlan__list_pending(limit=50, space="<only when user named one>")

Render up to four:

Pending captures:

1. <source_id>  <memory_type>  <source_agent>
   "<content>"

Reply with: 1 accept, 1 reject, 1 skip, 1 edit: <replacement text>

Apply only explicit actions:

  • `accept`: `mcp__wenlan__confirm_memory(memory_id="<source_id>")`
  • `reject`: `mcp__wenlan__forget(memory_id="<source_id>")`
  • `skip`: no call
  • `edit: <replacement>`:

1. `mcp__wenlan__capture(content="<replacement>", supersedes="<source_id>")` 2. `mcp__wenlan__forget(memory_id="<source_id>")` — skip this step if the capture response says `gated: true`; the edit was staged for review instead of applied, the original is still the live version, and the user should be told the correction is waiting on approval.

Reject and edit delete the original pending capture, so require the numbered item and action verb in the same reply.

`/curate refinements`

Use `/curate refinements` only when the user explicitly asks to inspect or review the daemon proposal/refinement queue. Never poll the refinement queue ambiently.

List first with `mcp__wenlan__list_refinements(limit=50)` and show at most four items. Include each proposal id, action, confidence, and a bounded payload summary. The queue includes `vocab_promote` proposals.

Perform no mutation until the user gives an unambiguous item-level accept or reject decision. Apply only numbered item decisions:

  • `accept`: `mcp__wenlan__accept_refinement(id="<proposal-id>")`

(include `space` for `cross_space_discovery`).

  • `reject`: `mcp__wenlan__reject_refinement(id="<proposal-id>")`
  • `skip`: no call

Skip or cancel is a no-op. Do not generically accept `lint_repair_review`; route it through `/lint repair`. Re-list after every mutation batch.

Bare `/curate`

Default to `/curate revisions`. Revisions are the conflict surface that most often needs human judgment. Mention `/curate captures` only as an opt-in audit.

When not to use

  • Specific lookup: use `/recall`.
  • One-off correction: use `/capture` with the corrected fact.
Read more
Ships withwenlan

Wenlan is a knowledge base for the AI-native age. Your AI agents capture what they learn, Wenlan keeps it current and distills it into source-cited wiki pages you can trust

Get the whole plugin

Other skills on wenlan.

prove
Skill

prove

Per-surface verification loops for wenlan — daemon, cli, mcp, plugin, suite strength (mutation), behavior trace, weekly sweep. Routes to scripts; every check…

@7xuanlu@7xuanluView Skill
verify
Skill

verify

Drive/evidence recipe for verifying wenlan changes at their real surfaces (daemon HTTP, CLI, MCP stdio). The handle file the built-in verify protocol expects;…

@7xuanlu@7xuanluView Skill
brief
Skill

brief

Read the current Space-owned project Brief from Wenlan for Codex. With an optional topic, appends separately labeled related context from the same Space.…

@7xuanlu@7xuanluView Skill
capture
Skill

capture

Save a durable memory to Wenlan from Codex. Use proactively when the user states a preference, makes a decision, corrects you, or shares a durable fact.…

@7xuanlu@7xuanluView Skill