almagest
Skill1 starsChanged 25 days agoMITView on GitHub
Orient in the Almagest vault, say what waits for the user, do the work a request asks in a linked repository, and route any other request to the skill that owns it. Use for /almagest, what is going on, status, what waits for me, where do I work on X, work on X, fix this, implement, build, note this, remember to, publish my journal, what is in my journals, and any request when the right skill is not clear. Keeping part of this conversation is wiki-save; files to learn from are wiki-ingest.
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 4 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Every request passes this skill first.
- Very specific: line 18
Read the opening context: the vault, its repositories, the live sessions, the tags with their counts, and this session's document.
- Very specific: line 25
When the request names work in a repository, find the repository: search with types: [repository] and the request's words, then context …
- Very specific: line 29
When the request names categories ("my cs513 self-driving project"), turn the words that name tags of the vocabulary into tags, and pass …
- Distinctive: line 34
Do the work in the repository (Work in a repository), or hand off.
- Very specific: line 83
Read what context returned for the repository in step 3: follow its instructions (the paths of AGENTS.md and CLAUDE.md, and what they …
- Distinctive: line 86
Do the work. Change files with Edit and Write, not with the shell.
- Very specific: line 88
When the work is long, or stops before it is done, add a dated line to ## Progress in this session's document: where the work stands.
- Distinctive: line 134
Never report the vault's git state to the user.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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
almagest
Every request passes this skill first. It reads where the session stands, names the kind of request, finds the repository or the tags that the request names, and hands off. A request to change code in a linked repository goes to no other skill: this skill finds the repository and does the work.
Tools: vault, search, context. References:
conventions.md.
Procedure
- Read the opening context: the vault, its repositories, the live sessions, the tags
with their counts, and this session's document. Call
vaultwhen the context is missing or the user asks for the state. When the context says that the vault waits foralmagest vault migrate, stop: tell the user to type! almagest vault migratein this session (you cannot run it), then to start a new session. Until then, every tool and every edit in the vault refuses. - Name the kind of request with the table below.
- When the request names work in a repository, find the repository:
searchwithtypes: [repository]and the request's words, thencontextwithrepositoryset to the best hit. When two repositories match, ask which, and name both. Never guess between two. - When the request names categories ("my cs513 self-driving project"), turn the words
that name tags of the vocabulary into
tags, and pass them to the next call. The opening context andvaultlist the tags that exist. - Once the work is known, write one line under
## Descriptionin this session's document (the opening context links it). Use Edit. - Do the work in the repository (Work in a repository), or hand off.
| The user wants | Skill |
| an answer, an explanation, to explore; what the vault holds under a tag | wiki-query |
| a change to code in a linked repository: fix, build, implement, continue | this skill: Work in a repository |
| to note an idea, a bug, or a paper for later ("note this", "remember to") | this skill: Notes for later |
| to publish a journal, or to know what the journals hold | this skill: Journals |
to ingest files, or process ingest/ | wiki-ingest |
| to keep something from this conversation | wiki-save |
| to bring the wiki up to date with new sources | wiki-sync |
| to link, unlink, or describe a repository | repo-link, repo-unlink, repo-ingest |
| to check the wiki | wiki-review |
| to fix, rewrite, merge, or retag knowledge, or rename a tag | wiki-edit |
| to organize the knowledge under a tag | wiki-map |
| a reading stack: check out the material on a subject, or return a checkout | wiki-checkout |
| to wikify a note: mark what the wiki knows in it, and the subjects worth a topic | wiki-wikify |
| a new vault | almagest-onboard |
A question can turn into work. When the user then asks for a change to a repository, do the work.
Messages from the palette
The Almagest palette in Obsidian starts an agent with one of seven messages. Each one names
its skill, and four name a work document. A work document's kind is ingest, repair,
or draft:
| The message | Skill |
/almagest:wiki-ingest Ingest the files of ingest/ … Your work document is [[…]] (<id>) … | wiki-ingest |
/almagest:wiki-review … with a repair work document | wiki-review, its Repair path |
/almagest:wiki-sync Absorb the source [[<edition>]] (<id>), the user's journal edition. … Your work document is [[…]] (<id>) … | wiki-sync, its journal edition rules |
/almagest:wiki-edit Remove [[<title>]] …: point each backlink elsewhere … | wiki-edit, its Safe delete path |
/almagest:wiki-checkout Check out the material on: <request> | wiki-checkout |
/almagest:wiki-wikify Wikify [[<copy title>]]: mark what the wiki knows … | wiki-wikify |
/almagest:wiki-edit Draft a topic titled <Title> from [[<note>]] … Your work document is [[…]] (<id>) … with a draft work document | wiki-edit, its Draft path |
The user decides in the document (Approve or Cancel), so these tasks do not stop for a yes before they propose. Ask the user only for a real edge case that the skill names.
The end of a task
End each task with one or two lines: what was done, and the change or work document as a link. The documents hold the details; do not repeat them in the chat.
Work in a repository
- Read what
contextreturned for the repository in step 3: follow itsinstructions(the paths of AGENTS.md and CLAUDE.md, and what they require) and the policies that bind the work (conventions.md). - Do the work. Change files with Edit and Write, not with the shell; use the shell to run commands. Test what can break.
- When the work is long, or stops before it is done, add a dated line to
## Progressin this session's document: where the work stands. - What you learn on the way has a home:
- a fact the wiki should hold (how a tool behaves, a result, a pitfall) → wiki-save;
- work for later → a note in
scratchpad/.
Notes for later
An idea, a bug, or a paper the user wants to remember goes in a note in scratchpad/:
the user's words, with a short title as the file name. A file the wiki should learn from
goes in ingest/, for wiki-ingest.
Journals
journals/ holds the user's own writing. A volume is a folder directly under
journals/. Its notes are every .md file under it, except its publication
history, Journal · <folder>.md, which code writes.
- "Publish my journal." Publish is the user's act. Tell the user to press Publish
next to the volume on the Journals page of the Almagest palette, or to type
! almagest journal publish <volume>in the session. Never run that command yourself: the guard refuses it from your shell. Publish captures the volume as one source, an edition. The palette then starts wiki-sync on the edition, with a work document. After a publish with!, the edition waits as a pending source; absorb it with wiki-sync when the user asks. - "What is in my journals?"
vaultstatus (journals) names each volume with its note count, its latest edition, and whether it changed since that edition.almagest journal listprints the same. Read the notes with Read, Grep, and Glob; search does not indexjournals/. Never edit a file there.
Status
vault status gives the state of the vault. Say what waits for the user first: the
proposed changes and the sessions that wait. Then the running work documents
(changes.running), the files in ingest/, the sources
pending for the wiki, the journal volumes with changes to publish (journals entries
with changed: true; the user publishes them), the checkouts with edited copies that
are out (checkouts entries with status: out and edited above 0; Return proposes
their edits), and the lint problems, each with the
skill that handles it. The opening context names each repository that is behind its
description (repo-ingest), and each journal volume with
changes to publish.
Vault rules
- Never report the vault's git state to the user. The Obsidian plugin commits the user's hand edits as quiet snapshots, and every write tool commits a snapshot first.
journals/holds the user's own writing. Read it when the request needs it; never edit a file there, and never runalmagest journal publish. The guard refuses every agent edit underjournals/, and the publish command from your shell.checkout/is the user's: the copies the librarian checked out, each checkout's_index.md, and the ledger. A returned checkout moves totool/returned/, as the user left it. Code writes them; the user reads and edits the copies. Never edit a file there; the guard refuses every agent edit undercheckout/andtool/returned/.- A wikified copy (
scratchpad/<name> · wikified.md) is the user's scratch. Onlywikify markwrites into it; never edit it with Edit or Write. tool/trash/holds what the user deleted. Never read or edit it, and never runalmagest vault trash: safe delete is the user's action. The guard refuses every agent edit undertool/trash/.
Gate
None. The skill that the request routes to keeps its own gate.
Hand off
The routed skill.
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 2
- nathanaday/almagest★ 199% same
- nathanaday/claude-atlas★ 199% same
Wrote their own version · 0
None found.
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 repository15 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- almagest-onboardSkill
- repo-ingestSkill
- repo-linkSkill
- repo-unlinkSkill
- wiki-checkoutSkill
- wiki-editSkill
- wiki-ingestSkill
- wiki-mapSkill
- wiki-querySkill
- wiki-reviewSkill
- wiki-saveSkill
- wiki-syncSkill
- wiki-wikifySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

