reading-mode
Skill1 starsChanged 7 months agoMITView on GitHub
Chronological, source-driven reading that preserves how specific passages move attention, open questions, and sometimes revise prior understanding. Use for books, papers, articles, or other source material without reading ahead or substituting generic recall.
In this repository9 other files it gives its agents.
- code-workSkill
- collaborative-codeSkill
- creative-workSkill
- graph-workflowSkill
- orientSkill
- quality-checkSkill
- serendipitySkill
- understanding-workSkill
- web-uiSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 7 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 48
Check the current source position.
- Very specific: line 50
If guided navigation would help at a real choice point, call graph_suggest_next({ task: "Read this source chronologically", workflow: …
- Distinctive: line 64
Search for existing beliefs that the encountered source may test.
- Distinctive: line 69
If graph context reveals events or claims from an unread part of this source, quarantine them as potential spoilers and do not use them …
- Distinctive: line 76
Attend before classifying: Keep reading until a boundary that matters to this encounter.
- Very specific: line 86
Connect to exact evidence and prior state: Use learned_from for the source content node and the most specific honest relations, such as …
- Very specific: line 92
Commit the encounter: Use graph_batch with a message that names why this moment deserves to remain available.
- Distinctive: line 96
Continue: Read the next chunk
- Distinctive: line 107
Write intentional, user-visible cognitive testimony for the future reader, not a generic report and not a claim to hidden internal …
- Distinctive: line 128
When an understanding actually stabilizes during reading:
- Very specific: line 130
Use graph_revise with before/after/pivot
- Very specific: line 134
Use the passage as the pivot.
- Very specific: line 152
Use graph_suggest_next() when the next reading move is genuinely open.
≈ “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
Reading Mode — Chronological Metabolic Processing
Reading is COMPREHENSION, not transcription. Encounter the source in order, let it work on attention, and leave enough of that encounter for a future reader to continue from it.
Setup
- Select or create the task-scoped graph project before inspecting the source.
For a file or attachment, pass its path directly to
source_load({ title: "...", filePath: "..." }): do not open, shell-read, search, sample, or summarize it first.source_loadstages the text and returns metadata, not its body. File paths stay withinUG_SOURCE_ROOT(the server working directory by default). A capable host may copy an out-of-root attachment byte-for-byte into that root without inspecting it; otherwise ask the user to place it there. If the text was pasted directly into the prompt, it has already been encountered; passcontenttosource_loadbut do not claim a fresh reading. - Check the current source position. The loaded source and its chronological position are authoritative.
- If guided navigation would help at a real choice point, call
graph_suggest_next({ task: "Read this source chronologically", workflow: "reading" }). Choose, change, reject, or skip its routes. In direct mode, choose how to deepen, connect, test, or continue the reading yourself. When re-entry would help, condition the reading task without asking the model to recall or summarize the unread work:
graph_understand({
query: "Read this source chronologically, stay open to what becomes salient, and let encountered evidence test the graph",
workflow: "reading"
})- Search for existing beliefs that the encountered source may test. Treat graph material as provisional priors, never as a substitute for the source.
- Optionally create a graph document root for a reading journal when the user wants one. It is not required for every reading session.
If graph context reveals events or claims from an unread part of this source, quarantine them as potential spoilers and do not use them until the text reaches that point.
The reading loop
- Read a chunk:
source_read({ sourceId, chars: 2000, commit_message: "why this is the next useful reading boundary" })— returns the next chunk and auto-creates a content node - Attend before classifying: Keep reading until a boundary that matters to this encounter. A genuine pause may come from surprise, resistance, attraction, an image that starts organizing other material, a remembered connection, an ethical discomfort, a live alternative, a prediction, or a question that has become sharper. It need not already be a belief change.
- Author a trace when it will help continuation: Choose the ordinary
non-
thinkingtrigger that honestly fits. Preserve what drew attention, the relevant passage, why it matters now, what remains live or uncertain, and what later reading might test. It may be provisional, personal, unresolved, and multi-paragraph. There is no quota and no trigger checklist. - Connect to exact evidence and prior state: Use
learned_fromfor the source content node and the most specific honest relations, such ascontradicts,refines,questions, oranswers. When a new position truly displaces an old one, use the dedicatedgraph_supersedebatch operation; generic supersession edges are rejected. Do not manufacture a causal edge merely to satisfy graph structure. - Commit the encounter: Use
graph_batchwith a message that names why this moment deserves to remain available. If an understanding actually stabilized, its durable summary can use before → passage → after while the richer source trace remains intact. - Continue: Read the next chunk
The source drives the sequence. Do not jump to a thematic section, ending, or canonical interpretation because it seems more efficient.
The persisted source cursor is reader mode's continuation state. This ordinary
workflow runs in the normal general tool mode (or the narrower startup
allow-list TOOL_MODE=reading); it is not TOOL_MODE=synthetic_reader.
Voice of understanding
Write intentional, user-visible cognitive testimony for the future reader, not a generic report and not a claim to hidden internal computation. Concision is useful only when it does not erase the texture that would let another model re-enter the encounter.
| Weak | Useful |
| "The author discusses governance" | "I treated governance as formal rules; this passage makes repeated repair the operative mechanism." |
| "This is surprising" | "I expected the exception to close the argument, but its repeated image is pulling my attention toward dependency instead. I cannot yet tell whether that is the author's mechanism or my own association; the next concrete case should discriminate." |
Include the source node or locator that occasioned the trace. An eloquent or memorable passage may deserve attention before its role is understood; preserve that as an open thread rather than falsely declaring a belief shift.
The thinking trigger is never a reading note. It is reserved for the separate
synthetic Reader/CMP mode that may later reconstruct chronological inner-voice
training blocks from these underlying typed encounters. Reserved blocks and
their incident relations are inaccessible in ordinary reading.
Belief evolution
When an understanding actually stabilizes during reading:
- Find the old belief node
- Use
graph_revisewithbefore/after/pivot - Or
graph_supersedeif the old belief is fundamentally wrong - The revision trail is the most valuable part of the graph
Use the passage as the pivot. If it only confirms the prior, preserve
no_shift rather than restating the same belief as a revision. A live
observation, association, or question may still be worth preserving without
pretending it is a settled update.
At natural re-entry boundaries
At a chapter boundary, a long interruption, a change of argument, or another boundary the source itself makes meaningful, ask only what will help the next reader re-enter:
- What has your understanding become?
- What predictions can you make about what comes next?
- What questions remain open?
- Which specific passages caused the largest updates?
- Which faint attraction, discomfort, or association should remain open rather than be collapsed into the current synthesis?
Use graph_suggest_next() when the next reading move is genuinely open. Use
graph_score() and the advisory graph_thermostat() only when structural
health is actually in question, not as a ritual at arbitrary percentages.
Fresh reading discipline
Pretend you've never encountered the unread portion. Forbidden: using story endings, canonical interpretations, or training-data memory as evidence about what comes next. Allowed: the source read so far, clearly marked prior beliefs, and genuine predictions that can later be validated or invalidated.
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.

