Using loam
This is the router for the loam skill namespace: which skill to invoke for a given intent, and the rules that apply across all of them. It performs no work itself. Protocol detail lives in references/ under the injected Skill root:; read a reference when its trigger applies.
Non-negotiables
- Invoke the matching skill before any loam action. This document only routes; the skill body has the rules. Err on the side of invoking, even if you read it earlier this session.
- Memory first. "Memory" is the umbrella; "wiki" names only the markdown substrate. Consult memory before raw source or recall (see Discovery order).
- Agent-owned memory writes. Write, correct, route, and archive memory without pre-approval. A human flagging a page as wrong triggers the same correction flow as an agent-found contradiction.
- Domain-router precedence. In a workspace with loam artifacts (
wiki/, goals/, specs/, plans/), this router wins over generic skill routers for memory, goals, specs, plans, checkpoints, and debates.
- Global install only. Skills live under
<home>/.agents/skills/; the runtime is the injected Native runtime command: and nothing else. Never install, probe for, or run a project-local loam, and never which loam/which hcom — the injected state lines are the availability answer.
Memory model
- wiki — durable Obsidian-friendly notes under
wiki/; what qmd indexes. Maintained by the loam-memory skills.
- guidance —
AGENTS.md (canonical; CLAUDE.md is an @AGENTS.md shim; .claude.local.md for personal overrides). Maintained by auditing-guidance, learning-from-session.
- checkpoints — transient work-state under
wiki/checkpoints/; never touch index.md/log.md. checkpointing writes, resuming reads.
- goals (
goals/<slug>.md) are workflow artifacts, not a substrate. setting-goals owns them; other skills keep traceability links only.
Where material goes
| Material |
Destination |
Skill |
| Reusable project/domain fact |
wiki page |
adding-to-memory |
| How-to-work-here convention, command, gotcha |
AGENTS.md |
learning-from-session |
| Session state for resume/handoff |
wiki/checkpoints/ |
checkpointing |
| Per-task context |
plan file / task annotation |
planning, starting |
| Broad ambition with verifiable outcome |
goals/<slug>.md |
setting-goals |
| Build output, one-off, unverifiable |
discard |
none |
A wiki page must be reusable, about the project/domain, and costly to reconstruct; ephemeral or duplicate claims fail. Full rubric, correction, and freshness rules: references/memory-lifecycle.md — read before creating, correcting, or demoting a page.
Routing
- Start: set a goal →
setting-goals · research a question → writing-spec · plan approved work → planning · debate/consensus → configuring-agents
- Execute: begin a plan →
starting · pause/hand off → checkpointing · resume → resuming · change an in-flight plan → amending-plan
- Memory: add a source →
adding-to-memory · ingest a codebase → ingesting-codebase · sync code-graph drift → syncing-code-graph · ask a question → querying-memory · fix a wrong claim → amending-memory · health-check → linting-memory · normalize a messy corpus → normalizing-memory · see what's unresolved → reviewing-memory · capture session learnings → learning-from-session · audit guidance → auditing-guidance
- Goals: create, review, pause, reactivate, achieve, or redefine →
setting-goals
- Substrate: scaffold the wiki →
scaffolding-wiki · init an Obsidian vault → initializing-vault
- Shortcuts: to install
/checkpoint and /resume, read references/commands-install.md; detect the harness, default to project-local scope, ask before copying.
When two skills fit
- Current-work skills before memory-maintenance skills: finish or checkpoint the step, then fix the memory issue.
- Wrong claim →
amending-memory; whole-graph check → linting-memory.
- Want an answer →
querying-memory; want open gaps → reviewing-memory.
- Have a source →
adding-to-memory; session produced insight → learning-from-session.
- Verifiable ambition →
setting-goals; research question → writing-spec (a goal may yield several specs; a spec may record goal provenance). Explicit debate or consensus intent wins → configuring-agents.
- Still unsure whether it's guidance, wiki, checkpoint, or goal? Ask before guessing.
Red flags — "I'll just…" means you're skipping a skill
- "…write this to the wiki" →
adding-to-memory.
- "…plan it, it's simple" →
writing-spec then planning; specs are required.
- "…edit this plan/checkpoint/
AGENTS.md inline" → amending-plan / checkpointing / learning-from-session. Never by hand.
- "…answer from memory" or "…grep the repo" →
querying-memory, in the discovery order below.
Discovery order
- Wiki via qmd when the state block says qmd is ready (
qmd search "<terms>" --files -n 8 -c <collection>; qmd query for natural-language questions); Grep/Glob otherwise. Read the files qmd returns — it finds paths, Read confirms content. Ignore .archive/.
- hcom transcripts when the state block says
hcom: ready — raw and often newer than the wiki. Read the exchange before citing. not installed skips silently.
- Raw source and recall, last. For code, prefer
wiki/code/ pages, then ast-grep, then rg.
Transcript and wiki disagree → report both with dates, route to amending-memory. Full qmd, code-graph, and refresh protocol: references/discovery.md — read when a skill searches or writes the wiki.
Workspace state
The injected ## Workspace state block (workspace, wiki root, qmd, hcom, checkpoints, hints) is authoritative for this turn. Reuse it; rerun <native-runtime-command> state --fast "$(pwd)" only when it is absent, for another workspace, or stale after a write. The ## Federation line is likewise authoritative; never probe the broker. If the runtime reports unavailable, run npx @scchearn/loam install once, retry once, then report and stop.
Hints: after any loam skill completes, list each unsatisfied hint that carries a command as - [loam:hint] <kind> — <message> [→ <command>], then hand back. Never auto-run a hint; say nothing for none. Hint kinds, native subcommands, background ingestion, and federation operations: references/runtime.md — read when a skill needs a native command or must satisfy a hint.
1---2name: loam-using3description: The always-on protocol for the loam skill namespace. Use at session start and whenever a loam task appears. Routes goals and other loam work, explains the memory model (memory = umbrella; wiki, guidance, and checkpoints are substrates), and lists cross-cutting rules. This is a routing/meta skill — delegate to a specific loam skill rather than performing work itself.4---56# Using loam78This is the router for the loam skill namespace: which skill to invoke for a given intent, and the rules that apply across all of them. It performs no work itself. Protocol detail lives in `references/` under the injected `Skill root:`; read a reference when its trigger applies.910## Non-negotiables11121. **Invoke the matching skill before any loam action.** This document only routes; the skill body has the rules. Err on the side of invoking, even if you read it earlier this session.132. **Memory first.** "Memory" is the umbrella; "wiki" names only the markdown substrate. Consult memory before raw source or recall (see Discovery order).143. **Agent-owned memory writes.** Write, correct, route, and archive memory without pre-approval. A human flagging a page as wrong triggers the same correction flow as an agent-found contradiction.154. **Domain-router precedence.** In a workspace with loam artifacts (`wiki/`, `goals/`, `specs/`, `plans/`), this router wins over generic skill routers for memory, goals, specs, plans, checkpoints, and debates.165. **Global install only.** Skills live under `<home>/.agents/skills/`; the runtime is the injected `Native runtime command:` and nothing else. Never install, probe for, or run a project-local loam, and never `which loam`/`which hcom` — the injected state lines are the availability answer.1718## Memory model1920- **wiki** — durable Obsidian-friendly notes under `wiki/`; what `qmd` indexes. Maintained by the loam-memory skills.21- **guidance** — `AGENTS.md` (canonical; `CLAUDE.md` is an `@AGENTS.md` shim; `.claude.local.md` for personal overrides). Maintained by `auditing-guidance`, `learning-from-session`.22- **checkpoints** — transient work-state under `wiki/checkpoints/`; never touch `index.md`/`log.md`. `checkpointing` writes, `resuming` reads.23- **goals** (`goals/<slug>.md`) are workflow artifacts, not a substrate. `setting-goals` owns them; other skills keep traceability links only.2425## Where material goes2627| Material | Destination | Skill |28|---|---|---|29| Reusable project/domain fact | wiki page | `adding-to-memory` |30| How-to-work-here convention, command, gotcha | `AGENTS.md` | `learning-from-session` |31| Session state for resume/handoff | `wiki/checkpoints/` | `checkpointing` |32| Per-task context | plan file / task annotation | `planning`, `starting` |33| Broad ambition with verifiable outcome | `goals/<slug>.md` | `setting-goals` |34| Build output, one-off, unverifiable | discard | none |3536A wiki page must be reusable, about the project/domain, and costly to reconstruct; ephemeral or duplicate claims fail. Full rubric, correction, and freshness rules: `references/memory-lifecycle.md` — read before creating, correcting, or demoting a page.3738## Routing3940- **Start:** set a goal → `setting-goals` · research a question → `writing-spec` · plan approved work → `planning` · debate/consensus → `configuring-agents`41- **Execute:** begin a plan → `starting` · pause/hand off → `checkpointing` · resume → `resuming` · change an in-flight plan → `amending-plan`42- **Memory:** add a source → `adding-to-memory` · ingest a codebase → `ingesting-codebase` · sync code-graph drift → `syncing-code-graph` · ask a question → `querying-memory` · fix a wrong claim → `amending-memory` · health-check → `linting-memory` · normalize a messy corpus → `normalizing-memory` · see what's unresolved → `reviewing-memory` · capture session learnings → `learning-from-session` · audit guidance → `auditing-guidance`43- **Goals:** create, review, pause, reactivate, achieve, or redefine → `setting-goals`44- **Substrate:** scaffold the wiki → `scaffolding-wiki` · init an Obsidian vault → `initializing-vault`45- **Shortcuts:** to install `/checkpoint` and `/resume`, read `references/commands-install.md`; detect the harness, default to project-local scope, ask before copying.4647## When two skills fit4849- Current-work skills before memory-maintenance skills: finish or checkpoint the step, then fix the memory issue.50- Wrong claim → `amending-memory`; whole-graph check → `linting-memory`.51- Want an answer → `querying-memory`; want open gaps → `reviewing-memory`.52- Have a source → `adding-to-memory`; session produced insight → `learning-from-session`.53- Verifiable ambition → `setting-goals`; research question → `writing-spec` (a goal may yield several specs; a spec may record goal provenance). Explicit debate or consensus intent wins → `configuring-agents`.54- Still unsure whether it's guidance, wiki, checkpoint, or goal? Ask before guessing.5556## Red flags — "I'll just…" means you're skipping a skill5758- "…write this to the wiki" → `adding-to-memory`.59- "…plan it, it's simple" → `writing-spec` then `planning`; specs are required.60- "…edit this plan/checkpoint/`AGENTS.md` inline" → `amending-plan` / `checkpointing` / `learning-from-session`. Never by hand.61- "…answer from memory" or "…grep the repo" → `querying-memory`, in the discovery order below.6263## Discovery order64651. **Wiki via qmd** when the state block says qmd is ready (`qmd search "<terms>" --files -n 8 -c <collection>`; `qmd query` for natural-language questions); Grep/Glob otherwise. Read the files qmd returns — it finds paths, Read confirms content. Ignore `.archive/`.662. **hcom transcripts** when the state block says `hcom: ready` — raw and often newer than the wiki. Read the exchange before citing. `not installed` skips silently.673. **Raw source and recall**, last. For code, prefer `wiki/code/` pages, then `ast-grep`, then `rg`.6869Transcript and wiki disagree → report both with dates, route to `amending-memory`. Full qmd, code-graph, and refresh protocol: `references/discovery.md` — read when a skill searches or writes the wiki.7071## Workspace state7273The injected `## Workspace state` block (workspace, wiki root, qmd, hcom, checkpoints, hints) is authoritative for this turn. Reuse it; rerun `<native-runtime-command> state --fast "$(pwd)"` only when it is absent, for another workspace, or stale after a write. The `## Federation` line is likewise authoritative; never probe the broker. If the runtime reports unavailable, run `npx @scchearn/loam install` once, retry once, then report and stop.7475**Hints:** after any loam skill completes, list each unsatisfied hint that carries a command as `- [loam:hint] <kind> — <message> [→ <command>]`, then hand back. Never auto-run a hint; say nothing for none. Hint kinds, native subcommands, background ingestion, and federation operations: `references/runtime.md` — read when a skill needs a native command or must satisfy a hint.