From fdbc016a6336f1a60485c4a01cead0877958f170 Mon Sep 17 00:00:00 2001 From: Nikolai Emil Damm Date: Tue, 10 Nov 2026 22:14:57 +0100 Subject: [PATCH 1/3] docs(agents): link the consumer census from the blast-radius rule Before a change to a shared surface, list its consumers with the monorepo's consumer-census helper. Part of devantler-tech/monorepo#4842 Co-Authored-By: Claude Opus 5.5 --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index f39b4b9..c6bda34 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -295,7 +295,7 @@ PR/issue/comment with `> 🤖 Generated by the Agentic Engineer` (the legacy `Da **Blast radius first:** this is a **shared library** consumed across every agent install — the two manifests drive what VS Code / Copilot CLI / Claude Code offer, so a malformed manifest, an out-of-sync pair, or a broken bundled `SKILL.md` ripples into every consumer. Prefer additive, backward-compatible -changes; keep the two manifests in parity and the README in lockstep. +changes; keep the two manifests in parity and the README in lockstep. List the consumers of a renamed or removed contract section or skill first with the monorepo's [`consumer-census.sh`](https://github.com/devantler-tech/monorepo/blob/main/.claude/scripts/consumer-census.sh): from a monorepo checkout, `.claude/scripts/consumer-census.sh
` prints each consumer's `file:line`; an `UNKNOWN` repository was not searched, which is never zero consumers. **Validate before any PR:** run the steps in [docs/validation.md](docs/validation.md) (`./scripts/validate-manifests.sh`, spec-validate each skill, `actionlint` changed workflows). No app build here — manifest parity, From ece4d5a1f918a58a30036db0cb85b6311eb42cba Mon Sep 17 00:00:00 2001 From: Nikolai Emil Damm Date: Tue, 10 Nov 2026 23:12:18 +0100 Subject: [PATCH 2/3] docs(agents): quote the census symbol and note the monorepo gap Section names contain spaces, so the example quotes the argument. The census does not search the monorepo itself yet (devantler-tech/monorepo#4917), so the rule says to grep it as well. Part of devantler-tech/monorepo#4842 Co-Authored-By: Claude Opus 5.5 --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index c6bda34..d7b21b6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -295,7 +295,7 @@ PR/issue/comment with `> 🤖 Generated by the Agentic Engineer` (the legacy `Da **Blast radius first:** this is a **shared library** consumed across every agent install — the two manifests drive what VS Code / Copilot CLI / Claude Code offer, so a malformed manifest, an out-of-sync pair, or a broken bundled `SKILL.md` ripples into every consumer. Prefer additive, backward-compatible -changes; keep the two manifests in parity and the README in lockstep. List the consumers of a renamed or removed contract section or skill first with the monorepo's [`consumer-census.sh`](https://github.com/devantler-tech/monorepo/blob/main/.claude/scripts/consumer-census.sh): from a monorepo checkout, `.claude/scripts/consumer-census.sh
` prints each consumer's `file:line`; an `UNKNOWN` repository was not searched, which is never zero consumers. +changes; keep the two manifests in parity and the README in lockstep. List the consumers of a renamed or removed contract section or skill first with the monorepo's [`consumer-census.sh`](https://github.com/devantler-tech/monorepo/blob/main/.claude/scripts/consumer-census.sh): from a monorepo checkout, `.claude/scripts/consumer-census.sh "
"` (quoted, since section names contain spaces) prints each consumer's `file:line`; an `UNKNOWN` repository was not searched, which is never zero consumers. It does not yet search the monorepo itself, the main consumer of contract sections, so also `git grep` the monorepo (devantler-tech/monorepo#4917). **Validate before any PR:** run the steps in [docs/validation.md](docs/validation.md) (`./scripts/validate-manifests.sh`, spec-validate each skill, `actionlint` changed workflows). No app build here — manifest parity, From 40caaa0befaeafcfc3943f6c95c518fe878cf867 Mon Sep 17 00:00:00 2001 From: Nikolai Emil Damm Date: Wed, 11 Nov 2026 00:52:59 +0100 Subject: [PATCH 3/3] docs(agents): census a skill's plugin installations too A repository can install a plugin without naming its bundled skills, so the rule also runs the census for the owning plugin's install name. Part of devantler-tech/monorepo#4842 Co-Authored-By: Claude Opus 5.5 --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 775c60b..3c9248c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -297,7 +297,7 @@ PR/issue/comment with `> 🤖 Generated by the Agentic Engineer` (the legacy `Da **Blast radius first:** this is a **shared library** consumed across every agent install — the two manifests drive what VS Code / Copilot CLI / Claude Code offer, so a malformed manifest, an out-of-sync pair, or a broken bundled `SKILL.md` ripples into every consumer. Prefer additive, backward-compatible -changes; keep the two manifests in parity and the README in lockstep. List the consumers of a renamed or removed contract section or skill first with the monorepo's [`consumer-census.sh`](https://github.com/devantler-tech/monorepo/blob/main/.claude/scripts/consumer-census.sh): from a monorepo checkout, `.claude/scripts/consumer-census.sh "
"` (quoted, since section names contain spaces) prints each consumer's `file:line`; an `UNKNOWN` repository was not searched, which is never zero consumers. It does not yet search the monorepo itself, the main consumer of contract sections, so also `git grep` the monorepo (devantler-tech/monorepo#4917). +changes; keep the two manifests in parity and the README in lockstep. List the consumers of a renamed or removed contract section or skill first with the monorepo's [`consumer-census.sh`](https://github.com/devantler-tech/monorepo/blob/main/.claude/scripts/consumer-census.sh): from a monorepo checkout, `.claude/scripts/consumer-census.sh "
"` (quoted, since section names contain spaces; for a skill, also run it for its plugin's install name, such as `agentic-engineering@devantler-plugins`, because an installation does not name each bundled skill) prints each consumer's `file:line`; an `UNKNOWN` repository was not searched, which is never zero consumers. It does not yet search the monorepo itself, the main consumer of contract sections, so also `git grep` the monorepo (devantler-tech/monorepo#4917). **Validate before any PR:** run the steps in [docs/validation.md](docs/validation.md) (`./scripts/validate-manifests.sh`, spec-validate each skill, `actionlint` changed workflows). No app build here — manifest parity,