From dh-skills
Creates a thoughtful commit in a Graphite stack by analyzing staged changes, crafting a descriptive message, and using `gt create`.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dh-skills:commit-to-graphite-stackThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Creates a thoughtful commit in a Graphite stack by analyzing staged changes, crafting a descriptive message, and using `gt create`.
Creates a thoughtful commit in a Graphite stack by analyzing staged changes, crafting a descriptive message, and using gt create.
⚠️ MANUAL ONLY — This skill runs ONLY when you explicitly ask to commit. It will never auto-trigger.
| Arg | Required | Description |
|---|---|---|
| context | No | Extra context about the change — e.g. the reason, motivation, or any details to weave into the commit message body. |
Analyze Staged Changes
git diff --cached --stat to see what's stagedgit add before retryingCheck PR Size
*.spec.*, *.test.*) and lock files (pnpm-lock.yaml, package-lock.json, yarn.lock)git diff --cached --stat -- . ':!*.spec.*' ':!*.test.*' ':!pnpm-lock.yaml' ':!package-lock.json' ':!yarn.lock' and read the summary lineExtract Linear Ticket Number
linear-ticket-create skill, deriving the title and description from the diff context), then use the newly created ticket ID[FTF-123] feat: add user authenticationChoose Branch Name
feat/add-user-auth or ftf-123/add-user-auth)gt create <name> -m "message"Craft Commit Message
[TICKET] <type>: <description> (ticket prefix from previous step)Present Summary for Review
Commit with Graphite
gt create <branch-name> -m "message" (branch name from the earlier step)[FTF-123] feat: add user authentication
Summary
Adds JWT-based authentication with login endpoint and route protection.
Implement JWT token generation and login endpoint with credentials validation.
Store hashed passwords in database.
Add auth middleware for protected routes.
Test plan
- [ ] Log in with valid credentials and confirm token is issued
- [ ] Verify protected routes reject unauthenticated requests
[FTF-456] fix: resolve memory leak in cache cleanup
Summary
Fixes event listener leak causing memory growth in long-running sessions.
Fix improper cleanup of event listeners.
Add proper disposal in component lifecycle.
Verify memory usage with profiler.
Test plan
- [ ] Run app for 10+ minutes and confirm stable memory usage via profiler
- [ ] Verify no dangling event listeners in component teardown
[FTF-789] refactor: simplify state management
Summary
Consolidates state logic into a single reducer module with stricter types.
Extract reducer logic into separate module.
Remove redundant state variables.
Improve type safety with discriminated unions.
Test plan
- [ ] Verify all state transitions still work
- [ ] Confirm no regressions in UI behaviour
Before creating the commit, present a summary:
📋 COMMIT SUMMARY
─────────────────────────────────────────
Ticket: FTF-42
Type: feat
Title: [FTF-42] feat: add weekly prize modals and gift box icons
Files Changed: 14 files
+ 649 insertions, - 10 deletions
Key Files:
✨ src/lib/components/WeeklyWinModal.svelte
✨ src/lib/components/WeeklyNoWinModal.svelte
✨ src/lib/components/ui/gift-icon/gift-box-closed.svelte
✨ src/lib/components/ui/gift-icon/gift-box-open.svelte
📝 src/lib/state.svelte.ts
📝 src/routes/+page.svelte
PR Description:
Summary
Adds weekly prize outcome modals and gift box icon components.
Add WeeklyWinModal and WeeklyNoWinModal components for prize outcomes.
Add gift-box-closed and gift-box-open icon components.
Export new icons from gift-icon module.
Update state management for weekly prize flow.
Integrate new components into main page.
Test plan
- [ ] Open the weekly prize flow and verify win modal displays on win
- [ ] Verify no-win modal displays on loss
- [ ] Confirm gift box icons render correctly
Ready to commit? (yes/no)
Only proceed with gt create if user confirms. If user declines, ask what they'd like to change (message wording, scope, split into multiple commits, etc.) and revise accordingly.
ONLY when you explicitly ask to commit.
This skill is manual and does not auto-trigger. Examples of explicit requests:
This skill will NEVER run unless you explicitly invoke it or ask for a commit.
Graphite uses the commit body as the PR description. The commit message passed to gt create -m MUST use this format so PRs have proper descriptions:
[TICKET] <type>: <concise title>
Summary
<One-sentence overview of what the PR adds/changes/removes.>
<Bullet points expanding on specific changes — what was added, removed, or restructured.>
Test plan
- [ ] <Verification step 1>
- [ ] <Verification step 2 (if needed)>
The Stack / Base section is added automatically by Graphite — do NOT include it in the commit message.
[FTF-101] feat: add closing legal sections and signature block to agent PDF
Summary
Adds the closing legal sections and a signature block to the agent PDF.
Adds sections 11 (Terms and Conditions), 12 (Consent by the Agency) and 13 (Acceptance by the Discountor).
Adds a discountee signature block via buildAgentSignatureSection.
Test plan
- [ ] Export an agent deal PDF
- [ ] Confirm sections 11-13 render correctly
- [ ] Confirm the signature block renders
[FTF-102] feat: add discountor header to agent and mortgage PDFs
Summary
Adds the discountor header to the agent and mortgage PDFs and drops the redundant summary line.
Adds a "1. THE DISCOUNTOR" header (FT FINANCE (PTY) LTD) to the agent and mortgage layouts.
Removes the global "1. THE DISCOUNTEE" summary line from buildDealHtml now that each layout has its own discountee section.
Test plan
- [ ] Export an agent deal PDF and confirm the discountor header appears
- [ ] Export a mortgage deal PDF and confirm the discountor header appears
- [ ] Verify the old summary line is gone from both
[FTF-103] refactor: restructure seller PDF with discountor header and signatures
Summary
Restructures the seller PDF with a discountor header, property description and signatures.
Adds a "1. THE DISCOUNTOR" header (FT FINANCE (PTY) LTD).
Replaces the discountee banking-details block with a PROPERTY DESCRIPTION section.
Removes the "MAX ADVANCE (80%)" row and reflows the rate / deeds-search rows.
Adds a TERMS AND CONDITIONS clause and per-applicant signature blocks.
Minor signature-layout tweaks to the undertaking-request template.
Test plan
- [ ] Export a seller deal PDF
- [ ] Confirm the discountor header renders
- [ ] Confirm the property description section renders
- [ ] Confirm terms and signature blocks render
This skill pairs with Graphite's stacking workflow:
gt creategt creategt submit --no-interactive to push entire stack to PREach well-crafted commit becomes a reviewable unit in the stack.
Provides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.
npx claudepluginhub developer-hut/marketplace --plugin dh-skills