一键导入
post-pr
Consolidates post-PR-creation bookkeeping (task updates, JIRA transitions, Slack notifications, learning storage) into a single efficient operation
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Consolidates post-PR-creation bookkeeping (task updates, JIRA transitions, Slack notifications, learning storage) into a single efficient operation
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Slack daily digest management. Send daily digest of queued notifications or trigger a status update for a specific ticket. Routes through memory-server MCP for deduplication and digest support.
Consolidates ticket claiming operations (assign, transition, add to sprint, track) into a single efficient operation, reducing ~10 tool calls per new-work cycle
Send Slack notification. Reads SLACK_WEBHOOK_URL from env, calls memory-server MCP slack_notify w/ webhook_url. No-ops if webhook not configured.
Post-merge bookkeeping for completed PRs. Archives task, transitions Jira to "Release Pending", posts Jira comment, sends Slack notification, deletes bot branches (remote + local). Handles already-deleted branches gracefully.
Auto-fork repos + update config. Scans project-repos.json for missing forks → forks via gh/glab → updates config → commits.
Consolidates git push and PR/MR creation into a single efficient operation, eliminating 5-8 wasted tool calls per implementation cycle
| name | post-pr |
| description | Consolidates post-PR-creation bookkeeping (task updates, JIRA transitions, Slack notifications, learning storage) into a single efficient operation |
| when_to_use | Invoke after creating a PR to handle all bookkeeping operations. Triggers on: "pr created", "post pr", "pr bookkeeping". Replaces manual task_update + jira_transition + jira_comment + slack_notify + memory_store calls. |
| user-invocable | true |
| allowed-tools | ["Bash(python3 .claude/skills/post-pr/post_pr.py *)","Read","mcp__bot-memory__task_update","mcp__bot-memory__bot_status_update","mcp__bot-memory__memory_store","mcp__mcp-atlassian__jira_transition_issue","mcp__mcp-atlassian__jira_add_comment"] |
Run the post-pr script for a newly created PR:
python3 .claude/skills/post-pr/post_pr.py <JIRA_KEY> 2>&1
Use --dry-run to preview without making changes:
python3 .claude/skills/post-pr/post_pr.py <JIRA_KEY> --dry-run 2>&1
The script:
pr_created)idlecode-review, awaiting-review) and JIRA linkpr_created event notificationidleFail-fast approach: if any operation fails, execution stops immediately and reports the error.
Run tests with:
cd .claude/skills/post-pr
# Unit tests (21 tests - individual operations)
uv run pytest tests/test_operations.py -v
# Integration tests (12 tests - full workflow scenarios)
uv run pytest tests/test_integration.py -v
# All tests (35 total)
uv run pytest tests/ -v
# With coverage report
uv run pytest tests/ --cov=scripts --cov-report=html -v
Environment variables for API integration:
Required:
GITHUB_TOKEN or GH_TOKEN: GitHub API token for PR operationsPOST_PR_JIRA_TOKEN: JIRA API token for issue transitions and commentsPOST_PR_JIRA_EMAIL: Email address for JIRA Basic authenticationSLACK_WEBHOOK_URL: Slack incoming webhook URL for notificationsOptional:
POST_PR_JIRA_URL: JIRA instance URL (default: https://redhat.atlassian.net)POST_PR_MEMORY_STORE: Memory storage path (default: /tmp/memory.json)