用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ThinkfleetAI/thinkfleet-engine --skill jira命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | jira |
| description | Manage Jira issues, projects, and boards via the Atlassian REST API. |
| metadata | {"thinkfleetbot":{"emoji":"📋","requires":{"bins":["curl","jq"],"env":["JIRA_BASE_URL","JIRA_EMAIL","JIRA_API_TOKEN"]}}} |
Manage Jira issues, projects, and boards via the REST API.
JIRA_BASE_URL - Jira instance URL (e.g. https://yourorg.atlassian.net)JIRA_EMAIL - Atlassian account emailJIRA_API_TOKEN - API token (generate at https://id.atlassian.com/manage-profile/security/api-tokens)All requests use Basic auth:
JIRA_AUTH=$(echo -n "$JIRA_EMAIL:$JIRA_API_TOKEN" | base64)
curl -s -H "Authorization: Basic $(echo -n "$JIRA_EMAIL:$JIRA_API_TOKEN" | base64)" \
-H "Content-Type: application/json" \
"$JIRA_BASE_URL/rest/api/3/search?jql=project%3DDEV%20AND%20status%3D%22In%20Progress%22&maxResults=10" | jq '.issues[] | {key, summary: .fields.summary, status: .fields.status.name}'
curl -s -H "Authorization: Basic $(echo -n "$JIRA_EMAIL:$JIRA_API_TOKEN" | base64)" \
"$JIRA_BASE_URL/rest/api/3/issue/DEV-123" | jq '{key, summary: .fields.summary, status: .fields.status.name, assignee: .fields.assignee.displayName, description: .fields.description}'
curl -s -X POST -H "Authorization: Basic $(echo -n "$JIRA_EMAIL:$JIRA_API_TOKEN" | base64)" \
-H "Content-Type: application/json" \
"$JIRA_BASE_URL/rest/api/3/issue" \
-d '{
"fields": {
"project": {"key": "DEV"},
"summary": "Bug: Login page broken",
"description": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Description here"}]}]},
"issuetype": {"name": "Bug"}
}
}' | jq '{key: .key, self: .self}'
# First get available transitions
curl -s -H "Authorization: Basic $(echo -n "$JIRA_EMAIL:$JIRA_API_TOKEN" | base64)" \
"$JIRA_BASE_URL/rest/api/3/issue/DEV-123/transitions" | jq '.transitions[] | {id, name}'
# Then transition
curl -s -X POST -H "Authorization: Basic $(echo -n "$JIRA_EMAIL:$JIRA_API_TOKEN" | base64)" \
-H "Content-Type: application/json" \
"$JIRA_BASE_URL/rest/api/3/issue/DEV-123/transitions" \
-d '{"transition": {"id": "31"}}'
curl -s -X POST -H "Authorization: Basic $(echo -n "$JIRA_EMAIL:$JIRA_API_TOKEN" | base64)" \
-H "Content-Type: application/json" \
"$JIRA_BASE_URL/rest/api/3/issue/DEV-123/comment" \
-d '{"body": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Comment from ThinkFleetBot"}]}]}}' | jq '{id: .id, created: .created}'
curl -s -H "Authorization: Basic $(echo -n "$JIRA_EMAIL:$JIRA_API_TOKEN" | base64)" \
"$JIRA_BASE_URL/rest/api/3/project" | jq '.[] | {key, name}'
X-RateLimit-Remaining.