<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/.ai/scripts/cross-agent-comms, 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-26T07:01:08+00:00</updated>
<entry>
<title>feat(notify): default page notifications to --persist</title>
<updated>2026-05-26T07:01:08+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-26T07:01:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=15cca70d2b8badd3314b87d4cd00cb21bf5ef113'/>
<id>urn:sha1:15cca70d2b8badd3314b87d4cd00cb21bf5ef113</id>
<content type='text'>
I default page notifications to --persist so a page that fires while I'm away from the desk waits for me instead of auto-dismissing after a few seconds.

page-me and status-check already persisted every page. I added --persist to the rest: the alarm, reminder, and meeting-alert examples in protocols.org, the long-running-process completion ping, and the cross-agent-watch message notification. I documented --persist as the default for any page meant to get attention, with a low-value informational ping as the only exception.
</content>
</entry>
<entry>
<title>chore(ai): sync template updates from claude-templates</title>
<updated>2026-05-11T12:38:07+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-11T12:38:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=c62aa7af377e74d617ba09fe97b9df4718c6f1c4'/>
<id>urn:sha1:c62aa7af377e74d617ba09fe97b9df4718c6f1c4</id>
<content type='text'>
Pull in the latest maildir-flag-manager.py and cross-agent-comms doc updates from the claude-templates source.
</content>
</entry>
<entry>
<title>chore(ai): correct stale ~/projects/work/ path references in workflows and scripts</title>
<updated>2026-05-08T12:00:23+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-08T12:00:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=4b5b0a03a83642ef7219640cb039e1aaccf07b90'/>
<id>urn:sha1:4b5b0a03a83642ef7219640cb039e1aaccf07b90</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(ai): sync template updates from claude-templates</title>
<updated>2026-05-07T04:39:21+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-07T04:39:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=47a739d25644647296c676cd28c71166f953bf7d'/>
<id>urn:sha1:47a739d25644647296c676cd28c71166f953bf7d</id>
<content type='text'>
I added a "Shell aliases (=ls= → =exa=)" note to protocols.org so future sessions know to use \ls when capturing ls output programmatically. exa prints nothing to non-TTY pipes, so the symptom looks like an empty directory. I hit this earlier in the session when a sweep came back blank for a directory I knew was populated.

I also fixed three stale ~/projects/career/ examples in cross-agent-comms/ docs that didn't get updated when career was renamed to work, and the daily-prep.org path leak from last session (~/code/deepsat/... → ~/projects/work/deepsat/code/...). The authoritative edits live in claude-templates. These rulesets snapshots landed via the standard rsync from upstream.
</content>
</entry>
<entry>
<title>chore(ai): initialize project notes and Claude tooling surfaces</title>
<updated>2026-05-07T02:59:52+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-07T02:59:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=d81b23ad6b6e437dfe3c338a00a4be39bc555146'/>
<id>urn:sha1:d81b23ad6b6e437dfe3c338a00a4be39bc555146</id>
<content type='text'>
Replace the seed notes.org with project-specific context (layout, install modes, task tracker location, recent inflection point). Bring in the synced template surfaces (protocols, workflows, scripts, references, retrospectives, someday-maybe) as tracked content for this content/documentation project.
</content>
</entry>
</feed>
