agentleFS
Z0CC0Z0CC0/ATLAS-mem/skills/atlas-help/SKILL.md

atlas-help

Skill0 starsChanged 10 days agoMITView on GitHub

Show the ATLAS reference card: the four dials, every command, every subagent, what each costs. Use when the user asks for atlas help, "/atlas-help", "atlas commands", "how do I switch atlas" — in any language — or what modes exist.

The file

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    After that the setting persists — across turns and restarts — until you change it or type atlas off, which persists too.

    line 24
  2. Distinctive:

    Never compressed at any level: code blocks, error strings, function and command names, file paths, numbers and units, negations, proper …

    line 49

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

Print the card below and nothing else. Change no state, start no work.

Print it in the language the user writes in. Translate the prose, leave every command, dial name, filename and number exactly as written — those are typed, not read.

The worth knowing column is the only place for anything beyond what a thing does. If a row has nothing surprising to say, leave it empty rather than filling it.


ATLAS

Four dials, eleven commands, five subagents.

It ships off. A fresh install changes nothing until you type atlas low or atlas high. After that the setting persists — across turns and restarts — until you change it or type atlas off, which persists too. It is one setting per project (the folder the session runs in, walked up to the nearest .git or .atlas.json), not a per-chat one and not a global one: a repository never switched on stays off whatever another one is set to.

Uninstalling does not reset it: the states live in ~/.claude/atlas-state/, one file per project, outside the plugin. atlas off in the project before uninstalling, or delete that folder.

Dials

dialwhat it doesvs no plugin, visible tokensworth knowing
atlas lowdrops filler, pleasantries, hedging, articles, the copula. Fragments allowed. No tables-11% ... -28%the default
atlas highhalf the words: facts stay, explanations go. Prepositions and connectives cut too-17% ... -35%9 points more than low in English, 7 in Italian. It reads more telegraphically; pick it when the answer is read once and acted on
atlas askasks before starting, until it knows what you actually want. One question at a time, options named where they can be named+3 to +2 pointsnot a quiz: it is there so the work matches what you had in mind, not what the request happened to say. Applies to every request, not only the first
atlas checkworks against invented facts: nothing from memory, its own work verified before it is called done, a second option looked for before recommending the first, a correction checked before it is accepted+3 to +9 points, plus the lookupsthe only dial that adds. Every setup with it on still lands under no plugin on a long session
atlas silenthands over the work and stops: no preamble, no narration between steps, no summary at the end, no offer of what to do next. Questions only before starting; a failure is still reported, in one linea few points lessthe only dial that removes a whole turn's worth of text rather than words inside it. /atlas-silent does the same for one task; the dial holds until turned off
atlas statusprints which dials are on, nothing else—changes nothing. Says atlas off when none are
atlas ask off · atlas check off · atlas silent offturns one dial off, leaves the rest—
atlas offeverything off—also "stop atlas" and "normal mode". Those are matched in English only; atlas off works in any language, and asking to stop in yours gets the command handed back. Only when it opens the message, never inside quotes

In visible tokens, every combination costs less than no plugin at 295 turns; at 40 turns low + ask + check is +1%. Billed output, thinking included, is another matter: low +2% English and +5% Italian, high -25% and -18%. The two figures are a short session — 40 turns, 500-token answers — and a long one at 295 turns: the fixed cost is paid once and then spreads, so session length moves the number more than the dials do.

Never compressed at any level: code blocks, error strings, function and command names, file paths, numbers and units, negations, proper names, qualifiers that change what is true. Security warnings and irreversible-action confirmations are written in plain prose.

Commands

Typed, by name: atlas recap, or /atlas-mem:atlas-recap. Only the description is always loaded; the body costs nothing on sessions where you never call it (bodies: tiktoken cl100k). Asked in plain words without the name, the work is usually done without the command's rules.

