agentleFS
Sign inSign up

research

JuliusBrussee/cavekit/skills/research/SKILL.md

Gather external knowledge the spec needs and distill it into §R — the durable research log — so build grounds in facts instead of hallucinating library behavior. Each finding cites a source; unsourced claims are flagged, never written as fact. Triggers when a spec decision hinges on a library/API/best practice the agent is unsure of, when the user says "research this", "what's the best lib for…", "check current best practice", or invokes /ck:research. Defers the §R write to the spec skill.

Skill1.1k starsChanged 5 months ago
---
name: research
description: |
  Gather external knowledge the spec needs and distill it into §R — the durable
  research log — so build grounds in facts instead of hallucinating library
  behavior. Each finding cites a source; unsourced claims are flagged, never
  written as fact. Triggers when a spec decision hinges on a library/API/best
  practice the agent is unsure of, when the user says "research this", "what's
  the best lib for…", "check current best practice", or invokes /ck:research.
  Defers the §R write to the spec skill.
---

# research — external knowledge → §R

**Every finding cites a source. No source → flag it `?`, never write a guess as fact.**

"Process without library context gives you well-organized hallucinations."
Build invents a plausible-but-wrong API & §B fills with avoidable bugs.
Research is the external oracle: pull the real fact once, log it caveman, never re-derive.

## WHEN TO RESEARCH

- A §C/§I/§V decision hinges on a lib, API, version, or pattern you are unsure of.
- You are about to assume how an external dependency behaves.
- The idea touches a domain with real prior art (auth, payments, crypto, rate-limit).
- `/grill` parked a `?` that the outside world must answer.

Skip when the build touches only code you already wrote. Research scales to the unknown, ⊥ to habit.

## FOUR STEPS

### 1. SCOPE
Turn the unknown into 1-3 concrete questions. Vague "research auth" → "JWT lib
for Node ESM, maintained?" + "refresh-token rotation: current best practice?".
A scoped question gets a citable answer; a vague one gets an essay.

### 2. GATHER
Use web search / docs tools. Prefer primary sources: official docs, the repo,
the RFC, the paper. Two independent sources beat one confident blog. For a big
sweep, spawn a sub-agent so the raw pages never touch this context — it returns
only the distilled finding + source.

### 3. DISTILL
Crush each answer to one caveman line + its source. Drop the prose. The §R row
is the memory; the tab you read is not.

> R3|refresh token|rotate on use, revoke family on reuse-detect|datatracker.ietf.org/doc/html/rfc6819#section-5.2.2.3

### 4. HAND OFF
Emit the §R rows & hand to the **spec** skill to append. If a finding changes a
constraint or interface, note the §C/§I edit for spec too. Research proposes;
spec writes.

## SOURCE DISCIPLINE

- Cite a URL, repo, RFC, or paper per row. Verbatim identifiers/versions.
- Could not verify → write the row but flag `?` in the finding & say so. An
  unverified claim labeled honestly is fine; one disguised as fact is a future §B.
- Conflicting sources → log both, let the user pick. ⊥ silently average them.

## WHEN TO STOP

Done when every scoped question has a sourced §R row (or an honest `?`), and no
build decision still rests on an unchecked assumption. ⊥ research past the
questions you scoped — that is just burning the attention budget.

## BOUNDARIES

- ⊥ write SPEC.md. Hand §R rows to spec.
- ⊥ write a finding as fact without a source.
- ⊥ dump raw pages into context or §R. Distill or it does not land.
- ⊥ research what you can read in the repo. Local truth > web guess.

Discussion

Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.

Posts are public.Sign in to post

No one has posted yet. Be the first.