AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Project Standard Release

skill-big-emotion-agent-atelier-project-standard-release · by big-emotion

Prepare and ship an Agent Atelier release. Bumps the semver version in the lockstep manifests (package.json, every plugins/*/.claude-plugin/plugin.json, every .claude-plugin/marketplace.json plugins[] entry), updates CHANGELOG.md (Keep a Changelog format, creates it if missing), creates an annotated git tag on main, then asks for explicit confirmation before pushing. Tag push triggers no workflow…

No reviews yet
0 installs
19 views
0.0% view→install

Install

$ agentstack add skill-big-emotion-agent-atelier-project-standard-release

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-big-emotion-agent-atelier-project-standard-release)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Project Standard Release? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Agent Atelier Release

Prepare a release locally (bump version, update CHANGELOG, create the commit and tag), then ask for explicit confirmation before pushing.

This skill writes to the local repo first. It only runs git push after the user explicitly confirms. Without confirmation, the commit + tag stay local.

A release here has no deploy. This repo is a Claude Code plugin marketplace: pushing the tag triggers no workflow — nothing builds, nothing ships to a server. Distribution is the git repo itself (/plugin marketplace add big-emotion/agent-atelier); the GitHub Release is created directly by this skill with gh release create after the push.

When to Activate

  • User says: "release project-standard", "cut a release", "bump version", "tag a new version", "ship a release".
  • User invokes /project-standard-release (optionally with a bump level: patch | minor | major | ).

Preconditions

Verify all of the following before any write. If any fail, do not modify anything — report the blocker and exit.

  1. In the repo rootpackage.json has "name": "@big-emotion/agent-atelier" (the scoped npm name; the skill prefix stays project-standard). If not, stop and tell the user to cd to the right directory.
  2. Clean working treegit status --porcelain must be empty. If dirty, stop and ask the user to commit or stash.
  3. On main branchgit branch --show-current must return main. If not, stop. This is a single-branch repo: main serves as both integration and release branch (deliberate M6 adaptation for a tooling/plugin repo — there is no develop).
  4. Up to date with origin/main — run git fetch origin then git rev-list --count main..origin/main. If > 0, stop and tell the user to git pull.
  5. CI green on HEAD — run:

``bash HEAD_SHA=$(git rev-parse HEAD) gh run list --repo big-emotion/agent-atelier \ --commit "$HEAD_SHA" --workflow ci.yml \ --limit 1 --json conclusion,status,url ` The latest run must have conclusion: "success" (ci.yml runs on pushes to main, so HEAD should have a run). If no run exists for HEAD, or the conclusion is not success`, stop and provide the run URL so the user can investigate.

  1. Local gates greennpm test, npm run check:templates, and npm run check:manifests must all exit 0. This is the repo's whole quality surface (unit tests on the checkers, placeholder-registry validation, marketplace/version lockstep); a release with a red checker would ship broken templates or a drifted marketplace.
  2. Manifest versions in sync — every version carrier must already agree before the bump: package.json .version, every plugins/*/.claude-plugin/plugin.json .version, and every .claude-plugin/marketplace.json .plugins[] entry (npm run check:manifests verifies exactly this). If they disagree, stop and report the drift — fix it as a bug first; do not paper over it inside a release.

Inputs

Argument is the bump level or explicit version:

  • patch0.1.0 → 0.1.1
  • minor0.1.0 → 0.2.0
  • major0.1.0 → 1.0.0
  • ` — e.g. 0.1.0-rc.1, 1.0.0`

If no argument is provided, propose a bump based on commit messages since the last tag using the Conventional Commits heuristic:

  • feat!: or body contains BREAKING CHANGE → major
  • feat: → minor
  • anything else (fix, refactor, perf, style, docs, ci, chore) → patch

Show the proposal and ask the user to confirm or override before proceeding.

Workflow

Step 1 — Determine current and target versions

  • Read current version from the root package.json (.version) — the source of truth every plugin manifest and marketplace entry mirrors (precondition 7 already verified they agree).
  • Determine previous_tag = git describe --tags --abbrev=0 2>/dev/null (empty if no tag yet).
  • Compute next_version from the bump level.
  • Validate: next_version must be strictly greater than current_version (semver comparison). If not, stop and ask the user for an explicit higher version.

Step 2 — Collect changes since last tag

Run:

git log --pretty=format:"%h %s" ..HEAD
# If no previous tag:
git log --pretty=format:"%h %s"

Group commits by Conventional Commit type:

| CHANGELOG section | Commit type prefixes | | --- | --- | | Added | feat:, feat(...): | | Changed | refactor:, perf:, style: | | Fixed | fix:, fix(...): | | Security | security: | | Removed | revert: or commits describing removal |

Filter out merge commits and chore:, ci:, docs:, test: entries (too noisy for a user-facing changelog) unless they carry noteworthy messages.

Step 3 — Update or create CHANGELOG.md

Use Keep a Changelog format. CHANGELOG.md lives at the repo root; if it does not exist, create it with this skeleton before editing:

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

Then:

  • Move any items under [Unreleased] into the new [] - section.
  • Append the grouped commits from Step 2 under the appropriate subsections (deduplicate; skip sections with no entries).
  • Keep an empty [Unreleased] section at the top for the next cycle.
  • Maintain the link references at the bottom of the file:
  • [Unreleased]https://github.com/big-emotion/agent-atelier/compare/v...HEAD
  • Add []https://github.com/big-emotion/agent-atelier/releases/tag/v (first release) or .../compare/v...v (subsequent releases).

Use today's date (date -u +%Y-%m-%d) for the release date.

Step 4 — Bump the version in the lockstep manifests

Set ` everywhere it lives — the carriers must never diverge (the plugin marketplace reads the manifests, npm tooling reads package.json`):

  1. package.json.version
  2. every plugins/*/.claude-plugin/plugin.json.version
  3. every .claude-plugin/marketplace.json .plugins[] entry — .version

Use the Edit tool for each (targeted field update — do not reformat the files, preserve indentation and field order). Then refresh the lockfile (npm install --package-lock-only) and run npm run check:manifests — it must pass before committing.

Step 5 — Commit and tag (local only)

Stage exactly the files changed:

git add CHANGELOG.md package.json package-lock.json .claude-plugin/marketplace.json plugins/*/.claude-plugin/plugin.json

