From release-automation
Analyze git changes to determine release scope (marketplace/plugin/variants)
How this skill is triggered — by the user, by Claude, or both
Slash command
/release-automation:detect-release-scopeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyzes git changes (modified, staged, and untracked files) to intelligently determine which release scope should be targeted: marketplace-level, per-plugin, or variants. This skill is the foundation for the release workflow, ensuring the correct versioning context is used.
Analyzes git changes (modified, staged, and untracked files) to intelligently determine which release scope should be targeted: marketplace-level, per-plugin, or variants. This skill is the foundation for the release workflow, ensuring the correct versioning context is used.
The skill expects to be invoked in a git repository with changes to analyze. It will examine:
Use git status --porcelain to get a machine-readable list of all changed files:
git status --porcelain
Parse the output to categorize files by path patterns.
Analyze each changed file path and increment counters for each scope:
Marketplace Scope Indicators:
.claude-plugin/marketplace.jsonREADME.md (when marketplace.json also changed)CHANGELOG.mdPlugin Scope Indicators:
plugins/{plugin-name}/.claude-plugin/plugin.jsonplugins/{plugin-name}/skills/**/*plugins/{plugin-name}/commands/**/*plugins/{plugin-name}/README.mdplugins/{plugin-name}/CHANGELOG.mdVariants Scope Indicators:
variants/variants.jsonvariants/*/CLAUDE.mdvariants/CHANGELOG.mdvariants/README.mdApply the following logic:
Single Plugin Dominance:
plugin:<name>Variants Dominance:
variants/ → variantsMarketplace Changes:
marketplaceAmbiguous Cases:
Check if the current branch is master or main:
git branch --show-current
If on a different branch, include a warning in the output.
Return a structured response with:
{
"primary_scope": "plugin:daily-carry" | "marketplace" | "variants" | "ambiguous",
"confidence": "high" | "medium" | "low" | "ambiguous",
"evidence": {
"marketplace_changes": <count>,
"plugin_changes": {
"daily-carry": <count>,
"agent-behavior-patterns": <count>
},
"variants_changes": <count>
},
"current_branch": "master",
"warnings": [
"Not on master branch",
"Multiple scopes detected"
]
}
Git Status:
M plugins/daily-carry/skills/deploy-site/SKILL.md
M plugins/daily-carry/README.md
A plugins/daily-carry/skills/new-skill/SKILL.md
Output:
{
"primary_scope": "plugin:daily-carry",
"confidence": "high",
"evidence": {
"marketplace_changes": 0,
"plugin_changes": {
"daily-carry": 3
},
"variants_changes": 0
},
"current_branch": "master",
"warnings": []
}
Git Status:
M .claude-plugin/marketplace.json
M plugins/daily-carry/skills/deploy-site/SKILL.md
M variants/Android/CLAUDE.md
Output:
{
"primary_scope": "ambiguous",
"confidence": "ambiguous",
"evidence": {
"marketplace_changes": 1,
"plugin_changes": {
"daily-carry": 1
},
"variants_changes": 1
},
"current_branch": "master",
"warnings": [
"Multiple scopes detected - please specify scope explicitly"
]
}
Git Status:
M variants/Typescript/CLAUDE.md
M variants/Python/CLAUDE.md
M variants/Generic/CLAUDE.md
M variants/CHANGELOG.md
Output:
{
"primary_scope": "variants",
"confidence": "high",
"evidence": {
"marketplace_changes": 0,
"plugin_changes": {},
"variants_changes": 4
},
"current_branch": "master",
"warnings": []
}
This skill is invoked by the /release command in Phase 1. The command will:
primary_scope if confidence is "high" or "medium"npx claudepluginhub jayteealao/agent-skills --plugin release-automationAutomates releases for projects using Keep a Changelog and GitHub: bump detection, CHANGELOG promotion, merge to main, tag, and GitHub Release with a single confirmation gate.
Analyzes changesets from git diffs, configs, APIs, or schemas; categorizes by type/impact, scores risks, and prepares release notes for reviews and migrations.
Validates and executes software releases with changelog generation, version bumping, git tagging, and CI verification.