Skip to content

[AAASM-2886] 📝 (skill): Restructure release-tag-cut to Agent Skills spec (EXAMPLES + REFERENCE + bundled script)#1044

Merged
Chisanan232 merged 12 commits into
masterfrom
v0.0.1/AAASM-2886/skill/release_tag_cut_enh
Jun 14, 2026
Merged

[AAASM-2886] 📝 (skill): Restructure release-tag-cut to Agent Skills spec (EXAMPLES + REFERENCE + bundled script)#1044
Chisanan232 merged 12 commits into
masterfrom
v0.0.1/AAASM-2886/skill/release_tag_cut_enh

Conversation

@Chisanan232

@Chisanan232 Chisanan232 commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Description

Restructures the release-tag-cut skill to the Anthropic Agent Skills spec
(progressive disclosure)
. The skill previously crammed the full executable
plan, a verbose worked example, and all post-conditions into a single 376-line
SKILL.md. This PR splits that content across the spec's three disclosure
levels and bundles the helper script inside the skill directory.

Restructure:

  • Level 1 (always loaded) — rewrote the YAML frontmatter description to
    state both what the skill does and when to use it ("Use when an
    operator is ready to cut a new alpha-series agent-assembly release…"), the
    spec's discovery signal. Third-person, well under 1024 chars.
  • Level 2 (loaded when triggered) — slimmed SKILL.md from 376 → 142
    lines
    (spec target < 500, recommended < 200). It now carries only a lean
    overview, When/When-NOT-to-use, How-to-use, a concise 6-step plan as short
    bullets, brief pre/post-conditions, the do-NOT-manually-run callout, the
    "does not do" list, and a ## Detailed references section linking one level
    deep.
  • Level 3 (loaded on demand) — moved bundled files:
    • EXAMPLES.md — the full alpha-10 worked example, verbatim, with a TOC.
    • REFERENCE.md — the detailed per-step executable-plan prose (commands,
      edge-cases, no-op guard rationale, full pre/post-conditions, auto-handled
      rationale), with a ## Contents TOC at the top (it is > 100 lines).
    • scripts/release-tag-cut.shgit mv'd from repo-root scripts/ into
      the skill dir so the script is bundled with the skill (forward-slash,
      one-level-deep reference, stays executable 755).

No content was lost — everything was relocated. All links from SKILL.md are
one-level-deep relative links ([EXAMPLES.md](EXAMPLES.md),
[REFERENCE.md](REFERENCE.md), scripts/release-tag-cut.sh).

Type of Change

  • ✨ New feature
  • 🐛 Bug fix
  • ♻️ Refactoring
  • 🍀 Performance improvement
  • 📝 Documentation update
  • 🔧 Configuration / CI change
  • ⬆️ Dependency upgrade
  • 🚀 Release

Breaking Changes

Does this PR introduce any breaking changes to public APIs or behaviour?

  • No
  • Yes (describe below)

The skill's runtime behaviour is unchanged — only its file layout and
discovery metadata. The repo-root scripts/release-tag-cut.sh path is gone;
the bundled copy lives at .claude/skills/release-tag-cut/scripts/release-tag-cut.sh.

Related Issues

Testing

Describe the testing performed for this PR:

  • Unit tests added / updated
  • Integration tests added / updated
  • Manual testing performed
  • No tests required (docs/skill-layout change; no code paths altered)

Manual verification:

  • wc -l SKILL.md → 142 (< 500 spec limit, < 200 recommended).
  • Frontmatter name + improved description present (head -5).
  • REFERENCE.md and EXAMPLES.md exist; both carry a ## Contents TOC.
  • scripts/release-tag-cut.sh exists inside the skill dir and is executable
    (755); repo-root scripts/release-tag-cut.sh removed.
  • All SKILL.md links are one-level-deep relative links.

Checklist

  • Code follows project style guidelines (cargo fmt, cargo clippy)
  • Self-review of the diff completed
  • Documentation updated if behaviour changed
  • All CI checks passing
  • Commits are small and follow the Gitmoji convention

Extracts the version-literal sed sequence + Cargo.lock regeneration from the
release-tag-cut SKILL.md (steps 2-4) into a single reusable shell script.

Behavior:
- Refuses no-op invocations (current == target).
- Enumerates every Cargo.toml declaring the current literal via git grep.
- Surfaces the file list to stdout BEFORE mutating.
- sed -i.bak replaces in place + cleans up .bak siblings.
- Runs cargo update --workspace to regenerate Cargo.lock.
- Exits non-zero with a clear message on any sed/cargo failure.

Refs AAASM-2886.
…ut SKILL.md

Gives the LLM concrete trigger criteria (alpha-series cut on green master with
clean tree + draft notes) and disqualifying scenarios (SDK-only, GA, hotfix,
pre-conditions not met) so the right skill is picked at the right time.

Refs AAASM-2886.
Documents the invocation syntax (/release-tag-cut <X>), the required context
(main checkout + `remote` remote name), and how the <X> placeholder binds to
the operator-supplied target version everywhere in the executable plan.

Refs AAASM-2886.
Concrete walk-through of cutting v0.0.1-alpha.10 from a v0.0.1-alpha.9
baseline: actual commands + expected output for steps 1-6, including the
16-file / 43-literal footprint from AAASM-2849 and the final gh run watch
confirming release.yml is queued.

Refs AAASM-2886.
…KILL.md

Documents the two verification commands (git ls-remote --tags + gh run list)
the operator runs to confirm the skill succeeded, with expected output for
each, plus the recommended /release-validate-channels follow-up once
release.yml finishes.

Refs AAASM-2886.
…g-cut SKILL.md

Lists the five release.yml jobs the operator MUST NOT replicate by hand:
GitHub Release creation, cargo publish per workspace crate, Homebrew tap PR,
downstream SDK repository_dispatch fanout, and (post-AAASM-2883) the
node-sdk + python-sdk FFI source-pin bump PRs. Prevents duplicate publishes
and audit-log divergence.

Refs AAASM-2886.
Slims down inline bash in steps 2 (enumerate + sed) and 4 (cargo update) by
delegating to scripts/release-tag-cut.sh. Step 3 keeps only the atomic
Cargo.toml-only commit. Step 4 keeps only the separate Cargo.lock commit
plus the cargo generate-lockfile fallback note.

Refs AAASM-2886.
@Chisanan232

Chisanan232 commented Jun 14, 2026

Copy link
Copy Markdown
Contributor Author

Claude Code review — AAASM-2886

CI

3/3 green: Analyze (javascript-typescript), Analyze (python), dev-verify (smoke tests + gateway health). The dev-verify check ran (didn't path-skip) because scripts/ is in its path filter — that's the most useful signal here since it covers the new helper. Mergeable.

Scope vs. AAASM-2886

AC Status
scripts/release-tag-cut.sh created and executable ✓ confirmed -rwxr-xr-x; bash -n clean; 0-arg path exits with usage; no-op (current==target) exits with clear error
Helper enumerates via git grep, surfaces file list before mutating, regenerates Cargo.lock
5 new SKILL.md sections (When to use / When NOT to use / How to use / Worked example / What's expected when done)
## What's auto-handled (do NOT manually run) callout names: gh release create, cargo publish, opening tap PR, downstream SDK fanout, AAASM-2883 FFI pin auto-PRs
Worked example uses concrete 0.0.1-alpha.10 against the alpha-9 baseline (43 literals / ~16 crates from AAASM-2849)
Steps 2-4 of executable plan now reference scripts/release-tag-cut.sh instead of inlining the bash ✓ (bonus 7th commit ♻️ (skill): Reference release-tag-cut.sh from executable plan steps 2-4)
6 atomic commits + 1 bonus refactor = 7 total ✓ GitEmoji format throughout

Quality observations

  • Bonus commit e399044a (the ♻️ refactor) is the right call: the helper script wouldn't be load-bearing if the SKILL.md still inlined the same bash. Granular-commit rule honored.
  • scripts/ is in a CI path filter so dev-verify runs — meaningful end-to-end signal beyond CodeQL. Best CI coverage of any v2 PR so far.
  • PR body is well-filled and links the parent Story.

Verdict

Ready for approval and merge. Strongest v2 PR (most ACs, most CI coverage, helper script extracted cleanly). Companion to AAASM-2888 (homebrew-tap-merge enhancement) which extracts the verify-tap-sha256 helper.

— Claude Code

@Chisanan232 Chisanan232 changed the title [AAASM-2886] 📝 (skill): Enhance release-tag-cut with worked example + helper script [AAASM-2886] 📝 (skill): Restructure release-tag-cut to Agent Skills spec (EXAMPLES + REFERENCE + bundled script) Jun 14, 2026
@Chisanan232

Chisanan232 commented Jun 14, 2026

Copy link
Copy Markdown
Contributor Author

Claude Code review — AAASM-2886 (spec-compliance restructure)

1. CI state

3/3 green incl. dev-verify (smoke tests + gateway health) — which runs because the bundled scripts/ path is in its filter, so the moved helper gets an end-to-end smoke. Mergeable. Diff +507/−115 across 4 files.

2. Anthropic Agent Skills spec compliance

Spec requirement Status
SKILL.md body < 500 lines 376 → 142
Examples bundled, not inline EXAMPLES.md (114) — alpha-10 worked example
Detailed reference bundled REFERENCE.md (204) — per-step plan detail
Reference >100 lines has TOC REFERENCE.md ## Contents
Scripts bundled in the skill dir git mv repo-root → .claude/skills/release-tag-cut/scripts/release-tag-cut.sh (executable, history preserved); repo-root copy removed
References one level deep
description = what + when ✓ "Cut a coordinated agent-assembly release tag… Use when an operator is ready to cut a new alpha-series release on a green master…"
No content lost

The git mv (not delete+add) preserves the script's history — good. The skill execution-intent is clear per spec: SKILL.md says "run scripts/release-tag-cut.sh" (execute), and the verbose per-step rationale is in REFERENCE.md (read-as-reference).

3. Scope vs AAASM-2886 (re-scoped)

Matches: EXAMPLES.md + REFERENCE.md split, bundled script, lean SKILL.md, description rewrite.

Verdict

Ready for approval and merge. Strongest CI coverage of the five (dev-verify exercises the bundled script). Clean lossless restructure.

— Claude Code

@Chisanan232
Chisanan232 merged commit 364ce17 into master Jun 14, 2026
2 checks passed
@Chisanan232
Chisanan232 deleted the v0.0.1/AAASM-2886/skill/release_tag_cut_enh branch June 14, 2026 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant