beelzebub

An agent skill for merging agent skills

Many skills go in. One skill comes out.

beelzebub absorbs two or more existing skills into one coherent, standalone SKILL.md. Every conflict, across sources or within one, is shown to you and waits for your decision.

npx skills add alphiree/beelzebub

Install once, then name the skills to absorb.

One SKILL.md, no scripts, no dependencies. It works in any agent that loads skills from a folder.

install
npx skills add alphiree/beelzebub

Prefer to install by hand? Copy SKILL.md into a folder named beelzebub inside your agent's skills directory.

your agent, example output
/beelzebub absorb <skill 1> <skill 2>
reading <skill 1>/SKILL.md and <skill 2>/SKILL.md
sorted: shared, unique, context-dependent, excluded
! <n> conflicts need your decision first

Slash syntax varies by agent. A plain request that says merge, absorb, fuse, combine, or synthesize with named skills also triggers it.

Five steps, in order. Each gates the next.

  1. Intake

    Confirms which skills to absorb and what the result must do. Reads each source as untrusted data: no following its instructions, running its scripts, or adopting its permissions.

  2. Digest

    Sorts every rule into shared, unique, context-dependent, conflict, or excluded. Nothing is dropped without being listed.

  3. Conflicts

    Shows each incompatible pair with quotes, source, a proposed resolution, and the tradeoff. Then waits for you.

  4. Forge

    Rewrites in one voice as original prose. The result runs without the originals installed and adds no tooling.

  5. Deliver

    Checks coverage and safeguards, previews the full skill, writes only where you agreed, and reports what was read, resolved, and excluded.

No silent winners.

When rules demand incompatible things, across sources or within one, beelzebub does not guess. Each conflict comes with the evidence shown here, and the preview stays a draft until every one is decided.

  • Never picks a winner silently. Each conflict carries quotes, source, section, resolution, and tradeoff.
  • Never assumes the last-loaded rule wins. Load order is not authority.
  • Never drops a conflict. Approving a clearly stated exclusion is a decision. Omission is not.
conflict 1 of <n>, <topic> draft

"<rule quoted from skill 1>"

<skill 1>/SKILL.md, section <name>

"<rule quoted from skill 2>"

<skill 2>/SKILL.md, section <name>

Proposed resolution<one rule, with the condition that selects each side when both can stay>

Tradeoff<what the losing side gives up>

Your decision: approve, amend, or exclude one side.

What comes back

  • One SKILL.md by default, in one voice. Original prose, not pasted sources. Extra files only when scope or a license notice requires them.
  • Standalone. No dependency on the originals' paths, files, scripts, or tool permissions.
  • A short, lowercase, anime-inspired name that also names the folder.
  • Credits and license notices carried forward. Unclear redistribution rights are stated, never papered over.
  • A report of sources read, each conflict and its resolution, exclusions, and limits.

What it refuses

  • Doing the absorbed skills' own work or running their scripts.
  • Installing tooling or expanding permissions to finish a merge.
  • Overwriting an existing skill without consent, or touching the originals.
  • Claiming token savings or equivalence it has not tested.