jira-conflict-detect
Check if a story is already being worked on by another team member. Use before starting any story implementation.
- License 许可
- MIT
- 最近更新
- 2026-05-12
- Stars
- ★ 8
- Forks
- 1
01 前言 Front Matter
- name
- jira-conflict-detect
- description
- Check if a story is already being worked on by another team member. Use before starting any story implementation.
03 SKILL.md 正文
JIRA — Multi-Member Conflict Detection
Goal
Perform a 3-layer conflict check before any team member claims a story. Prevents two developers from working on the same story simultaneously.
Why 3 Layers?
A single check can be bypassed or stale. Three independent signals give high confidence:
| Layer | Signal | What It Catches |
|---|---|---|
| 1 | JIRA ticket status + assignee | Story is formally In Progress or In Review |
| 2 | Git branch existence | Story branch was already created (even if JIRA not updated) |
| 3 | Confluence doc version lock | Story references a planning doc version that's been superseded |
Activation
Ask: "Which story are you checking?" (accept S-ID, JIRA key, or title)
Load the story's JIRA key from local story file frontmatter.
Layer 1: JIRA Status Check
curl -s \
"{jira_url}/rest/api/3/issue/{JIRA-KEY}" \
-u "{email}:{api_token}" \
-H "Accept: application/json" | python3 -c "
import sys, json
d = json.load(sys.stdin)
fields = d['fields']
status = fields['status']['name']
assignee = (fields.get('assignee') or {}).get('displayName', 'Unassigned')
print(f'Status: {status}')
print(f'Assignee: {assignee}')
"
Conflict conditions:
- Status is
In ProgressAND assignee is NOT the current user → 🔴 CONFLICT - Status is
In Review→ 🟡 WARNING (story may be done, verify) - Status is
Done→ 🔴 CONFLICT (story is complete, don't re-implement) - Status is
To DoorOpenAND unassigned → ✅ CLEAR
Layer 2: Git Branch Check
git fetch --all --quiet
git branch -a | grep -i "{JIRA-KEY}"
Conflict conditions:
- Branch exists remotely → 🔴 CONFLICT (someone created the branch already)
- Branch exists locally but not remotely → 🟡 WARNING (stale local branch from previous attempt)
- No branch found → ✅ CLEAR
Layer 3: Confluence Version Consistency (if Confluence is configured)
Load the story's prd_version from frontmatter.
If Confluence integration is configured, check if the PRD page version on Confluence matches the local prd_version embedded in the story.
curl -s \
"{confluence_url}/rest/api/content/{prd_page_id}?expand=version" \
-u "{email}:{api_token}" \
-H "Accept: application/json" | python3 -c "
import sys, json
d = json.load(sys.stdin)
print('Confluence PRD version:', d['version']['number'])
print('Story based on version:', '{local_prd_version}')
"
Conflict conditions:
- Confluence version > local story's prd_version → 🟡 WARNING (PRD was updated after stories were generated; stories may be stale)
Conflict Report
Present a single consolidated verdict:
Conflict Check — {JIRA-KEY}: {story_title}
════════════════════════════════════════
Layer 1 — JIRA Status: [✅ CLEAR | 🟡 WARNING | 🔴 CONFLICT]
Status: {status}, Assignee: {assignee}
Layer 2 — Git Branch: [✅ CLEAR | 🟡 WARNING | 🔴 CONFLICT]
{branch found or not}
Layer 3 — Doc Version: [✅ CLEAR | 🟡 WARNING | N/A]
{version comparison}
════════════════════════════════════════
VERDICT: [✅ SAFE TO CLAIM | 🟡 PROCEED WITH CAUTION | 🔴 DO NOT PROCEED]
If Conflict Detected
🔴 DO NOT PROCEED. Report:
"Story {JIRA-KEY} appears to be actively worked on by {assignee} (status: {status}). Starting implementation risks merge conflicts and duplicate work. Recommended: sync with your team or pick a different story."
🟡 Caution:
"There's a potential conflict signal. Review before claiming the story. If you're sure it's safe, you may proceed."
✅ Clear:
"No conflicts detected. Safe to claim and implement. Shall I create the branch now? (
github-create-branch)"
04 同仓库更多 Skills
jira-sync
Bulk sync all epics and stories from the local backlog to JIRA. Use when the user says 'sync to JIRA', 'push everything to JIRA', or 'create all JIRA tickets'.
jira-create-story
Create a single story ticket in JIRA from a local story file. Use when the user says 'create this story in JIRA' or 'push story to JIRA'.
jira-create-epic
Create an epic in JIRA from a planning artifact. Use when the user says 'create this epic in JIRA' or 'push epic to JIRA'.
jira-connect
Set up and verify JIRA integration. Use when the user says 'connect to JIRA', 'set up JIRA', or 'configure JIRA'.
gitlab-create-mr
Create a GitLab Merge Request for the current story branch. Use when the user says 'create an MR', 'open a merge request', or 'ready for review' in a GitLab project.
gitlab-create-branch
Create a GitLab feature branch for a story. Use when the user says 'create a branch', 'start a branch for story X', or 'create feature branch' in a GitLab project.