From 9f62a7cadf37e3f453efbb0cdf253bcafb1b6393 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 14 May 2026 18:46:32 -0500 Subject: feat(lint-org): add /lint-org command + file design spec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A new /lint-org command at .claude/commands/lint-org.md orchestrates the elisp script: invokes it, parses the stdout plist stream, walks each judgment item with the user via inline numbered options (per interaction.md, no popup), and reports pre/post-pass deltas. Two modes: interactive (default, walks judgments now) and mechanical-only (defers them to a follow-ups file via --followups-file). The spec at .ai/specs/lint-org-skill-spec.md is the design doc that motivated this work, captured from yesterday's manual 55→1 lint pass on todo.org. todo.org gains a [#A] entry pointing at the spec. --- todo.org | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'todo.org') diff --git a/todo.org b/todo.org index 46c54d7..3aa6514 100644 --- a/todo.org +++ b/todo.org @@ -1267,6 +1267,27 @@ See also the DoD-specific notations section under the later TODO starting point across the DoD notation landscape (SysML, DoDAF/UAF, IDEF1X). This entry is the execution plan for that starting point. +** TODO [#A] Build =/lint-org= skill + wrap-up integration + +Spec: [[file:.ai/specs/lint-org-skill-spec.md]] + +A two-mode skill (=interactive=, =mechanical-only=) that runs =org-lint=, +auto-fixes safe categories (item-number, missing-language-in-src-block, +misplaced-planning-info, markdown-bold → single-asterisk), and walks judgment +items (broken local-file links, invalid fuzzy links, verbatim-asterisk false +positives, suspicious-language blocks) inline. + +Wrap-up integration: =wrap-it-up.org= invokes +=/lint-org todo.org --mode=mechanical-only= after the existing +=todo-cleanup.el --archive-done= pass. Judgment items defer to a +carry-forward file that the next morning's daily-prep merges in, so +wrap-up never blocks on a judgment call. + +Baseline that motivated this: the 2026-05-14 manual pass took =todo.org= +from 55 → 1 lint warnings across two commits (=0d10458= signal, +=9ad5b30= cosmetic). A nightly mechanical sweep keeps the count near +zero forever — each day's drift is small. + ** TODO [#A] Build =/update-skills= skill for keeping forks in sync with upstream The rulesets repo has a growing set of forks (=arch-decide= from -- cgit v1.2.3