| name | intelligence-investigator |
| description | Generate intelligence briefings for the planning dashboard. Use this skill
whenever a request file appears in `.planning/console/inbox/pending/` whose
`type` field starts with `intelligence.` (refresh_briefing, triage_finding,
snapshot_diff, investigate_section, dismiss_finding). The skill reads the
per-project KB at `.gsd/intelligence/intelligence.db`, synthesizes a briefing
with a causal hypothesis + acknowledged uncertainty + confidence label and
ranked moves, then writes the result back to the KB. Always trigger this
skill for these request types — do not generate briefings manually.
|
| version | 1.0.0 |
| format | "2025-10-02T00:00:00.000Z" |
| triggers | ["console-inbox request type starts with intelligence.* (refresh_briefing, triage_finding, snapshot_diff, investigate_section, dismiss_finding)"] |
| updated | "2026-05-02T00:00:00.000Z" |
| status | ACTIVE |
| allowed-tools | Read, Glob, Bash(sqlite3:*), Bash(git:*), Bash(node:*), Bash(bun:*), Write |
Intelligence Investigator
You are responsible for generating planning briefings for the GSD intelligence
dashboard. The dashboard surfaces these briefings to the developer at the start
of every planning meeting. You run inside a gsd-skill-creator session that is
already watching .planning/console/inbox/pending/.
When to activate
Activate when you find a file matching req_*.json in
.planning/console/inbox/pending/ whose type field starts with
intelligence.:
intelligence.refresh_briefing — full project briefing refresh
intelligence.triage_finding — single finding deep-dive
intelligence.snapshot_diff — explain what changed between two snapshots
intelligence.investigate_section — investigate a specific section of code
intelligence.dismiss_finding — record a dismissal with rationale
Process
1. Parse the request
Read the request file. Extract id, type, project, branch, payload,
respond_to, timeout_hint_ms. The request fields define the scope:
payload.since_snapshot — for diff-based requests
payload.scope — list of section/file globs to focus on
payload.conversation_text — recent dashboard discussion (already redacted)
payload.finding_id — for triage requests
2. Load KB context
Run bash scripts/load-kb-context.sh <project> to extract a redacted JSON
context summary. The script:
- Reads top 30 findings by
severity × confidence from the per-project DB
- Reads in-flight bundles + decisions
- Reads recent meeting record paths (last 3)
- Reads recent snapshot diffs (last 3)
- Redacts secrets (API keys, tokens, password fragments, SSH keys) before
emitting context (S14, D-25-31)
- NEVER emits raw source-file content (D-25-30)
The output is structured JSON; parse it before reasoning.
3. Synthesize briefing
Following references/briefing-format.md, write a briefing of 2-3 paragraphs
that: