Create a GitHub milestone for an upcoming release. An agent skill from agentic-community/mcp-gateway-registry.

Apache-2.0Auto-check passedProduct & Project Management

Install Create Milestone

skills CLI
$ npx skills add agentic-community/mcp-gateway-registry --skill create-milestone -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install agentic-community/mcp-gateway-registry create-milestone --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/agentic-community/mcp-gateway-registry.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/create-milestone .claude/skills/create-milestone && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
create-milestone
GitHub stars
967
Token cost
~3.5k tokens
SKILL.md length
1,113 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create a GitHub milestone for an upcoming release. An agent skill from agentic-community/mcp-gateway-registry.

  • Works in 10 steps: Discover Releases and Milestones → Ask the User What They Want → Gather Changes Since Baseline → …
  • Tasks that involve Project management
  • SKILL.md covers Input, Output, Workflow and Multiple Milestone Planning, plus 3 more sections
  • Calls gh and git; reaches github.com

What it does

Create Milestone is an agent skill from agentic-community/mcp-gateway-registry. Create a GitHub milestone for an upcoming release. Suggests the next version based on the latest release, gathers all merged PRs and closed issues since that release, presents a draft with two tables (Issues and PRs) for user approval, then creates the milestone and assigns all approved items.

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Product & Project Management, covering Project management. It works with GitHub. The repository describes itself as: Enterprise-ready MCP Gateway & Registry that centralizes AI development tools with secure OAuth authentication, dynamic tool discovery, and unified access for both autonomous AI… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Project management

Example prompts

  • “/create-milestone”

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Discover Releases and Milestones
  2. Ask the User What They Want
  3. Gather Changes Since Baseline
  4. Find Corresponding Issues
  5. Exclude Items Already in Other Milestones
  6. Present Draft for Approval
  7. Create the Milestone
  8. Assign Items to the Milestone
  9. Create Local Release Notes Draft
  10. Present Summary and Ask About Next Milestone

What it can do on your machine

Read from SKILL.md and the folder at commit ec3a197. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Create Milestone loads about 3.5k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 1,113 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~78
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from agentic-community/mcp-gateway-registry at commit ec3a197, republished under its Apache-2.0 licence (© agentic-community). 1,113 words, ~3,473 tokens.

