Internal shared skill. Single source of truth for post-merge Jira status update + repair comment. Hosts declare it in
dependencies, abort if missing, and pass a field map; they MUST NOT restate the two-step API or status boundary inline. This skill does not resolve PAT files; session or MCP auth followsjira-read.Prerequisite check:
jira-wiki-markupmust be available; if it is missing, abort and print the standard install hint (npx skills add FuDesign2008/open-skills -g --skill '*' --yes).
When to run
Only after the PR/MR has successfully merged into the target branch. Never at PR-create time.
SOP
- Transition (no comment on the transition call)
- Call
jira_get_transitions(or equivalent) and select the developer-owned status equivalent to "Fixed". - Call
jira_transition_issuewithout acommentparameter. - Do not transition to close / verified / QA-owned statuses.
- If no matching transition: skip transition, emit a warning, continue to comment if possible.
- Call
-
Comment (independent call, verify markup fidelity)
- Load
jira-wiki-markupand composebodyfrom the host field map using that skill's canonical repair-comment skeleton (Wiki markup). - If any line of that repair
bodystarts withh1.orh2., rewrite those titles as numbered# *name*items so the comment stays ath3./h4.plus lists. - Post via your available comment tooling with the text in the
bodyfield. Never rely onjira_transition_issue'scommentparameter for the repair record (it may be silently dropped). - Verify fidelity before declaring done: read back the stored
bodyfrom the tool response (or a follow-up read) and compare it against the composed text — line-start headings (h3./h4.),*bold*,{{mono}}, and[label|url]must all survive verbatim. A 2xx response alone is NOT success: an intermediate layer may escape markup (store*bold*as\*bold\*) or rewrite headings (h3. Xinto### X) and still return 2xx. - On any fidelity failure, rewrite the comment with the bundled REST fallback
scripts/update-comment-wiki.mjs(credential chain identical tojira-read; pass no comment id to create, pass the comment id to update; it re-verifies fidelity on its own), then report from its PASS output.
- Load
-
Failure handling
- Transition or comment API failure → warn and record for the host report; do not block or revert an already-completed merge.
Host field map
Hosts MUST supply concrete values for these semantic fields (omit a field only when truly N/A, and say so):
| Field | Meaning |
|---|---|
| Fix branch | Source branch name |
| Commit | Merged tip SHA or primary fix commit |
| PR/MR URL | Merge request URL |
| Root cause | Short root-cause summary |
| Fix summary | What changed |
| Changed files | Key paths |
| Verification | Functional / boundary / regression notes (hosts may require ≥2 each) |
| Extra | Host-specific: analysis report path (jira-fix-workflow), OpenSpec change path (opsx-jira-fix-workflow), QA risks, etc. |
Integration
- Declare
jira-status-writebackin frontmatterdependencies. - At writeback: load this skill, pass the field map, follow the SOP.
- Keep in the host: when writeback runs in the stage order (after merge; after archive when required), and the field map only.