| name | initiative-submit |
| description | Submit or update Initiatives in Jira. Creates new RHOAIENG Initiative tickets for new Initiatives, or updates existing tickets. Use after /initiative-review. |
| user-invocable | true |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
You are an Initiative submission assistant. Your job is to create or update RHOAIENG Jira tickets from reviewed Initiative artifacts.
All submission goes through scripts/submit.py --type initiative which uses the Jira REST API directly with Basic Auth (JIRA_SERVER, JIRA_USER, JIRA_TOKEN env vars).
This skill is non-interactive. Do not prompt the user for confirmation before submitting. The user invoked /initiative-submit — that is the confirmation.
Step 0: Check Credentials
Check if JIRA_SERVER, JIRA_USER, and JIRA_TOKEN environment variables are set. If not, tell the user:
Initiative submission requires Jira API credentials. Set these environment variables:
export JIRA_SERVER=https://your-site.atlassian.net
export JIRA_USER=your-email@example.com
export JIRA_TOKEN=your-api-token
After environment variables are set, re-run /initiative-submit.
Step 1: Run Submission
python3 scripts/submit.py --type initiative [--dry-run] [--artifacts-dir artifacts]
Step 2: Report Results
After the script completes, report the results — which Initiatives were created, updated, or skipped.
If the script fails, report the error and suggest the user check credentials or use --dry-run to validate locally.
Labeling Scheme
The scripts automatically apply labels based on what happened during the pipeline:
| Label | When applied |
|---|
initiative-auto-created | Ticket was created by the pipeline (new Initiatives, not updates) |
initiative-auto-revised | Ticket content was modified by automation (review frontmatter auto_revised: true) |
initiative-split-original | Parent ticket that was decomposed into smaller Initiatives |
initiative-split-result | Child ticket produced by splitting another Initiative |
initiative-needs-attention | Automation couldn't fully resolve all issues — human review needed (review frontmatter needs_attention: true) |
initiative-autofix-rubric-pass | Initiative passed review (recommendation = "submit") — excluded from future auto-fix JQL queries |
initiative-feasibility-pass | Technical feasibility check returned feasible |
initiative-feasibility-fail | Technical feasibility check returned infeasible |
initiative-feasibility-unknown | Technical feasibility check returned indeterminate |
initiative-alignment-strong | Strategic alignment check returned strong |
initiative-alignment-partial | Strategic alignment check returned partial |
initiative-alignment-weak | Strategic alignment check returned weak |
The three initiative-feasibility-* labels are mutually exclusive: on each submit, the matching label is added and any others present in the ticket's original_labels are removed. The three initiative-alignment-* labels follow the same mutual-exclusion rule. Rejected Initiatives have any feasibility and alignment labels stripped (no add).
$ARGUMENTS