Push tag(s) to remote repository
Pushes Git tags to a remote repository or all tags to a specified remote.
/plugin marketplace add fractary/claude-plugins/plugin install fractary-repo@fractary<tag_name|all> [--remote <name>]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 or "all" (required) - Parse optional argument: --remote - 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)Tag names are typically single words:
✅ /repo:tag-push v1.0.0
✅ /repo:tag-push all
✅ /repo:tag-push v1.0.0 --remote origin
The keyword "all" pushes all tags:
✅ /repo:tag-push all
✅ /repo:tag-push all --remote upstream
</ARGUMENT_SYNTAX>
<ARGUMENT_PARSING>
Required Arguments:
tag_name (string or keyword): Tag name to push (e.g., "v1.0.0"), or the literal keyword all to push all tagsOptional Arguments:
--remote (string): Remote repository name (default: origin). Examples: "origin", "upstream"Maps to: push-tag
Example:
/repo:tag-push v1.0.0
→ Invoke agent with {"operation": "push-tag", "parameters": {"tag": "v1.0.0"}}
Push all tags example:
/repo:tag-push all
→ Invoke agent with {"operation": "push-tag", "parameters": {"tag": "all"}}
</ARGUMENT_PARSING>
<EXAMPLES> ## Usage Examples# Push single tag
/repo:tag-push v1.0.0
# Push all tags
/repo:tag-push all
# Push to specific remote
/repo:tag-push v1.0.0 --remote upstream
# Push all tags to upstream
/repo:tag-push all --remote upstream
</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": "push-tag",
"parameters": {
"tag": "v1.0.0",
"remote": "origin"
}
}
The repo-manager agent will:
DO NOT:
<ERROR_HANDLING> Common errors to handle:
Missing tag name:
Error: tag name or "all" is required
Usage: /repo:tag-push <tag_name|all>
Tag not found:
Error: Tag not found: v99.0.0
List tags: /repo:tag-list
Remote not configured:
Error: Remote not found: upstream
Use /repo:init to configure remotes
</ERROR_HANDLING>
<NOTES> ## Push BehaviorThis command works with:
Platform is configured via /repo:init and stored in .fractary/plugins/repo/config.json.
Related commands:
/repo:tag-create - Create tags/repo:tag-list - List tags/repo:push - Push branches/repo:init - Configure repo plugin
</NOTES>