pr-all-in-one — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pr-all-in-one (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Streamlines commit-to-PR workflow with auto-commit, smart issue linking, and multi-language support. Handles the complete flow from uncommitted changes to published PR with intelligent branch management, logical commit grouping, and context-aware PR descriptions.
/pr-all-in-one [target-branch] [issue-id]Examples:
/pr-all-in-one - PR to default branch, issue ID from branch name/pr-all-in-one develop - PR to develop, issue ID from branch name/pr-all-in-one main ISSUE-12345 - PR to main with issue ID/pr-all-in-one ISSUE-12345 - PR to default branch with issue IDArgument Parsing:
target-branch: Branch name (main, develop, master, etc.)issue-id: Matches configured issue pattern (JIRA-123, #456, ENG-789, etc.)Location: .claude/pr-config.json
First-time run: Interactive setup flow guides you through configuration.
See configuration-guide.md for:
┌─────────────────────────────────────────────────┐
│ Workflow Execution │
└─────────────────────────────────────────────────┘
Step 1: Parse arguments
├── Issue pattern → issue ID
├── Branch name → target branch
└── Defaults from config
Step 2: Check git status & branch
├── git status (uncommitted changes)
└── git branch --show-current
Step 3: Handle main branch case
├── If on target branch with changes
│ ├── Analyze changes for branch name
│ ├── Create new branch: git checkout -b <type>/<description>
│ └── Proceed to Step 4
└── If on target branch without changes → Exit
Step 4: Auto-commit changes
├── Analyze with git diff
├── Group by feature/purpose
└── For each group:
├── git add <related-files>
├── Conventional commit message (English)
└── NO AI signature/Co-Authored-By
Step 5: Push to remote
└── git push -u origin <branch> (if needed)
Step 6: Check existing PR
└── gh pr view --json url,title,body
Step 7: Update existing PR (if exists)
├── Analyze all commits: git log <target>..HEAD
├── Read prLanguage from .claude/pr-config.json
├── Select template based on prLanguage:
│ ├── "en" → English Template
│ ├── "ko" → Korean Template
│ └── "bilingual" → Bilingual Template
├── Generate title:
│ ├── "en"/"bilingual" → English title
│ └── "ko" → Korean title
├── Generate body with selected template
├── Merge with .github/pull_request_template.md (if exists)
├── NO AI signature
└── gh pr edit --title --body
Step 8: Create new PR (if not exists)
├── Analyze all commits
├── Read prLanguage from .claude/pr-config.json
├── Select template based on prLanguage:
│ ├── "en" → English Template
│ ├── "ko" → Korean Template
│ └── "bilingual" → Bilingual Template
├── Generate title:
│ ├── "en"/"bilingual" → English (e.g., "feat: add auth")
│ └── "ko" → Korean (e.g., "feat: add authentication")
├── Generate body with selected template + commit analysis
├── Merge with project template if exists
├── NO AI signature
└── gh pr create --draft --base <target>
Step 9: Return PR URL
└── If UI changes detected → suggest screenshots ┌─────────────────┐
│ Check Config │
│ pr-config.json │
└────────┬────────┘
│
┌──────────────┴──────────────┐
│ │
▼ ▼
┌────────────────┐ ┌─────────────────┐
│ Config Exists │ │ No Config │
└───────┬────────┘ └────────┬────────┘
│ │
│ ▼
│ ┌─────────────────┐
│ │ Interactive │
│ │ Setup (1st run) │
│ └────────┬────────┘
│ │
└──────────────┬──────────────┘
│
▼
┌────────────────┐
│ Check Git │
│ - branch │
│ - uncommitted │
└───────┬────────┘
│
┌─────────────────┼─────────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌───────────┐ ┌───────────┐
│ On main │ │ Has │ │ No │
│ branch │ │ Changes │ │ Changes │
└────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
▼ ▼ │
┌──────────┐ ┌───────────┐ │
│ Create │ │ Logical │ │
│ Branch │ │ Group & │ │
└────┬─────┘ │ Commit │ │
│ └─────┬─────┘ │
│ │ │
└─────────────────┼─────────────────┘
│
▼
┌────────────────┐
│ Remote Push │
│ (if needed) │
└───────┬────────┘
│
▼
┌─────────────────┐
│ Check PR │
│ gh pr view │
└────────┬────────┘
│
┌─────────────┴─────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ PR Exists │ │ No PR │
│ → Update │ │ → Create │
└──────┬──────┘ └──────┬──────┘
│ │
└────────────┬─────────────┘
│
▼
┌────────────────┐
│ Return URL │
│ + Screenshot │
│ suggestion │
└────────────────┘Changes are automatically grouped and committed with semantic messages:
Grouping Strategy:
Commit Message Format:
<type>(<scope>): <description>
[optional body]Types: feat, fix, chore, docs, refactor, test, style, perf
Important:
commitLanguage)Co-Authored-By: Claude etc.)PR descriptions are generated in the configured language and follow project templates when available.
#### When prLanguage: "en"
Title: feat: add user authentication
Body:
## Context
**Related Links:**
- Issue: [AUTH-123](https://jira.example.com/browse/AUTH-123)
**Description Details:**
Added JWT-based authentication with refresh token support.
## Screenshots or Videos
N/A (no UI changes)#### When prLanguage: "ko"
Title: feat: add user authentication
Body:
## Context
**Related Links:**
- Issue: [AUTH-123](https://jira.example.com/browse/AUTH-123)
**Description Details:**
Added JWT-based authentication with refresh token support.
## Screenshots or Videos
N/A (no UI changes)#### When prLanguage: "bilingual"
Title: feat: add user authentication
Body:
## Context
**Related Links:**
- Issue: [AUTH-123](https://jira.example.com/browse/AUTH-123)
**Description Details:**
Added JWT-based authentication with refresh token support.
---
**Description Details (Korean):**
Added JWT-based authentication with refresh token support. (Korean translation here)
## Screenshots or Videos
N/A (no UI changes)For detailed template definitions, see pr-templates.md.
If .github/pull_request_template.md exists:
Issue ID is resolved with the following priority:
/pr-all-in-one ISSUE-123feat/ISSUE-123-description → ISSUE-123Branch Name Patterns:
feat/PROJ-123-add-login → PROJ-123fix/123-bug-fix → #123 (GitHub)feature/ENG-456-new-feature → ENG-456chore/update-deps → N/A (no issue)See issue-patterns.md for comprehensive pattern reference.
When UI changes are detected in the diff:
UI Change Detection:
AI Signature Exclusion:
Co-Authored-By: Claude or similarConventional Commits:
conventionalCommits settingDraft PR by Default:
draftByDefault settingBranch Naming:
branchNaming.pattern{type}/{description}{type}, {issue}, {description} placeholdersbranchNaming.types listconfiguration-guide.mdissue-patterns.mdpr-templates.md~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.