
Helmor Cli
Drive Helmor from the terminal—inspect workspaces, send prompts, run MCP—and split an oversized diff into a dependent PR stack with user-confirmed slices.
Overview
helmor-cli is an agent skill most often used in Build (also Ship review and Operate iterate) that operates the Helmor CLI and breaks large workspace diffs into user-confirmed stacked PRs.
Install
npx skills add https://github.com/dohooo/helmor --skill helmor-cliWhat is this skill?
- `helmor break` mirrors `stack`: slices an existing workspace diff into nested PRs after user confirms granularity
- Mandatory recovery snapshot: WIP commit, ORIG ref, and helmor/break-backup branch before rewriting the root workspace
- Diff analysis via git diff --name-status against workspace base (e.g. origin/main) grouped by concern
- Default prompt paths: inspect data, manage workspaces, send prompts, or run Helmor as an MCP server
- Each slice sourced from $ORIG so resets do not lose the full change set
Adoption & trust: 974 installs on skills.sh; 1.2k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent finished a big feature in one Helmor workspace and you need reviewable stacked PRs without losing the original diff when the root branch is reset.
Who is it for?
Solo builders using Helmor who want terminal or MCP control and disciplined git stacking for agent-written changes.
Skip if: Teams not on Helmor, repos that forbid multi-PR stacks, or changes where you refuse to snapshot WIP state before rewriting the root workspace.
When should I use this skill?
Use the Helmor CLI to inspect data, manage workspaces, send prompts, run Helmor as an MCP server, or break an existing change into a confirmed PR stack.
What do I get? / Deliverables
You get a nested stack of workspaces and PRs sliced from $ORIG with a named backup ref, after explicit user confirmation of granularity.
- Nested stack of workspaces and PRs per confirmed slices
- helmor/break-backup recovery branch and ORIG ref for the full change
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Build → integrations is the canonical shelf because Helmor CLI wires your agent into workspace data and git-backed change flows during active implementation. Integrations fits terminal and MCP access to Helmor plus git operations that connect the coding agent to PR workspaces, not pure unit testing or SEO work.
Where it fits
Run Helmor as MCP so Cursor can list workspaces and send prompts against live data.
Break a monolithic agent diff into schema, API, and UI PRs after the user confirms slice sizes.
Recover from a bad root reset using helmor/break-backup while continuing a multi-PR feature stack.
How it compares
Helmor-specific git stack orchestration via CLI/MCP, not a generic GitHub-only squash merge helper.
Common Questions / FAQ
Who is helmor-cli for?
Developers shipping with Helmor who want terminal inspection, MCP serving, and break/stack workflows for agent-generated diffs.
When should I use helmor-cli?
During Build integrations when wiring Helmor into your agent, during Ship review to split an oversized PR, or during Operate iterate when maintaining dependent feature stacks—especially before resetting the root workspace.
Is helmor-cli safe to install?
It instructs git commits, branches, and diffs; review the Security Audits panel on this Prism page and ensure backup branches meet your team policy before automated slicing.
SKILL.md
READMESKILL.md - Helmor Cli
interface: display_name: "Helmor CLI" short_description: "Use Helmor from the terminal." default_prompt: "Use the Helmor CLI to inspect data, manage workspaces, send prompts, or run Helmor as an MCP server." # `/helmor-cli break` — split an existing change into a stack `break` is the mirror of `stack`: instead of planning a stack from scratch, it takes the change you've **already written** in the current workspace and carves it into a stack of small, dependent PRs — **confirming the slicing granularity with the user** before committing to anything. The output is the normal stack: one workspace + PR per slice, nested in the sidebar. **Input**: the current workspace's full diff vs its base branch. The current workspace becomes the stack's **root**, so capture a recovery ref before you rewrite anything: ```bash git commit -am "WIP: snapshot before break" # only if the working tree is dirty ORIG=$(git rev-parse HEAD) # the full change you're slicing git branch helmor/break-backup "$ORIG" # named recovery point ``` Source every slice below from `$ORIG` (not the branch name) — once the root is reset, the branch no longer points at the full change. ## Workflow ### 1. Analyze the diff ```bash git diff --name-status <base>... ``` (`<base>` is the workspace's target branch, e.g. `origin/main` — the system prompt tells you which.) Read the changed files and their add/modify/delete status, and group them by concern (schema/data, backend/API, UI, tests, docs…). ### 2. Propose a slicing Build a **dependency-ordered** list of slices (bottom depends on nothing new; top depends on everything below), e.g. `db → api → ui`. For each slice give: a title, the files it contains, and the one-line reason it depends on the slice below. Show the full proposal. ### 3. Confirm granularity WITH the user — the point of `break` Do NOT auto-split. Present the proposal and let the user steer the granularity with structured choices: - **Approve** as-is. - **Coarser** — merge two adjacent slices. - **Finer** — split a slice (e.g. pull tests into their own layer). - **Move a file** — reassign a file to a different slice. - **Reorder** — fix the dependency order. Loop until the user approves. Also **proactively ask** about ambiguous files — a single file whose changes span concerns (e.g. `utils.ts` with both schema and UI helpers): keep it whole in one slice, or flag it for a manual hunk-level split (out of scope for v1 — see Limits). ### 4. Materialize the stack (bottom-up) — your current workspace becomes the root The workspace you're in becomes the **bottom** layer; only the higher layers are new workspaces. No throwaway launchpad, nothing to delete afterward. For each slice K, from the bottom up: 1. Get the layer's workspace: - **bottom slice (root) = your current workspace** — reset it onto the base and rebuild it as slice 1 only: ```bash git reset --hard <base> # e.g. origin/main — the slicing base git checkout "$ORIG" -- <slice-1 added/modified files> git rm <slice-1 deleted files> # if any git commit -m "<slice 1 title>" ``` - **every higher slice**: `helmor workspace new --parent <slice K-1 workspace>` (the first higher layer's `--parent` is your current workspace). 2. Apply **only slice K's files** onto that layer (it already contains slices 1..K-1 because it forked off the layer below), sourcing from `$ORIG`: - added / modified files: `git checkout "$ORIG" -- <files>` - deleted files: `git rm <files>` - then commit with the slice title. Drive each higher layer with a focused dispatch so it works inside its own worktree (pass `$ORIG`'s SHA explicitly; `helmor/break-backup` resolves it too): ```bash helmor send --workspace <id> --plan "Apply ONLY these files from <ORIG-sha>: <list>. \ Added/modified: git checkout <ORIG-sha> -- <files>. Deleted: git rm <files>. \ Commit as '<title>'. Do not touch anything