Skip to content

Add a research skill and /research command: evidence-first answers, no guesses #452

Closed

Description

@growlf

Problem

Agents answer factual questions from memory. When the answer matters — a version, a path, a device fact, an API shape — a confident guess is worse than "unverified", because the operator cannot tell the two apart.

websearch covers how to drive donsetch. Nothing in the tree covers when to look outside the repo at all, how to rank sources, or how to report confidence in the answer.

Proposal

A research skill plus a /research <topic> command making one procedure the default for factual questions:

  1. Restate the question and the decision it feeds.
  2. Cheapest authoritative source first: repo/code → live system state (MCP tools) → vendor docs/API → secondary writeups.
  3. Never assert a claim no source read in this session supports. "Unverified" and "I don't know" are valid answers; a guess is not.
  4. Cross-check load-bearing claims against a second independent source; record both.
  5. Report as: answer, evidence table (claim | source | how verified), confidence, and what remains unknown.

Scope

  • .opencode/skills/research/SKILL.md — 4-field frontmatter, ≤60 lines.
  • .opencode/command/research.md — /research <topic>, loads the skill.
  • Register research in AGENTS.md (definition-of-done guard rejects unregistered new skills).
  • bin/automation-ladder.py sync-skills for the .claude/skills/research symlink.
  • Test guard: frontmatter shape, size limit, command names the skill, skill registered.
  • Global install: ~/.config/opencode/skills/research and ~/.config/opencode/commands/research.md, so /research works outside opskit too.

Not merged with websearch: that stays the transport doc, research routes into it at the web rung.

Acceptance

  • /research <topic> loads the skill and answers with a per-claim source table.
  • Discovery works both in opskit and globally.
  • make test passes; skill registered in AGENTS.md.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions