npx claudepluginhub norrietaylor/distillery --plugin distilleryThis skill is limited to using the following tools:
<!-- Trigger phrases: classify, classify entry, review queue, triage inbox, /classify [entry_id|--inbox|--batch|--review] -->
Classifies knowledge-base user inputs into 9 intent categories (capture, inbox, query, project, action, task, area, review, connect) using signal words, priority rules, compound handling, and fuzzy matching to route twinmind skills.
Produce a knowledge dashboard with recent entries, corrections, expiring soon, stale knowledge, and unresolved items. In team mode, also shows team activity, related entries from teammates, and the review queue.
Processes external resources like articles, blogs, and papers into stored knowledge via quality evaluation, curation, tidying, and routing to storage or codebase application. Use for capturing session knowledge into memory structures.
Share bugs, ideas, or general feedback.
Classify runs the classification engine on knowledge entries and lets you triage the review queue for low-confidence predictions.
/classify <entry_id> — classify a specific entry by ID/classify --inbox — classify all unclassified inbox entries in batch (alias for --batch --entry-type inbox)/classify --batch <filters> — classify entries matching composable filters in batch/classify --review — triage entries awaiting human review/classify (no args) — show usage helpSee CONVENTIONS.md — skip if already confirmed this conversation.
| Invocation | Mode |
|---|---|
/classify <entry_id> | Classify by ID |
/classify --inbox | Batch inbox classification (alias for --batch --entry-type inbox) |
/classify --batch <filters> | Batch classification with composable filters |
/classify --review | Review queue triage |
/classify (no args) | Show help |
Optional flags (all modes):
| Flag | Parameter | Description |
|---|---|---|
--project | <name> | Filter by project name |
Batch filter flags (--batch mode only):
| Flag | Parameter | Description |
|---|---|---|
--source | <source> | Filter by entry source (e.g. claude-code, manual, import, inference, external) |
--entry-type | <type> | Filter by entry type (e.g. inbox, github, feed, session, etc.) |
--author | <name> | Filter by author name |
--tag-prefix | <prefix> | Filter by tag namespace prefix (e.g. project/billing) |
--project | <name> | Filter by project name |
--unclassified | (none) | Filter to entries with no tags and verification=unverified |
Filters are composable with AND semantics. At least one filter is required when using --batch (reject bare --batch with no filters).
distillery_get to retrieve the entry. If not found, tell the user to check the ID or use /recall.entry_type: best fit from session, bookmark, minutes, meeting, reference, idea, inbox, person, project, digest, github, feedconfidence: 0.0–1.0 based on how clearly the content fitsreasoning: concise explanationsuggested_tags: 2–5 keywordsdistillery_classify with those values.Show entry ID, type, confidence (as <n%> (<level>)), status, reasoning, and suggested tags. For reclassifications, show old and new classification side-by-side. If confidence is below threshold, note the entry was sent to the review queue.
--inbox is a convenience alias for --batch --entry-type inbox. It follows the same process as Mode B2 below with entry_type="inbox" pre-set.
Call distillery_list(entry_type="inbox", limit=50, output_mode="full", content_max_length=300). If --project was specified, also pass project=<name>. If empty, tell the user and stop.
For each entry (max 50), compute classification as in Mode A and call distillery_classify. Track counts: classified (active), review (pending_review), errors.
## Batch Classification Complete
| Entry ID | Preview | Type | Confidence | Status |
|----------|---------|------|------------|--------|
| <id> | <first 60 chars>... | <type> | <n%> (<level>) | <active|review|error> |
Total: <N> processed — <classified> active, <review> review, <errors> errors
If any sent to review, suggest /classify --review.
--batch with no filters, display an error: "At least one filter is required for --batch mode. See /classify for available filters." and stop.distillery_list arguments from the provided filters:| Flag | distillery_list parameter |
|---|---|
--source | source=<value> |
--entry-type | entry_type=<value> |
--author | author=<value> |
--tag-prefix | tag_prefix=<value> |
--project | project=<value> |
--unclassified | verification="unverified" (the empty-tags constraint is checked post-fetch in Step B2-2) |
Call distillery_list with the composed filters, plus limit=50, output_mode="full", content_max_length=300. If empty, tell the user no entries matched the filters and stop.
If --unclassified was specified, additionally filter the returned entries to only those with tags=[] (empty tags list). This is a post-fetch filter since the store does not support empty-tag queries directly.
For each entry (max 50), compute classification as in Mode A and call distillery_classify. Track counts: classified (active), review (pending_review), errors.
Use the same summary table format as Mode B Step B3.
Call distillery_list(status="pending_review", output_mode="review", limit=20). If --project was specified, also pass project=<name>. If empty, tell the user and stop.
Determine reviewer per CONVENTIONS.md author resolution.
For each entry, display: ID, type, confidence, author, date, reasoning, and a 200-char content preview. Prompt for action:
| Key | Action | MCP Call |
|---|---|---|
a | Approve — keep classification, set active | distillery_resolve_review(action="approve") |
r | Reclassify — prompt for new type, validate against valid types (re-prompt once if invalid) | distillery_resolve_review(action="reclassify", new_entry_type=...) |
x | Archive — remove from knowledge base | distillery_resolve_review(action="archive") |
s | Skip — leave in queue | No MCP call |
Always pass the reviewer name when calling distillery_resolve_review.
## Review Queue Summary
Entries reviewed: <total>
- Approved: <n> | Reclassified: <n> | Archived: <n> | Skipped: <n>
Read references/modes.md for the help text to display.
distillery_get before classifying by IDreferences/modes.md for level thresholds)s to skip