Claude-skill-registry create-feature-pr
Create a new feature branch, implement feature work, commit with semantic-commit, and open a PR with gh using standardized templates. Use when the user asks to develop a new feature, start a feature branch, or open a feature PR; also when asked to draft a feature PR based on the latest commit message.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/create-feature-pr" ~/.claude/skills/majiayu000-claude-skill-registry-create-feature-pr && rm -rf "$T"
manifest:
skills/data/create-feature-pr/SKILL.mdsource content
Create Feature PR
Contract
Prereqs:
- Run inside the target git repo with a clean working tree (or stash unrelated changes).
andgit
available ongh
, andPATH
succeeds.gh auth status
points at the repo root (or tools are otherwise available).$AGENT_KIT_HOME
Inputs:
- Feature summary + acceptance criteria (preferred) or inferred from the latest commit subject.
- Related progress file path under
to link in the PR body.docs/progress/
Outputs:
- A new branch
, one or more commits, and a GitHub PR created viafeat/<slug>
.gh - PR body populated from
with a full GitHub URL to the progress file.references/PR_TEMPLATE.md
Exit codes:
- N/A (multi-command workflow; failures surfaced from underlying
/git
commands)gh
Failure modes:
- Dirty working tree or wrong base branch.
- Missing
auth or insufficient permissions to push/create PR.gh - PR body missing required sections or missing/invalid progress link.
Setup
- Load commands with
source $AGENT_KIT_HOME/scripts/kit-tools.sh
Inputs
- Prefer explicit user feature description and acceptance criteria.
- If missing, read the latest commit message:
.git log -1 --pretty=%B - If still unclear, ask for a 1-2 sentence feature summary and expected behavior.
Branch naming
- Prefix:
.feat/ - Build the slug from the feature summary or latest commit subject.
- Slug rules: lowercase; replace non-alphanumeric with hyphens; collapse hyphens; trim to 3-6 words.
- If a ticket ID like ABC-123 appears, prefix it:
.feat/abc-123-<slug>
Workflow
- Confirm the working tree is clean; stash or commit if needed.
- Determine the base branch (default
); ask if unclear.origin/HEAD - Create the branch:
.git checkout -b feat/<slug> - Implement the feature with minimal scope; avoid unrelated refactors.
- Add or update tests when reasonable; run available lint/test/build commands.
- Commit using the
skill; prefer a single commit unless splitting is justified.semantic-commit - Push the branch and open a PR with
usinggh pr create
.references/PR_TEMPLATE.md
PR rules
- Title: capitalize the first word; reflect the feature outcome; do not reuse the commit subject verbatim.
- Replace the first H1 line in
with the PR title.references/PR_TEMPLATE.md - Progress: include a link to the related progress file under
(and update todocs/progress/
when DONE).docs/progress/archived/- Use a full GitHub URL (e.g.
) because PR bodies resolve relative links underhttps://github.com/<owner>/<repo>/blob/<branch>/docs/progress/...
./pull/
- Use a full GitHub URL (e.g.
- Always include Summary, Changes, Testing, and Risk/Notes sections.
- If tests are not run, state "not run (reason)".
- Use
to generate the PR template quickly.scripts/render_feature_pr.sh --pr
Output
- Use
as the response format.references/OUTPUT_TEMPLATE.md - Use
to generate the output template quickly.scripts/render_feature_pr.sh --output