Skip to content

ci: build anchored-docs.skill in a release workflow instead of committing it - #4

Merged
Pmac627 merged 2 commits into
mainfrom
ci/release-build
Oct 7, 2026
Merged

Pmac627 merged 2 commits into
mainfrom
ci/release-build

Conversation

@Pmac627

@Pmac627 Pmac627 commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Stacked on #3. When #3 merges and its branch is deleted, GitHub retargets this PR to main.

What changes

  • Layout: the skill moves from anchored-docs/ to skills/anchored-docs/, so gh skill install Pmac627/anchored-docs anchored-docs finds it (skills/*/SKILL.md convention). Content is unchanged apart from two INSTALL.md lines.
  • Build: tools/build-skill.mjs build writes a store-only, reproducible zip (sorted entries, commit timestamp, no dependencies) from git, not the working folder, so an ignored local agent pack cannot enter it. It refuses to build when the tag does not match the SKILL.md version, the name differs from the folder, the changelog entry is missing, or pack files are tracked. notes <tag> prints the changelog section.
  • CI (.github/workflows/ci.yml): unit tests, 41 parity cases, coverage, and a build on ubuntu, windows, and macos with Node 22. Actions pinned by SHA, contents: read.
  • Release (.github/workflows/release.yml): on v* tags, runs CI, then builds from the tagged commit and runs gh release create. v2.0.0-rc.1 is a pre-release; v2.0.0 is a release. Only this job has contents: write.
  • Removed: the committed anchored-docs.skill and the duplicate root anchored-docs-INSTALL.md. README links point at releases/latest/download/anchored-docs.skill.

Verified locally (Windows, Node 24)

  • 49 of 49 unit tests, 41 of 41 parity cases, 77 of 77 coverage patterns.
  • Two builds are byte-identical; unzip -t passes; extracted files match skills/anchored-docs.

Not yet verified

  • This is the first CI run, and macOS has never been tested. If the parity step fails there, the likely cause is /var vs /private/var in temp paths.
  • The release workflow runs only on a tag after merge. Plan: v2.0.0-rc.1 first, then v2.0.0.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LGrZof6i8VqejqmYTqEfg2

Pmac627 and others added 2 commits October 7, 2026 14:33
…ting it

Move the skill to skills/anchored-docs so gh skill install finds it. Add
tools/build-skill.mjs (reproducible store-only zip from git, with tag, name,
changelog, and agent-pack guards), CI on Linux, Windows, and macOS, and a
tag-driven release workflow. Remove the committed archive and the duplicate
root INSTALL file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LGrZof6i8VqejqmYTqEfg2
macOS prints /var temp paths as /private/var, and GitHub's Windows runners
hold an 8.3 short name in TEMP while the scripts print the long name. Both
made the <REPO> placeholder miss in 4 parity cases.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LGrZof6i8VqejqmYTqEfg2
@Pmac627
Pmac627 changed the base branch from docs/skill-ste to main October 7, 2026 21:56
@Pmac627
Pmac627 merged commit e6b735a into main Oct 7, 2026
3 checks passed
@Pmac627
Pmac627 deleted the ci/release-build branch October 7, 2026 22:50
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