agents/skills/journal/SKILL.md
Use when a judgment forms during work that a future session would benefit from — a fork you resolved, a correction from the user, a wrong assumption about the environment, something you had to rediscover. Appends one timestamped entry to the journal staging dir.
npx skillsauth add timofreiberg/dotfiles journalInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generic coding agents have no memory across sessions. The journal is how the signal from one session survives into the next: a future consolidation pass reads these entries and promotes the durable ones into shared agent knowledge (global AGENTS.md, skills). You are the field reporter; you don't curate, you capture.
Prefer calling at the moment a judgment forms, not as session wrap-up. If you get nudged to journal and can report about the judgement after the fact, that's still better than nothing. Under-capture is the bigger risk than over-capture.
Highest-signal categories (these are what the consolidation pass mines):
Don't journal: routine task completion, things already written in AGENTS.md / a skill / the project's CLAUDE.md, or one-off facts specific to the current task with no carry-over value.
From this skill's directory, run scripts/journal (use the absolute path —
the harness exposes this SKILL.md's location at load time):
scripts/journal decision "Chose X because ..." \
--alternative "Y: why it lost" \
--alternative "Z: why it lost"
scripts/journal observation "the thing worth preserving" --tags pi,bedrock
--alternative per rejected option, each with why it wasn't
chosen (that's what makes the record useful on re-read). The flag is
repeatable; one alternative per flag avoids comma-escaping headaches.--tags is optional, freeform, comma-separated.One entry per call. If several distinct things qualify, pick the single most durable rather than batching — the consolidation pass weighs entries individually.
Each call writes one timestamped markdown file (never edits an existing one — that keeps concurrent agents on different machines merge-conflict free when the store is synced). Destination resolves in order:
--dir <path> — explicit override.$AGENT_JOURNAL_DIR — set on machines that opt the journal into a
synced memory inbox.~/agent-journal-staging/ — the default local buffer, created on first
write.The default is a plain local directory, never a synced repo. This is a safety property, not an accident: on a work machine, raw entries must not flow to a personal remote before a scrub step exists, so the unconfigured default stages locally. Don't add push/sync logic to this skill — routing sanitized entries onward is the consolidation pass's job, downstream of here.
You don't need to think about any of this at call time. Just journal; the path is handled.
The script stamps each entry with timestamp, type, harness, cwd,
and — when available — repo, session, and tags. repo is the signal
the consolidation pass uses to tell work findings from personal ones, so
journal from inside the relevant repo when you can (the script reads cwd
automatically).
development
Use when starting your work day: groom the todo list to a trusted state, archive finished work, surface today's candidates, and propose a concrete first move. Stab-then-confirm, ~5 min.
data-ai
Use when reviewing local changes — the working-copy diff, a branch, a commit, or a GitHub PR by number — with a fresh subagent that returns a structured findings report.
tools
Use when a question needs current internet information — docs, news, releases, prices. Prefer a built-in web search tool for quick lookups if the harness has one; this script returns a model-summarized answer with source URLs and works without one.
data-ai
Use when you want to work in an isolated jj working copy — parallel task, experimental scratch, subagent with its own tree. jj's equivalent of git worktrees: creating a workspace, working inside it from anywhere, and cleaning up without losing history.