返回 Skill 列表
extension
分类: 开发与工程无需 API Key

sc-commit-push-pr

提交暂存的更改,推送到远程,并为GitHub和Azure DevOps创建PR

person作者: jakexiaohubgithub

sc-commit-push-pr Skill

Orchestrates the commit, push, and PR creation workflow using background agents.

Capabilities

| Command | Description | |---------|-------------| | /sc-commit-push-pr | Full pipeline: commit, push, and create PR if needed | | /sc-create-pr | Create PR from title/body (standalone) |

Agent Delegation

| Step | Agent | Input | Output | |------|-------|-------|--------| | Commit & Push | commit-push | source/destination branches | PR status, URL, or conflict list | | Create PR | create-pr | title, body, source, destination | PR info |

Orchestration Logic

/sc-commit-push-pr Flow

  1. Stage important files

    • Prompt user if unclear which files to stage
    • Skip if no changes detected
  2. Invoke commit-push agent via Agent Runner

    • Pass source/destination branch parameters
    • Parse fenced JSON response
  3. Handle response:

    • If pr_exists: true → Return PR URL to user
    • If needs_pr_text: true → Prompt user for title/body, then invoke create-pr
    • If error.code == "GIT.MERGE_CONFLICT" → Guide user through conflict resolution

/sc-create-pr Flow

  1. Accept title/body from user

    • May be provided as arguments or prompted
  2. Invoke create-pr agent via Agent Runner

    • Pass title, body, source, destination
  3. Return PR URL to user

Provider Support

  • GitHub - Uses gh CLI for PR operations
  • Azure DevOps - Uses REST API with AZURE_DEVOPS_PAT

Provider is auto-detected from git remote on each run.

Configuration

Required: Protected Branches

Create .sc/shared-settings.yaml:

git:
  protected_branches:
    - main
    - develop

Or let the skill auto-detect from git-flow configuration.

Credentials

Set environment variables:

  • GitHub: GITHUB_TOKEN (or gh auth login)
  • Azure DevOps: AZURE_DEVOPS_PAT

Error Handling

| Error Code | Meaning | Recovery | |------------|---------|----------| | GIT.MERGE_CONFLICT | Merge conflicts detected | Resolve conflicts, re-run | | GIT.AUTH | Authentication failure | Check credentials | | PR.CREATE_FAILED | API error creating PR | Check permissions | | CONFIG.PROTECTED_BRANCH_NOT_SET | Missing config | Create shared-settings.yaml |

Storage

| Type | Path | Purpose | |------|------|---------| | Logs | .claude/state/logs/sc-commit-push-pr/ | Runtime events, preflight results | | Shared Settings | .sc/shared-settings.yaml | Protected branch configuration | | Package Settings | .sc/sc-commit-push-pr/settings.yaml | Optional preferences |

Related