About aim-write
aim-write is a skill for saving canonical, user-approved knowledge as durable wiki pages in ai-memory. It guides page placement, metadata, cross-project scope, and recall checks while distinguishing permanent knowledge from routine session notes.
Key features
- 01Writes durable wiki pages
- 02Selects instance and workspace
- 03Applies path and kind conventions
- 04Supports shared rules across projects
- 05Checks that pages can be recalled
Use cases
- 01Recording a lasting project decision
- 02Saving a gotcha or reusable rule
- 03Sharing conventions across repositories
MCP support
The skill uses a configured ai-memory MCP server to write pages, then relies on aim-query for a recall check.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ djalmajr/ skills --skill aim-writeAfter installing, type/aim-writein Claude Code to confirm it loaded.
Details
From the project READMEaim-write
Persist a durable wiki page. Use only for canonical knowledge the user explicitly wants remembered — routine session notes are captured automatically by the hooks; do not hand-write those, and do not use a handoff for a permanent annotation.
Steps
-
Pick the instance. From the repo's MCP config. If multiple ai-memory servers are configured, ask which endpoint to write to.
-
Pick workspace/project. Default to the repo's
.ai-memory.toml; confirm if writing elsewhere. -
Choose a path + kind. Use folder conventions so
kindis derived and recall stays clean:decisions/ADR-NNNN-<slug>.md→ decision_rules/<slug>.md→ rulegotchas/<slug>.md→ gotcha- otherwise a topical path (e.g.
runbooks/<slug>.md,<area>/<slug>.md). You can also setkindexplicitly via frontmatternode_type/ the tool arg.
The
_rules/prefix matters — use the underscore. Pages under_rules/(and pinned_slots/) are ai-memory's highest-signal tier: they're surfaced verbatim inmemory_briefing/memory_explore/ the dashboard, keyed bypath GLOB '_rules/*'. A plainrules/folder (no underscore) is just a normal page — it gets none of that and is only found by explicit query/read. So write durable rules to_rules/, neverrules/.Shared / cross-project rules (e.g. global agent conventions reused across every repo) belong in a dedicated scope — the reserved
default/_globalscope — under_rules/there (write withscope: "global"). Recall is per-(workspace, project), so other projects reach them cross-scope viamemory_query scopes:[…]/memory_read_page(seeaim-query), not automatically. -
Write the body as markdown with frontmatter (
title,node_type,tags, optionalsource:). Link related pages with[[path.md]](paths carry.md; links resolve by exact path). Never put live secrets/credentials in a page — redact (<see secret manager>). -
Call
memory_write_page(or the equivalent admin write) with workspace/project/path/body. -
Confirm the page is recallable (a quick
aim-queryfor its topic).
Keep pages focused and distilled — one fact/decision/gotcha per page reads and recalls best.