Security: see references/scanner-notes.md and upstream SECURITY.md for expected scanner signals and trust model.
Verasic Deep Research — Ledger-Backed Research
Source of truth
| File |
Role |
references/research-protocol.md |
Full protocol — read first |
references/helper.md |
Help text for bare /verasic-deep-research or help |
references/citation-protocol.md |
Verify pipeline, SourceRecord, two-key rule |
references/confidence-rubric.md |
5-axis scoring |
references/drill-protocol.md |
Drill triggers and futile conditions |
references/source-tiers.md |
T0–T3 source classification |
references/fusion-handoff.md |
Optional manual chain to verasic-fusion |
templates/deep-research-brief.md |
Deliver template sections |
workflows/<depth>.md |
Tier checklist (quick-scan, standard-research, …) |
Never duplicate the protocol in chat — follow it.
Workflow
- Help path — if the user invokes deep research with no question or asks for help, relay
references/helper.md (adjust path prefix for install root).
- Pre-flight gate — require all pre-flight fields before any fetch or spawn:
question,
depth, output, source-boundary, languages. No defaults on output or
source-boundary (recommend public-standard only after asking). Collect output path when
output includes files. Apply honesty notices per protocol (see references/helper.md ## honesty).
- Read protocol — read
references/research-protocol.md, active workflows/<depth>.md, and supporting references before
any fetch or spawn.
- Dispatch T2/T3 per tier — T1 main orchestrates; spawn T2 workers per depth preset via
Task. T3 leaf jobs (
fetch-url, extract-excerpt, single-query-search, verify-one-claim)
are spawned by T2 (grandchild, no Task). T1 batches WebFetch when T2 unavailable.
standard-research: Hunter + Practitioner parallel → Skeptic sequential (mandatory).
T2 direct fallback when T3 fails — not a blocker.
- Verify ledger — every citation must pass verify-before-cite; no cite without a ledger row
(see
references/citation-protocol.md).
- Score — apply 5-axis confidence per
references/confidence-rubric.md; sensitive domains
enforce floor 60.
- Drill — per
references/drill-protocol.md when thresholds hit; max 2 rounds
(auto-at-threshold auto-executes round 1; offers round 2).
- Deliver — chat per output format; write files to
./docs/research/<slug>/ when chosen.
Use templates/deep-research-brief.md sections. Ask mode = no file writes.
Orchestration (Cursor)
Read .cursor/skills/verasic-deep-research/references/research-protocol.md first and follow it exactly.
Help
If the user sent no question, only help, or an empty invocation — relay
.cursor/skills/verasic-deep-research/references/helper.md verbatim (adjust the path prefix if
this skill is installed elsewhere).
Required from the user's message
Parse or ask for:
depth: one of quick-scan, standard-research, adversarial-deep, custom
output: one of chat-only, chat+files, files-only, custom — no default
source-boundary: one of public-standard, public-extended, aggressive-scrape (+ optional free text)
languages: cite / search / report languages
- The question body
Optional: models:, domain:, drill: (auto-at-threshold | off | always-offer), claims: list, output path, custom-roles: when depth: custom
No default output format. No default source boundary. Recommend public-standard.
If required fields missing, ask before any fetch or spawn. Include honesty notices from helper ## honesty at each pre-flight step.
Ask mode
If the user is in Ask (read-only) mode — no file writes. Deliver chat only even if they chose
chat+files or files-only. Say so and offer Agent mode or chat-only.
Steps
- Pre-flight per protocol — all required fields; path
./docs/research/<slug>/ when files requested.
- Read supporting refs: citation-protocol, confidence-rubric, source-tiers, drill-protocol,
workflows/<depth>.md, deliver template.
- Dispatch T2 workers via Task per depth tier:
quick-scan: Hunter only (no Skeptic)
standard-research: Hunter + Practitioner parallel → Skeptic sequential (mandatory 7a)
adversarial-deep: Hunter + Practitioner + Skeptic + Arbiter (4 parallel)
- T3 leaf jobs spawned by T2 (grandchild, no Task):
fetch-url, extract-excerpt, single-query-search, verify-one-claim. T1 batches WebFetch when T2 unavailable. T2 direct fallback on failure.
- Verify ledger — verify-before-cite; no
[Sn] without ledger row; IEEE citations; snippet-only headline hard cap 40.
- Score — 5-axis per claim (SQ, EC, CG, CO, VR); sensitive domain floor 60; chat shows headline + full axes.
- Drill when thresholds hit —
auto-at-threshold auto-executes round 1; offer round 2; max 2 rounds (drill-protocol.md).
- Deliver per
output — use templates/deep-research-brief.md sections.
## unverified → suggest manual fusion only if verasic-fusion installed (fusion-handoff.md).
- If Task unavailable — ask before degraded sequential single-context research.
T2 subagent task prompt (one per role)
Replace <skill-root> with the absolute skill directory (contains references/research-protocol.md).
Readonly deep-research T2 (<role>). Follow <skill-root>/references/research-protocol.md.
Supporting refs (readonly):
- <skill-root>/references/citation-protocol.md
- <skill-root>/references/source-tiers.md
Role: <Hunter|Practitioner|Skeptic|Arbiter>
Source boundary: <boundary>
Languages: <languages>
Domain pack: <inferred or user domain>
## Packaged prompt
<question + pre-flight context>
Return candidate sources for main-agent verify. Do not mutate the repo.
T3 leaf jobs (spawned by T2, no Task)
| Job |
Returns |
fetch-url |
HTTP status + raw body/metadata |
extract-excerpt |
≤40-word supporting excerpt |
single-query-search |
Candidate URLs/snippets (no synthesis) |
verify-one-claim |
Two-key pass/fail + excerpt |
T3 must not synthesize, merge ledger, spawn subagents, or score confidence.
Deliver
- chat-only — full brief sections in chat; headline + per-claim 5-axis in
## confidence.
- chat+files — chat summary + write
./docs/research/<slug>/deep-research-brief.md and ledger files in the same turn (Agent mode). Do not end with chat-only and write files later unless the user explicitly asks for staged delivery.
- files-only — write files; chat gets short pointer only.
Hard rules: verify-before-cite; no cite without ledger row; refuse insider/illegal sources.
Recommend composer-2.5-fast in optional model rosters when suggesting models.
Without subagents
Read references/research-protocol.md and execute the full pipeline yourself, including
degraded confirmation when Task is unavailable.
Hard rules
- Verify-before-cite — no citation without a verified ledger row.
- No default output format — user must pick
chat-only, chat+files, files-only, or custom.
- No default source boundary — user must pick; agent recommends
public-standard.
- Ask mode = no file writes — deliver in chat only.
- composer-2.5-fast should appear in suggested model rosters when optional roster is offered.
- Fusion handoff — suggest manually on
## unverified only if verasic-fusion is installed;
never assume it is present.
Refuse
Insider or non-public proprietary data, illegal collection without an explicit user-stated
boundary, and research that requires violating the chosen source boundary.
1---2name: verasic-deep-research3description: Verified deep research with source ledger and confidence scoring. Use when the user asks to "deep research", "verify sources", "research with citations", runs /verasic-deep-research, wants ledger-backed claims, confidence scores, drill-down on weak evidence, or claims-investigation with a claim ledger.4---56Security: see `references/scanner-notes.md` and upstream [SECURITY.md](https://github.com/Milkywayrules/verasic-skills/blob/main/SECURITY.md) for expected scanner signals and trust model.78# Verasic Deep Research — Ledger-Backed Research910## Source of truth1112| File | Role |13| ------------------------------------- | ---------------------------------------------- |14| `references/research-protocol.md` | Full protocol — read first |15| `references/helper.md` | Help text for bare `/verasic-deep-research` or `help` |16| `references/citation-protocol.md` | Verify pipeline, SourceRecord, two-key rule |17| `references/confidence-rubric.md` | 5-axis scoring |18| `references/drill-protocol.md` | Drill triggers and futile conditions |19| `references/source-tiers.md` | T0–T3 source classification |20| `references/fusion-handoff.md` | Optional manual chain to verasic-fusion |21| `templates/deep-research-brief.md` | Deliver template sections |22| `workflows/<depth>.md` | Tier checklist (quick-scan, standard-research, …) |2324Never duplicate the protocol in chat — follow it.2526## Workflow27281. **Help path** — if the user invokes deep research with no question or asks for help, relay29 `references/helper.md` (adjust path prefix for install root).302. **Pre-flight gate** — require **all** pre-flight fields before any fetch or spawn:31 **question**, `depth`, `output`, `source-boundary`, `languages`. **No defaults** on `output` or32 `source-boundary` (recommend `public-standard` only after asking). Collect output path when33 `output` includes files. Apply honesty notices per protocol (see `references/helper.md` ## honesty).343. **Read protocol** — read `references/research-protocol.md`, active `workflows/<depth>.md`, and supporting references before35 any fetch or spawn.364. **Dispatch T2/T3 per tier** — T1 main orchestrates; spawn T2 workers per depth preset via37 Task. T3 leaf jobs (`fetch-url`, `extract-excerpt`, `single-query-search`, `verify-one-claim`)38 are spawned by T2 (grandchild, no Task). T1 batches WebFetch when T2 unavailable.39 `standard-research`: Hunter + Practitioner parallel → Skeptic sequential (mandatory).40 T2 direct fallback when T3 fails — not a blocker.415. **Verify ledger** — every citation must pass verify-before-cite; no cite without a ledger row42 (see `references/citation-protocol.md`).436. **Score** — apply 5-axis confidence per `references/confidence-rubric.md`; sensitive domains44 enforce floor 60.457. **Drill** — per `references/drill-protocol.md` when thresholds hit; max 2 rounds46 (`auto-at-threshold` auto-executes round 1; offers round 2).478. **Deliver** — chat per output format; write files to `./docs/research/<slug>/` when chosen.48 Use `templates/deep-research-brief.md` sections. **Ask mode = no file writes.**4950## Orchestration (Cursor)5152Read `.cursor/skills/verasic-deep-research/references/research-protocol.md` first and follow it exactly.5354### Help5556If the user sent no question, only `help`, or an empty invocation — relay57`.cursor/skills/verasic-deep-research/references/helper.md` verbatim (adjust the path prefix if58this skill is installed elsewhere).5960### Required from the user's message6162Parse or ask for:6364- `depth:` one of `quick-scan`, `standard-research`, `adversarial-deep`, `custom`65- `output:` one of `chat-only`, `chat+files`, `files-only`, `custom` — **no default**66- `source-boundary:` one of `public-standard`, `public-extended`, `aggressive-scrape` (+ optional free text)67- `languages:` cite / search / report languages68- The question body6970Optional: `models:`, `domain:`, `drill:` (`auto-at-threshold` | `off` | `always-offer`), `claims:` list, output path, `custom-roles:` when `depth: custom`7172**No default output format. No default source boundary.** Recommend `public-standard`.73If required fields missing, ask before any fetch or spawn. Include honesty notices from helper ## honesty at each pre-flight step.7475### Ask mode7677If the user is in Ask (read-only) mode — **no file writes**. Deliver chat only even if they chose78`chat+files` or `files-only`. Say so and offer Agent mode or `chat-only`.7980### Steps81821. Pre-flight per protocol — all required fields; path `./docs/research/<slug>/` when files requested.832. Read supporting refs: citation-protocol, confidence-rubric, source-tiers, drill-protocol, `workflows/<depth>.md`, deliver template.843. Dispatch T2 workers via Task per depth tier:85 - `quick-scan`: Hunter only (no Skeptic)86 - `standard-research`: Hunter + Practitioner parallel → Skeptic sequential (mandatory 7a)87 - `adversarial-deep`: Hunter + Practitioner + Skeptic + Arbiter (4 parallel)884. T3 leaf jobs spawned by T2 (grandchild, no Task): `fetch-url`, `extract-excerpt`, `single-query-search`, `verify-one-claim`. T1 batches WebFetch when T2 unavailable. T2 direct fallback on failure.895. Verify ledger — verify-before-cite; no `[Sn]` without ledger row; IEEE citations; snippet-only headline hard cap 40.906. Score — 5-axis per claim (SQ, EC, CG, CO, VR); sensitive domain floor 60; chat shows headline + full axes.917. Drill when thresholds hit — `auto-at-threshold` auto-executes round 1; offer round 2; max 2 rounds (`drill-protocol.md`).928. Deliver per `output` — use `templates/deep-research-brief.md` sections.939. `## unverified` → suggest manual fusion only if `verasic-fusion` installed (`fusion-handoff.md`).9410. If Task unavailable — ask before degraded sequential single-context research.9596### T2 subagent task prompt (one per role)9798Replace `<skill-root>` with the absolute skill directory (contains `references/research-protocol.md`).99100```text101Readonly deep-research T2 (<role>). Follow <skill-root>/references/research-protocol.md.102103Supporting refs (readonly):104- <skill-root>/references/citation-protocol.md105- <skill-root>/references/source-tiers.md106107Role: <Hunter|Practitioner|Skeptic|Arbiter>108Source boundary: <boundary>109Languages: <languages>110Domain pack: <inferred or user domain>111112## Packaged prompt113<question + pre-flight context>114115Return candidate sources for main-agent verify. Do not mutate the repo.116```117118### T3 leaf jobs (spawned by T2, no Task)119120| Job | Returns |121| --- | ------- |122| `fetch-url` | HTTP status + raw body/metadata |123| `extract-excerpt` | ≤40-word supporting excerpt |124| `single-query-search` | Candidate URLs/snippets (no synthesis) |125| `verify-one-claim` | Two-key pass/fail + excerpt |126127T3 must not synthesize, merge ledger, spawn subagents, or score confidence.128129### Deliver130131- **chat-only** — full brief sections in chat; headline + per-claim 5-axis in `## confidence`.132- **chat+files** — chat summary + write `./docs/research/<slug>/deep-research-brief.md` and ledger files in the **same turn** (Agent mode). Do not end with chat-only and write files later unless the user explicitly asks for staged delivery.133- **files-only** — write files; chat gets short pointer only.134135Hard rules: verify-before-cite; no cite without ledger row; refuse insider/illegal sources.136137Recommend `composer-2.5-fast` in optional model rosters when suggesting models.138139## Without subagents140141Read `references/research-protocol.md` and execute the full pipeline yourself, including142degraded confirmation when Task is unavailable.143144## Hard rules145146- **Verify-before-cite** — no citation without a verified ledger row.147- **No default output format** — user must pick `chat-only`, `chat+files`, `files-only`, or `custom`.148- **No default source boundary** — user must pick; agent recommends `public-standard`.149- **Ask mode = no file writes** — deliver in chat only.150- **composer-2.5-fast** should appear in suggested model rosters when optional roster is offered.151- **Fusion handoff** — suggest manually on `## unverified` only if `verasic-fusion` is installed;152 never assume it is present.153154## Refuse155156Insider or non-public proprietary data, illegal collection without an explicit user-stated157boundary, and research that requires violating the chosen source boundary.