mcpbeat Sign in

Quiche Draft Release Agent Skill

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.

2k tokens
context cost
the whole folder, loaded on every use
2
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
11728
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/cloudflare/quiche --skill quiche-draft-release

What comes with it

5 020 bytes besides the instruction
scripts/create-draft-release.sh

The instruction itself

6 sections, as written by the author

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.

Inputs

  • Required: a release ref. This is either a commit hash for the commit that

changed quiche/Cargo.toml to the released version, or an existing quiche

release tag such as 0.29.1 that points at that commit.

  • Optional: a release title emoji. If none is requested, choose one consistent

with existing quiche releases.

If the release ref is missing or ambiguous, ask one short clarification question.

Workflow

  • Run a dry run with the helper script:
   ./.opencode/skills/quiche-draft-release/scripts/create-draft-release.sh --dry-run <release-ref>
  • Use the dry-run output to identify the version, previous quiche release tag,

compare range, and whether the tag already exists.

  • Prepare release notes for quiche/ only, following RELEASING.md:
  • Do not use a raw commit list.
  • Include only important user-visible changes.
  • Clearly mark breaking changes and security fixes.
  • Explain what applications need to change for breaking changes.
  • Use versioned docs.rs links for new public APIs where useful.
  • Ignore unrelated workspace crates, release commits, formatting, clippy,

test-only changes, and internal refactors unless user-visible.

  • Write the release notes to a temporary file, for example:
   /tmp/opencode/quiche-release-<version>.md
  • Before creating the release, unless the user has explicitly asked to proceed

without confirmation, show the exact gh release create command and ask for

confirmation.

  • Create the GitHub draft release with the helper script:
   ./.opencode/skills/quiche-draft-release/scripts/create-draft-release.sh \
     --title "<emoji> <version>" \
     --notes-file /tmp/opencode/quiche-release-<version>.md \
     <release-ref>
  • Verify the draft after creation:
   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.

Helper Script Behavior

The helper script:

  • Resolves the supplied release ref to a commit. The ref may be a commit hash or

an existing quiche release tag.

  • Reads the release version from quiche/Cargo.toml at the resolved commit.
  • Verifies the resolved commit changed the quiche crate version relative to its

first parent.

  • Infers the previous quiche release tag from semver-like quiche tags merged

into the release commit.

  • Refuses to create a release if a GitHub release for that version already

exists.

  • Uses the existing release tag if it exists and points at the resolved commit.
  • Adds --target <commit> when the tag does not exist yet.
  • Creates the GitHub release as a draft only.

Examples

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

Do Not

  • Do not create or move git tags manually as part of this skill.
  • Do not publish the release; keep it as a draft.
  • Do not create releases for non-quiche workspace crates with this skill.
  • Do not overwrite or edit an existing GitHub release unless the user explicitly

asks for that.

Other skills for the same job

different authors, same section of the catalogue
Changelog Generator
by frostant
×9

Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.

774 tokens
Codex
by softaworks
×2

Use when the user asks to run Codex CLI (codex exec, codex resume) or references OpenAI Codex for code analysis, refactoring, or automated editing. Uses GPT-5.2 by default for state-of-the-art software engineering.

2k tokens
Memory Safety Patterns
by ComeOnOliver
×2

Implement memory-safe programming with RAII, ownership, smart pointers, and resource management across Rust, C++, and C. Use when writing safe systems code, managing resources, or preventing memory bugs.

6k tokens
Pysam
by K-Dense-AI
×1

Python/HTSlib workflows for genomic files. Use when reading, querying, filtering, or writing SAM/BAM/CRAM, VCF/BCF, FASTA/FASTQ, or tabix data with pysam, including pileup, coverage, indexing, and CRAM references.

34k tokens scripts
Scientific Critical Thinking
by K-Dense-AI
×1

Evaluate scientific claims and evidence quality. Use for assessing experimental design validity, identifying biases and confounders, applying evidence grading frameworks (GRADE, Cochrane Risk of Bias), or teaching critical analysis. Best for understanding evidence quality, identifying flaws. For formal peer review writing use peer-review.

26k tokens
Gh Fix CI
by openai
vendor ×1

Use when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use `gh` to inspect checks and logs, summarize failure context, draft a fix plan, and implement only after explicit approval. Treat external providers (for example Buildkite) as out of scope and report only the details URL.

8k tokens scripts
Declarative Agent Developer
by microsoft
vendor ×1

> Create, build, deploy, and localize declarative agents for M365 Copilot and Teams. USE THIS SKILL for ANY task involving a declarative agent — including localization, scaffolding, editing manifests, adding capabilities, and deploying. Localization requires tokenized manifests and language files that only this skill knows how to produce. "scaffold an agent", "new agent project", "add a capability", "add a plugin", "configure my agent", "deploy my agent", "fix my agent manifest", "edit my agent", "localize my agent", "add localization", "translate my agent", "multi-language agent", "add an API plugin", "add an MCP plugin", "add OAuth to my plugin", "review instructions", "improve instructions", "fix my instructions"

66k tokens
Documentation
by lingxling
×1

Documentation generation workflow covering API docs, architecture docs, README files, code comments, and technical writing.

1k tokens

How to use it

Copy the folder

Take cloudflare/quiche-draft-release from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.