commandwhat it doesbodyworth knowing
atlas <dial>sets the dials40/atlas-mem:atlas high or atlas high alone as the whole message. The plain form works before the command menu has loaded
atlas-helpthis card2.6k
atlas-searchanswers only from a live web search; asked what people say, also open forums and what search engines show of social networks, with what was not looked at624Not in atlas-min. It is the handle on the atlas-research subagent, so the pages it reads never land in your session. Add "give me sources" to the request, in any language, and it hands back where to read instead of the answer: videos, discussions, articles, grouped, one line each
atlas-reviewwhat is wrong with a diff, a branch, a file or a pull request, one problem per line: where, what breaks, the fix1.5kfour tiers, breaks first. nothing found is the whole answer when there is nothing. Behind it, 22 short checklists, read only as the diff calls for them: one per language, plus security, tests, types, errors, a pull request. "second opinion" runs a second reviewer that has not seen the first; "full review" runs three angles in parallel and a refuter per finding (Workflow tool)
atlas-fixa failing build, type check or linter back to green: one error, one smallest change, run again791stops and says why instead of silencing an error: same error twice, more errors than before, a change of design. Ends with PASS, STOPPED or DID NOT RUN and four counts. One file per toolchain behind it, 10 in all
atlas-commitcommit message for what is staged173written in normal prose whatever the level: it leaves the conversation
atlas-recaphandover file for the conversation: decided, done, not done, tried and rejected952for starting a fresh chat without losing where you were
atlas-organizetidies a local folder: selects files by content or criterion, copies, moves, groups, sets aside2.2kfour levels, from a plan that touches nothing upward. Nothing is ever deleted and every run has an undo
atlas-silentdoes the work and hands over the result: no opinions, no narration, no report968questions only up front, only about the task. Three things still get said: destructive, blocked, done-but-wrong. Per request; atlas silent is the same mode as a dial, and that one stays on

Memory section — atlas-mem and atlas-max

Two more commands, atlas memory and atlas artifact, and the tools they drive. The memory is the markdown vault the project already keeps, one file per fact; nothing is captured automatically. What this build adds is the part a vault cannot do by itself: notice when a note has gone stale.

commandwhat it doesfiles behind itworth knowing
atlas-memorywrites a note when the work decides a fact is worth keeping; finds the right note, whole, when it matters; checks every note linked to code against the code as it is now; tidies duplicates and orphans; labels code (CANONICAL, SUPERSEDED with its successor, WRONG with its reason, …) and a hook puts the label on every Grep or Read that finds the symbol6a note linked to code turns suspect when that code, or what it directly depends on, changed, moved file under another name, or disappeared. The report says what and where; the body of a note is never changed by a check
atlas-artifactreads what is inside a shipped artifact without running it: an Electron or Node application (modules, what the entry reaches, IPC channels both ways and their pairing, the preload bridge, windows and their preferences, hosts, processes started, native addons), a compiled file by its headers (PE with .NET metadata, ELF, Mach-O: imports, exports, hardening, signature, Go modules, Rust crates) and a .NET assembly's method bodies as CIL instructions, native x86-64 and ARM64 disassembly of a code section, a function's control-flow graph and its structured pseudo-C (if/while/switch), the call graph of a binary (callgraph, the walk bounded by --budget <MiB>), the Dalvik bytecode of an Android .apk or .dex, a SQLite file (schema, counts, a sample), a source map (a bundled line back to its source)4only software the person owns or may inspect, asked first; every fact with file and line, a confidence (observed / derived / inferred), the coverage and the limitations; the archive is read as bytes and never changed; .exe, ELF, APK are recognised and not read

