plugins/second-brain/skills/route/SKILL.md
Analyze an enriched note and route to the best vault destination. Stage 3 of the processing pipeline.
npx skillsauth add technicalpickles/pickled-claude-plugins routeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze an enriched note against routing memory, vault rules, and generic signals. Move to destination or mark for review.
See references/pipeline.md for stage definitions and status flow.
See references/routing.md for the scoring algorithm.
See references/routing-memory.md for the correction and learning loop.
An enriched note in the inbox with status: enriched.
Load routing context:
.routing-memory.md from vault root (create with defaults if missing)sb vault structure for available destinationssb note context --note "{note-path}" for keywords and signalsScore destinations (priority order):
a. Check .routing-memory.md corrections for matching topics/keywords
b. Check .routing-memory.md learned patterns
c. Apply vault CLAUDE.md disambiguation rules
d. Apply generic signal scoring (per references/routing.md)
Apply threshold:
auto-route-threshold: auto-route, move file, set status: routedstatus: pending-review, return without movingIf auto-routing, move the file:
npx @techpickles/sb note move --from "{note-path}" --to "{destination}/"
Update frontmatter: status: routed
If pending-review, present suggestions to human (when called by orchestrator):
.routing-memory.mdWhen the user picks a destination different from the top suggestion:
## Corrections in .routing-memory.md:
- {YYYY-MM-DD}: "{note title}" routed to "{suggested}", corrected to "{chosen}"
Reason: {user's reason}
status: routed, ORstatus: pending-review for human inputsb vault structure outputtools
--- name: writing-for-scannability description: Use when structuring prose so readers can skim it - drafting or restructuring READMEs, docs, PR or issue bodies, design docs, RFCs, or any long-form text where a wall of prose hides the structure. Also use when explicitly asked to make something scannable or skimmable, convert prose to a list, surface a buried list, fix a wall of text, or decide whether bullets or prose fit. Strong signal: text with parallel sentence shapes, contrast markers ("that
development
Ignore actually-lsp nudges for an ecosystem in this project. Use when the user wants to silence, dismiss, or ignore the LSP setup nudges for a specific ecosystem (Rust, TypeScript, Ruby), or invokes `/actually-lsp-ignore` directly. Writes `dismissed=true` to `.claude/actually-lsp.json`. Persistent across sessions for this project only.
tools
Diagnose and fix LSP setup for the current project's detected ecosystems (Rust, TypeScript, Ruby). Use when the SessionStart hook nudged about a missing LSP plugin, when the env isn't ready (no `bundle install`, no `cargo build`, missing server binary), when LSP calls are failing, or when the user invokes `/actually-lsp-doctor` directly. Walks the per-ecosystem state machine, reports what's missing, then runs the fix.
tools
--- name: investigating-runs description: Use whenever the user mentions a GitHub Actions / GHA run, even casually — invoke this skill before reaching for raw `gh` commands, because the bundled `gha-snapshot` helper distills `gh run view --log-failed` (a firehose) into a readable block with per-job status, failed-step log tails, and annotations. Specific triggers (any one is enough): a `github.com/.../actions/runs/...` URL; the phrase "GitHub Actions" or "GHA"; the `gh run` CLI; a failing workfl