ワンクリックで
gspdev-publish
Publish a new GSP version — bump versions, changelog, audit, tag, release, prompt npm publish
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Publish a new GSP version — bump versions, changelog, audit, tag, release, prompt npm publish
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Add reference material to a project — use when: add a reference, save inspiration, attach examples, link this site as reference, drop in a moodboard
Craft ASCII art interactively — you direct, the artist creates — use when: make ASCII art, terminal art, decorative banner, splash screen, hero ASCII
Audit an existing brand before evolving it — use when: audit our brand, what do we have, before a rebrand, brand health check, current brand state, brand inventory
Sync brand to match a project's shipped state — tokens, voice, visual patterns, personality — use when: brand drifted from the app, reverse-engineer the brand, the code is ahead of the brand docs, sync brand to shipped, update brand from production
Design color systems — palettes, contrast, semantic mapping, dark mode — use when: pick colors, build a palette, semantic tokens, dark mode pairings, brand color, accent color
Design icon systems — library selection, sizing, containers, custom SVG direction — use when: pick an icon library, icon sizing rules, icon containers, custom SVG direction, swap icons, icon strategy
| name | gspdev-publish |
| description | Publish a new GSP version — bump versions, changelog, audit, tag, release, prompt npm publish |
| allowed-tools | ["Read","Write","Edit","Bash","Glob","Grep","AskUserQuestion"] |
| argument-hint | <version> e.g. 0.5.2 |
Repository: jubscodes/get-shit-pretty
Version is tracked in two files that must agree:
VERSION — single version string (no v prefix)package.json → "version"GitHub releases use v-prefixed tags (e.g., v0.5.2).
If $ARGUMENTS contains a version string, use it. Otherwise, use AskUserQuestion to ask for the target version.
Read the current version from VERSION. Validate that the new version is higher than the current one (semver comparison).
Show:
─── Publish ────────────────────────────
Current: {current version}
Target: {new version}
Run these checks before changing anything. Abort on failure.
git status --short
If there are uncommitted changes, tell the user to commit or stash first. Abort.
git branch --show-current
If not on main, switch to main and pull: git checkout main && git pull origin main. The release commit will go through a PR branch anyway (main is protected).
git fetch origin main && git rev-list HEAD..origin/main --count
If behind, tell the user to pull first.
Update all three files:
VERSION — write the new version stringpackage.json — update "version" fieldRead CHANGELOG.md. If the [Unreleased] section is empty, populate it from git history since the last release tag:
git log v{current_version}..HEAD --oneline --no-merges
Categorize commits using the Keep a Changelog convention:
feat: → Addedfix: → Fixedrefactor: / perf: → Changeddocs:, chore: unless user-facingGroup related commits. Present to user for review.
Replace ## [Unreleased] content → ## [{new version}] — {today's date}.
Insert fresh empty ## [Unreleased] above it.
Show the promoted changelog section to the user for review.
bash dev/scripts/audit-tests.sh
If any tests fail, show the failures and abort. The user must fix issues before publishing.
If warnings only, show them and continue.
Check if src/content/changelog/ exists. If so, create a new MDX entry:
File: src/content/changelog/v{version-with-dashes}.mdx (e.g., v0-5-2.mdx)
Read the previous changelog site entry for format reference. Generate the MDX from the CHANGELOG.md entry:
---
title: "v{version} -- {milestone title or short summary}"
date: "{today YYYY-MM-DD}"
excerpt: "{1-2 sentence summary of the release}"
tags: [{relevant tags}]
slug: "v{version-with-dashes}"
---
{Prose version of the changelog — more narrative than the bullet list, grouped by theme}
Present to the user for review before writing.
Main is protected — all changes require a PR. Create a release branch, PR it, merge, and pull.
# Stage and commit
git add VERSION package.json CHANGELOG.md gsp/templates/branding/config.json gsp/templates/projects/config.json src/content/changelog/v{version}.mdx
git commit -m "release: v{version}"
# Create release branch and push
git checkout -b release/v{version}
git push -u origin release/v{version}
# Create and merge PR (label as release)
gh pr create --title "release: v{version}" --body "Version bump, changelog, and site entry for v{version}." --label "release"
gh pr merge --squash --subject "release: v{version}"
# Return to main and pull
git checkout main
git reset --hard origin/main
Fetch the milestone for this version (if one exists) to use as release context:
gh api repos/jubscodes/get-shit-pretty/milestones --jq '.[] | select(.title | test("{version}")) | {title, number, description}'
Create the GitHub release using the changelog section as the body:
gh release create v{version} --title "v{version} — {milestone title or summary}" --notes "{changelog section}"
If a milestone was found in Step 8:
# Close all open issues in the milestone
gh issue list --milestone "{milestone title}" --state open --json number --jq '.[].number'
For each open issue, close it:
gh issue close {number} --comment "Shipped in v{version}"
Then close the milestone:
gh api repos/jubscodes/get-shit-pretty/milestones/{milestone_number} -X PATCH -f state=closed
Show the final checklist:
─── Release Ready ──────────────────────
✅ Versions bumped: {version}
✅ CHANGELOG.md updated
✅ Audits passed ({N} pass, {N} warn)
✅ Changelog site entry created
✅ Committed and pushed
✅ GitHub release: v{version}
✅ Milestone closed
─── npm publish ────────────────────────
Run this command to publish to npm:
npm publish
Verify on npmjs.com/package/get-shit-pretty
Use AskUserQuestion: "Ready to publish? Run npm publish when you're ready. I'll wait."
After the user confirms they've published, optionally verify:
npm view get-shit-pretty version