The tool, tools/memcheck.mjs, does everything that needs a hash or a comparison: a model cannot compute a fingerprint in its head. It parses the code with tree-sitter (grammars shipped in tools/wasm/: JavaScript, TypeScript, TSX, Python, Go, Rust, Java, C#, C/C++, Ruby, PHP, Bash, PowerShell) and falls back to a line-shape search for anything else. Its data lives in one sidecar file beside the notes, <vault>/.atlas/links.json; the notes themselves stay plain markdown in the format of whatever already manages them. memcheck impact says which notes a change to a file would touch, before the change.

A second tool, tools/codegraph.mjs, draws the code graph across projects: one root folder, one project per sub-folder, every source file parsed once. It records files and imports, top-level symbols and who calls whom inside a project, code written twice (identical text, or the same shape under other names) inside and across projects, and the symbols nothing calls, graded against the list of what a static graph cannot see (dynamic dispatch, IPC by string, FFI, entry points). scan, report, dups, hubs, dead. Pairs of projects declared as a porting are marked and never counted. It writes one JSON and never touches a source file; "uncalled" is a label, never a removal.

A third tool, tools/harvest.mjs, feeds the memory from what already exists without ever writing a note by itself: it pulls the decision-shaped lines out of past Claude Code sessions and project documents (extract, docs), takes the candidates a model proposed from them (inbox write) and keeps them in <vault>/.atlas/inbox/ until a person accepts or rejects each one (inbox accept, inbox reject). harvest suggest has a model propose accept / merge / reject for each candidate with the reason, shown beside it; the person still decides. A rejected candidate is never proposed again; a candidate that says what the vault already says is skipped and named.

tools/labels.mjs and hooks/atlas-labels.js are the labels: a table in <vault>/.atlas/labels.json, and a PostToolUse hook on Grep and Read that attaches the label of any symbol a result names, with the successor and the reason. Code is never deleted, it is marked, and it cannot be found without the mark. Silent when the directory has no vault. hooks/atlas-precompact.js, on PreCompact, keeps the session's decision-shaped lines in <vault>/.atlas/harvest/ before the conversation is compacted, as raw material for harvest run, and hands them back as context when the session resumes on its summary; nothing enters the vault. hooks/atlas-signals.js, on Stop, asks at most three times a session whether one sign in the transcript (a fix, a correction, an undo, a choice) is worth a note: one more turn each time; "signals": false in ~/.claude/atlas.json switches it off. A project's .atlas.json vault counts only when ~/.claude/atlas.json confirms it ("vault" or "vaults").

Two optional layers, each one file, each saying plainly when its dependency is missing: tools/embed.mjs finds a note by meaning (a small multilingual model that runs locally, about 130 MB downloaded once into ~/.atlas/models; needs the @huggingface/transformers package) and tools/lsp.mjs asks a language server who really references a symbol now (TypeScript and Python; needs typescript-language-server or pyright). Both look for their packages beside the tools, in ATLAS_NODE_MODULES, or in the global npm folder.

Subagents

Delegated, never typed. The work stays with them, only the answer comes back — their reads, searches and logs never enter your conversation. That is the whole reason they exist, and the reason to skip one: when you need the material itself, delegating adds a round trip and saves nothing.

subagentwhat it doesworth knowing
atlas-finderanswers "where": file and line range, one line each, nothing elseonly cites ranges it actually read. Skip it when you already know the file
atlas-diffthe same review, run where the diff stays: one line per problem, nothing about what is finereads the diff itself, so a large one never enters your context
atlas-runnerruns tests, build or linter, returns only the deciding linesnever repairs anything, never works around a failure
atlas-browserdrives a page, reports in wordsone screenshot costs about 9,800 tokens; this pays for itself immediately
atlas-researchsearches the web: the answer with its sources, or a reading list grouped by kind; in catalogue mode the public catalogues (free APIs, free tiers, MCP servers, skills, plugins, hooks), three candidates back, never installssays "I did not find it" rather than "it does not exist", and never forces a weak link to fill a group; the catalogues are 550,000 tokens and never enter your context

Builds

buildcontainsfixed cost at low
atlasthe dials, six commands, the research and browser subagents2,232
atlas-mincompression only: one command, no ask, no check, no provenance marker1,085
atlas-codeatlas plus coding and documents: review, fix, plan, test, ship, spec, changelog and the rest5,752
atlas-mematlas plus review, fix and commit, a memory and a reader of shipped programs3,101
atlas-videoatlas plus video: written with a framework on this machine, or recorded from the screen2,462
atlas-maxeverything: atlas-code, atlas-mem and atlas-video together. Install it instead of those two, never beside them: two builds inject the rules twice6,275

The per-turn reminder

A short line is injected every turn so the level does not drift back to verbose: 27 tokens at low, 32 at high, plus 9 for each of ask, check and silent when on. It names the rules that slip first — and "answer first, only what was asked", the one whose failure costs more than the reminder does.

On a long session this is the largest number on the card. Over 295 turns it is 7,965 tokens, more than twice the entire fixed cost. It scales with turns; everything above scales with nothing.

Configuration

whatwhere
state~/.claude/atlas-state/<project>.state, one line, level:rigour:check:silent
untouchable terms, one per line~/.claude/atlas-terms.txt, ships empty
per-project default.atlas.json, { "level": "low", "rigour": "ask", "check": "off", "silent": "off" }

Token figures are tiktoken approximations, not Claude's tokenizer — compare them to each other, not to a bill. The fixed costs above are counted by atlas-test/fixed-costs.mjs. How much each level compresses was measured on an earlier revision of the rules with claude-opus-5-5 on 2026-09-26: 24 English and 24 Italian questions with fixed fact sheets, 2 rounds each, through the real hooks. Output against no plugin, median: low -37% English and -37% Italian, high -46% and -43%; details lost, median: low 1 and 0 of 263, high 0 and 1. Run-to-run noise 0.6 points. The API bills the injected rules at about 1.54 times the tiktoken count. The full tables are in the README.

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.

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.