research
When to use
A question worth more than one search — including "find what contradicts what", which is this skill with an adversarial brief, not a separate one.
Method
- Decompose the question into 3–6 angles that would disagree with each other. Say how many sub-agents that is before starting; 10 concurrent is the ceiling.
- Each sub-agent searches the project only and returns findings in the block
form
CLAIM: / EVIDENCE: "<quote>" / SOURCE_TYPE: / SOURCE:, one per finding,SOURCEpointing intoraw/. - Collect into
scratch/, thenmagi verify <the scratch/ file you just wrote> --project-dir . --json. Unverified findings are reported as unverified, in their own section — never merged into the rest. - Every finding that has a truth value becomes a proposition:
magi thread new <slug> --kind proposition --title "<name>" --claim "<statement>" --purpose "<why>". A contradiction is one proposition with both sources posted to it, which puts it on the decision queue where a person will see it. - At most one long-form output:
wiki/topics/<slug>.mdwithtype: synthesis. If there is nothing to synthesise, the propositions are the result. magi validate <the synthesis>, thenmagi lint --fix.
Rules
- Never report a synthesis as complete when an angle returned nothing. Name the angle that came back empty; a partial sweep read as whole is the failure this whole pipeline is arranged against.
- Never let a sub-agent answer from its own knowledge. The project is the
only source; a finding with no
SOURCE:inraw/is not a finding. - Gather the questions the angles could not ask (Invariant 4) and ask the human once, at the end. Asking for a prediction means quoting the claim, what evidence already exists, and what would falsify it — never a bare slug.