Create a new Git tag
Creates a Git tag with optional annotation, signing, and force options.
/plugin marketplace add fractary/claude-plugins/plugin install fractary-repo@fractary<tag_name> [--message "<text>"] [--commit <sha>] [--sign] [--force]claude-haiku-4-5<CRITICAL_RULES> YOU MUST:
YOU MUST NOT:
THIS COMMAND IS ONLY A ROUTER. </CRITICAL_RULES>
<WORKFLOW> 1. **Parse user input** - Extract tag_name (required) - Parse optional arguments: --message, --commit, --sign, --force - Validate required arguments are presentBuild structured request
Invoke agent
Return response
<ARGUMENT_SYNTAX>
This command follows the space-separated argument syntax (consistent with work/repo plugin family):
--flag value (NOT --flag=value)--sign ✅ (NOT --sign true)Always use quotes for multi-word values:
✅ /fractary-repo:tag-create v1.0.0 --message "Release version 1.0.0"
✅ /fractary-repo:tag-create v1.0.0 --message "Major release with breaking changes"
❌ /fractary-repo:tag-create v1.0.0 --message Release version 1.0.0
Single-word values don't require quotes:
✅ /fractary-repo:tag-create v1.0.0
✅ /fractary-repo:tag-create v1.0.0 --commit abc123
Boolean flags have no value:
✅ /fractary-repo:tag-create v1.0.0 --sign
✅ /fractary-repo:tag-create v1.0.0 --force
❌ /fractary-repo:tag-create v1.0.0 --sign true
Tag naming conventions:
v1.0.0, v2.1.3, v0.9.0-betav1.0.0, v2.0.0-rc1, release-2024
</ARGUMENT_SYNTAX><ARGUMENT_PARSING>
Required Arguments:
tag_name (string): Tag name following semantic versioning (e.g., "v1.0.0", "v2.1.3", "v0.9.0-beta")Optional Arguments:
--message (string): Tag annotation message, use quotes if multi-word (e.g., "Release version 1.0.0"). Creates an annotated tag (recommended for releases)--commit (string): Commit SHA to tag (default: HEAD). Example: "abc123def" or full SHA--sign (boolean flag): GPG sign the tag for verification. No value needed, just include the flag. Requires GPG key configured--force (boolean flag): Force create/update existing tag. No value needed, just include the flag. Use with cautionMaps to: create-tag
Example:
/fractary-repo:tag-create v1.0.0 --message "Release version 1.0.0"
→ Invoke agent with {"operation": "create-tag", "parameters": {"tag_name": "v1.0.0", "message": "Release version 1.0.0"}}
</ARGUMENT_PARSING>
<EXAMPLES> ## Usage Examples# Create tag
/fractary-repo:tag-create v1.0.0
# Create with message
/fractary-repo:tag-create v1.0.0 --message "Release version 1.0.0"
# Create signed tag
/fractary-repo:tag-create v1.0.0 --message "Signed release" --sign
# Tag specific commit
/fractary-repo:tag-create v0.9.0 --commit abc123
# Force update existing tag
/fractary-repo:tag-create v1.0.0 --message "Updated release" --force
</EXAMPLES>
<AGENT_INVOCATION>
CRITICAL: After parsing arguments, you MUST actually invoke the Task tool. Do NOT just describe what should be done.
How to invoke: Use the Task tool with these parameters:
Example Task tool invocation (customize based on the specific operation):
Request structure:
{
"operation": "create-tag",
"parameters": {
"tag_name": "v1.0.0",
"message": "Release version 1.0.0",
"commit": "abc123",
"sign": true,
"force": false
}
}
The repo-manager agent will:
DO NOT:
<ERROR_HANDLING> Common errors to handle:
Missing tag name:
Error: tag_name is required
Usage: /fractary-repo:tag-create <tag_name>
Tag already exists:
Error: Tag already exists: v1.0.0
Use --force to update existing tag
Invalid tag name:
Error: Invalid tag name: invalid_tag
Use semantic versioning: v1.0.0, v2.1.3, etc.
</ERROR_HANDLING>
<NOTES> ## Semantic VersioningTags should follow semantic versioning (semver):
v1.0.0 - Major releasev1.1.0 - Minor releasev1.0.1 - Patch releaseThis command works with:
Platform is configured via /repo:init and stored in .fractary/plugins/repo/config.json.
Related commands:
/repo:tag-push - Push tags to remote/repo:tag-list - List tags/repo:commit - Create commits/repo:init - Configure repo plugin
</NOTES>