From d185f9b2d644d835aca12e6484909d9fb0d62717 Mon Sep 17 00:00:00 2001 From: Jarvis Jr Hermes Date: Wed, 23 Sep 2026 19:45:36 +0000 Subject: [PATCH] docs: clarify development skill precedence --- SKILL.md | 2 +- references/failure-and-documentation.md | 2 +- tests/test_development_skill_routing.py | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/SKILL.md b/SKILL.md index 28d5d30..ff5cc7c 100644 --- a/SKILL.md +++ b/SKILL.md @@ -90,7 +90,7 @@ This channel skill owns **delivery governance and project-channel coordination** | Taskfile, `.scripts/`, shell wrappers, environment validation, and Devbox | `development-scripts` | https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-scripts | | Gondor Argo CD template, rendered desired state, and repository connection | `development-gitops-argo-cd-gondor-v1` | https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-gitops-argo-cd-gondor-v1 | -The channel skill may narrow authority, lifecycle, workspace, visibility, handoff, and evidence requirements. It must not restate generic RED–GREEN–REFACTOR mechanics, shell-module layouts, pnpm workspace conventions, ordinary Git branching mechanics, exact-head gate algorithms, or Argo CD authoring procedures. Improve those reusable skills at their linked sources and keep only the project/channel overlay here. +The channel skill may narrow authority, lifecycle, workspace, visibility, handoff, and evidence requirements. When a project/channel overlay conflicts with a reusable skill on branch naming, human confirmation, worker count, review identity, merge authority, deployment authority, or release authority, the explicit project/channel overlay wins; inherit only the non-conflicting mechanics. It must not restate generic RED–GREEN–REFACTOR mechanics, shell-module layouts, pnpm workspace conventions, ordinary Git branching mechanics, exact-head gate algorithms, or Argo CD authoring procedures. Improve those reusable skills at their linked sources and keep only the project/channel overlay here. ## Implementation Entry Gate diff --git a/references/failure-and-documentation.md b/references/failure-and-documentation.md index 2876f79..2fd6005 100644 --- a/references/failure-and-documentation.md +++ b/references/failure-and-documentation.md @@ -51,7 +51,7 @@ Update these pages from verified project practice. Do not document a planned pro ## Synchronization Workflow -When planning documentation, Architecture structure, or Kanban state changes while implementation remains gated, follow [`references/planning-artifact-reconciliation.md`](references/planning-artifact-reconciliation.md). It defines fresh remote-head discovery, exact-merge-SHA validation, `READY_FOR_DELIVERY` handoff interpretation, evidence boundaries, and duplicate-status suppression. +When planning documentation, Architecture structure, or Kanban state changes while implementation remains gated, follow [`planning-artifact-reconciliation.md`](planning-artifact-reconciliation.md). It defines fresh remote-head discovery, exact-merge-SHA validation, `READY_FOR_DELIVERY` handoff interpretation, evidence boundaries, and duplicate-status suppression. 1. Read new same-project activity and enough delivery history to avoid duplicates. 2. Before claiming new task work, verify exact-item `Approved for Implementation` evidence, exact Task `READY_FOR_DELIVERY` state, task dependencies, approved UI/UX handoff when applicable, and target version. diff --git a/tests/test_development_skill_routing.py b/tests/test_development_skill_routing.py index 712a9e4..c712581 100644 --- a/tests/test_development_skill_routing.py +++ b/tests/test_development_skill_routing.py @@ -26,6 +26,7 @@ def test_delivery_reference_routes_reusable_development_procedures() -> None: def test_generic_automation_is_owned_by_development_scripts() -> None: assert "`development-scripts` owns Taskfile, `.scripts/`" in SKILL assert "must not restate generic RED–GREEN–REFACTOR mechanics" in SKILL + assert "the explicit project/channel overlay wins" in SKILL def test_gitops_reference_requires_one_environment_per_repository() -> None: