Create Gentle AI pull requests with issue-first checks. Trigger: creating, opening, or preparing PRs for review.
55
61%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./internal/assets/skills/branch-pr/SKILL.mdUse 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 passBranch 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 agentAll 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"e01b114
Also appears in
since May 15, 2026
since Apr 3, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.