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/148c1ead00cfe0c5e9665076316bbc066d341ee9/skills/branch-pr/SKILL.md at commit 148c1ead00cfe0c5e9665076316bbc066d341ee9. 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. Exactly one type: label — apply exactly ONE type label to the PR. CI will reject PRs with zero or multi…
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>The documentation asks the agent to create, modify, or delete local files.
gh pr edit <PR-number> --repo Gentleman-Programming/gentle-ai --add-label "type:bug"Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 94/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 5,421 | 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:* label — apply exactly ONE type label to the PR. CI will reject PRs with zero or multiple type labels.additions + deletions) or request/obtain maintainer-applied size:exception with rationale documented.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
→ Add exactly ONE type:* label
→ 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 I have requested/obtained maintainer-applied `size:exception` with rationale documented
- [ ] I have added the appropriate `type:*` label to 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 request/obtain maintainer-applied size:exception and document the rationale |
| 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 been approved by a maintainer | Wait for maintainer to add status:approved to the issue |
Check PR Has type:* Label | Exactly one type:* label is applied to the PR | Ask a maintainer to add the correct label; remove extras |
| 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 I have requested/obtained maintainer-applied \`size:exception\` with rationale documented
- [x] I have added the appropriate \`type:*\` label to 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>
gh pr edit <PR-number> --repo Gentleman-Programming/gentle-ai --add-label "type:bug"
Alternatives
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
dotnet/skills
Guidance for configuring dependency injection in .NET MAUI apps — service registration in MauiProgram.cs, lifetime selection (Singleton / Transient / Scoped), constructor injection, Shell navigation auto-resolution, platform-specific registrations, and testability patterns. USE FOR: "dependency injection", "DI setup", "AddSingleton", "AddTransient", "AddScoped", "service registration", "constructor injection", "IServiceProvider", "MauiProgram DI", "register services", "BindingContext injection".
davepoon/buildwithclaude
Automate CircleCI tasks via Rube MCP (Composio): trigger pipelines, monitor workflows/jobs, retrieve artifacts and test metadata. Always search tools first for current schemas.