$npx -y skills add gtrabanco/agentic-workflow --skill bump-skillInternal skill for the agentic-workflow repo. After editing one or more SKILL.md files, bumps their version: fields and updates every piece of documentation in the repo that must stay in sync: CHANGELOG.md, CHANGELOG.es.md, README.md, and README.es.md. Run before committing any
| 1 | ## Turn contract — verify before ending the turn |
| 2 | |
| 3 | ``` |
| 4 | ✓ Every changed skill's version: was bumped and BOTH changelogs got their rows |
| 5 | ✓ The lint results (all 7 authoring rules, including the two machine-surface |
| 6 | parity/ordering checks and the internal-skill discovery-exclusion check) |
| 7 | were reported |
| 8 | ✓ The git add + commit command block is printed as the ABSOLUTE last output |
| 9 | ``` |
| 10 | |
| 11 | About to end the turn with any box unchecked? The turn is NOT done — complete |
| 12 | the missing box first. |
| 13 | |
| 14 | ## When to use |
| 15 | |
| 16 | After any edit to one or more `skills/<name>/SKILL.md` files in this repo, |
| 17 | before committing. Handles the full documentation surface so nothing drifts. |
| 18 | |
| 19 | ## Step 0 — Orientation |
| 20 | |
| 21 | This skill is **specific to the `agentic-workflow` repository**. Before doing |
| 22 | anything, confirm you are in that repo (presence of `skills/` + `CHANGELOG.md` |
| 23 | + `CHANGELOG.es.md`). If not, stop and tell the user. |
| 24 | |
| 25 | Versioning policy (from `CHANGELOG.md`): |
| 26 | |
| 27 | | Bump | When | |
| 28 | |---|---| |
| 29 | | **major** | rename, removed/renamed flag, changed contract or output shape — ships with a migration note | |
| 30 | | **minor** | new backward-compatible capability: new flag, new section, new routing case | |
| 31 | | **patch** | wording, examples, clarifications, internal tidy — no behavior change | |
| 32 | |
| 33 | ## Process |
| 34 | |
| 35 | ### 1. Identify changed skills |
| 36 | |
| 37 | Run `git diff --name-only HEAD` and `git diff --cached --name-only` to find |
| 38 | every modified `skills/*/SKILL.md`. Union both lists (covers staged and |
| 39 | unstaged). If the user names specific skills explicitly, use those instead and |
| 40 | verify the files exist. |
| 41 | |
| 42 | If no modified skill files are found, say so and stop. |
| 43 | |
| 44 | ### 2. For each changed skill — read the diff and determine the bump |
| 45 | |
| 46 | Run `git diff HEAD skills/<name>/SKILL.md` (add `--cached` if staged). Read |
| 47 | the diff carefully: |
| 48 | |
| 49 | - **major** — the `name:` changed, a flag or section was removed, the output |
| 50 | contract changed fundamentally. Also check `docs/workflow/MIGRATION.md` to |
| 51 | see if a migration note is needed. |
| 52 | - **minor** — a new section, new flag, new routing case, or meaningfully |
| 53 | expanded capability was added. |
| 54 | - **patch** — wording, examples, formatting, or internal clarifications only. |
| 55 | |
| 56 | If the nature of the change is ambiguous, ask the user before proceeding. One |
| 57 | question covering all ambiguous skills at once is fine. |
| 58 | |
| 59 | ### 2b. Lint the repo's authoring rules (flag, don't fix) |
| 60 | |
| 61 | For each changed skill, check the seven `CLAUDE.md` authoring invariants and **warn** |
| 62 | if violated (this skill never edits a SKILL.md beyond its `version:` line, so it |
| 63 | reports — it does not auto-correct): |
| 64 | |
| 65 | - **Closing `→ Next:` block.** A user-facing skill should end with a visible |
| 66 | `→ Next:` recommendation block (recommended command + open `·` alternatives), not |
| 67 | just a "Done when" bullet. `grep -L '→ Next:' skills/<name>/SKILL.md` flags a miss. |
| 68 | - **Phase naming.** Plans use `P1, P2, …` ("phases") only — never `S1`/`S2`/"Step N". |
| 69 | `grep -nE '\bS[0-9]\b|\bStep [0-9]' skills/<name>/SKILL.md` should return nothing in |
| 70 | a planning/execution context; flag any hit for the user to fix before committing. |
| 71 | - **Portability section.** Every user-facing skill (`user-invocable: true`) carries a |
| 72 | `## Portability` section with the standard non-Claude-Code fallbacks. |
| 73 | `grep -L '^## Portability' skills/<name>/SKILL.md` flags a miss (skip this check |
| 74 | for internal skills). |
| 75 | - **Turn contract.** Every user-facing skill opens with a `## Turn contract` |
| 76 | section (deliverable in fixed format; `→ Next:` printed last; executors run |
| 77 | commands, never describe them). `grep -L '^## Turn contract' skills/<name>/SKILL.md` |
| 78 | flags a miss (skip for internal skills). |
| 79 | - **`plugin.json` parity.** Every `skills/<name>/` with `user-invocable: true` |
| 80 | has a matching `./skills/<name>` entry in `.claude-plugin/plugin.json`. |
| 81 | Compare the two sets (directories vs. array entries) and flag any |
| 82 | `user-invocable: true` skill missing from the array — this is what left |
| 83 | `fold-findings` installing outside its category (see #71). |
| 84 | - **Machine-surface alphabetical order.** `.claude-plugin/plugin.json`'s |
| 85 | `skills` array and `docs/workflow/model-routing.yml`'s top-level keys must |
| 86 | each be alphabetical (per `CLAUDE.md`'s Conven |