Download SKILL.mdSave it as .claude/skills/create-milestone/SKILL.md (or your agent's skills folder).
name
create-milestone
description
Create a GitHub milestone for an upcoming release. Suggests the next version based on the latest release, gathers all merged PRs and closed issues since that release, presents a draft with two tables (Issues and PRs) for user approval, then creates the milestone and assigns all approved items.
license
Apache-2.0
metadata.author
mcp-gateway-registry
metadata.version
2.0

Create Milestone Skill

Use this skill when the user wants to plan and create a GitHub milestone for an upcoming release. The skill identifies what has changed since a baseline release, presents a draft for approval, and creates the milestone with all approved items.

Supports creating multiple milestones in sequence (e.g., v1.0.20, v1.0.21) by letting the user choose the baseline and which items belong to which release.

Input

The skill accepts optional parameters:

/create-milestone [VERSION] [DATE] [NOTES]
  • VERSION - Target version (e.g., v1.0.20). If not provided, suggest based on latest release.
  • DATE - Target release date (e.g., 2026-04-21). If not provided, ask the user.
  • NOTES - Optional theme or notes (e.g., "security hardening", "federation improvements").

Output

  • A GitHub milestone with description containing two tables (Issues and PRs)
  • A local draft file at .scratchpad/{version}-release-notes.md with detailed release notes

Workflow

Step 1: Discover Releases and Milestones

Gather the current state of releases and milestones:

bash
# Get recent releases (tags + dates)
gh release list --limit 10 --json tagName,publishedAt,name \
  --jq '.[] | "\(.tagName)\t\(.publishedAt)\t\(.name)"'

# Get existing milestones (to avoid duplicates and show what's already planned)
gh api repos/{owner}/{repo}/milestones --jq '.[] | "\(.number)\t\(.title)\t\(.due_on)\t\(.open_issues)\t\(.closed_issues)"'

# Git tags for reference
git tag --sort=-v:refname | grep '^v[0-9]' | head -10
Step 2: Ask the User What They Want

Present findings and ask the user to specify:

  1. Which version to create a milestone for (suggest next patch bump from latest release)
  2. Target date for the release
  3. Baseline release to diff from -- this is critical for flexibility
  4. Theme or notes for this release

Example prompt:

Current state:
- Latest release: v1.0.19 (published April 14, 2026)
- Existing milestones: v1.0.19 (due Apr 14, 30 closed / 3 open)

Suggested next milestone: v1.0.20

Questions:
1. What version? (default: v1.0.20)
2. What is the target release date?
3. Which release should I diff from? (default: v1.0.19, the latest)
   - Other options: v1.0.18, v1.0.17, v1.0.16, ...
4. Any theme or notes? (e.g., "external registry federation")

Baseline flexibility: The user may say:

  • "everything since last release" -- use the latest release as baseline
  • "everything since v1.0.17" -- use a specific older release as baseline
  • "pick everything since the last known release" -- same as latest release
  • "I want to plan two releases: v1.0.20 and v1.0.21" -- run the workflow twice

Wait for the user to respond before proceeding. Do not create anything until the user confirms.

Step 3: Gather Changes Since Baseline

Once the user confirms version, date, and baseline, gather all changes:

bash
# Get the baseline release publish timestamp for precise cutoff
RELEASE_DATE=$(gh release view {baseline_version} --json publishedAt --jq '.publishedAt')

# List all PRs merged after the baseline release
gh pr list --state merged --search "merged:>=$RELEASE_DATE" \
  --json number,title,mergedAt,body --limit 100 \
  --jq '.[] | "\(.number)\t\(.mergedAt)\t\(.title)"'

# Get all commits since the baseline tag
git log {baseline_version}..HEAD --oneline

# Also get open PRs that might be targeting this release
gh pr list --state open --json number,title --limit 30 \
  --jq '.[] | "\(.number)\t\(.title)"'
Step 4: Find Corresponding Issues

For each merged PR, extract linked issue numbers from:

  1. PR title: patterns like (#123), (#123, #456)
  2. PR body: patterns like Fixes #123, Closes #123, Resolves #123
bash
# For each PR, get the body and extract issue references
gh pr view {pr_number} --json title,body \
  --jq '{title: .title, body: (.body // "" | split("\n")[0:10] | join("\n"))}'

Build a mapping of PR -> Issues.

Step 5: Exclude Items Already in Other Milestones

Check which items are already assigned to existing milestones:

bash
# For each candidate item, check if it already has a milestone
gh api repos/{owner}/{repo}/issues/{number} --jq '.milestone.title // "none"'

If an item is already assigned to a different milestone, mark it in the draft so the user can decide. Do not silently skip items.

Step 6: Present Draft for Approval

Present the draft to the user with two tables and clear guidance on what to include/exclude.

Start with a default recommendation: Proactively offer to include all closed issues and merged PRs since the baseline as the starting point. This saves the user from having to say "pick everything." Frame it as:

I found {N} merged PRs and {M} related issues since {baseline_version}.

Want me to include all of them as a starting point?
You can then add or remove specific items.

If the user says yes (or "pick everything", "include all", "yes go ahead"), proceed with the full list. If they want to be selective, present the tables for cherry-picking.

Draft format:

Here's what I found since {baseline_version} ({N} PRs merged, {M} issues referenced):

Items already in other milestones are marked with [in {milestone}].

## Issues ({count})

| # | Title | Status | Notes |
|---|-------|--------|-------|
| #814 | Add GitHub private repo auth env vars | Open | |
| #660 | Support authenticated GitHub access | Open | |
| #764 | Disable demo server auto-registration | Closed | [in v1.0.19] |
...

## Pull Requests ({count})

| # | Title | Status | Notes |
|---|-------|--------|-------|
| #782 | feat: GitHub private repo auth | Open | |
| #820 | fix: search pagination | Closed | |
| #815 | Add config propagation check | Closed | [in v1.0.19] |
...

## Open PRs (not yet merged, consider including?)

| # | Title |
|---|-------|
| #825 | feat: webhook notifications |
...

Options:
- "yes, include all" -- add everything listed above (the default)
- "exclude items already in other milestones" -- skip [in vX.X.X] items
- "only include #814, #782, #820" -- cherry-pick specific items
- "exclude #764, #815" -- remove specific items
- "also add #825" -- include an open PR not in the list

Important: In both tables, always show Open items first, then Closed items. Within each group, sort by number ascending.

Wait for the user to confirm or adjust the list before creating anything.

Step 7: Create the Milestone

Once approved, create the milestone:

bash
# First check it doesn't already exist
gh api repos/{owner}/{repo}/milestones --jq '.[] | select(.title == "{version}") | .number'

# Create the milestone
gh api repos/{owner}/{repo}/milestones \
  -f title="{version}" \
  -f due_on="{date}T07:00:00Z" \
  -f description="$DESCRIPTION"

The description should contain two markdown tables (Issues and PRs) with clickable links. Format:

markdown
Release {version} - targeting {day_of_week} {month} {day}, {year}.

{User's theme/notes if provided}

## Issues

| # | Title | Status |
|---|-------|--------|
| [#{num}](https://github.com/{owner}/{repo}/issues/{num}) | {title} | {status} |

## Pull Requests

| # | Title | Status |
|---|-------|--------|
| [#{num}](https://github.com/{owner}/{repo}/pull/{num}) | {title} | {status} |

Table sort order: Open items first, then Closed items. Within each group, sort by number ascending.

Step 8: Assign Items to the Milestone

Add all approved PRs and issues to the milestone:

bash
# Get milestone number from creation response
MILESTONE_NUMBER={number from Step 7 response}

# Add each item (use --field for integer type)
for item in {list_of_numbers}; do
  gh api repos/{owner}/{repo}/issues/$item \
    --method PATCH --field milestone=$MILESTONE_NUMBER --silent
done

Note: If an item is being moved from another milestone, --field milestone=N will reassign it. The user must have approved this in Step 6.

Step 9: Create Local Release Notes Draft

Create a detailed release notes draft at .scratchpad/{version}-release-notes.md containing:

  • Highlights section listing major features
  • Breaking changes (if any)
  • Tables for: New Features, Bug Fixes, Infrastructure, Documentation, Dependency Updates
  • New environment variables introduced
  • Open items that must close before release
  • Stats (total PRs, issues closed/open, contributors)

This file serves as the starting point for the actual release notes when the release is cut (using the /release-notes skill).

Show full SKILL.md (474 more words)Show less
Step 10: Present Summary and Ask About Next Milestone

After creating everything, present:

  1. Link to the milestone on GitHub
  2. Stats: total items, open vs closed
  3. Path to the local release notes draft
  4. Reminder of open items that need to close before release

Then ask:

Milestone {version} created.

Would you like to create another milestone? For example:
- "create v1.0.21 targeting April 21" -- I'll use {version} as the new baseline
- "no, I'm done" -- we're finished

This enables the user to plan multiple sequential releases in one session. When creating the next milestone, the baseline automatically shifts to the version just created, and items already assigned to previous milestones are flagged.

Multiple Milestone Planning

When the user wants to plan multiple releases at once (e.g., "I want to plan v1.0.20 and v1.0.21"):

  1. First milestone: Run the full workflow above for the first version.
  2. Second milestone: Use the first version as the new baseline. When gathering changes:
    • Items already assigned to the first milestone are shown with [in {first_version}]
    • The user picks from the remaining items plus any new open PRs/issues
  3. Repeat for additional milestones as needed.

Example flow:

User: I want to plan v1.0.20 for Monday and v1.0.21 for next Friday

Step 1: Create v1.0.20 milestone
  - Baseline: v1.0.19 (latest release)
  - User picks items for v1.0.20

Step 2: Create v1.0.21 milestone
  - Baseline: v1.0.19 (same release baseline, but now items in v1.0.20 are flagged)
  - User picks remaining items + new items for v1.0.21

Important Rules

  • Always ask the user to confirm version, date, and baseline before creating anything.
  • Always present the draft and wait for approval before creating the milestone.
  • Always ask which baseline to diff from. Default to the latest release, but let the user choose an older one.
  • Never create a milestone that already exists. Check first. If it exists, ask the user if they want to update it or choose a different version.
  • Never silently skip items. If an item is in another milestone, show it and let the user decide.
  • Never include emojis in any output or milestone descriptions.
  • Table sort order is always: Open items first, then Closed items. Within each status group, sort by number ascending.
  • Two separate tables are required: one for Issues, one for Pull Requests.
  • Clickable links in the milestone description must use full URLs, not shorthand #123 (GitHub does not auto-link in milestone descriptions).
  • Use --field (not -f) when setting the milestone number on issues/PRs, since it must be an integer.
  • After creating a milestone, offer to create the next one. This supports sequential release planning.

Example Usage

Minimal input (suggest everything)
User: /create-milestone

Response:

Current state:
- Latest release: v1.0.19 (published April 14, 2026)
- Existing milestones: v1.0.19 (due Apr 14, 30 closed / 3 open)

Suggested next milestone: v1.0.20

1. What version? (default: v1.0.20)
2. Target release date?
3. Diff from which release? (default: v1.0.19)
4. Theme or notes?
With version and date
User: /create-milestone v1.0.20 2026-04-21

Response:

I'll create a v1.0.20 milestone targeting Monday April 21, 2026.
Diffing from v1.0.19 (latest release, published April 14).

Let me gather all changes since v1.0.19...

[presents draft tables for approval]
Pick everything since a specific older release
User: /create-milestone v1.0.20 2026-04-21
User (in response to baseline question): everything since v1.0.17

Response:

Diffing from v1.0.17 (published March 31).
Note: This spans v1.0.18 and v1.0.19 -- items already in those milestones will be flagged.

[presents draft tables with [in v1.0.18] and [in v1.0.19] annotations]
Plan two releases at once
User: I want to plan v1.0.20 for Monday and v1.0.21 for next Friday

Response:

I'll plan both milestones. Starting with v1.0.20.

[runs full workflow for v1.0.20, then asks about v1.0.21]
Cherry-pick specific items
User: only include #820, #821, #814, and #782

Response:

Got it. Creating milestone with just those 4 items.
[creates milestone with only the specified items]

Error Handling

  • Milestone already exists: Tell the user and ask if they want to update it, add more items to it, or choose a different version.
  • No changes found since baseline: Tell the user there are no merged PRs since the baseline release. Ask if they want to create an empty milestone for tracking open issues/PRs, or choose an older baseline.
  • Item already in another milestone: Show it in the draft with [in {milestone}] annotation. If the user includes it, reassign it to the new milestone.
  • gh CLI not authenticated: Tell the user to run gh auth login.

© agentic-community, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/create-milestone of agentic-community/mcp-gateway-registry.

Open the folder on GitHubat commit ec3a197

Compare with similar skills

Create Milestone next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Create Milestone compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Milestone this skillagentic-community/mcp-gateway-registry967—~3.5kAutomated safety check: PassApache-2.0
CCPM Project Managementautomazeio/ccpm8.4k—~1.1kAutomated safety check: PassMIT
Project Managerpwrdrvr/openclaw-codex-app-server265—~1.5kAutomated safety check: PassMIT
Find Project Anomaliespenpot/penpot61k—~1.2kAutomated safety check: PassMPL-2.0
PublishQ00/ouroboros6.2k—~2.7kAutomated safety check: PassMIT
Gh Read Inspectoreclipse-rdf4j/rdf4j420—~950Automated safety check: PassBSD-3-Clause

Similar skills

  • Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.

    8.4k GitHub stars~1.1k tokensUpdated 6 mo ago
    Product & Project ManagementAuto-check passed
  • Project Manager

    pwrdrvr/openclaw-codex-app-server

    Manage GitHub issues and the GitHub Project board for the current repository, while keeping the local tracker in sync.

    265 GitHub stars~1.5k tokensUpdated 1 mo ago
    Product & Project ManagementAuto-check passed
  • Check a GitHub milestone against the Main project board, report the five anomaly types to tmp/<MILESTONE-ANOMALIES.md, and fix missing milestone assignments on request.

    61k GitHub stars~1.2k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Publish

    Q00/ouroboros

    Publish Seed specification as GitHub Issues for team-based project management

    6.2k GitHub stars~2.7k tokensUpdated 2 days ago
    Product & Project ManagementAuto-check passed
  • Gh Read Inspector

    eclipse-rdf4j/rdf4j

    Retrieve GitHub issues, pull requests, and milestones with read-only, whitelisted gh commands only.

    420 GitHub stars~950 tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Manages GitHub issues and project boards with swarm coordination: issue creation and triage, issue-to-task conversion, progress tracking and stale issue cleanup.

    819 GitHub starsUsed in 6 repos~7.1k tokens
    Product & Project ManagementAuto-check passed

More from agentic-community/mcp-gateway-registry

All 17 skills in this repo
  • Explainer

    agentic-community/mcp-gateway-registry

    Explain a GitHub issue or pull request at 100, 200, and 300 level.

    967 GitHub stars~3.8k tokensUpdated 3 days ago
    Auto-check passed
  • Debug

    agentic-community/mcp-gateway-registry

    Debug issues in the MCP Gateway Registry using first-principles thinking.

    967 GitHub stars~1.8k tokensUpdated 3 days ago
    Auto-check: notes
  • Infra Sync

    agentic-community/mcp-gateway-registry

    Keep Terraform and CDK infrastructure in sync. An agent skill from agentic-community/mcp-gateway-registry.

    967 GitHub stars~2.7k tokensUpdated 3 days ago
    Auto-check passed
  • Search Benchmark

    agentic-community/mcp-gateway-registry

    Generate a search quality benchmark for the AI Registry. An agent skill from agentic-community/mcp-gateway-registry.

    967 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed
  • Writing

    agentic-community/mcp-gateway-registry

    Write prose people will actually read. An agent skill from agentic-community/mcp-gateway-registry.

    967 GitHub stars~3.5k tokensUpdated 3 days ago
    Auto-check passed
  • Agentcore Register

    agentic-community/mcp-gateway-registry

    Given an MCP server URL, probe the server via curl to discover its metadata and tools, then generate a markdown file with copy-pasteable content for each field in the Amazon Bedrock AgentCore…

    967 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check passed

Works with

Questions about Create Milestone

What does Create Milestone do?

Create a GitHub milestone for an upcoming release. An agent skill from agentic-community/mcp-gateway-registry. Create Milestone is an agent skill from agentic-community/mcp-gateway-registry. Create a GitHub milestone for an upcoming release.

When should I use Create Milestone?

Create Milestone fits situations like: tasks that involve Project management.

How do I install Create Milestone in Claude Code?

Run `npx skills add agentic-community/mcp-gateway-registry --skill create-milestone -a claude-code`. Or copy the skill folder (.claude/skills/create-milestone in agentic-community/mcp-gateway-registry) into .claude/skills/create-milestone in your project. Claude Code loads it when a task matches its description.

How do I install Create Milestone in Codex?

Run `npx skills add agentic-community/mcp-gateway-registry --skill create-milestone -a codex`. Or copy the skill folder (.claude/skills/create-milestone in agentic-community/mcp-gateway-registry) into .agents/skills/create-milestone in your project. Codex loads it when a task matches its description.

Can I use Create Milestone in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add agentic-community/mcp-gateway-registry --skill create-milestone -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-milestone, .gemini/skills/create-milestone, .github/skills/create-milestone and .opencode/skills/create-milestone in your project.

What does Create Milestone need to run?

Going by SKILL.md and its folder, Create Milestone needs the command-line tools its instructions call (gh and git).

Does Create Milestone access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Create Milestone safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Create Milestone use?

Create Milestone is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Create Milestone use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Create Milestone?

Skills that share tags, products or a category with Create Milestone: CCPM Project Management (automazeio/ccpm, 8.4k stars), Project Manager (pwrdrvr/openclaw-codex-app-server, 265 stars), Find Project Anomalies (penpot/penpot, 61k stars) and Publish (Q00/ouroboros, 6.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Milestone?

agentic-community (a GitHub organization) maintains it in agentic-community/mcp-gateway-registry, which has 967 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 6, 2026.

Source: agentic-community/mcp-gateway-registry on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.