In short:
ak-gitgets finished code into git through 6 subcommands:cm,cp,pr,merge,merge-prandstack. It stages only the files of the current task, splits commits by type, writestype(scope): descriptionmessages, and when CI goes red after a merge it opens a fix branch throughak-fix. It does not commit when it sees a secret, and it does not merge a PR that fails the readiness gate.
Disclosure: I maintain AgentKit and have an affiliate relationship with it: the AgentKit link in this post is an affiliate link; buying through it gets you 30% off.
Summary
Use it when the code is done and you want a clean commit, push, PR or merge, especially when your working tree still has half-done files, your repo merges into a branch other than main, or you need to land a stack of PRs. You do not need cp when you only want to commit: cm is enough. If a PR still has red CI or conflicts, fix the source branch first, because merge-pr will stop.
flowchart LR
A["Code is done"] --> B["/ak-git cm or cp"]
B --> C["/ak-git pr"]
C --> D["/ak-git merge-pr"]
D --> E["CI green after merge, stop"]
D --> F["CI red: fix branch through ak-fix"]
B --> G["Secret found: stop, no commit"]It always answers 4 questions before it touches git:
| Point | Question | Example |
|---|---|---|
| Subcommand | How far do you want it to go? | cm only commits. cp commits then pushes. pr opens a PR. merge-pr 123 merges PR 123 then watches CI on the target branch until it is green. |
| Only this task's files | Which files belong to the change you want to commit? | You changed src/auth/ and are midway through src/billing/. It stages only the files in src/auth/ and leaves alone whatever you or others staged before. |
| Secret block | Does the change about to be committed hold a real key, password or DB connection string? | The diff has a real API_KEY=... line: it blocks the commit, points to the file, and suggests .gitignore or an environment variable. The word "token" in a function name is not a secret. |
| merge-pr readiness gate | Is this PR allowed to merge yet? | The PR is open, has no conflicts, CI is green or still running, and no changes are requested (CHANGES_REQUESTED). If one is missing, it stops and says why, and does not merge. |
pr pushes the current branch first and then compares on the remote, so uncommitted changes do not go into the PR. merge takes only the source branch from the remote, so unpushed commits do not go into the merge. With merge-pr, it also stops when the CI failure is outside the repo or the same failure remains after 3 fix attempts.
Sample prompt for committing only part of your changes:
/ak-git cm
Commit the login form fix in src/auth/ and the note in README.md.
Leave the half-done files in src/billing/ alone, do not stage them.This skill has no flags.
Below is the detailed version: the run flow, 5 situations with prompts, how to pass options when the skill has no flags, the change history by ak release, and common pitfalls. The detailed version and the interactive page are for subscribers. Your agent can also search them through the portal's MCP.
Opens when your account has subscriber access
This guide is for subscribers
Once your account has access, the full piece, the interactive visual and the agent call all open.
- Sign in or create a modernEngineer accountReading access belongs to your account email.
- Choose a plan on the pricing page1, 3 or 12 months, paid by VietQR bank transfer. Access opens about a minute after the money arrives.
- Or redeem a Facebook subscriber codePeople supporting the page on Facebook get an activation code by message each month.
Already a subscriber? Sign in to read.
Use this piece in your agent
Get an API keyCopy the text below and paste it into Claude Code, Codex or whichever agent you use. The agent reads the piece and checks it against the repo you have open.
Read "ak-git: commit, push, open prs and merge by the book" on modernEngineer and apply it to this repo.
1. Call the content_get tool of the modernengineer MCP server with locale "en", slug "ak-git". If the modernengineer MCP server is not connected, stop and walk me through connecting it from https://modernengineer.dev/en/mcp.
2. Summarize the main steps of the piece and point out which apply to this repo.
3. Propose concrete changes and ask me before editing any file.Connect MCP in Claude Code (once)
claude mcp add --transport http modernengineer \
https://api.modernengineer.dev/mcp \
--header "Authorization: Bearer <API key>"Reading the full piece over MCP needs an API key from a subscriber account or one that bought this guide. Without access, the agent only gets the opening.
- Version
- v1.0.0
- Updated
- 22/10/2026
- Licence
- All rights reserved
- Slug
- ak-git


