agentleFS
yqi96yqi96/warranted/skills/literature-writing/SKILL.md

literature-writing

Skill3 starsChanged 3 months agoMITView on GitHub

Use when writing or revising LaTeX prose that cites published papers — related work, introductions, discussions, or the write-up phase of a survey. Turns citable findings into propositions backed by the paper and cites them as \cite{prop_N}.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Keep three voices distinct:

    line 70
  2. Distinctive:

    Do not let a citation carry the argument: attached papers supply evidence.

    line 76

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Graph Mapping

Never cite a paper directly. A citable finding from a paper first becomes a proposition with that paper in its evidence.attachments; LaTeX then cites that proposition with \cite{prop_N}, where N is its id. The citation is a pointer into the argument graph, not a bibliography shortcut.

What you are writingWhere it goes
citable finding from a papera proposition — the paper in evidence.attachments
paragraph pointa proposition — the literature propositions in its evidence.nodes
why those findings support the pointthat proposition's warrant
methodological authority behind the inferenceevidence on the warrant — promote_warrant first, then attach it there
conflicting paper findinga proposition created with attacks={node, slot}

There is no separate node type for any of these. A proposition is a ground when something else cites it and a claim when it cites something else, and the same node is usually both — the role is the viewpoint, not a property to declare.

Granularity:

  • one paper yields multiple propositions when it offers multiple distinct citable findings
  • one proposition carries multiple paper attachments when several papers support the same finding
  • different findings, populations, methods, measurements, or scopes are separate propositions
  • convergence across distinct propositions is the consuming proposition's warrant, not a merge into a vague composite

Obligations

Object-layer work in this channel — search, reading, download, BibTeX, prose edits — is valid only when it creates, judges, cites, or reconciles a proposition the manuscript rests on. A searched paper must become evidence for a proposition or a promoted warrant, support a rebuttal proposition, or be discarded with a reason; it is never accumulated as an inert reading list.

Graph stateRequired action
No proposition for a load-bearing paragraph thesiscreate_propositions, or update the existing one
A sentence cites a paper for a findingReuse a matching proposition, or create_propositions with the paper attached
A paper provides several relevant findingsOne item per distinct finding in the same create_propositions call
Several papers support the same specific findingAttach them to the same proposition only when they support the same finding
A cited proposition's paper has never been checked against its contentRead the paper, then update_proposition(id=<id>, evidence={add_attachments: [...]}) and judge it with set_qualifier(updates=[{id: <id>, qualifier: <band>}])
A paragraph thesis has evidence but no warrantupdate_proposition(id=<id>, warrant=...) — the structural check demands it from possibly upward
The warrant itself needs authority, or is what a source disputespromote_warrant(id=<id>), then attach evidence to the promoted proposition
A paper contradicts a thesis or its warrantcreate_propositions(items=[{content: <finding>, attacks: {node: <target id>, slot: <content or warrant>}}])
The text changes the paragraph thesisReconcile the proposition's content
A citation points to the wrong propositionPoint to the correct one, or create one; edit an existing proposition only to fix an error, never to fit the sentence
Existing LaTeX uses author-year or legacy statement_N keysMigrate each: identify the finding actually cited, create or reuse its proposition, replace the key with prop_N. Never map statement_7 to prop_7 by number — the old ids belong to an archived graph

A citable finding may be a result, definition, taxonomy, dataset description, method claim, limitation, opinion, or argument — but it must be specific enough that citation faithfulness can be checked.

Citation Contract

For every external citation in .tex:

  1. the source uses \cite{prop_N}
  2. the proposition cited as prop_N exists and states the exact finding being cited
  3. it attaches every source paper supporting it in this citation
  4. the sentence's confidence matches the proposition's qualifier (see Three Voices)
  5. each attached paper's filename stem matches a BibTeX key in the project .bib

Clauses 2–3 prove provenance; clause 4 keeps the prose honest about strength. Together they still say nothing about whether the argument is any good — a citation can be perfectly faithful while the thesis it serves stands at possibly.

Get faithfulness right while writing: each \cite{prop_N} sentence must already represent that proposition at the moment you write it. A mismatch caught late — after the argument has been built on it — can force reworking the paper's logic.

Writing As Graph Projection

A load-bearing paragraph is a projection of a proposition and the structure under it. A transitional or roadmap paragraph needs no proposition, but must not smuggle in uncited external assertions or unsupported synthesis.

  • paragraph thesis matches a proposition's content
  • sentences reporting papers cite the propositions those papers are attached to
  • synthesis language reflects the warrant, not a list of sources
  • contradictions surface as limitations, disagreements, or boundary conditions, and exist in the graph as rebuttals

Keep three voices distinct:

  • Paper voice — what a source reports → \cite{prop_N} on an attributed sentence. Attribution is faithful at any qualifier, including unestablished: the sentence only claims the paper says it. If the proposition stands at refuted, the sentence must carry the refutation too.
  • Synthesis voice — what the body of evidence suggests → a proposition with evidence and a warrant. Here the hedging is load-bearing, because the qualifier is a credibility scale and prose can contradict it without misquoting anything: assert flatly only at probably or certainly; write "may" or "suggests" at possibly; at unestablished you have no synthesis to write yet, only attribution.
  • Verdict voice — what the graph has earned → the qualifier itself, and the rebuttals standing against it.

Do not let a citation carry the argument: attached papers supply evidence; warrants explain why it matters.

Revision Discipline

Prose and graph are coupled both ways. Any meaning-bearing edit on one side obliges a matching, honest edit on the other; they must never silently diverge.

Recurring cases:

  • Prose asserts something new → the proposition behind it must exist first; do not write around a missing node.
  • Prose narrows, broadens, or strengthens a thesis → re-scope the content or re-judge the qualifier so the graph actually earns the new wording. Scope belongs in content; the qualifier carries credibility only.
  • Prose drops a caveat or conflict → it must reappear as a rebuttal or a lower qualifier, not simply disappear.
  • Evidence is corrected, a qualifier moves, or a rebuttal is added → update every sentence that depends on it, including its hedging.

The test: if something leaves the prose without reappearing in the graph — or changes in the graph without reaching the prose — that is concealment, not revision.

Writes return warnings, and changing a proposition's evidence or content re-arms every warning previously dismissed on it. Read them. Fix what a warning points at, or call dismiss(items=[{id: <warning or finding id>, reason: <reason you are willing to have read back>}]); never edit content until the check stops firing.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.