Best for
- Create a branch for a new fix or feature
- Open a pull request on Gentleman-Programming/gentle-ai
- Prepare changes for review
Gentleman-Programming/gentle-ai/skills/branch-pr/SKILL.md
Create Gentle AI pull requests with issue-first checks. Trigger: creating, opening, or preparing PRs for review.
Decision brief
Create Gentle AI pull requests with issue-first checks. Trigger: creating, opening, or preparing PRs for review.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/Gentleman-Programming/gentle-ai --skill "skills/branch-pr"Inspect the Agent Skill "gentle-ai-branch-pr" from https://github.com/Gentleman-Programming/gentle-ai/blob/a6ae4bfa9d10668764a1d6fd8ec5bb2631f3ea98/skills/branch-pr/SKILL.md at commit a6ae4bfa9d10668764a1d6fd8ec5bb2631f3ea98. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Review the “Workflow” section in the pinned source before continuing.
Review the “Setup” section in the pinned source before continuing.
Load this skill whenever you need to: - Create a branch for a new fix or feature - Open a pull request on Gentleman-Programming/gentle-ai - Prepare changes for review
1. Every PR MUST link an approved issue — Closes/Fixes/Resolves in the PR body, and that issue MUST have status:approved. PRs without this are automatically rejected by CI. 2. Ordinary type: categorization — CI rejects zero or multiple type labels. Route it through the canonical…
Branch names must match this pattern:
Permission review
The documentation asks the agent to run terminal commands or scripts.
git checkout main && git pullThe documentation asks the agent to run terminal commands or scripts.
git checkout -b fix/<short-description>Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 95/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 6,004 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Load this skill whenever you need to:
Closes/Fixes/Resolves #<N> in the PR body, and that issue MUST have status:approved. PRs without this are automatically rejected by CI.type:* categorization — CI rejects zero or multiple type labels. Route it through the canonical issue-creation workflow contract: a current direct human instruction binds the exact target/action, target-host capability is verified, and it uses one bounded mutation and target-host readback; otherwise wait without mutation.status:approved or size:exception requires verified policy authority from a target-host repository maintainer or repository-authorized approver for the exact target/action, plus authenticated actor target-host viewerPermission MAINTAIN or ADMIN. size:exception additionally requires documented over-budget rationale.additions + deletions) or document the rationale required for a size:exception label.Co-Authored-By trailers — never add AI attribution to commits.1. Confirm the issue has status:approved
gh issue view <N> --repo Gentleman-Programming/gentle-ai
2. Create a branch from main using the naming convention below
3. Implement changes following specs and design
4. Run checks locally (format + unit + E2E)
5. Commit using Conventional Commits format
6. Open a PR referencing the issue
→ Declare exactly ONE type:* result in the PR body
→ Use the canonical issue-creation workflow contract before any PR-label mutation
→ Fill in the PR body using the template
7. All automated checks must pass before merge
Branch names must match this pattern:
^(feat|fix|chore|docs|style|refactor|perf|test|build|ci|revert)\/[a-z0-9._-]+$
| Type | Example |
|---|---|
feat/ | feat/user-login |
fix/ | fix/duplicate-observation-insert |
docs/ | docs/api-reference-update |
refactor/ | refactor/extract-query-sanitizer |
chore/ | chore/bump-bubbletea-v0.26 |
style/ | style/fix-linter-warnings |
perf/ | perf/optimize-catalog-loading |
test/ | test/add-pipeline-coverage |
build/ | build/update-goreleaser-config |
ci/ | ci/add-e2e-docker-job |
revert/ | revert/undo-model-picker-change |
Rules:
The PR body must follow the template at .github/PULL_REQUEST_TEMPLATE.md. All sections are required unless marked optional.
## 🔗 Linked Issue
Closes #<N>
## 🏷️ PR Type
- [ ] `type:bug` — Bug fix (non-breaking change that fixes an issue)
- [ ] `type:feature` — New feature (non-breaking change that adds functionality)
- [ ] `type:docs` — Documentation only
- [ ] `type:refactor` — Code refactoring (no functional changes)
- [ ] `type:chore` — Build, CI, or tooling changes
- [ ] `type:breaking-change` — Breaking change
## 📝 Summary
<!-- Clear description of what this PR does and why. -->
## 📂 Changes
| File / Area | What Changed |
|-------------|-------------|
| `path/to/file` | Brief description |
## 🧪 Test Plan
**Unit Tests**
\`\`\`bash
go test ./...
\`\`\`
**Go Format**
\`\`\`bash
go run ./internal/gofmtcheck
\`\`\`
**E2E Tests** (Docker required)
\`\`\`bash
cd e2e && ./docker-test.sh
\`\`\`
- [ ] Unit tests pass (`go test ./...`)
- [ ] Go format passes (`go run ./internal/gofmtcheck`)
- [ ] E2E tests pass (`cd e2e && ./docker-test.sh`)
- [ ] Manually tested locally
## ✅ Contributor Checklist
- [ ] PR is linked to an issue with `status:approved`
- [ ] PR stays within 400 changed lines, or the `size:exception` rationale and verified policy authority are documented
- [ ] API read-back confirms exactly one appropriate `type:*` label on this PR
- [ ] Unit tests pass (`go test ./...`)
- [ ] E2E tests pass (`cd e2e && ./docker-test.sh`)
- [ ] I have updated documentation if necessary
- [ ] My commits follow Conventional Commits format
- [ ] My commits do not include `Co-Authored-By` trailers
These checks run on every PR and all must pass before merge:
| Check | What It Verifies | How to Fix |
|---|---|---|
| Check PR Cognitive Load | PR stays within 400 changed lines (additions + deletions) or has size:exception | Split the PR, or document the size:exception rationale and verify policy authority before its canonical workflow action |
| Check Issue Reference | PR body contains Closes/Fixes/Resolves #N | Add Closes #<N> to the PR body |
Check Issue Has status:approved | Linked issue has the required label | Use the canonical issue-creation workflow contract only when a current direct instruction and target-host capability grant authorize the exact action; otherwise wait |
Check PR Has type:* Label | Exactly one type:* label is applied to the PR | Use the canonical issue-creation workflow contract only when a current direct instruction and target-host capability authorize the exact action; otherwise wait |
| Unit Tests | go test ./... passes | Fix failing tests before pushing |
| Go Format | go run ./internal/gofmtcheck passes | Format malformed Go files before pushing |
| E2E Tests | cd e2e && ./docker-test.sh passes | Fix failing E2E scenarios before pushing |
Commit messages must match this pattern:
^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\([a-z0-9\._-]+\))?!?: .+
<type>(<optional-scope>)!: <description>
[optional body]
[optional footer]
| Type | Purpose | PR Label |
|---|---|---|
feat | New feature | type:feature |
fix | Bug fix | type:bug |
docs | Documentation only | type:docs |
refactor | Code change (no behavior change) | type:refactor |
chore | Maintenance, dependencies, tooling | type:chore |
style | Formatting, linting (no logic change) | type:chore |
perf | Performance improvement | type:feature |
test | Adding or updating tests | type:chore |
build | Build system or external deps | type:chore |
ci | CI configuration | type:chore |
revert | Reverts a previous commit | matches reverted type |
Add ! after the type/scope:
feat(cli)!: rename --config flag to --config-file
BREAKING CHANGE: the --config flag has been renamed to --config-file.
Breaking changes map to type:breaking-change label.
feat(tui): add progress bar to installation steps
fix(agent): correct Claude Code detection on macOS
docs: update contributing guide
chore(deps): bump bubbletea to v0.26
refactor(pipeline): extract step executor
style: fix linter warnings in catalog package
perf(system): cache OS detection result
test(installer): add coverage for catalog step execution
build: update goreleaser config for arm64
ci: split unit and e2e test jobs
revert: undo model picker redesign
feat(cli)!: change default config path
# Confirm issue is approved before starting
gh issue view <N> --repo Gentleman-Programming/gentle-ai
# Create branch
git checkout main && git pull
git checkout -b fix/<short-description>
# Unit tests
go test ./...
# Go format
go run ./internal/gofmtcheck
# Unit tests — specific package
go test ./internal/tui/...
# Unit tests — verbose
go test -v ./...
# E2E tests (Docker must be running)
cd e2e && ./docker-test.sh
gh pr create \
--repo Gentleman-Programming/gentle-ai \
--title "fix(agent): correct Claude Code detection on Linux" \
--body "$(cat <<'EOF'
## 🔗 Linked Issue
Closes #42
## 🏷️ PR Type
- [x] \`type:bug\` — Bug fix (non-breaking change that fixes an issue)
## 📝 Summary
Fixes Claude Code binary detection failing on Linux when HOME is not set.
## 📂 Changes
| File / Area | What Changed |
|-------------|-------------|
| \`internal/agents/claude.go\` | Added HOME env var fallback |
## 🧪 Test Plan
- [x] Unit tests pass (\`go test ./...\`)
- [x] E2E tests pass (\`cd e2e && ./docker-test.sh\`)
- [x] Manually tested locally
## ✅ Contributor Checklist
- [x] PR is linked to an issue with \`status:approved\`
- [x] PR stays within 400 changed lines, or the \`size:exception\` rationale and verified policy authority are documented
- [x] API read-back confirms exactly one appropriate \`type:*\` label on this PR
- [x] Unit tests pass (\`go test ./...\`)
- [x] E2E tests pass (\`cd e2e && ./docker-test.sh\`)
- [x] I have updated documentation if necessary
- [x] My commits follow Conventional Commits format
- [x] My commits do not include \`Co-Authored-By\` trailers
EOF
)"
gh pr checks --repo Gentleman-Programming/gentle-ai <PR-number>
gh pr view --repo Gentleman-Programming/gentle-ai <PR-number>
Frequently asked questions
Create Gentle AI pull requests with issue-first checks. Trigger: creating, opening, or preparing PRs for review.
The source record exposes this install command: npx skills add https://github.com/Gentleman-Programming/gentle-ai --skill "skills/branch-pr". Inspect the command and pinned source before running it.
Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
garrytan/gbrain
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing
vipshop/cache-dit
High-level guide for integrating a new DiT model into cache-dit: Cache (BlockAdapter/ForwardPattern), Context Parallelism, Tensor Parallelism, Text Encoder Parallelism (TE-P), VAE Parallelism (VAE-P), generate CLI, installation, testing workflow, and detailed references. Use when adding support for a new diffusion transformer model in cache-dit.