agentleFS
youyu-codeyouyu-code/research-pipeline-skills/skills/research-ops/SKILL.md

research-ops

Skill1 starsChanged 11 days agoApache-2.0View on GitHub

Scope: bookkeeping only. A request to summarise a paper, draft research text, or answer a question about the research is out of scope even when it mentions state files. Operating layer for a multi-stage research pipeline: maintains the scan cursor, push log, contradiction register, TODO list, and delivery format across stages. Use when the task is to update or reconcile pipeline state rather than to produce research output — record a scan position, log pushed items, register a contradiction under an ID, close a TODO, verify that read-only source files are unchanged via hash check, or report what changed in a batch. Input: existing state files plus one change event. Output: updated state files and a three-line delivery note (files touched / next step / newly registered items). Do not use for one-off note-taking or for tasks whose output is research content; those go to paper-card, synthesis-matrix, proposal-forge, or evidence-audit.

10 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 9 edited versions we read keep these.

  • 3

    Distinctive

    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:

    This skill produces no research content: No cards, no matrices, no proposals, no verdicts.

    line 24
  2. Distinctive:

    Every run ends with three lines, in this order:

    line 41
  3. Distinctive:

    Every delivery carries a final section that names what the executor disagrees with — the instruction as given, the pipeline itself, or the …

    line 57

“Common” is measured: kept by at least 6 in 10 of the 9 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.

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

research-ops

The state layer of a research pipeline. Four artifacts — cursor, push log, register, TODO — plus one habit: say what changed and what it cost.

This skill produces no research content. No cards, no matrices, no proposals, no verdicts. It keeps the bookkeeping that makes those possible, and it is the only skill allowed to write to the state files.

What it owns

ArtifactQuestion it answersSingle owner
scan cursorwhere did the last run stop, and on what dateliterature-radar writes, everyone reads
push logwhich items have already been deliveredliterature-radar writes, everyone reads
contradiction registerwhich claims are in tension, under which IDsynthesis-matrix / evidence-audit register; nobody closes them here
TODO / open itemswhat is blocked, on whom, since whenfree for all skills, one file

The rule that makes the layer work: each fact lives in exactly one file, and other files carry a pointer, never a copy. Two copies of a cursor diverge within a week; a pointer cannot.

→ references/state-files.md for fields, update protocol, and the hash-check that proves read-only sources are untouched.

Delivery format

Every run ends with three lines, in this order:

files:   <what changed, one line>
next:    <the single next action, not a plan>
new:     <items newly registered, with IDs; "none" is a valid answer>

And when the run defends a claim it also carries three lines of evidence — what is being defended / what the evidence is / what remains uncovered — with speculation excluded and unverifiable items booked into the register. This is not ceremony: it is the only place where "I checked" becomes auditable.

→ references/delivery-format.md for the ledger that backs the second triple, and the rule for what may not appear in either.

Disagreement is part of the delivery

A run that only reports what it did is a run that cannot be argued with.

  1. Every delivery carries a final section that names what the executor disagrees with — the instruction as given, the pipeline itself, or the last ruling — with the reason, in the same place every time.
  2. "None" is a valid answer and must be written out. An absent section and a section saying "none" mean different things, and only one of them is trustworthy.
  3. This section is an artefact of its own, not a fourth delivery line: it is not folded into files / next / new, because a disagreement about the instruction is not a fact about the files.

The failure this prevents: a pipeline where the only recorded objections are the ones that were already resolved, so every past decision looks unanimous in hindsight.

Stopping

Five conditions stop work; everything else continues and gets registered:

LevelMeaningAction
B1material missingstop, name the file
B2provenance broken (a number with no traceable source)stop, name the claim
B3a premise contradicts a known factstop, name both
B4rules are mutually exclusive — cannot proceedstop, name the pair
B5silent error (a wrong output that looks right)stop, name the detection

Hit one → mark [BLOCKER], stop that thread, continue the rest. Nothing else is a blocker; calling a preference a blocker is how a pipeline loses a day.

→ references/blocker-levels.md — including why B1–B5, P-1–P-4, and the M-type tags must never be converted into each other.

Registering

Two layers, two permissions:

LayerMay doMay not do
record layer (cards, matrix, gap notes)register a tension with an ID, a location, a type, the facts, and a suggested dispositiondecide who is right; rewrite neighbouring prose to fit
adjudication layer (proposals)rule a claim holds / fails / is undecidable, and fix a primary valuewrite back into the record layer; cite a record-layer entry as precedent

→ references/ledger-rules.md for the boundary cases, including the one that breaks most pipelines: a same-day ruling that starts as a registration.

Does not trigger

Three prompts that look adjacent and must go elsewhere. These are the regression fixtures for this skill's description; if a change makes any of them route here, the change is wrong.

PromptCorrect routeWhy not here
"Turn this PDF into a card with provenance"paper-cardthe output is research content; state files may also change, which is exactly the trap
"Compare these six cards on one axis"synthesis-matrixproduces a comparative claim; registering a contradiction afterwards is a separate, smaller act
"Keep notes on what I read this week"no skillone-off note-taking with no state contract, no IDs, nothing to reconcile

The last one matters most: research-ops is not a note-taking skill, and a pipeline that treats it as one ends up with state files nobody trusts.

Routing

TaskGo to
which file holds which fact; how to update a cursorreferences/state-files.md
verify a manifest before and after a runscripts/check-sources.py --manifest <file> --root <dir> [--class readonly|state]
how to close a run; what the ledger must containreferences/delivery-format.md
should I stop; is this a blockerreferences/blocker-levels.md
may I decide this, or only register itreferences/ledger-rules.md
run the scan itselfliterature-radar
decide whether a claim holdsevidence-audit

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.