aboutsummaryrefslogtreecommitdiff
path: root/.claude
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-15 15:05:37 -0500
committerCraig Jennings <c@cjennings.net>2026-05-15 15:05:37 -0500
commit421b17a15219c7061ee92c07451993965fad88ea (patch)
tree20cb0fe6f7bfc7ad2c4b0d46d93ccf8d5551728f /.claude
parent7dd10e23cc78fab028b9ad27f0aaca0b8ec783c9 (diff)
downloadrulesets-421b17a15219c7061ee92c07451993965fad88ea.tar.gz
rulesets-421b17a15219c7061ee92c07451993965fad88ea.zip
docs: codify depth-based completion rule + DRY the skill reference
Todo-format.md gets a "Completion — depth-based" section that codifies what was implicit before: top-level (* and **) DONE tasks stay task-shaped (DONE + CLOSED line), sub-tasks (*** and deeper) flip to dated event-log entries, and VERIFY is the documented exception (always dated-rewrite regardless of depth). The section includes worked examples and the rationale for depth-based over keyword-based. The cj-comments skill's completion section now references the canonical rule instead of restating the depth-based rules inline. The three-bullet recap in the skill stays as a quick scan, but the details and examples live in one place.
Diffstat (limited to '.claude')
-rw-r--r--.claude/commands/respond-to-cj-comments.md10
1 files changed, 5 insertions, 5 deletions
diff --git a/.claude/commands/respond-to-cj-comments.md b/.claude/commands/respond-to-cj-comments.md
index 6d5caa1..67e0497 100644
--- a/.claude/commands/respond-to-cj-comments.md
+++ b/.claude/commands/respond-to-cj-comments.md
@@ -140,11 +140,11 @@ For **instructions**:
4. **Surface URLs.** If the subagent's output includes URLs, file paths, or external references, list them under the updated task content. After applying the edit, offer to convert them into explicit org-mode links (`[[url][label]]` or `[[file:path][label]]`) at the location where the cj comment originated, or elsewhere in the task if that fits better.
-5. If the comment is inside an org-mode `TODO` heading, mark that `TODO` as `DOING` when work begins. **When the work is complete, the form depends on heading depth *and* keyword:**
+5. If the comment is inside an org-mode `TODO` heading, mark that `TODO` as `DOING` when work begins. **When the work is complete, follow the depth-based rule in [todo-format.md → Completion](../../claude-rules/todo-format.md):**
- - **`TODO` / `DOING` at top-level (`*`) and second-level (`**`)** advance to `DONE` with a `CLOSED: [YYYY-MM-DD Day HH:MM]` line under the heading. The keyword and original task name stay visible so the task remains in the agenda.
- - **`TODO` / `DOING` at third-level (`***`) and deeper** get the dated-heading rewrite: replace the heading line with `*** YYYY-MM-DD Day @ HH:MM:SS -ZZZZ <what was decided / done>` (generate the timestamp with `date "+%Y-%m-%d %a @ %H:%M:%S %z"`); drop the keyword and CLOSED line. The body/sub-headers stay as the record of what was done. These deeper tasks become an in-place event log under their parent.
- - **`VERIFY` at any depth** gets the dated-heading rewrite *and* a body replacement: rewrite the heading to `<depth> YYYY-MM-DD Day @ HH:MM:SS -ZZZZ <what was answered or done>` (same timestamp generator); replace the body with either the information Craig provided (when the VERIFY was a question) or a description of the action taken (when it was an instruction / pending-decision marker). VERIFYs at `**` follow this dated-rewrite rule even though regular `**` DONE tasks stay task-shaped — a resolved VERIFY is an answered question, not a finished task. Canonical rule: [todo-format.md § VERIFY tasks → Completion](../../claude-rules/todo-format.md).
+ - **Regular `TODO`/`DOING` at `*` or `**`** — advance to `DONE` + `CLOSED:` line; the keyword and original heading stay visible in the agenda.
+ - **Regular `TODO`/`DOING` at `***` and deeper** — rewrite the heading to `<depth> YYYY-MM-DD Day @ HH:MM:SS -ZZZZ <past-tense description>`; drop the keyword/priority/tags.
+ - **`VERIFY` at any depth** — dated-heading rewrite *and* a body replacement: replace the body with either the information Craig provided (when the VERIFY was a question) or a description of the action taken (when it was an instruction / pending-decision marker). VERIFYs at `**` follow this rule even though regular `**` DONE tasks stay task-shaped — a resolved VERIFY is an answered question, not a finished task.
**VERIFY-answer pattern.** When a cj annotation's `parent_heading_chain` ends with a `VERIFY ...` heading (i.e., the cj sits directly inside a VERIFY task), the cj is Craig's answer to the question that VERIFY held open. The cj content is the source for the dated-rewrite body. Two shapes:
@@ -160,7 +160,7 @@ For **instructions**:
Detection signal from `cj-scan`: a cj block whose `parent_heading_chain[-1].heading` starts with `VERIFY`.
- Craig's convention for `todo.org` and prep docs: regular tasks at top and second-level remain task-shaped on completion so they stay visible in the agenda; deeper sub-tasks flip into a dated log; VERIFYs always flip to a dated log regardless of depth. (Feedback memory: `feedback_done_tasks_become_dated_log_headings`.) Leave a still-in-progress task as `DOING` for the user; only the *completed* ones get the `DONE`-or-dated-rewrite.
+ Leave a still-in-progress task as `DOING` for the user; only the *completed* ones get the `DONE`-or-dated-rewrite. (Feedback memory: `feedback_done_tasks_become_dated_log_headings` mirrors the rule.)
6. Remove the cj comment from the file. **Prefer the script:**