Khub classifier router
Skill libenxier-beep/codex-custom-skills/skills/khub-classifier-router
Production-grade Codex skills with explicit triggers, deterministic validation, and reusable AI agent workflows.
npx -y skills add libenxier-beep/codex-custom-skills --skill khub-classifier-routerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when standardized intake material must be classified for KHub, routed to an area, matched to a template, deduped, or blocked before any Obsidian note is created or updated.
SKILL.md
4.4 KB, as published. Nobody here has run it
KHub Classifier Router
Classify standardized intake into a write-safe KHub route decision. This is the decision layer only: it may produce a route-plan or a decision-report, but it must not create or update Obsidian notes.
Follow the shared rules in ../workflow-principles.md: route before writing, dedupe before writing, preserve source trace, and stop instead of forcing weak material into heavy templates.
Use When
- A prepared intake item needs final KHub type selection:
seed,cognition,concept,viewpoint,playbook, orprediction. - The task asks where a memo belongs in KHub, which template fits, whether to create or append, or whether a note should be blocked.
- Duplicate, append, split, no-fit, or human-decision handling is needed before deposition.
- Source material may be too thin for a heavy template and needs a density check.
Do Not Use When
- The user only needs raw Flomo collection. Use
flomo-daily-intakefirst. - The input is an already validated
route-planand the task is to write notes. Usekhub-deposition-update. - The user is asking to draft prose, summarize an article, or update non-KHub notes.
- There is no standardized intake or source material to classify.
Inputs
- A standardized intake artifact such as the output of
flomo-daily-intake - Current KHub taxonomy and folder layout
- Current KHub template map
- Existing-note candidates from vault search when dedupe or append is needed
Procedure
- Parse each intake item into the required fields from contract.md.
- Load only the references needed for the current decision:
- references/taxonomy.md for note type selection.
- references/area-routing.md for target area and bucket.
- references/dedupe-policy.md when existing notes may match.
- references/fit-check-policy.md when type, area, template, or density is uncertain.
- references/decision-states.md when choosing the final state.
- Choose the smallest stable final type that does not overstate source maturity.
- Route to a valid existing KHub area and bucket; never create a new area silently.
- Select the mapped template and check whether its weight fits the source density.
- Search for duplicate or append candidates when source ID, title, or meaning may overlap.
- Emit exactly one output for each item: a write-safe
route-planor a blockeddecision-report.
Output Contract
- Return
route-planonly when the item is safe for downstream deposition. - Return
decision-reportwhen no-fit, ambiguity, resolved duplicate, or human choice remains. - Do not return both for the same intake item.
- For
no_fitandneeds_human_decision, setwrite_blocked: true. - A
route-planmust include the fields required by contract.md.
Stop Rules
- If no valid KHub type can be chosen, output
no_fit. - If type, template, or target area cannot be matched safely, output
no_fit. - If multiple candidates remain too close to call, output
needs_human_decision. - If the item is already covered with no material delta, output
skip_duplicatefor reporting and do not hand it to deposition for mutation. - Never create or update Obsidian notes from this skill.
Validation
- Run scripts/validate-route-plan.sh on any
route-planordecision-reportsaved as YAML. - Check that blocked outputs have
write_blocked: true. - Check that no final Obsidian Markdown or vault mutation was produced.
- For trigger maintenance, use evals/trigger-prompts.csv.
Common Mistakes
- Classifying directly from raw Flomo without an intake artifact.
- Picking a heavier template because the idea feels important, even though the source is thin.
- Returning a
route-planforno_fitorneeds_human_decision. - Treating
skip_duplicateas permission to mutate the vault. - Hiding uncertainty instead of producing a decision report.
See contract.md for the I/O shape and ../workflow-principles.md for cross-layer workflow principles.