执行 Git 操作(提交、分支、合并、变基、冲突解决与恢复)时强制套用安全规则。
集成
jira
试用用自然语言读、起草、创建和更新 Jira 工单。
它能做什么
自动检测环境里的 jira CLI 或 Atlassian MCP 工具,把自然语言请求翻译成对应的命令或 MCP 调用。支持查看、搜索、新建、编辑、评论和流转工单,并处理流转 ID 查询、MCP 模式下解析 account ID 等容易踩坑的细节。所有写操作都会先展示给用户确认再执行,并保留原有字段以便回溯。
什么时候用它
- 按 PROJ-123 这类键值查看工单
- 根据一段描述起草并新建工单
- 把工单在 workflow 各状态间流转
- 添加评论或把工单分配给自己
技能文档
Jira
Natural language interaction with Jira. Supports multiple backends.
Backend Detection
Run this check first to determine which backend to use:
1. Check if jira CLI is available:
→ Run: which jira
→ If found: USE CLI BACKEND
2. If no CLI, check for Atlassian MCP:
→ Look for mcp__atlassian__* tools
→ If available: USE MCP BACKEND
3. If neither available:
→ GUIDE USER TO SETUP
| Backend | When to Use | Reference |
|---|---|---|
| CLI | jira command available | references/commands.md |
| MCP | Atlassian MCP tools available | references/mcp.md |
| None | Neither available | Guide to install CLI |
Quick Reference (CLI)
Skip this section if using MCP backend.
| Intent | Command |
|---|---|
| View issue | jira issue view ISSUE-KEY |
| List my issues | jira issue list -a$(jira me) |
| My in-progress | jira issue list -a$(jira me) -s"In Progress" |
| Create issue | jira issue create -tType -s"Summary" -b"Description" |
| Move/transition | jira issue move ISSUE-KEY "State" |
| Assign to me | jira issue assign ISSUE-KEY $(jira me) |
| Unassign | jira issue assign ISSUE-KEY x |
| Add comment | jira issue comment add ISSUE-KEY -b"Comment text" |
| Open in browser | jira open ISSUE-KEY |
| Current sprint | jira sprint list --state active |
| Who am I | jira me |
Quick Reference (MCP)
Skip this section if using CLI backend.
| Intent | MCP Tool |
|---|---|
| Search issues | mcp__atlassian__searchJiraIssuesUsingJql |
| View issue | mcp__atlassian__getJiraIssue |
| Create issue | mcp__atlassian__createJiraIssue |
| Update issue | mcp__atlassian__editJiraIssue |
| Get transitions | mcp__atlassian__getTransitionsForJiraIssue |
| Transition | mcp__atlassian__transitionJiraIssue |
| Add comment | mcp__atlassian__addCommentToJiraIssue |
| User lookup | mcp__atlassian__lookupJiraAccountId |
| List projects | mcp__atlassian__getVisibleJiraProjects |
See references/mcp.md for full MCP patterns.
Triggers
- "create a jira ticket"
- "show me PROJ-123"
- "list my tickets"
- "move ticket to done"
- "what's in the current sprint"
Issue Key Detection
Issue keys follow the pattern: [A-Z]+-[0-9]+ (e.g., PROJ-123, ABC-1).
When a user mentions an issue key in conversation:
- CLI:
jira issue view KEYorjira open KEY - MCP:
mcp__atlassian__jira_get_issuewith the key
Workflow
Creating tickets:
- Research context if user references code/tickets/PRs
- Draft ticket content
- Review with user
- Create using appropriate backend
Updating tickets:
- Fetch issue details first
- Check status (careful with in-progress tickets)
- Show current vs proposed changes
- Get approval before updating
- Add comment explaining changes
Before Any Operation
Ask yourself:
-
What's the current state? — Always fetch the issue first. Don't assume status, assignee, or fields are what user thinks they are.
-
Who else is affected? — Check watchers, linked issues, parent epics. A "simple edit" might notify 10 people.
-
Is this reversible? — Transitions may have one-way gates. Some workflows require intermediate states. Description edits have no undo.
-
Do I have the right identifiers? — Issue keys, transition IDs, account IDs. Display names don't work for assignment (MCP).
NEVER
-
NEVER transition without fetching current status — Workflows may require intermediate states. "To Do" → "Done" might fail silently if "In Progress" is required first.
-
NEVER assign using display name (MCP) — Only account IDs work. Always call
lookupJiraAccountIdfirst, or assignment silently fails. -
NEVER edit description without showing original — Jira has no undo. User must see what they're replacing.
-
NEVER use
--no-inputwithout all required fields (CLI) — Fails silently with cryptic errors. Check project's required fields first. -
NEVER assume transition names are universal — "Done", "Closed", "Complete" vary by project. Always get available transitions first.
-
NEVER bulk-modify without explicit approval — Each ticket change notifies watchers. 10 edits = 10 notification storms.
Safety
- Always show the command/tool call before running it
- Always get approval before modifying tickets
- Preserve original information when editing
- Verify updates after applying
- Always surface authentication issues clearly so the user can resolve them
No Backend Available
If neither CLI nor MCP is available, guide the user:
To use Jira, you need one of:
1. **jira CLI** (recommended):
https://github.com/ankitpokhrel/jira-cli
Install: brew install ankitpokhrel/jira-cli/jira-cli
Setup: jira init
2. **Atlassian MCP**:
Configure in your MCP settings with Atlassian credentials.
Deep Dive
LOAD reference when:
- Creating issues with complex fields or multi-line content
- Building JQL queries beyond simple filters
- Troubleshooting errors or authentication issues
- Working with transitions, linking, or sprints
Do NOT load reference for:
- Simple view/list operations (Quick Reference above is sufficient)
- Basic status checks (
jira issue view KEY) - Opening issues in browser
| Task | Load Reference? |
|---|---|
| View single issue | No |
| List my tickets | No |
| Create with description | Yes — CLI needs /tmp pattern |
| Transition issue | Yes — need transition ID workflow |
| JQL search | Yes — for complex queries |
| Link issues | Yes — MCP limitation, need script |
References:
- CLI patterns:
references/commands.md - MCP patterns:
references/mcp.md
常见问题
- 支持哪些后端?
- 支持 ankitpokhrel 的 jira CLI 和 Atlassian MCP 工具。两者都没有时,会输出安装 CLI 或配置 MCP 的指引。
- 什么情况下会要求确认?
- 任何会修改 Jira 的操作——新建、编辑、流转、分配、评论——都会先以命令或工具调用的形式展示,用户确认后才执行。
- 为什么 MCP 模式下不能用显示名来分配?
- Atlassian MCP 只能接受 account ID,不能接受显示名。技能会先调用 lookupJiraAccountId 查询,否则分配会静默失败。
相关技能
通过托管的 OAuth GraphQL 接口查询与管理 Linear 的 issue、项目、团队、周期、标签和评论。
以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。
诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。
通过 OAuth 认证网关管理 Stripe 客户、订阅、发票、产品、价格和支付。
按用户明确指令,在得到大脑(Get笔记)中保存、搜索并管理笔记与知识库。
Jonathan Rhyne 的更多技能
浏览全部技能在会话压缩或截断后,通过频道与会话接口重建丢失的对话上下文。
通过浏览器自动化或 Google Ads API 查询与审计 Google Ads 账户,并支持暂停关键词等操作。
通过命令行查询 Google Search Console 数据,获取搜索表现与索引情况。
把本地文档上传到 Nudocs.ai 做富文本编辑,再按 docx、md 或 pdf 取回修改后的版本。
在 OpenClaw 中通过 Nutrient DWS 插件完成 PDF 与 Office 文档的转换、OCR、抽取、加水印、签名与脱敏。
Persistent TODO scratch pad for tracking tasks across sessions. Use when the user asks to add, list, complete, remove, or summarize tasks in a portable workspace Markdown file. Uses stable task IDs and exact matching; heartbeat reporting is opt-in and count-only.