PR Threshold Skill
Monitor accumulated commits and metrics to determine when a PR should be pushed for human review. Prevents PRs from becoming too large or complex for effective review.
When to Use
- •After each successful git commit
- •During Agent Mode commit-level workflow
- •Manually with "use pr-threshold skill"
Thresholds
| Metric | Trigger Value | Rationale |
|---|---|---|
| Lines of Code | > 300 | Human cognitive limit |
| Files Changed | > 10 | Context switching cost |
| Commits | > 5 | Review complexity |
| Risk Score | HIGH | Needs careful review |
| Scope Completion | 100% | Feature complete |
Phase 1: Gather Metrics
1.1 Lines of Code
bash
git diff origin/develop --stat | tail -1
Extract: insertions + deletions
1.2 Files Changed
bash
git diff origin/develop --name-only | wc -l
1.3 Commit Count
bash
git rev-list origin/develop..HEAD --count
1.4 Risk Score
Sum of risk from pr-review across all commits:
- •LOW = 1
- •MEDIUM = 2
- •HIGH = 3
1.5 Scope Completion
From Commit Plan:
- •Total commits planned: N
- •Commits completed: M
- •Completion: M/N * 100%
Phase 2: Evaluate Thresholds
markdown
## PR Threshold Check | Metric | Current | Threshold | Status | |--------|---------|-----------|--------| | Lines of Code | [N] | 300 | OK/CROSSED | | Files Changed | [N] | 10 | OK/CROSSED | | Commits | [N] | 5 | OK/CROSSED | | Risk Score | [N] | HIGH | OK/CROSSED | | Scope Completion | [N]% | 100% | OK/CROSSED |
Phase 3: Determine Action
CONTINUE (No threshold crossed)
markdown
## Verdict: CONTINUE No thresholds crossed. Proceeding to next commit. ### Current Accumulation: - LOC: [N]/300 - Files: [N]/10 - Commits: [N]/5 - Scope: [N]% ### Next Commit: [Name of next commit from plan]
TRIGGER_PR (Threshold crossed)
markdown
## Verdict: TRIGGER_PR **Threshold crossed:** [Which metric(s)] ### Recommendation: Push PR now for human review before continuing. ### PR Scope: - Commits: [List of commit names] - Total LOC: [N] - Files: [N] - Risk: [LOW/MEDIUM/HIGH] ### Remaining Work: - Commits left: [N] - Features incomplete: [List] **Proceed to push-pr mode?** (Yes / Continue anyway)
BLOCK (Threshold crossed, no override)
If threshold crossed and user has NOT provided explicit override:
markdown
## Verdict: BLOCK **Threshold crossed:** [Which metric(s)] IMPLEMENTATION PAUSED - User decision required. | Option | Action | |--------|--------| | A | Push PR now (recommended) | | B | Continue anyway (override logged) | Reply with A or B to proceed.
Do NOT continue until user responds. This is a hard stop per 00-hard-rules.mdc.
Phase 4: Handle Decision
If TRIGGER_PR
- •Present metrics summary
- •Recommend push-pr mode
- •If user approves: Switch to push-pr mode
- •If user continues: Log override, proceed
If CONTINUE
- •Proceed to next commit in plan
- •Update accumulated metrics
Threshold Overrides
User can override thresholds with explicit confirmation:
markdown
**Warning:** LOC threshold exceeded (350/300). Continuing without PR may make review harder. **Override and continue?** (Yes / Push PR now)
Log overrides for later review.
Integration
This skill is invoked by:
- •
agent.mdc- After each successful commit - •
commit.mdc- After commit completes
Metrics Storage
Track across commits:
code
Accumulated Metrics: - Total LOC: [running sum] - Total Files: [unique count] - Commit Count: [N] - Highest Risk: [LOW/MEDIUM/HIGH] - Started: [timestamp]
Reset after successful PR push.
Output Format
markdown
## PR Threshold Status **Verdict:** [CONTINUE / TRIGGER_PR] | Metric | Value | Threshold | % | |--------|-------|-----------|---| | LOC | [N] | 300 | [N]% | | Files | [N] | 10 | [N]% | | Commits | [N] | 5 | [N]% | | Scope | [N]% | 100% | [N]% | [Action recommendation]
Invocation
Invoked automatically after each commit, or manually with "use pr-threshold skill".