skills/branch-pr/SKILL.md
PR creation workflow for Agent Config following the issue-first enforcement system. Trigger: When creating a pull request, opening a PR, or preparing changes for review.
npx skillsauth add fearovex/claude-config branch-prInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Triggers: creating a pull request, opening a PR, preparing a branch for review.
Use this skill when:
type:* label1. Verify issue has `status:approved` label
2. Create branch: type/description (see Branch Naming below)
3. Implement changes with conventional commits
4. Run shellcheck on modified scripts
5. Open PR using the template
6. Add exactly one type:* label
7. Wait for automated checks to pass
Branch names MUST match this regex:
^(feat|fix|chore|docs|style|refactor|perf|test|build|ci|revert)\/[a-z0-9._-]+$
Format: type/description — lowercase, no spaces, only a-z0-9._- in description.
| Type | Branch pattern | Example |
|------|---------------|---------|
| Feature | feat/<description> | feat/user-login |
| Bug fix | fix/<description> | fix/zsh-glob-error |
| Chore | chore/<description> | chore/update-ci-actions |
| Docs | docs/<description> | docs/installation-guide |
| Style | style/<description> | style/format-scripts |
| Refactor | refactor/<description> | refactor/extract-shared-logic |
| Performance | perf/<description> | perf/reduce-startup-time |
| Test | test/<description> | test/add-setup-coverage |
| Build | build/<description> | build/update-shellcheck |
| CI | ci/<description> | ci/add-branch-validation |
| Revert | revert/<description> | revert/broken-setup-change |
The PR template is at .github/PULL_REQUEST_TEMPLATE.md. Every PR body MUST contain:
Closes #<issue-number>
Valid keywords: Closes #N, Fixes #N, Resolves #N (case insensitive).
The linked issue MUST have the status:approved label.
Check exactly ONE in the template and add the matching label:
| Checkbox | Label to add |
|----------|-------------|
| Bug fix | type:bug |
| New feature | type:feature |
| Documentation only | type:docs |
| Code refactoring | type:refactor |
| Maintenance/tooling | type:chore |
| Breaking change | type:breaking-change |
1-3 bullet points of what the PR does.
| File | Change |
|------|--------|
| `path/to/file` | What changed |
- [x] Scripts run without errors: `shellcheck scripts/*.sh`
- [x] Manually tested the affected functionality
- [x] Skills load correctly in target agent
All boxes must be checked:
type:* labelCo-Authored-By trailers| Check | Job name | What it verifies |
|-------|----------|-----------------|
| PR Validation | Check Issue Reference | Body contains Closes/Fixes/Resolves #N |
| PR Validation | Check Issue Has status:approved | Linked issue has status:approved |
| PR Validation | Check PR Has type:* Label | PR has exactly one type:* label |
| CI | Shellcheck | Shell scripts pass shellcheck |
Commit messages MUST match this regex:
^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\([a-z0-9\._-]+\))?!?: .+
Format: type(scope): description or type: description
type — required, one of: build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test(scope) — optional, lowercase with a-z0-9._-! — optional, indicates breaking changedescription — required, starts after : Type-to-label mapping:
| Commit type | PR label |
|-------------|----------|
| feat | type:feature |
| fix | type:bug |
| docs | type:docs |
| refactor | type:refactor |
| chore | type:chore |
| style | type:chore |
| perf | type:feature |
| test | type:chore |
| build | type:chore |
| ci | type:chore |
| revert | type:bug |
| feat! / fix! | type:breaking-change |
Examples:
feat(scripts): add Codex support to setup.sh
fix(skills): correct topic key format in sdd-apply
docs(readme): update multi-model configuration guide
refactor(skills): extract shared persistence logic
chore(ci): add shellcheck to PR validation workflow
perf(scripts): reduce setup.sh execution time
style(skills): fix markdown formatting
test(scripts): add setup.sh integration tests
ci(workflows): add branch name validation
revert: undo broken setup change
feat!: redesign skill loading system
# Create branch
git checkout -b feat/my-feature main
# Run shellcheck before pushing
shellcheck scripts/*.sh
# Push and create PR
git push -u origin feat/my-feature
gh pr create --title "feat(scope): description" --body "Closes #N"
# Add type label to PR
gh pr edit <pr-number> --add-label "type:feature"
business
Turns an already-investigated customer issue into a short, non-technical engineering-to-CS brief: one natural message that leads with the finding (root cause, real scope, open question), ready to paste into Slack for the support team. Trigger: /support-brief, support brief, brief for support, resumen soporte.
development
Parks the current Claude Code session before going to sleep. Analyzes the conversation, writes a handoff document to docs/handoffs/ in the current project, mirrors the same summary to engram tagged with the session ID, and prints the exact `claude --resume <id>` command for tomorrow. Zero interaction — runs end-to-end on a single invocation. Trigger: /night-park, night park, park session, me voy a dormir, guardar sesion.
testing
Interactive creator for a project feature: scaffolds the domain knowledge markdown at ai-context/features/<slug>.md AND the antenna skill at .claude/skills/<slug>/SKILL.md, both from the canonical templates. Also registers the antenna in the project's CLAUDE.md. Trigger: /feature-define <name>, define feature, documentar funcionalidad, nueva feature.
data-ai
Generates a short, non-technical, informal English summary of an already-investigated customer issue, ready to paste into Slack/email for support, CX, or ops teammates. Trigger: /customer-summary, customer summary, resumir customer issue, slack summary.