compose:merge

compose:merge is a skill for Claude Code, Codex from sergezuber/FABULA-LLM-5. It costs 41 tokens per session (2,047 once invoked), scanned A, a copy of compose:merge, MIT.

A guide for finishing development work after the tests pass, including choosing whether to merge changes, open a pull request, or clean up a branch.

In plain words
What is it for?
Use it at the end of a coding task to verify tests, inspect the Git environment, complete the chosen integration action, and clean up.
Why use it?
It turns the final repository steps into a clear decision based on the current Git setup, such as whether the work is in a separate worktree.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it at the end of a coding task to verify tests, inspect the Git environment, complete the chosen integration action, and clean up.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/sergezuber/fabula-llm-5/merge
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add sergezuber/FABULA-LLM-5 --skill merge
Clone the repo
git clone --depth 1 https://github.com/sergezuber/FABULA-LLM-5

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for compose:merge

README.md
[![agentmods](https://agentmods.dev/badge/skills/sergezuber/fabula-llm-5/merge/github.svg)](https://agentmods.dev/skills/sergezuber/fabula-llm-5/merge)
Your own site
<a href="https://agentmods.dev/skills/sergezuber/fabula-llm-5/merge"><img src="https://agentmods.dev/badge/skills/sergezuber/fabula-llm-5/merge/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for compose:merge

Your own site · 80×15
<a href="https://agentmods.dev/skills/sergezuber/fabula-llm-5/merge"><img src="https://agentmods.dev/badge/skills/sergezuber/fabula-llm-5/merge.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 41 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,047 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 95% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00041 $0.02047
Opus 5 $0.00020 $0.01024
Sonnet 5 $0.00008 $0.00409
Haiku 4.5 $0.00004 $0.00205

Measured 10d ago against content hash 2454974bfe26, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

compose:merge scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

95% identical to compose:merge — 1 line differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

engine/packages/opencode/src/skill/compose/.bundle/merge/SKILL.md · 253 lines

How it starts

The opening of the file, as written. The whole thing — 253 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Finishing a Development Branch

Overview

Guide completion of development work by presenting clear options and handling chosen workflow.

Core principle: Verify tests → Detect environment → Present options → Execute choice → Clean up.

Announce at start: "I'm using the compose:merge skill to complete this work."

The Process

Step 1: Verify Tests

Before presenting options, verify tests pass:

# Run project's test suite
npm test / cargo test / pytest / go test ./...

If tests fail:

Tests failing (<N> failures). Must fix before completing:

[Show failures]

Cannot proceed with merge/PR until tests pass.

Stop. Don't proceed to Step 2.

If tests pass: Continue to Step 2.

Step 2: Detect Environment

Determine workspace state before presenting options:

GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)

This determines which menu to show and how cleanup works:

State Menu Cleanup
GIT_DIR == GIT_COMMON (normal repo) Standard 4 options No worktree to clean up
GIT_DIR != GIT_COMMON, named branch Standard 4 options Provenance-based (see Step 6)
GIT_DIR != GIT_COMMON, detached HEAD Reduced 3 options (no merge) No cleanup (externally managed)

Step 3: Determine Base Branch

# Try common base branches
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null

If the base branch is ambiguous, confirm through compose:ask:

  • header: Base Branch
  • question: This branch appears to have split from <detected>. Correct?
  • options:
    • label: Yes, <detected>, description: Use <detected> as merge target
    • label: Different branch, description: I'll specify the correct base branch

If no user is available, use the detected base branch and proceed.

Step 4: Present Options

Normal repo / named-branch worktree — use compose:ask:

  • header: Complete Work
  • question: Implementation complete. What would you like to do?
  • options:
    • label: Merge locally, description: Merge back to <base-branch>
    • label: Create PR, description: Push branch and open a Pull Request
    • label: Keep as-is, description: Leave the branch — I'll handle it later
    • label: Discard, description: Delete branch and all commits

Read the full file on GitHub · 253 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 253 lines · 41 tokens per session scan A 2454974bfe26

Subscribe to this mod's changes

compose:merge is a skill published in the GitHub repository sergezuber/FABULA-LLM-5 (83 stars, last pushed 9d ago), licensed MIT. It adds 41 tokens to every session and 2,047 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 95% identical to compose:merge, differing in 1 line, and is treated as a copy.

Related

Other skills, from other repositories

prime-silo-devops

DevOps, SDLC, Tagging, and Release management instructions for Prime-Silo. Use this when asked to tag a new release, check CI/CD build status, or manage the SDLC.

binary16labs/prime-silo · 46 tokens

aidlc-portfolio

Coordinate multiple AI-DLC workflows across repositories and Git worktrees using an evidence-backed portfolio catalog and deterministic workspace tooling. Use when initializing an AI-DLC portfolio workspace, discovering organization or business context, registering projects and dependencies, creating child intents and…

awslabs/cli-agent-orchestrator · 74 tokens

agentsop-llm-artifact-versioning

Enhancement overlay — version the WHOLE deployable LLM-app artifact as one bundle: prompts + compiled programs + model snapshot pins + retrieval config + eval-set version, versioned together so a deploy is reproducible and rollback is atomic. Activate when preparing to deploy an LLM app, when asking "what exactly is…

agentsope/SkillAlchemy · 223 tokens

agentsop-aider

SOP for terminal-based, git-native AI pair programming with Aider (git work-tree + tree-sitter repo-map + edit-format + human-in-loop REPL). Use when editing code in an existing git repo via an LLM, when you need to converge a change to 2-5 files, pick an edit format that fits the model, run architect+editor mode, or…

agentsope/SkillAlchemy · 89 tokens

michel-cli-demo-recorder

Produce proof-of-execution demos of the Packmind CLI (packmind-cli) as terminal-styled images (colors and formatting preserved exactly), for embedding in a GitHub PR. Renders a crisp master SVG and rasterizes it to a PNG — the PNG is what you embed, because GitHub does not render SVG in PR/issue bodies. Use this…

PackmindHub/packmind · 212 tokens

release

Cut and publish a full stable NAC release after main, release-PR, and publication CI pass. Use when a maintainer asks for a stable version bump, tag, or GitHub Release. Never use for release candidates; NAC RC releases are automated.

arcee-ai/nac · 53 tokens