diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-20 11:58:27 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-20 11:58:27 -0500 |
| commit | b3186104b1496a52b655ad1d2fd5c2d44445d572 (patch) | |
| tree | 3f1282afb14847ae572719bf97f88b6d07f7e953 | |
| parent | 3c8bfeb290a4a6e98ab1221eb21972ba939a0724 (diff) | |
| download | rulesets-b3186104b1496a52b655ad1d2fd5c2d44445d572.tar.gz rulesets-b3186104b1496a52b655ad1d2fd5c2d44445d572.zip | |
chore(ai): archive session record and wrap-up lint followups
| -rw-r--r-- | .ai/sessions/2026-05-20-11-58-review-code-command-to-skill-conversion.org | 65 | ||||
| -rw-r--r-- | inbox/lint-followups.org | 14 |
2 files changed, 79 insertions, 0 deletions
diff --git a/.ai/sessions/2026-05-20-11-58-review-code-command-to-skill-conversion.org b/.ai/sessions/2026-05-20-11-58-review-code-command-to-skill-conversion.org new file mode 100644 index 0000000..eb623fe --- /dev/null +++ b/.ai/sessions/2026-05-20-11-58-review-code-command-to-skill-conversion.org @@ -0,0 +1,65 @@ +#+TITLE: Session — review-code command→skill conversion +#+DATE: 2026-05-20 + +* Summary + +** Active Goal + +Launch several project sessions via the "launch project X" trigger, then convert =/review-code= from a Claude Code command to a model-invocable skill so the model can reach for it on its own instead of delegating back to Craig. + +** Decisions + +- *Convert =review-code= command → skill.* Craig changed his mind on the original command classification: agents kept wanting to invoke review-code mid-flow but the command form (=disable-model-invocation: true=) forced a hand-back to him. A skill is both model-invocable and slash-invocable, so it removes the friction without losing =/review-code= as a manual entry point. +- *=git mv= over delete+recreate.* Preserves file history — the diff shows a 99% rename rather than a 400-line delete + add, keeping =git blame= / =log --follow= intact on the skill body. +- *Skill frontmatter: =name:= + =description:= only, no =allowed-tools:=.* Matches house style (add-tests, debug, etc. inherit the full toolset). review-code needs Bash/git/gh/Agent, so restricting tools would break it. Only =voice= declares =allowed-tools= because it's edit-only. +- *Remove the =commits.md= discovery-check paragraph.* It existed solely because review-code was a command absent from the available-skills enumeration. As a skill it appears in the list, so the on-disk fallback check is moot. +- *No Makefile change needed.* Both skills (=$(wildcard */SKILL.md)=) and the commands dir (whole-dir symlink) are wildcard-driven, so the move is auto-discovered on =make install=. +- *Sibling command references left as-is.* finish-branch, start-work, respond-to-review, respond-to-cj-comments reference =/review-code= as a slash-command — still valid since a skill named review-code is slash-invocable. +- *protocols.org mirror sync committed separately.* The startup rsync propagated the Working-Files Convention section into the in-repo =.ai/protocols.org= mirror from canonical — unrelated to the review-code move, so it got its own =chore(ai)= commit. + +** Data Collected / Findings + +- =~/.claude/commands= is a whole-directory symlink into =rulesets/.claude/commands=, so removing =review-code.md= there removes it from the global command set automatically. +- Project locations differ from assumption: =work= and =homelab= live under =~/projects/=, not =~/code/=. The =ai= launcher errored on =~/code/work= until the path was corrected. +- =homelab= repo flagged =↓1 dirty= by the launcher — 1 behind upstream with a dirty tree; surfaced for Craig to reconcile in that project's own session. +- =make doctor= went 39 → 40 ok after the skill linked. =make lint= clean. +- review-code appeared in this session's available-skills list immediately after =make install= — the conversion was verified live. +- Lapse: no Session Log was maintained during the session despite multiple state-modifying turns; this record was reconstructed at wrap-up. + +** Files Modified + +Two commits pushed to =origin/main= (=5737cc0..3c8bfeb=): + +- =b9da9b5 refactor(skills): convert review-code from command to skill= — =git mv .claude/commands/review-code.md → review-code/SKILL.md=, frontmatter swap (add =name:=, drop =disable-model-invocation:=, heading =# /review-code= → =# Review Code=), and removal of the discovery-check paragraph in =claude-rules/commits.md=. +- =3c8bfeb chore(ai): sync working-files section into protocols.org mirror= — +12 lines into =.ai/protocols.org= from the startup rsync (Working-Files Convention section, canonical-sourced). + +System-side: =~/.claude/skills/review-code= symlink created by =make install=. + +** Next Steps + +Carryover =[#A]= work, unchanged from prior sessions: +- Implement the task-review daily-habit per spec (=docs/design/task-review.org=) — the thing that retires the recurring date-coverage lint-followups churn. +- =DOING= memory-sync (pending VERIFY on stow approach). +- Build =create-documentation= skill. +- Build =/update-skills= skill. +- 2026-05-04 audit review pass. + +Inbox: =inbox/lint-followups.org= still holds one =misplaced-heading= lint warning (todo.org line 2143, likely a verbatim-marker false positive like the prior line-2139 case) plus the 8 deferred date-coverage candidates. + +* Session Log + +** Startup + +Ran the startup workflow: Phase A.0 pulls clean (rulesets + project both current), Phase A fan-out, Phase B session-summary reads. No session-context.org at start (clean prior wrap). Inbox had one file (lint-followups.org). No cross-agent messages, reminders, or pending decisions. + +** Project launches + +Craig used the "launch project X" trigger repeatedly. Launched archsetup (~/code/archsetup), work (~/projects/work — corrected after ~/code/work errored), archangel (~/code/archangel), and homelab (~/projects/homelab, flagged ↓1 dirty). Each opened as a new window in the tmux =ai= session via the =ai= launcher. Flagged the homelab dirty/behind state and the archsetup duplicate-window question. + +** review-code command→skill conversion + +Craig asked whether =/review-code= was a command or a skill (it was a command), then decided to convert it to a skill because the command form forced delegate-back behavior. Explored the command file, Makefile install logic, and existing SKILL.md frontmatter conventions. Confirmed both skills and commands are wildcard-driven (no Makefile change). =git mv= to =review-code/SKILL.md=, edited frontmatter (added name, dropped disable-model-invocation, heading), removed the obsolete discovery-check paragraph in commits.md. =make install= + =make lint= + =make doctor= all green; skill went live in-session. Ran the publish flow: =/review-code --staged= (Approve, zero blocking findings), =/voice= general mode (pattern #13 em-dash fix), committed as b9da9b5. + +** protocols.org mirror sync + push + +Identified the =M .ai/protocols.org= working-tree change as a separate startup-rsync artifact (Working-Files Convention section synced from canonical). Confirmed the mirror now matches canonical, committed separately as 3c8bfeb. Pre-push reconcile showed 0 behind / 2 ahead; pushed origin main (5737cc0..3c8bfeb). diff --git a/inbox/lint-followups.org b/inbox/lint-followups.org index 2c80942..dd5fefa 100644 --- a/inbox/lint-followups.org +++ b/inbox/lint-followups.org @@ -12,3 +12,17 @@ Review each: add a date, drop the priority, or confirm 'no-date by intent' inlin - 1295: ** TODO [#A] Build =/update-skills= skill for keeping forks in sync with upstream - 1621: ** TODO [#B] Add =make remove= for interactive ruleset removal via fzf - 1686: ** TODO [#B] Document the =mcp/= install pipeline in =mcp/README.org= + +* 2026-05-20 lint-org follow-ups — todo.org +** TODO line 2143 — misplaced-heading — Possibly misplaced heading line + +* 2026-05-20 Wed — Date coverage: [#A] / [#B] tasks without DEADLINE or SCHEDULED +Review each: add a date, drop the priority, or confirm 'no-date by intent' inline. +- 10: ** TODO [#A] Implement task-review daily-habit per spec +- 28: ** DOING [#A] Check that memories are sync'd across machines via git.m +- 58: ** TODO [#A] Build =create-documentation= skill for high-quality project/product docs +- 692: ** TODO [#A] Review pass: tighten skills and rulesets after 2026-05-04 audit +- 1221: ** TODO [#B] Build =ov-1= skill for DoDAF OV-1 (High-Level Operational Concept Graphic) +- 1295: ** TODO [#A] Build =/update-skills= skill for keeping forks in sync with upstream +- 1621: ** TODO [#B] Add =make remove= for interactive ruleset removal via fzf +- 1686: ** TODO [#B] Document the =mcp/= install pipeline in =mcp/README.org= |
