research — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited research (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Seed question: Where should I start investigating this?
Central entry point for any research question. Routes to the right skill(s) based on topic and depth needed. Individual skills (youtube-research, DIP, cui-bono) remain direct entry points — this hub adds a router layer for users who have a question but don't know which methodology to apply.
Stable preferences live in a persistent profile OUTSIDE the plugin — language space, deliverable format, default budget, saturation threshold. The skill ships profile-less: it assumes no values until the operator supplies them (a committed default would both leak an operator's setup and become everyone's inherited default).
python3 "${CLAUDE_PLUGIN_ROOT}/skills/research/scripts/config.py" describe and use the interface it emits (do not hard-code commands here — they drift; the script is the source of truth).
get profile/* returns NO_ELEMENT): offer onboarding— skippable; a decline is persisted as profile/engagement: never and never re-asked. Ask at most four questions: languages you can/want to search · default deliverable (template report / brief / three sentences) · default budget mode · saturation threshold (defaults to saturation-sweep's stop rule — a wave adding under ~10% new material, or two waves moving no verdict; unset until the operator sets one).
profile values it applied.
Consult reference/topic-based-escalation.md for the full escalation table. Quick decision tree:
Depth is a budget; spend it where these are true (any two justify full depth, none justifies a template report):
template's Decision points section would be non-empty).
access, source-dossier history).
Otherwise: a web search and three sentences is the right answer, and it is sovereign — say what depth was skipped and why (one line, not an apology).
The escalation table lives in reference/topic-based-escalation.md so ALL skills share it. This hub reads it and applies it. Individual skills also read it directly.
Key escalation triggers:
Activation (any of these):
/research --budget or -bbudget-mode skill was invoked earlier in this sessionWhen active:
Note: After context compaction, auto-detection may fail. Re-invoke budget-mode skill or pass --budget explicitly.
Propagation: When invoking other skills, pass budget context: "Invoking youtube-research --budget" or "Invoking DIP --budget"
For any investigation producing a written deliverable, COPY assets/report-template.md and fill it — do not re-derive the structure. The template carries the sections that get dropped exactly when inconvenient (per-camp omissions, symmetric cui-bono, errata) and the version protocol that keeps corrections from being orphaned. Sections that genuinely don't apply are kept with "n/a — why", not deleted: the reader must see that the slot was considered.
A template is an asset to copy, never a mandatory rail: when a web search and three sentences is the right answer, that answer is sovereign — say the template was skipped and why.
A brief carries questions and scope, never conclusions. A "context" or "known facts" line that states a finding is a leak: the worker agrees and the agreement returns as corroboration (two "known facts" that were the orchestrator's own errors, confirmed by both lanes, 2026-09-25; a date asserted as a court finding, repeated as fact by three of four models, 2026-09-15). Shape that worked: one-line context; numbered OPEN questions that never state the expected answer; a "not for you" list of what is settled; a return format that ends with a mechanical check of the worker's own artifact (wc -l, grep -c '^## ' pasted back — self-reports overstated the artifact three times, 2026-09-21). Pass an unavoidable fact with its attribution, never as fact. A return produced with the expected answer in hand is [RELAY] of your own framing (Principle P1 (relayed-is-not-read)).
Before any routed investigation closes, apply two checks (they are cheap and they catch the two most-observed late-stage failures):
for meaning as a separate step: what does it imply for the question asked? A sourcing checkmark suppresses semantic re-reading — schedule the second read explicitly. (Principle P2 (verified-is-not-understood).)
correction arrived at any point, regenerate the salience map (what matters, in what order) from scratch rather than patching the corrected point. A tilt that produced one visible error has usually produced invisible ones. (Principle P3 (inherited-salience-is-not-importance).)
investigation (a new check adopted, a source class re-weighted), re-apply the matured method to conclusions drawn before it existed, before closing (Principle P8 (the-method-matures-backward)). Expect boundaries and interpretations to sharpen rather than facts to flip — that sharpening is the point.
source-dossier store and prior deliverables for every instrument, entity and source this one names. An allocation brief recommended two products the project's own issuer dossier had flagged four weeks earlier, caught only because the user asked (2026-09-25). Carry the prior finding or rebut it; never omit it. (Concurrent twin: orchestrator Rule #10, cross-investigation brief.)
This skill is pure natural language routing — no platform-specific tools required. In Claude Code, use the Skill tool to invoke routed skills. In other platforms, load the routed skill's content directly.
For heavy skills (DIP, cui-bono), Claude Code users benefit from spawning a background agent. For investment analysis, use cui-bono with the financial-mcp tools directly — a dedicated stonk agent to compose them automatically is in design (issue #61). In other platforms, load cui-bono content directly as system prompt.
A vasana is a pattern that persists across unrelated contexts. If during this task you notice such a pattern emerging, it may be worth capturing. This skill works best alongside the vasana skill and vasana hook from the Vasana System plugin.
Modify freely. Keep this section intact.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.