diff --git a/CHANGES.md b/CHANGES.md index a037ce8..7e2c006 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse. --- -## 7.0.0-beta.9 - 2026-09-20 - Skill-Namensfamilien: weekly-review -> gtd-weekly-review, dritte Person in allen Descriptions +## 7.0.0-beta.10 - 2026-09-20 - Veraltete Skill-Aufzaehlungen in der Instruction-Schicht nachgezogen **Author:** Torben Nehmer @@ -80,6 +80,7 @@ concern - readable here, never shipped as something to parse. - new project: Testabdeckung fuer die required-responsibility-Ablehnung - docs/-Nachzug: Exit 42 als Haltung, und die Adoption eines neu ausgelieferten Templates - Skill-Namensfamilien: weekly-review -> gtd-weekly-review, dritte Person in allen Descriptions +- Veraltete Skill-Aufzaehlungen in der Instruction-Schicht nachgezogen ### Typ `project` und Collection `kb/gtd/`: das Vorhaben als eigene Seitenart @@ -307,6 +308,31 @@ imperative-title convention, since its `description` is read on demand rather th the system prompt. No `--breaking` line: the renamed skill was introduced by this same unreleased candidate, so no existing instance carries the old name to migrate away from. +### Veraltete Skill-Aufzaehlungen in der Instruction-Schicht nachgezogen + +Gitea #129s Abschlusspruefung: die Skill-Umbenennung hat sichtbar gemacht, dass mehrere Dokumente +die Skill-Liste hart aufzaehlen und beim Wachsen der Liste still veralten. Vier Stellen waren +falsch, eine davon schon vor diesem Paket: + +- **`instructions/CONTRACT.md` § "When a skill carries a copy-in checklist"** zaehlte „die zwei + Skills mit Block und die drei ohne" - also fuenf von inzwischen acht. Die Zahlen im Einstiegssatz + sind jetzt ganz raus (sie unterscheiden sich ohnehin zwischen diesem Repo und einer + ausgelieferten Instanz, die `instructions/dev/` nicht hat), die Aufzaehlung nennt alle + ausgelieferten Skills, und die beiden Dev-Skills stehen in einem `dist:strip`-Block. +- **Dieselbe Passage nannte `wiki-query` mit sechs Schritten** - es sind sieben, und zwar schon + laenger. Die Regel selbst (ein Flow ab acht Schritten *und* still scheiternde Schritte) bleibt + unveraendert; kein Skill wechselt dadurch die Seite. +- **`instructions/CONTRACT.md` § "outbound reference"** sprach im Praesens von „this repo's seven + skills", wo die Zahl zu einer datierten Messung (52 von 58 Links) gehoert - jetzt als „at the + time" markiert, statt die Messung nachzurechnen. +- **`instructions/bootstrap.md`** und die Scope-Abschnitte von `stack-dev`/`stack-close` listeten + die Content-Skills ohne `gtd-weekly-review` auf. + +Dazu `test_the_real_repo_publishes_the_six_wiki_skills` -> `..._every_skill`: der Test pruefte +sechs der acht Skills und trug die veraltete Zahl im Namen; er nennt jetzt alle acht, nach +Familien erklaert. Dass die Passage weiterhin Schrittzahlen fremder Dateien zitiert, die genauso +still veralten koennen, ist als eigene Frage festgehalten und hier bewusst nicht geloest. + --- ## 6.2.0 - 2026-09-19 - Entity-Subtyp project nach codebase umbenannt diff --git a/VERSION b/VERSION index 17e1a97..d5ac091 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.0.0-beta.9 +7.0.0-beta.10 diff --git a/instructions/CONTRACT.md b/instructions/CONTRACT.md index 06f5d08..e10b2a8 100644 --- a/instructions/CONTRACT.md +++ b/instructions/CONTRACT.md @@ -244,9 +244,9 @@ than the source, and without the sibling files a relative link might expect. A m correct at `instructions//SKILL.md` (`../session-setup.md`, `../../kb/CONTRACT.md`) resolves to a different, usually nonexistent, file once copied: the number of `../` segments that reaches a target from `instructions/` does not reach the same target from -`.claude/skills/`. Fifty-two of the fifty-eight relative links across this repo's seven skills -broke exactly this way before this rule existed, silently - nothing rendered the copy to notice, -and no check read a link target. +`.claude/skills/`. Fifty-two of the fifty-eight relative links across the repo's seven skills at +the time broke exactly this way before this rule existed, silently - nothing rendered the copy to +notice, and no check read a link target. So a `SKILL.md` never writes an outbound reference as a relative markdown link, correct depth or not. It names the target as a repo-root-relative **plain path** instead - `` `instructions/session-setup.md` ``, not `[session-setup.md](../session-setup.md)`; `` `kb/CONTRACT.md` `` for a @@ -320,7 +320,7 @@ marker: the pointer is worth having in the origin repo and resolves nowhere else Anthropic's skill-authoring guidance suggests, for a "particularly complex workflow", a checklist the agent copies into its response and ticks off as it goes. It names no threshold, so this repo -sets one - otherwise the two skills that have such a block and the three that do not read as an +sets one - otherwise the skills that carry such a block and the ones that do not read as an accident rather than a decision. A `SKILL.md` carries the block when **one** of its flows runs to eight steps or more *and* that @@ -332,9 +332,12 @@ because the next call fails without the previous one. Two skills qualify today, and the block names each of their numbered steps once, verbatim: `wiki-ingest` (twelve steps, of which `## Not Extracted` in step 6, the coverage check in step 10 and the lint cadence in step 12 all fail quietly) and `wiki-lint` (nine, with steps 3-6 pure -judgment). The other three do not, and the reason is worth stating so nobody adds one out of -symmetry: `wiki-manage` has two flows of seven, `wiki-query` six, `wiki-status` five, and none of -them is long enough for a reader to lose the thread. +judgment). The rest do not, and the reason is worth stating so nobody adds one out of symmetry: +`wiki-manage` has two flows of seven, `wiki-query` seven, `wiki-status` five and +`gtd-weekly-review` five - none of them long enough for a reader to lose the thread. + +Dev-instance-only: `stack-dev` (six) and `stack-close` (four) sit under the same threshold. + The block says that it is to be copied and carried, not read. A checklist read once is the table of contents it replaced. diff --git a/instructions/bootstrap.md b/instructions/bootstrap.md index d8eef51..5dc846b 100644 --- a/instructions/bootstrap.md +++ b/instructions/bootstrap.md @@ -9,7 +9,7 @@ description: Prepare a fresh clone for work - create the tools venv and publish `.agents/skills/` and `.claude/skills/` are generated copies of the skill directories under `instructions/`, and both are gitignored. A fresh clone therefore has no skills at all until they are published: the agent harness will not offer `wiki-ingest`, `wiki-query`, -`wiki-manage`, `wiki-lint` or `wiki-status` before this runs. +`wiki-manage`, `wiki-lint`, `wiki-status` or `gtd-weekly-review` before this runs. ## When to run diff --git a/instructions/dev/stack-close/SKILL.md b/instructions/dev/stack-close/SKILL.md index 4d38f57..4995467 100644 --- a/instructions/dev/stack-close/SKILL.md +++ b/instructions/dev/stack-close/SKILL.md @@ -129,5 +129,6 @@ and a fresh subagent starts without the session's context). ## Scope Follows a `stack-dev` session's publish. Not for wiki content work - use -`wiki-ingest`/`wiki-query`/`wiki-manage`/`wiki-lint`/`wiki-status` for that, whose own closing -conventions (`kb/log.md`, page provenance) are unrelated to this tracker-body procedure. +`wiki-ingest`/`wiki-query`/`wiki-manage`/`wiki-lint`/`wiki-status`/`gtd-weekly-review` for that, +whose own closing conventions (`kb/log.md`, page provenance) are unrelated to this tracker-body +procedure. diff --git a/instructions/dev/stack-dev/SKILL.md b/instructions/dev/stack-dev/SKILL.md index 97c9d7f..d6ffc3a 100644 --- a/instructions/dev/stack-dev/SKILL.md +++ b/instructions/dev/stack-dev/SKILL.md @@ -191,6 +191,7 @@ stack development happens in the origin repo instead (see AGENTS.md's routing li ## Scope Not for wiki content work - use `wiki-ingest`/`wiki-query`/`wiki-manage`/`wiki-lint`/ -`wiki-status` for that. Not for setting up a new instance (`instructions/setup-instance.md`) or +`wiki-status`/`gtd-weekly-review` for that. Not for setting up a new instance +(`instructions/setup-instance.md`) or a fresh clone of this repo (`instructions/bootstrap.md`). Not for closing a work package after its publish has landed - that is `stack-close` (`instructions/dev/stack-close/SKILL.md`). diff --git a/tools/chemenu/tests/test_instructions_cmd.py b/tools/chemenu/tests/test_instructions_cmd.py index d9e2652..fb76252 100644 --- a/tools/chemenu/tests/test_instructions_cmd.py +++ b/tools/chemenu/tests/test_instructions_cmd.py @@ -60,10 +60,12 @@ def test_a_flat_file_is_an_instruction_and_the_contract_is_not(layer): assert [p.name for p in instructions_cmd.instruction_files()] == ["gates.md"] -def test_the_real_repo_publishes_the_six_wiki_skills(): +def test_the_real_repo_publishes_every_skill(): """Guards the actual layout, not a fixture: these are the skills the - harness is expected to offer. `stack-dev` is nested under - instructions/dev/, discovered the same way as the five top-level ones.""" + harness is expected to offer, one per naming family - `wiki-` for the + knowledge pipeline, `gtd-` for the commitment layer, `stack-` for the + stack's own development. The `stack-` pair is nested under + instructions/dev/, discovered the same way as the top-level ones.""" names = {p.name for p in instructions_cmd.skill_dirs()} assert { "wiki-ingest", @@ -71,7 +73,9 @@ def test_the_real_repo_publishes_the_six_wiki_skills(): "wiki-lint", "wiki-manage", "wiki-status", + "gtd-weekly-review", "stack-dev", + "stack-close", } <= names