{"id":"972145ef-0e07-47d3-8c65-c662c4f69da2","shortId":"GfKwTV","kind":"skill","title":"code-stacked-commit","tagline":"Manage stacked commits using Graphite. Use when the user wants to create multiple stacked commits, manage a commit stack, sync with remote, or submit PRs from a stack. Triggers on \"stacked\", \"stack\", \"gt \", \"graphite\", or when working with multiple related commits.","description":"# Stacked Commit Skill (Graphite)\n\nManage stacked commits using [Graphite](https://graphite.dev) - a CLI for creating and managing stacked PRs.\n\n## When to Use\n\n- User wants to break work into multiple small, reviewable commits\n- Working with stacked commits (multiple commits stacked on each other)\n- Syncing and submitting stacked PRs\n\n## Prerequisites\n\nEnsure Graphite is installed:\n```bash\nbrew install graphite-dev || npm install -g @graphite-dev/cli\n```\n\n## Core Operations\n\n### 1. View Current Stack\n\n```bash\ngt stack\n```\n\nShows all branches in the stack with their status (synced, to-push, in-progress).\n\n### 2. Create a New Commit\n\n```bash\ngt branch create \"feat(auth): add JWT authentication\"\n```\n\nThis:\n1. Creates a new branch on top of the current stack\n2. Opens editor for commit message (or use `-m` for inline)\n3. Commits the staged changes\n\n**Works best when you:**\n- Stage specific files: `git add file1 file2`\n- Then create commit: `gt branch create \"feat: add feature\"`\n- Repeat for each logical unit of work\n\n### 3. Restack (Rebase onto Main)\n\n```bash\ngt branch restack\n```\n\nRebases all branches in the stack onto the latest main. Use before submitting or when main has advanced.\n\n### 4. Sync with Remote\n\n```bash\ngt branch sync\n```\n\nPull latest changes from remote and restack.\n\n### 5. Submit Stack as PRs\n\n```bash\ngt branch submit\n```\n\nCreates PRs for each branch in the stack. Opens browser to create the first PR; subsequent PRs link to it.\n\n### 6. Continue Working on Branch\n\nIf you need to add more changes to a specific commit:\n\n```bash\n# Make your changes, stage them\ngit add .\n\n# Amend to current branch\ngt branch continue\n```\n\n### 7. Navigate Stack\n\n```bash\n# Go to parent branch\ngt branch checkout @parent\n\n# Go to child branch  \ngt branch checkout @child\n```\n\n## Workflow Example\n\n```\n# Start new feature work\ngit checkout main\ngt branch create \"feat(api): add user endpoint\"\n\n# Add user endpoint code\ngit add src/users/\ngt branch continue  # Amend to current commit\n\n# Create next commit in stack\ngt branch create \"feat(api): add user validation\"\n\n# Add validation code  \ngit add src/validation/\ngt branch continue\n\n# View stack\ngt stack\n\n# Restack before submit\ngt branch restack\n\n# Submit all as stacked PRs\ngt branch submit\n```\n\n## Best Practices\n\n1. **One logical change per commit** - Each commit should be reviewable independently\n2. **Meaningful commit messages** - Use conventional commit format\n3. **Restack before submit** - Always `gt branch restack` before submitting to ensure clean history\n4. **Keep stack small** - Deep stacks can be hard to manage; 3-5 commits is ideal\n5. **Sync regularly** - Run `gt branch sync` often when working with others\n\n## Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| Conflicts during restack | Resolve in editor, then `gt branch continue` |\n| Stack broken | `gt branch repair` to fix detached HEAD |\n| Too many branches | `gt branch delete <name>` to remove (won't delete remote) |\n\n## Commit Message Format\n\nFollow conventional commits within the Graphite workflow:\n\n```\n<type>(<scope>): <subject>\n\n[optional body]\n```\n\nExamples:\n```\nfeat(api): add user profile endpoint\nfix(db): resolve connection pool exhaustion\ndocs(readme): update installation instructions\n```","tags":["code","stacked","commit","atelier","martinffx","agent-skills","agentic-coding","anthropic","claude-code","claude-skills","code-review","codex"],"capabilities":["skill","source-martinffx","skill-code-stacked-commit","topic-agent-skills","topic-agentic-coding","topic-anthropic","topic-claude-code","topic-claude-skills","topic-code-review","topic-codex","topic-codex-skill","topic-opencode","topic-prompt-engineering","topic-sdd","topic-spec-driven-development"],"categories":["atelier"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/martinffx/atelier/code-stacked-commit","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add martinffx/atelier","source_repo":"https://github.com/martinffx/atelier","install_from":"skills.sh"}},"qualityScore":"0.461","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 23 github stars · SKILL.md body (3,259 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:05:22.517Z","embedding":null,"createdAt":"2026-05-10T07:03:11.411Z","updatedAt":"2026-05-18T19:05:22.517Z","lastSeenAt":"2026-05-18T19:05:22.517Z","tsv":"'-5':445 '/cli':109 '1':112,150,399 '2':135,161,411 '3':172,204,419,444 '4':231,433 '5':246,449 '6':275 '7':306 'add':146,185,195,284,298,340,343,348,367,370,374,510 'advanc':230 'alway':423 'amend':299,353 'api':339,366,509 'auth':145 'authent':148 'bash':97,116,140,209,235,251,291,309 'best':178,397 'bodi':506 'branch':121,142,154,192,211,215,237,253,259,279,302,304,313,315,321,323,336,351,363,377,387,395,425,454,472,477,485,487 'break':70 'brew':98 'broken':475 'browser':264 'chang':176,241,286,294,402 'checkout':316,324,333 'child':320,325 'clean':431 'cli':57 'code':2,346,372 'code-stacked-commit':1 'commit':4,7,19,22,45,47,52,76,80,82,139,165,173,190,290,356,359,404,406,413,417,446,495,500 'conflict':464 'connect':517 'continu':276,305,352,378,473 'convent':416,499 'core':110 'creat':16,59,136,143,151,189,193,255,266,337,357,364 'current':114,159,301,355 'db':515 'deep':437 'delet':488,493 'detach':481 'dev':102,108 'doc':520 'editor':163,469 'endpoint':342,345,513 'ensur':93,430 'exampl':327,507 'exhaust':519 'feat':144,194,338,365,508 'featur':196,330 'file':183 'file1':186 'file2':187 'first':268 'fix':480,514 'follow':498 'format':418,497 'g':105 'git':184,297,332,347,373 'go':310,318 'graphit':9,38,49,54,94,101,107,503 'graphite-dev':100,106 'graphite.dev':55 'gt':37,117,141,191,210,236,252,303,314,322,335,350,362,376,381,386,394,424,453,471,476,486 'hard':441 'head':482 'histori':432 'ideal':448 'in-progress':132 'independ':410 'inlin':171 'instal':96,99,104,523 'instruct':524 'issu':462 'jwt':147 'keep':434 'latest':221,240 'link':272 'logic':200,401 'm':169 'main':208,222,228,334 'make':292 'manag':5,20,50,61,443 'mani':484 'meaning':412 'messag':166,414,496 'multipl':17,43,73,81 'navig':307 'need':282 'new':138,153,329 'next':358 'npm':103 'often':456 'one':400 'onto':207,219 'open':162,263 'oper':111 'option':505 'other':460 'parent':312,317 'per':403 'pool':518 'pr':269 'practic':398 'prerequisit':92 'profil':512 'progress':134 'prs':29,63,91,250,256,271,393 'pull':239 'push':131 'readm':521 'rebas':206,213 'regular':451 'relat':44 'remot':26,234,243,494 'remov':490 'repair':478 'repeat':197 'resolv':467,516 'restack':205,212,245,383,388,420,426,466 'review':75,409 'run':452 'show':119 'skill':48 'skill-code-stacked-commit' 'small':74,436 'solut':463 'source-martinffx' 'specif':182,289 'src/users':349 'src/validation':375 'stack':3,6,18,23,32,35,36,46,51,62,79,83,90,115,118,124,160,218,248,262,308,361,380,382,392,435,438,474 'stage':175,181,295 'start':328 'status':127 'submit':28,89,225,247,254,385,389,396,422,428 'subsequ':270 'sync':24,87,128,232,238,450,455 'to-push':129 'top':156 'topic-agent-skills' 'topic-agentic-coding' 'topic-anthropic' 'topic-claude-code' 'topic-claude-skills' 'topic-code-review' 'topic-codex' 'topic-codex-skill' 'topic-opencode' 'topic-prompt-engineering' 'topic-sdd' 'topic-spec-driven-development' 'trigger':33 'troubleshoot':461 'unit':201 'updat':522 'use':8,10,53,66,168,223,415 'user':13,67,341,344,368,511 'valid':369,371 'view':113,379 'want':14,68 'within':501 'won':491 'work':41,71,77,177,203,277,331,458 'workflow':326,504","prices":[{"id":"2cc2e2b3-8fc3-441b-913e-60458d3fae34","listingId":"972145ef-0e07-47d3-8c65-c662c4f69da2","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"martinffx","category":"atelier","install_from":"skills.sh"},"createdAt":"2026-05-10T07:03:11.411Z"}],"sources":[{"listingId":"972145ef-0e07-47d3-8c65-c662c4f69da2","source":"github","sourceId":"martinffx/atelier/code-stacked-commit","sourceUrl":"https://github.com/martinffx/atelier/tree/main/skills/code-stacked-commit","isPrimary":false,"firstSeenAt":"2026-05-10T07:03:11.411Z","lastSeenAt":"2026-05-18T19:05:22.517Z"}],"details":{"listingId":"972145ef-0e07-47d3-8c65-c662c4f69da2","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"martinffx","slug":"code-stacked-commit","github":{"repo":"martinffx/atelier","stars":23,"topics":["agent-skills","agentic-coding","anthropic","claude-code","claude-skills","code-review","codex","codex-skill","opencode","prompt-engineering","sdd","spec-driven-development"],"license":"mit","html_url":"https://github.com/martinffx/atelier","pushed_at":"2026-05-18T06:56:45Z","description":"An atelier for Opencode, Claude Code, and other coding agents: spec-driven workflows, deep thinking, and code quality.","skill_md_sha":"41da2e6040aa8aba44a7c28e3a93bc30c1f1b1d2","skill_md_path":"skills/code-stacked-commit/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/martinffx/atelier/tree/main/skills/code-stacked-commit"},"layout":"multi","source":"github","category":"atelier","frontmatter":{"name":"code-stacked-commit","description":"Manage stacked commits using Graphite. Use when the user wants to create multiple stacked commits, manage a commit stack, sync with remote, or submit PRs from a stack. Triggers on \"stacked\", \"stack\", \"gt \", \"graphite\", or when working with multiple related commits."},"skills_sh_url":"https://skills.sh/martinffx/atelier/code-stacked-commit"},"updatedAt":"2026-05-18T19:05:22.517Z"}}