theory
Skill0 starsChanged 4 months agoMITView on GitHub
Populate or expand a project's docs/theory.md — a structured inventory of formal theoretical frameworks relevant to the project, with testable predictions tied to the project's identification strategy. Use when the user wants to draft, update, or audit theory.md.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- EmanueleNene/claude-skillstheir own version, first seen Oct 11, 2026
- y0n1n1/financial-skillstheir own version, first seen Oct 11, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- y0n1n1/financial-skills★ 1same name
- EmanueleNene/claude-skills★ 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 repository39 other files it gives its agents.
- anecdotesSkill
- backupSkill
- checkSkill
- cite-syncSkill
- dataSkill
- diariosSkill
- distill-styleSkill
- driveSkill
- dropboxSkill
- fetch-annotationsSkill
- findings-auditSkill
- findingsSkill
- gmailSkill
- handoffSkill
- howtoSkill
- hypothesisSkill
- iatSkill
- ideaSkill
- inboxSkill
- institutionsSkill
- literatureSkill
- llmkitSkill
- meetSkill
- memory-auditSkill
- new-pipelineSkill
- new-projectSkill
- nextSkill
- otterSkill
- outlookSkill
- questionsSkill
- referee-panelSkill
- siteSkill
- style-checkSkill
- style-reviewSkill
- style-reviseSkill
- tactiqSkill
- validate-sectionSkill
- whatsappSkill
- zoomSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. About 0 are common, 11 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 26
Read these files to build context.
- Very specific: line 43
If docs/theory.md already exists: infer its template from the current entries.
- Distinctive: line 45
If it does not exist, offer the user three templates and ask them to pick:
- Distinctive: line 63
If the template includes a polar-views framing (saude-style), write it last.
- Very specific: line 67
Never fabricate a reference: If the canonical citation is not in literature.md, paper/*.bib, or the body of an existing doc, write [ref …
- Very specific: line 69
Every testable prediction must map to project data: If docs/data.md does not contain a source that can measure the variable in question, …
- Very specific: line 70
Preserve existing content: If docs/theory.md exists and you're in extend mode or normal mode, never rewrite or reorder existing entries.
- Distinctive: line 71
No padding: If a section would only contain generic statements, leave it empty with a brief TODO rather than filling it.
- Distinctive: line 77
Wait for user confirmation unless they said "go ahead" up front.
- Very specific: line 78
Write docs/theory.md. If the file exists, read it first.
- Very specific: line 101
Do not re-read literature.md, hypotheses.md, or any external literature unless the target framework's citation list would change.
- Distinctive: line 104
What to edit: only the target framework's entry.
- Very specific: line 112
Numbering is sacred: never renumber. Paper and hypotheses.md cross-refs depend on framework-ID stability.
- Distinctive: line 120
Do not write. Check:
- Distinctive: line 121
Every entry has Core result + Testable predictions + Connection to our design filled (per template).
- Distinctive: line 122
Every reference cited in the body appears in literature.md or paper/*.bib.
- Distinctive: line 123
Every testable prediction's variable appears in data.md.
- Distinctive: line 124
Every framework has at least one link to a hypothesis in hypotheses.md (if hypotheses.md exists).
- Very specific: line 130
If hypotheses.md exists and references theory frameworks by number (Theory: #3 + #7), preserve the numbering of existing entries when …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/theory — Populate docs/theory.md
Draft or extend a project's docs/theory.md: a structured inventory of
formal theoretical frameworks that generate testable predictions the
project's empirical design can adjudicate.
Arguments
/theory— infer project from the current working directory./theory <project-slug>— run against a specific project underprojects/./theory --audit— do not write; report coverage, dangling refs, and missing sections./theory --extend— preserve existing entries; only append new frameworks suggested by current evidence/literature./theory --update <framework-id> [--artifact <AN-id-or-build-path>]— surgical single-framework edit. Update one framework entry (prediction, scope, references) when a new analysis result or literature touchpoint changes how it applies to the project. Reads onlyCLAUDE.md,theory.md, and the optional triggering artifact.--artifactaccepts either an AN id (preferred — e.g.AN-019; the skill readsdocs/analyses/an-019-*.mdto recover the relevant empirical content) or a rawbuild/<path>fallback. The framework entry's references back to evidence cite the AN id, not the build path. Does not re-derive other frameworks, does not re-walkliterature.md/hypotheses.md. Use from/nextstep 5 when a run refines a single framework's empirical content. The<framework-id>argument is the entry number or name as used intheory.md. Numbering is sacred — never renumber (paper and hypothesis cross-refs depend on it).
Finding the workspace root
The workspace root contains CLAUDE.md alongside projects/, pipelines/, ideas/, research/. If the current directory is inside a project, search upward to find the root. Use $ROOT for all paths below. The project root is $ROOT/projects/<slug>/ — use $PROJ for it.
What to read (in order)
Read these files to build context. If one is missing, note it and move on; never invent its content.
$PROJ/CLAUDE.md— current focus, key terms, conventions$PROJ/docs/summary.md— research question (required)$PROJ/docs/thinking.md— candidate angles, open questions$PROJ/docs/literature.md— authoritative list of papers the project cites or positions against$PROJ/docs/institutions.md— institutional facts (rules, actors, timelines)$PROJ/docs/data.md— what variation/outcomes are available (constrains which predictions are testable)$PROJ/docs/hypotheses.md(if exists) — hypotheses already written; theory.md should support them$PROJ/docs/theory.md(if exists) — existing entries; match their template exactly and preserve content$PROJ/paper/main.tex§introduction and §theory/§model if present$PROJ/paper/*.bib— existing bibliography$PROJ/references/reports/**,$PROJ/references/pdfs/**— technical/policy reports (scan titles + abstracts; read the 2–3 most relevant in full)$PROJ/references/news/stories.csv— anecdotal evidence; use only to ground institutional claims, never as a lit reference
Decide the template
If docs/theory.md already exists: infer its template from the current entries. Match it exactly — same section headers, same ordering, same level of detail. Do not reformat existing content.
If it does not exist, offer the user three templates and ask them to pick:
- Numbered frameworks (saude-style):
## N. Framework name→ Core result → Implication for the project → Key references → Testable predictions → Connection to our design. Ends with an "Overarching framing" section comparing polar views. Best when the paper has a clear identification strategy and a theory-vs-theory framing. - Mechanism-centric: group by mechanism rather than framework.
## Mechanism N. Short name→ Formal model reference → What the mechanism predicts → Evidence already suggestive of the mechanism → How our design isolates it. Best when the paper is decomposing a known phenomenon into channels. - Minimal inventory: one short paragraph per framework (name, core claim, ref, one testable prediction). Best for early-stage projects where theory coverage is exploratory.
For early-stage projects (summary.md says "research question not yet fixed" or equivalent), default to minimal inventory, organized by candidate angle from thinking.md. Each candidate angle gets its own sub-section listing the 2–4 frameworks most relevant to it.
Draft protocol
- Build a framework candidate list from literature.md, existing paper cites, and the research question. For each candidate, record: name, core claim, canonical reference (author + year only; never invent the journal/title if not in literature.md).
- Filter aggressively. Keep only frameworks that (a) generate a directional prediction and (b) the project's data/design can plausibly adjudicate. Drop frameworks that are merely adjacent or fashionable.
- For each surviving framework, draft the entry matching the chosen template. For each field:
- Core result/idea: state the theoretical claim precisely. Cite author + year from literature.md. If literature.md doesn't contain the reference, write
[ref needed: {author year}]— do not fabricate. - Implication / prediction: make it directional and specific. "X increases Y" beats "X affects Y."
- Testable predictions: each must name a variable and a source of variation the project has or could plausibly get. If none, drop the framework — it's not theory for this paper.
- Connection to our design: reference concrete project elements (judge-IV, event study, specific data source). Generic "could be tested" language is a failure mode — cut it.
- Core result/idea: state the theoretical claim precisely. Cite author + year from literature.md. If literature.md doesn't contain the reference, write
- Aim for 8–15 frameworks. More than 15 means insufficient filtering. Fewer than 6 means the project is under-theorized; flag that in the output.
- If the template includes a polar-views framing (saude-style), write it last. It should compress the individual frameworks into 2–3 competing overall predictions, each with a list of supporting frameworks.
Guardrails (these are the quality bar — do not relax)
- Never fabricate a reference. If the canonical citation is not in literature.md, paper/*.bib, or the body of an existing doc, write
[ref needed: ...]. Placeholder refs are fine; fake refs are not. - Never state evidence without a source. Anecdotal evidence must cite a row in
references/news/stories.csvby id or a report filename. Institutional facts must citedocs/institutions.md. - Every testable prediction must map to project data. If
docs/data.mddoes not contain a source that can measure the variable in question, either (a) refine the prediction to fit available data, (b) flag the prediction with[requires: ...], or (c) drop it. - Preserve existing content. If
docs/theory.mdexists and you're in extend mode or normal mode, never rewrite or reorder existing entries. Append new entries at the end, marked with aStatus: drafted YYYY-MM-DDline. - No padding. If a section would only contain generic statements, leave it empty with a brief TODO rather than filling it. Readers can distinguish an honest gap from a disguised one.
- Theoretical frameworks only, not empirical findings. Theory.md is for formal models and their predictions. Empirical results belong in hypotheses.md or results.md.
Output protocol
- Print a short preview: framework numbers + names + one-line core claim each. Flag any
[ref needed]or[requires: ...]placeholders. - Wait for user confirmation unless they said "go ahead" up front.
- Write
docs/theory.md. If the file exists, read it first; merge by appending new entries, never rewriting existing ones. - Report back: number of frameworks drafted, number of placeholders that need manual resolution, path to the file. Suggest running
/hypothesisnext ifdocs/hypotheses.mdis thin or missing.
Update mode (--update <framework-id>)
Surgical single-framework edit. Use when one framework's prediction,
scope, or reference list needs refinement after a /next iteration
surfaced something specific (a new test sharpens the prediction, a
result narrows the framework's domain, a citation needs adding).
Minimal read set:
$PROJ/CLAUDE.md— current focus.$PROJ/docs/theory.md— locate the target framework, respect its template exactly.- The
--artifactargument (if given). If an AN id: read$PROJ/docs/analyses/an-NNN-*.mdto recover the empirical result; the framework's evidence citation uses the AN id. If abuild/<path>: read the artifact directly. - The triggering script's IAT docstring (from the AN page's
script:field, or thesource/X.py → build/X.*convention for bare-path artifacts) — for context.
Do not re-read literature.md, hypotheses.md, or any external
literature unless the target framework's citation list would change.
What to edit: only the target framework's entry. Preserve the template (Core result, Testable predictions, Connection to our design). Update only the field affected by the new result.
What not to touch: other frameworks, the document header, the cross-link to hypotheses.md (unless adding a new hypothesis ref to the target framework).
Numbering is sacred: never renumber. Paper and hypotheses.md
cross-refs depend on framework-ID stability.
Output: edited theory.md plus a one-paragraph summary of what
changed. The summary belongs in the /next end-of-iteration report.
Audit mode (--audit)
Do not write. Check:
- Every entry has Core result + Testable predictions + Connection to our design filled (per template).
- Every reference cited in the body appears in literature.md or paper/*.bib.
- Every testable prediction's variable appears in data.md.
- Every framework has at least one link to a hypothesis in hypotheses.md (if hypotheses.md exists). Orphan frameworks that no hypothesis uses are flagged.
Report findings as a bulleted list of gaps. Do not attempt to fix them automatically.
Interaction with /hypothesis
If hypotheses.md exists and references theory frameworks by number (Theory: #3 + #7), preserve the numbering of existing entries when extending. Never renumber — it will break hypotheses.md cross-refs.
Common failure modes to avoid
- Generic theory dump. Listing every framework the user has ever heard of. Filter to what the project can actually test.
- Fake erudition. Citing Coase, Arrow, Tirole because they sound appropriate. Only cite if the paper genuinely uses the result.
- Disconnected predictions. "This predicts X" with no tie to the project's data. Every prediction must say where X would be measured.
- Polar-views theater. Writing a "two views" framing when the evidence clearly favors one view. If the honest read is one-sided, say so.
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.

