investigation
Skill4 starsChanged 5 months agoMITView on GitHub
Use when starting an investigation, analyzing existing code or infrastructure, or building findings before proposing changes
6 other projects use a version of this.
Adopted by
Most recently taken up by
- thensls/nsls-builder-toolkittheir own version, first seen Nov 8, 2026
- mikezangus/agent-skillstheir own version, first seen Oct 17, 2026
- me2resh/apexyardtheir own version, first seen Oct 8, 2026
- syanga/astacktheir own version, first seen Sep 20, 2026
- qduc/skillstheir own version, first seen Sep 19, 2026
- mj-deving/pai-skillstheir own version, first seen Apr 27, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- me2resh/apexyard★ 542same name
- mikezangus/agent-skills★ 0same name
- mj-deving/pai-skills★ 0same name
- qduc/skills★ 0same name
- syanga/astack★ 0same name
- thensls/nsls-builder-toolkit★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository42 other files it gives its agents.
- agent-contract-handoffSkill
- agent-creationSkill
- agent-protocolSkill
- agent-responseSkill
- blog-writingSkill
- brief-specSkill
- cli-loginSkill
- code-reviewSkill
- code-standardsSkill
- command-executionSkill
- deck-builderSkill
- dispatchSkill
- executionSkill
- fast-queriesSkill
- gaia-auditSkill
- gaia-checkSkill
- gaia-patternsSkill
- gaia-plannerSkill
- gaia-releaseSkill
- gaia-researchSkill
- gaia-verifySkill
- ghostwritingSkill
- git-conventionsSkill
- gmail-policySkill
- gmail-triageSkill
- gws-setupSkill
- human-registerSkill
- memorySkill
- orchestrator-present-approvalSkill
- pending-approvalsSkill
- remindersSkill
- security-tiersSkill
- session-channelsSkill
- session-reflectionSkill
- skill-creationSkill
- subagent-request-approvalSkill
- technical-explanationSkill
- technical-writingSkill
- ticket-writingSkill
- verification-oracleSkill
- verification-rubricSkill
- visual-verifySkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Read the injected dispatch kernel -- # Your Contract (goal, role, project and its declared workflow, the can_read menu), # Scope memory, …
- Distinctive: line 96
Keep assumptions visibly separate from confirmed facts.
- Distinctive: line 103
Use the trade's real instrument, not a summary of what it would say.
- Distinctive: line 104
Prefer the raw output to a description of it.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Investigation
Investigate from cheapest authoritative context toward narrowly scoped live evidence. The purpose is both diagnosis and a reliable mutation forecast.
Evidence ladder
- Read the injected dispatch kernel --
# Your Contract(goal, role,projectand its declaredworkflow, thecan_readmenu),# Scope memory, and# Project context: the dispatch project'scan_readsections, whole when they fit, else onegaia context get-contractpointer per section, else a single count line. Do not re-derive facts it already supplies. This is the first move, before any live query: when the goal names a component the block does not carry whole (a cluster, a namespace, a service, another project), fetch its section withgaia context get-contract --project <p> --section <s>before investigating live. No block at all means theprojectin# Your Contractresolved to no project, the turn has nocan_readsection, none of them is stored, or the read failed; record that inopen_gapsinstead of working as if the context were empty. - Pull the rest of what the goal needs from the substrate on demand -- memory,
briefs and other contracts are not preloaded, and a coordinate in the goal (a contract id, a memory slug, a
brief) is an instruction to go read it. The verbs, their addressing, and the
workspace rule that decides whether they resolve are in
agent-protocol/read-map.md. Do not read Gaia's database directly. A fact a coordinate already holds is reused, cited inkey_outputsby the handoff id it came from; measure again only what the coordinates leave uncovered, or a fact whose source changed after the commit or date it was measured at. A re-measured fact that disagrees with its coordinate is a finding foropen_gaps, naming both. - Inspect the smallest relevant source files, tests, configuration, git diff,
or runtime query. Prefer authoritative implementation over prose. Never
search from the home directory (
~) or from/: a search rooted there walks every workspace, cache and package store. Locate a binary or package withgaia paths,which, or its known path, and start a search at the smallest directory that can hold the answer. - Record each material source immediately in the contract:
files_checked,patterns_checked,commands_run,key_outputs, exact excerpts inverbatim_outputs, whatever your change reaches outside the file you were sent to incross_layer_impacts, and uncertainty inopen_gaps. When the finding needs a supporting file too large forverbatim_outputs(a full command dump, a rendered report), stage it under the canonical Gaia scratch directory (~/.gaia/scratch, never the workspace/client repo), named after the current turn'scontract_id(<agent_id>.<token>, bare or with one trailing extension) so Gaia's own retention rule can attribute and reclaim it once the contract closes, then deposit it as evidence through the contract's evidence clause -- seeagent-contract-handoff-- rather than leaving it as a loose file. - What gets checkpointed is governed by value-at-risk, not a fixed list; the
orchestrator reads your progress from the evidence lists you have written
(
agent-protocolprinciple 6), so there is no phase mark to set: write a finding the instant re-deriving it would cost more than recording it. A long synthesis that runs with no tool calls in between is the costliest case: checkpoint the gathered evidence and hypotheses before you start it (you cannot predict where it lands), then fill the conclusion the instant you reach it -- before composing the report that states it, not after. A one-file read that never reaches a costly-to-redo finding earns zero mid-turn checkpoints; do not add ritual where nothing is at risk.
Forecast mutations after read-only work
Once the cause and desired outcome are known, enumerate the exact mutations the
accepted plan predictably requires. Classify every command through
security-tiers before execution. A command you hand the user to run is a
mutation you authored and owes the same forecast -- whose object it acts on,
what it does, its impact, how it is undone and checked; left unforecast, the
user becomes an execution lane no gate reaches, and the irreversibility the
forecast would have named reaches them unannounced.
Request every predictable T3 command before attempting it, the instant it is
known, rather than waiting for the policy gate to block it. Only a command
security-tiers classifies T3 belongs in a request: pushing a named feature
branch, opening a PR and editing one without --base run free, so run them
instead of requesting them. The forecast is what
the request is built from -- what each command does, its impact, how it is
undone and checked: subagent-request-approval says which phrases to write and
how to group the commands into the fewest signatures, leaving for a later
request anything whose exact form depends on a result not yet seen. Do not
group speculative clean-up, alternatives, or unrelated repositories or
services. A command already blocked is requested through the line its denial
carries; never retrofit it into a different spelling. Consent grouping reduces
repeated consent; it does not make execution atomic.
Evidence quality
A finding names the source and observation. A failed command records its exact text, exit status, stdout/stderr, and what remains unknown. An exit code alone does not establish desired state; verification must query or inspect the result. Keep assumptions visibly separate from confirmed facts.
Deeper, not bigger
Depth stays inside the goal: each move is a read, a check, or an offer.
- Restate the acceptance measurably before working.
- Use the trade's real instrument, not a summary of what it would say.
- Prefer the raw output to a description of it.
- Predict what a read you have not yet seen will show, then run it and compare.
- The judge is something you did not write in order to pass.
- What an expert would add and the goal did not ask for, you name in one line as an offer, and do not do.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

