skills/codename-11/release/SKILL.md
Create a new version release with git tag and GitHub Release. Use when user asks to release, publish, create a new version, or ship a release. (project)
npx skillsauth add aiskillstore/marketplace releaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a new version release using prefixed tag-based workflow for monorepo plugins.
This is a monorepo with multiple plugins. First, identify which plugin to release:
| Plugin | Version File | Tag Format | Example |
|--------|-------------|------------|---------|
| Stash Downloader | plugins/stash-downloader/package.json | downloader-vX.Y.Z | downloader-v0.5.2 |
| Stash Browser | plugins/stash-browser/package.json | browser-vX.Y.Z | browser-v0.1.0 |
If the user doesn't specify, ask which plugin to release. If both changed, release each separately.
Before creating a release, verify:
git branch --show-currentgit statusnpm run type-checknpm run lintnpm test -- --runnpm run buildpackage.json version fieldgit log $(git describe --tags --match "downloader-v*" --abbrev=0)..HEAD --oneline (or browser-v* for Browser)| Commit Types | Bump | Example |
|--------------|------|---------|
| Breaking changes (feat!:, BREAKING CHANGE) | MAJOR | 0.1.0 → 1.0.0 |
| New features (feat:) | MINOR | 0.1.0 → 0.2.0 |
| Bug fixes, patches (fix:, docs:, chore:) | PATCH | 0.1.0 → 0.1.1 |
For Stash Downloader:
# From dev branch, checkout main and merge
git checkout main
git merge dev
# Update version in plugin's package.json
cd plugins/stash-downloader
npm version patch # or minor/major
# Commit the version bump
git add .
git commit -m "$(cat <<'COMMIT'
🔖 chore: release downloader-vX.Y.Z
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
COMMIT
)"
# Create and push tag (with downloader- prefix!)
git tag downloader-vX.Y.Z
git push origin main --tags
For Stash Browser:
# From dev branch, checkout main and merge
git checkout main
git merge dev
# Update version in plugin's package.json
cd plugins/stash-browser
npm version patch # or minor/major
# Commit the version bump
git add .
git commit -m "$(cat <<'COMMIT'
🔖 chore: release browser-vX.Y.Z
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
COMMIT
)"
# Create and push tag (with browser- prefix!)
git tag browser-vX.Y.Z
git push origin main --tags
⚠️ CRITICAL: Do NOT push to dev immediately!
GitHub Pages uses a concurrency group. If you push to dev before the stable workflow finishes, the stable deploy gets CANCELLED.
# 1. Wait for workflow to complete
# Check: https://github.com/Codename-11/Stash-Downloader/actions
# 2. AFTER workflow completes, sync dev with main
git checkout dev
git merge main
git push origin dev
GitHub Actions automatically:
If you accidentally pushed to dev too early and cancelled the stable deploy:
# Re-push the tag to trigger the workflow again
git push origin --delete downloader-vX.Y.Z # or browser-vX.Y.Z
git push origin downloader-vX.Y.Z
For significant releases where you want Claude review before merging:
# Create release branch from dev
git checkout -b release/downloader-vX.Y.Z dev
# Update version in plugin's package.json, commit
cd plugins/stash-downloader
npm version patch
git add .
git commit -m "🔖 chore: release downloader-vX.Y.Z"
# Push and create PR to main
git push -u origin release/downloader-vX.Y.Z
gh pr create --base main --title "🔖 Release downloader-vX.Y.Z" --body "Release notes..."
# After PR merge, checkout main and tag
git checkout main
git pull origin main
git tag downloader-vX.Y.Z
git push origin downloader-vX.Y.Z
downloader-vX.Y.Z or browser-vX.Y.Zpackage.json must match tag version (without prefix)main without a tag triggers NOTHINGdevelopment
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.