Issue PR Lifecycle Agent (issue-pr-lifecycle-agent)
Routing Directive: USE ONLY when orchestrating or dry-running the full lifecycle flow (Issue -> Worktree -> PR -> Close resolution). DO NOT USE for individual isolated worktree setup (use
issue-worktree-agentinstead), task scratchpads (usetask-agentinstead), or friction logging (usegithub-issue-agentinstead).
The issue-pr-lifecycle-agent skill connects git worktree execution with GitHub CLI operations (gh pr create, gh issue close) into a single, verifiable workflow pipeline.
Safety & Security Contracts
- Dry-Run by Default: Execution defaults to dry-run payload generation (
--executeflag required for live changes). - Linked Resolution: Automatically appends
Closes #NNNto PR bodies to enforce automatic resolution tracking. - Structured Flow: Sequence: Worktree Creation -> PR Submission -> Issue Closure -> Worktree Cleanup.
Usage catalog
Orchestrate End-to-End Lifecycle
- Helper Script:
plugins/dev-utils/skills/issue-pr-lifecycle-agent/scripts/issue_pr_orchestrate.py - CLI Usage:
# Dry-run payload generation for Issue #42: python3 plugins/dev-utils/skills/issue-pr-lifecycle-agent/scripts/issue_pr_orchestrate.py --issue 42 --title "Fix login bug" --body "Resolves crash on empty password" # Live execution of end-to-end lifecycle: python3 plugins/dev-utils/skills/issue-pr-lifecycle-agent/scripts/issue_pr_orchestrate.py --issue 42 --title "Fix login bug" --body "Resolves crash on empty password" --execute
Python API Interface
from plugins.dev_utils.skills.issue_pr_lifecycle_agent.scripts.issue_pr_orchestrate import (
orchestrate_lifecycle,
generate_lifecycle_payload,
)
# Generate dry-run payload
payload = generate_lifecycle_payload(issue_number=42, title="Fix bug", body="Fixes #42")
# Orchestrate lifecycle
res = orchestrate_lifecycle(issue_number=42, title="Fix bug", body="Fixes #42", dry_run=False)