<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/.ai/session-context.org, branch main</title>
<subtitle>Claude Code skills, rules, and language bundles
</subtitle>
<id>https://git.cjennings.net/rulesets/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/rulesets/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/'/>
<updated>2026-05-30T21:07:39+00:00</updated>
<entry>
<title>chore(ai): archive session record + lint follow-ups</title>
<updated>2026-05-30T21:07:39+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-30T21:07:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=86326c1f2677484b2906d8142891e8d023ba803e'/>
<id>urn:sha1:86326c1f2677484b2906d8142891e8d023ba803e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(ai): update session log</title>
<updated>2026-05-30T18:55:48+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-30T18:55:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=9c9af9002d2d3b4f21c9a55480b9e5f1aa0f0acd'/>
<id>urn:sha1:9c9af9002d2d3b4f21c9a55480b9e5f1aa0f0acd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(ai): refresh session log and workflow-state marker</title>
<updated>2026-05-30T18:30:19+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-30T18:30:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=82e99ff8a4eb6d5aaba6ee02da3b5318a73b2125'/>
<id>urn:sha1:82e99ff8a4eb6d5aaba6ee02da3b5318a73b2125</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(ai): archive session record + lint follow-ups</title>
<updated>2026-05-30T01:51:35+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-30T01:51:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=0237465dc9fe4710542653e353858a6cea164c07'/>
<id>urn:sha1:0237465dc9fe4710542653e353858a6cea164c07</id>
<content type='text'>
Multi-arc session: no-approvals batch, codex backlog triage,
page-signal + broadcast infra, voice profile Phase 1 + Phase 2
with SKILL.md split, process-inbox formalization, wrap-it-up
inbox sanity check.
</content>
</entry>
<entry>
<title>chore(session): pre-stage signal-mcp config + snapshot session-context</title>
<updated>2026-05-30T01:05:37+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-30T01:05:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=1a322a70a630afd2495a6c2e88e860464f153c5f'/>
<id>urn:sha1:1a322a70a630afd2495a6c2e88e860464f153c5f</id>
<content type='text'>
This commit is end-of-day housekeeping for the rulesets session that
ran 2026-05-28 through 2026-05-29.

mcp/servers.json gains the signal-mcp stdio entry pointing at the
locally-cloned rymurr/signal-mcp install at ~/.local/share/signal-mcp/.
The entry uses Craig's primary +15103169357 as --user-id, which will
need updating to the Google Voice number once that signal-cli
registration lands (TODO scheduled today). The configuration is
staged but not registered. The make install-mcp pipeline was
interrupted earlier by the GPG pinentry (Craig on vacation, away
from desk). Running make install-mcp at the desktop with the GPG
passphrase will complete the registration.

.ai/session-context.org captures the live session narrative covering
the no-approvals batch (6 :quick:solo: TODOs), the codex backlog
triage, the page-signal infra, the voice profile Phase 1 plus Phase
2, the SKILL.md / voice-profile.org structural split, and the inbox
processing pass. No wrap-up performed. The session-context stays
under that name pending the wrap-it-up workflow when Craig is back
at the desk.

The substantive work in this session shipped across many prior
commits, each with its own focused message.
</content>
</entry>
<entry>
<title>chore(ai): archive session record</title>
<updated>2026-05-28T08:34:38+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-28T08:34:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=1f6cd404c62577baaafe3c3cdabfbc7507d254a6'/>
<id>urn:sha1:1f6cd404c62577baaafe3c3cdabfbc7507d254a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(session): snapshot WIP, session-context, and inbox arrivals</title>
<updated>2026-05-28T08:31:59+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-28T08:31:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=af9316c03a8699ddd49e9206578da86c5e8b9347'/>
<id>urn:sha1:af9316c03a8699ddd49e9206578da86c5e8b9347</id>
<content type='text'>
Bundles end-of-session state across three concerns.

claude-templates/.ai/workflows/open-tasks.org: in-flight restructure of Next Mode into a two-question output (cascade + friction filter), +62 lines. Separate from the iteration-history work that landed in 55adf6e and 684b273.

.ai/session-context.org: live session record covering startup through the iteration-history backfill. Captures the no-approvals mode and the full spec-review/spec-response cycle on the working draft.

inbox/: five new arrivals from this session: four pearl notes (pattern catalog, prompts-ux, spec-review implementation, prompt collapse) plus one .emacs.d note (whats-next + task-audit). A sixth file, PROCESSED-prefixed, represents mid-handling state on the open-tasks friction-cascade suggestion from earlier in the session.
</content>
</entry>
<entry>
<title>chore(ai): archive session record, sweep completed tasks, queue follow-ups</title>
<updated>2026-05-22T23:25:29+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-22T23:25:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=459d426a23f6a96b66c60f202b577d67547f34e8'/>
<id>urn:sha1:459d426a23f6a96b66c60f202b577d67547f34e8</id>
<content type='text'>
Archived the session record. Moved six completed tasks from Open Work to Resolved: the 2026-05-04 audit-pass parent, the two commits.md overlay tasks, the make-remove feature, the mcp/ install-pipeline doc, and the wrap-it-up GitHub-host quick fix. Queued the one lint judgment and the task-review staleness note in the inbox for next-session processing.
</content>
</entry>
<entry>
<title>chore(todo): close add-tests audit items (1 fixed, 1 moot)</title>
<updated>2026-05-22T19:29:29+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-22T19:29:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=d93937c87d46f45f7c108712fc1b738eda77ae23'/>
<id>urn:sha1:d93937c87d46f45f7c108712fc1b738eda77ae23</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: voice skill, make doctor, MCP token bundling</title>
<updated>2026-05-07T15:07:49+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-07T15:07:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=dcb8c1dcf52c86645c730b4f0076800069926660'/>
<id>urn:sha1:dcb8c1dcf52c86645c730b4f0076800069926660</id>
<content type='text'>
Voice skill consolidates the prose-quality passes (humanizer plus universal good-writing rules plus personal-style) into one /voice invocation with two modes. General mode for arbitrary writing. Personal mode for commit messages, PR descriptions, and PR review comments. The standalone humanizer skill is retired.

make doctor verifies ~/.claude/ live state matches the repo and settings.json. Eight checks covering skills, rules, hooks, settings.json hook references, plugins, MCP server registrations, and dangling symlinks.

The MCP install pipeline now bundles Google Docs OAuth tokens alongside the GCP keys, so a fresh machine boots fully connected after make install-mcp without requiring a manual OAuth dance per profile.
</content>
</entry>
</feed>