(Do not git add -A — do not pick up unrelated dirty paths.)

Commit with the message:

release: v

One-line subject only. No body unless there are breaking changes — then add a BREAKING CHANGE: paragraph in the body.

No Co-Authored-By trailer.

Then create an annotated tag:

git tag -a v -m "Agent Atelier v"

Step 6 — Report and ask for push confirmation

Print a summary:

agent-atelier v prepared locally.

Files changed:
  - package.json + package-lock.json        (version:  → )
  - plugins/*/.claude-plugin/plugin.json    (version:  → , every plugin)
  - .claude-plugin/marketplace.json         (every plugins[] entry:  → )
  - CHANGELOG.md                            (new section [] - )

Commit:    release: v
Tag:     v (annotated, local only)

Ready to push `main` + `v` to origin?
Pushing triggers NO workflow — this repo has no deploy.
After the push, this skill creates the GitHub Release itself:
  gh release create v --generate-notes

Reply `yes` / `push` / `go` / `oui` / `ok` to proceed.
Anything else → keeps commit + tag local only.

Wait for explicit confirmation. Do not push without it.

  • Affirmative tokens (case-insensitive): yes, y, push, ship, go, oui, ok.
  • Anything else (including silence, "let me check first", partial answers) → treat as stop. Skip Step 7.

Step 7 — Push and create the GitHub Release (only after confirmation)

Run in order, as separate commands:

git push origin main
git push origin v

Not --follow-tags. Separate commands so a tag-push failure doesn't leave main pushed ambiguously. If git push origin main fails (e.g. non-fast-forward, branch protection), stop immediately — do not push the tag.

After both pushes succeed, create the GitHub Release directly (no workflow does this — it is this skill's job):

gh release create v --repo big-emotion/agent-atelier --generate-notes

Then print:

Pushed.
  - origin/main now at 
  - tag v published

No workflow was triggered by the tag push (this repo has no deploy).
GitHub Release created:
  https://github.com/big-emotion/agent-atelier/releases/tag/v

Plugin consumers pick the new version up from the repo via the marketplace.

If gh release create fails after the pushes succeeded, report it and instruct the user to re-run that single command manually — do not delete or re-push the tag.

Step 8 — Verification checklist

  • [ ] package.json, every plugins/*/.claude-plugin/plugin.json, and every .claude-plugin/marketplace.json entry carry the new version, matching the tag (npm run check:manifests green).
  • [ ] CHANGELOG.md has a [] section dated today.
  • [ ] Exactly one commit was created. Exactly one annotated tag was created.
  • [ ] If user confirmed: both main and v are pushed to origin, and the GitHub Release exists.
  • [ ] If user did not confirm: commit + tag remain local only, no git push was executed, no GitHub Release was created.

Failure Modes — Stop Without Modifying

| Condition | Action | | --- | --- | | Not in the project-standard repo root | Stop. Tell user to cd to the right directory. | | Working tree dirty | Stop. Ask user to commit or stash. | | Not on main branch | Stop. Report current branch. | | Behind origin/main | Stop. Tell user to git pull. | | CI not green on HEAD | Stop. Print the run URL for investigation. | | npm test, npm run check:templates, or npm run check:manifests fails | Stop. A red checker means broken templates or a drifted marketplace would ship. | | The manifest versions disagree before the bump | Stop. Report the drift; it is a bug to fix, not to release over. | | Target version ≤ current version | Stop. Ask for an explicit higher version. | | git push origin main fails | Stop. Do not push the tag. | | gh release create fails after the pushes | Report. Instruct manual re-run of that one command; never delete or re-push the tag. |

Out of Scope

  • npm publish (package is private: true).
  • Any deploy — no deploy workflow exists; distribution is the git tag + the Claude Code plugin marketplace reading this repo.
  • Bumping any manifest other than the version carriers listed in Step 4.
  • Audit/scoring of release readiness (preconditions above are sufficient; run /project-standard-audit separately).
  • Pushing without explicit user confirmation in Step 6.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.