Finish a feature — run verification, create PR, retain learnings, and hand off cleanup to the terminal.
51
55%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/finish-feature/SKILL.mdYou are finishing a feature. Run the full completion pipeline before handing off to the developer for worktree cleanup.
IMPORTANT: Do NOT clean up the worktree or switch branches from inside this session — that is a terminal action performed by the developer after the session ends.
git branch --show-current (regex [A-Z]+-[0-9]+); if none, use none.mark_chapter with {title: "Finish — <TICKET>", summary: "Finishing the feature"}.
If mark_chapter is unavailable (e.g. running outside Claude Code), skip silently.printf '\e]2;%s — Finish\007' "<TICKET>"Assess the current state. Run:
git branch --show-current
git status
git diff --stat
git log --oneline main..HEAD 2>/dev/null || git log --oneline master..HEADConfirm you are on a feature branch (not main/master) and there are changes to finalize.
Run verification checks. Execute the full check pipeline:
devflow checkIf devflow check is not available, run lint, types, and tests directly:
yarn lint
yarn build
yarn test --changedSince=mainIf checks fail, report the failures clearly and stop. Do NOT continue past this step with failing checks. Help the user fix issues if they ask.
Diff self-test (Surgical Changes). Run git diff origin/main...HEAD and scan for:
If any exist, surface them to the user. Offer to move them to a separate PR or revert. Don't silently ship them.
Stage and commit. If there are uncommitted changes:
git add -Afeat:, fix:, refactor:, etc.)Push and create PR. Push the branch and create a pull request:
git push -u origin HEADThen create the PR using gh:
gh pr create --title "<title>" --body "<body>"The PR body should include:
Present the PR URL to the user.
Retain session learnings. Review the session and retain important discoveries:
retain for each learning, tagged with the project namePresent the summary and hand off cleanup:
## Feature Complete
**Branch:** <branch-name>
**PR:** <pr-url>
**Commits:** <count>
**Files changed:** <count>
### Checks
- [PASS/FAIL] Lint
- [PASS/FAIL] Types
- [PASS/FAIL] Tests
### Learnings Retained
- [list of retained memories]
### Cleanup (run from your terminal)
To remove the worktree after PR is merged:
devflow done <branch-name>
# or manually:
wt drop <branch-name>main from inside the agent — use PRs.$ARGUMENTS
b0b1bb6
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.