aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-20 11:58:27 -0500
committerCraig Jennings <c@cjennings.net>2026-05-20 11:58:27 -0500
commitb3186104b1496a52b655ad1d2fd5c2d44445d572 (patch)
tree3f1282afb14847ae572719bf97f88b6d07f7e953
parent3c8bfeb290a4a6e98ab1221eb21972ba939a0724 (diff)
downloadrulesets-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.org65
-rw-r--r--inbox/lint-followups.org14
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=