diff --git a/AGENTS.md b/AGENTS.md index 1fbc433..3cfb2c7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -235,6 +235,7 @@ ships the first verbatim and the second only as a `.template`. | `wiki-manage` | A page needs creating, or new information needs integrating into one | | `wiki-lint` | The wiki needs a health check (also every 10 sources) | | `wiki-status` | A quick read-only snapshot is wanted, without a full lint | +| `weekly-review` | `wikitool review` has findings nobody has acted on yet, or the user asks for the weekly review | Shared procedures that several skills call into: `tools/wikitool instructions list`. diff --git a/CHANGES.md b/CHANGES.md index 3f90e93..7b2988e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse. --- -## 7.0.0-beta.5 - 2026-09-20 - new project: Testabdeckung fuer die required-responsibility-Ablehnung +## 7.0.0-beta.6 - 2026-09-20 - Skill weekly-review: turning wikitool review's findings into decisions **Author:** Torben Nehmer @@ -73,6 +73,7 @@ concern - readable here, never shipped as something to parse. - Task-tracker provider layer, with a Super Productivity adapter - wikitool review: the weekly GTD review as a read-time join - wikitool new project: Seite und Tracker-Projekt unter einem Namen +- Skill weekly-review: turning wikitool review's findings into decisions **Low impact** - new project: Testabdeckung fuer die required-responsibility-Ablehnung @@ -206,6 +207,21 @@ Enums wird abgelehnt - beides galt schon vorher generisch ueber `types/project.s der das fuer den fehlenden Fall (`--set responsibility=...` ganz weggelassen) tatsaechlich belegt, statt es nur zu behaupten. +### Skill weekly-review: turning wikitool review's findings into decisions + +Gitea #119 (Paket #127): `instructions/weekly-review/SKILL.md`, publiziert nach `.agents/skills/` +und `.claude/skills/`. `wikitool review` liefert fuenf Befunde (#125); dieser Skill fuehrt das +Gespraech, das aus jedem eine Entscheidung macht - je Befund mindestens zwei Handlungsoptionen und +ein Unterscheidungsmerkmal, wie in #127s Akzeptanzkriterien gefordert. + +Der Skill nennt bewusst keinen Provider, keine Datei- und keine API-Form (D25) - eine neue +Regressionstest (`test_weekly_review_skill_names_no_provider`) haelt das am echten Repo-Inhalt +fest, nicht nur als Review-Behauptung. Erinnert im Text an D28 (Personen in `## Beteiligte` +bleiben Erwaehnung, bekommen keine Seite) und D7 (die Seite fasst die Aufgabenliste nie +zusammen). Die Kommandoflaeche bleibt bei `review`/`new project`; alles Aufgabenbezogene - eine +naechste Aktion anlegen, `follow_up_at` verschieben, einen Someday-Eintrag streichen - bleibt eine +Handlung im Tracker selbst, weil dafuer kein `wikitool`-Kommando existiert (D31). + --- ## 6.2.0 - 2026-09-19 - Entity-Subtyp project nach codebase umbenannt diff --git a/README.md b/README.md index cbd41a8..462be0f 100644 --- a/README.md +++ b/README.md @@ -257,6 +257,7 @@ themselves live as independently-discoverable skills under `.agents/skills/` | `wiki-lint` | Health-check the wiki: structural scan, raw coverage, semantic review | | `wiki-manage` | Create a new entity/concept/source/comparison page, or update an existing page with new information | | `wiki-status` | Read-only snapshot: page counts, orphans, uncovered raw files, most-connected pages | +| `weekly-review` | Turn `wikitool review`'s findings into decisions and page updates - the GTD weekly review | Each skill's underlying mechanical work (frontmatter, cross-references, index/log, decay math, publishing) is delegated to `tools/wikitool` - never hand-edited. diff --git a/VERSION b/VERSION index 28af6d3..53183fc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.0.0-beta.5 +7.0.0-beta.6 diff --git a/instructions/weekly-review/SKILL.md b/instructions/weekly-review/SKILL.md new file mode 100644 index 0000000..be69645 --- /dev/null +++ b/instructions/weekly-review/SKILL.md @@ -0,0 +1,105 @@ +--- +name: weekly-review +description: Turn the findings from `wikitool review` into decisions and page updates - the GTD Weekly Review, with a machine that prepares the list instead of a human reconstructing it from memory. Use when the user asks for "the weekly review", "review my projects", "what's stalled", or after `wikitool review` has findings nobody has acted on yet. +--- + +# Weekly Review + +**Purpose:** A finding from `wikitool review` is not an action by itself - "this initiative looks +stalled" can mean a next action is missing, the initiative was deliberately paused, or it is +actually finished. Which one is true is a human judgment. This skill runs the conversation that +collects that judgment and carries it out. + +**Trigger:** The user asks for a weekly review, or `wikitool review` has findings nobody has +looked at yet. + +**Before the first `wikitool` call:** `instructions/session-setup.md`. + +**Provider-neutral by design.** Nothing below names a task-tracker provider, a file format or an +API - only the tracker's generic role. That is deliberate: this skill is the one document that +must read identically in every instance, whichever tracker it runs against. Anything the tracker +itself must do - add a task, reschedule a reminder, remove an item - is described as an action the +user takes in their tracker, because `wikitool` has no command for it: the only two GTD commands +that exist are `review` (read-only) and `new project` (page + tracker project creation). That +narrow command surface is deliberate (see the reasoning in `types/project.md` and +`kb/gtd/COLLECTION.md`, which this skill does not repeat) - do not reach for a tracker-specific +tool or API to "just do it faster". + +## Steps + +1. **Run the review.** + + ```bash + tools/wikitool review + ``` + + Exit 0 with no findings means a quiet week - say so and stop. A non-zero exit means the report + is **incomplete**: one or more checks could not run because a provider call failed. Read the + printed "INCOMPLETE" block, tell the user which checks were skipped and why, and be explicit + that the *absence* of a finding under a skipped check means nothing - it was never asked. Do + not re-run the command hoping for a different result; a failing provider is not fixed by + retrying. + +2. **Walk the findings by check, one at a time.** Each finding names a `kb/gtd/` project (or, for + the two checks anchored on the tracker side, a tracker project) and the condition that fired. + For every finding, present the options below, ask which applies, and act on the answer - + never pick one yourself. A finding is a question, not an instruction. + + | Check | What fired | Options | How to tell them apart | + |---|---|---|---| + | `stalled` | A tracker project has zero open items and its `kb/` page is `state: active` | (a) A next action is genuinely missing - add one in the tracker. (b) The initiative is deliberately paused - `tools/wikitool touch --page "