PrCAUTION
The most comprehensive Claude Code guide: agentic workflows, hooks, skills, MCP servers, quizzes, and production-ready templates. 430K+ lines.
Overview
The most comprehensive Claude Code guide: agentic workflows, hooks, skills, MCP servers, quizzes, and production-ready templates. 430K+ lines.
d90170da4369OBSERVED · 2026-10-07Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: pr
description: Analyze changes, detect scope issues, and create a well-structured PR
argument-hint: "[--base <branch>] [--draft]"
effort: medium
when_to_use: "Use when ready to open a PR: analyzes changes and drafts the PR description."
disable-model-invocation: true
---
# Create pull request
Analyze changes, detect scope issues, and create a well-structured PR following project conventions.
## Process
1. **Analyze Changes**: Calculate complexity score from files, commits, and directories
2. **Detect Scope Issues**: Warn if PR is too large or mixes unrelated changes
3. **Suggest Split**: If needed, group commits by scope and propose separate PRs
4. **Collect Info**: Ask for type, target branch, draft status, labels
5. **Generate Content**: Create TLDR + description + checklist
6. **Create PR**: Execute `gh pr create` with proper formatting
7. **Remind Follow-up**: Display post-PR checklist (SonarQube, Claude Review)
## Complexity score
Calculate PR complexity to detect if split is needed:
| Criterion | Weight | Description |
|-----------|--------|-------------|
| Code files | x2 | `*.ts, *.tsx` (excluding tests) |
| Test files | x0.5 | `*.test.ts, *.spec.ts` |
| Config files | x1 | `*.json, *.yml, *.md` |
| Directories | x3 | Distinct `src/*` directories |
| Commits | x1 | Number of commits |
**Thresholds**: 0-15 ✅ Normal | 16-25 ⚠️ Large | 26+ 🔴 Split recommended
## Scope coherence
| Pattern | Verdict |
|---------|---------|
| Single scope | ✅ OK |
| Related scopes (sessions + calendar) | ✅ OK |
| Unrelated scopes (payments + auth) | 🔴 Split |
| feat + fix same scope | ✅ OK |
| feat + fix different scopes | 🔴 Split |
## Split suggestion format
When split is recommended, display:
```
🔴 Scope trop large (score: 32)
Commits par scope :
├── payments (5 commits, 8 fichiers)
│ ├── feat(payments): add Stripe checkout
│ └── fix(payments): handle currency
│
└── notifications (3 commits, 6 fichiers)
└── feat(notifications): add email templates
💡 Suggestion :
1. PR #1 : feature/payments-stripe → Commits payments
2. PR #2 : feature/notifications → Commits notifications
Options :
[A] Continuer avec une seule PR (non recommandé)
[B] Découper (semi-auto - commandes git fournies)
[C] Voir détail fichiers
```
**Semi-auto split** provides copy-paste commands:
```bash
git checkout develop
git checkout -b feature/payments-stripe
git cherry-pick abc1234 def5678
git push -u origin feature/payments-stripe
```
## Questions to ask
1. **Type**: feature | fix | tech | docs | security
2. **Target Branch**: Show recent branches (develop, main, others)
3. **Draft**: Yes (WIP) | No (ready for review)
4. **Labels**: Based on type + optional (breaking-change, security)
## PR title format
```
<type>(<scope>): <description>
```
Examples:
- `feat(payments): add Stripe checkout integration`
- `fix(sessions): resolve timezone calculation bug`
## PR body template
```markdown
## TLDR
<!-- 2 lines max - Executive summary -->
---
## Type
{Feature | Fix | Tech | Docs | Security}
## Description
{Context and changes}
## Technical Changes
{List of main modifications}
## Tests
- [ ] Unit tests added/passing
- [ ] Manual testing completed
## Checklist
- [ ] Code follows conventions
- [ ] No console.log left
- [ ] Types OK (`pnpm typecheck`)
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
```
## Available labels
| Label | Color | Use When |
|-------|-------|----------|
| `feature` | 🟢 | New functionality |
| `fix` | 🔴 | Bug fix |
| `tech` | 🔵 | Refactoring, tech debt |
| `docs` | 📘 | Documentation only |
| `security` | 🟣 | Security fix |
| `breaking-change` | ⚫ | Breaking changes |
| `WIP` | 🟡 | Work in progress (draft) |
## Commands to execute
```bash
# 1. Get base branch (usually develop)
BASE_BRANCH="develop"
# 2. Calculate complexity score
CODE=$(git diff --name-only $BASE_BRANCH..HEAD | grep -E '\.(ts|tsx)$' | grep -v test | wc -l)
TESTS=$(git diff --name-only $BASE_BRANCH..HEAD | grep -E '\.test\.|\.spec\.' | wc -l)
DIRS=$(git diff --name-only $BASE_BRANCH..HEAD | cut -d'/' -f1-2 | sort -u | wc -l)
COMMITS=$(git rev-list --count $BASE_BRANCH..HEAD)
SCORE=$((CODE * 2 + TESTS / 2 + DIRS * 3 + COMMITS))
# 3. Get scopes from commits
git log --oneline $BASE_BRANCH..HEAD --format="%s" | sed -n 's/^\w*(\([^)]*\)).*/\1/p' | sort | uniq -c
# 4. Recent branches for selection
git branch --sort=-committerdate --format='%(refname:short)' | head -5
# 5. Create PR
gh pr create \
--title "<type>(<scope>): <description>" \
--body "$BODY" \
--base $BASE_BRANCH \
--label "<label>" \
--draft # if WIP
```
## Post-PR output
After PR creation, ALWAYS display:
```
✅ PR créée : https://github.com/org/repo/pull/XXX
📋 Prochaines étapes automatiques :
• SonarQube analysera la qualité du code (bugs, vulnérabilités, code smells)
• Claude Code Review fournira un feedback IA sur votre PR
⏳ Pensez à surveiller ces analyses dans les prochaines minutes.
Si des problèmes sont détectés, corrigez-les avant de demander une review humaine.
```
## Edge cases
| Situation | Behavior |
|-----------|----------|
| No scope in commits | Analyze by directories |
| Non-conventional commits | Warn + ask type manually |
| No commits (same as base) | Error: "Aucun changement" |
| Single commit | Use commit message as title |
| Merge commits | Ignore (`--no-merges`) |
## Usage
```
/pr
/pr --base main
/pr --draft
```
Target: $ARGUMENTS (optional: --base, --draft)Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (2)
whitepapers/recap-cards/en/_extensions
whitepapers/recap-cards/fr/_extensions
Gates applied: no_behavioural_pass.
d90170da4369full audit observations/trust-audit/skill/florianbruniaux__pr.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | d90170da4369 | CAUTION | B | 89 | first audit |
Questions
What does the Pr skill do?
The most comprehensive Claude Code guide: agentic workflows, hooks, skills, MCP servers, quizzes, and production-ready templates. 430K+ lines.
Is Pr safe to install?
With care. The audit graded it B (89/100) and found 2 things worth knowing before you trust this skill, listed below with the exact line each was found on.
What can Pr access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does Pr work with?
Its documentation mentions claude-code. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (d90170da4369), read on 2026-10-07. The repository is watched, and a new audit runs when it changes — this is the first audit.