cloudflare/quiche-draft-release
quiche draft GitHub release automation from a release commit hash or existing tag. Use when creating draft releases for the quiche crate from a quiche/Cargo.toml version bump.
npx skills add https://github.com/cloudflare/quiche --skill quiche-draft-release
Use this skill when the user asks to create a GitHub draft release for the
quiche crate and provides, or should provide, either the commit hash that
bumped quiche/Cargo.toml or an existing release tag pointing at that commit.
Do not require a pre-existing tag. quiche release tags are created after the
release PR is merged, because GitHub does not support fast-forward PR merges.
Use the release commit hash as the source of truth when the tag does not exist
yet, and let gh release create target that commit. If the release tag already
exists, the user may provide either the tag or the commit hash.
changed quiche/Cargo.toml to the released version, or an existing quiche
release tag such as 0.29.1 that points at that commit.
with existing quiche releases.
If the release ref is missing or ambiguous, ask one short clarification question.
./.opencode/skills/quiche-draft-release/scripts/create-draft-release.sh --dry-run <release-ref>
compare range, and whether the tag already exists.
quiche/ only, following RELEASING.md:docs.rs links for new public APIs where useful.test-only changes, and internal refactors unless user-visible.
/tmp/opencode/quiche-release-<version>.md
without confirmation, show the exact gh release create command and ask for
confirmation.
./.opencode/skills/quiche-draft-release/scripts/create-draft-release.sh \
--title "<emoji> <version>" \
--notes-file /tmp/opencode/quiche-release-<version>.md \
<release-ref>
gh release view <version> --repo cloudflare/quiche \
--json tagName,name,isDraft,isPrerelease,url
GitHub draft release URLs often use untagged-*. Trust tagName from
gh release view to verify the draft is associated with the expected version.
The helper script:
an existing quiche release tag.
quiche/Cargo.toml at the resolved commit.first parent.
into the release commit.
exists.
--target <commit> when the tag does not exist yet.Dry run:
./.opencode/skills/quiche-draft-release/scripts/create-draft-release.sh \
--dry-run f0c7193c3
Dry run with an existing tag:
./.opencode/skills/quiche-draft-release/scripts/create-draft-release.sh \
--dry-run 0.29.1
Create a draft release:
./.opencode/skills/quiche-draft-release/scripts/create-draft-release.sh \
--title "🩹 0.29.1" \
--notes-file /tmp/opencode/quiche-release-0.29.1.md \
f0c7193c3
Create a draft release from an existing tag:
./.opencode/skills/quiche-draft-release/scripts/create-draft-release.sh \
--title "🩹 0.29.1" \
--notes-file /tmp/opencode/quiche-release-0.29.1.md \
0.29.1
quiche workspace crates with this skill.asks for that.
Take cloudflare/quiche-draft-release from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.