Fuse skills
Just Another Agent skill repository.
npx -y skills add n-n-code/n-n-code-skills --skill fuse-skillsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Combine 2 or more agent skills into one new merged skill without duplicated guidance or lost capability. Use when the user asks to merge, fuse, consolidate, deduplicate, or unify multiple local skills, `skills.sh` skills, or a mix of both into a single portable, precision-dense skill package. Do not use for ordinary multi-skill composition unless the goal is to create a new fused skill.
SKILL.md
14.3 KB, as published. Nobody here has run it
Fuse Skills
Create one fused skill that keeps the useful behavior from all source skills, removes overlap, and stays cheap to load.
Use this skill for
- merging multiple skill folders into one new skill
- combining local repo skills with explicitly named
skills.shskills - removing duplicated rules across overlapping skills
- creating a stronger portable skill while preserving local value when local skills are part of the input
Not for
- runtime composition of several skills without creating a new fused skill
- choosing which existing skills to load for a task when no merged output is wanted
- revising only one skill in place unless the goal is to fold other skills into it
- broad discovery of related remote skills the user did not ask for
Required inputs
The user must provide all source skills to combine.
Allowed source-specification levels:
- fully specified source: exact local skill path/name, exact inline content, or
exact remote
owner/repoplus skill name(s) - package-specified remote source: exact remote
owner/repo, but the user has not yet pinned the skill name(s) inside that package - bounded local-family source: a named local skill family such as
backend-*,ui-*, or "the development-contract skills" where the user is explicitly asking to fuse local skills from this repo and the family can be resolved by inspecting local folders only
Do not accept open-ended discovery beyond those bounds. If the user has not identified either a specific local skill/family, a specific remote skill, or a specific package to inspect, stop and ask for that missing scope.
For each source, identify whether it is:
- a local repo skill
- a bounded local repo skill family that must be resolved to explicit local skill names before fusion
- an explicit
skills.shskill from a named owner/repo package - raw skill content provided inline
Do not expand scope beyond the provided sources or explicitly named packages.
For remote sources, capture both:
- the package identity in
owner/repoform - the specific skill name or names to fuse from that package
If the user provides a GitHub URL instead of owner/repo, normalize it to
owner/repo before continuing.
If the user provided only a package-specified remote source, you may inspect that package only to resolve the intended skill name(s). Do not broaden into general package discovery or substitute a different package.
Core workflow
-
Inspect the local repo first for relevant conventions, nearby skills, and any existing skill-generation guidance.
-
Classify each source as local repo skill, remote
skills.shskill, or inline content. If the user named a bounded local family, inspect only matching local folders, resolve the exact skill names, and report that resolution before continuing. Read local sources immediately. For remote sources, proceed to step 3. -
Acquire remote sources through this fallback chain. Stop at the first tier that succeeds for each source.
Tier 1 — local copies. Check
skills-lock.jsonandnpx skills list --jsonfor already-installed copies of the requested skills. If found, read them directly. This is the preferred path because it avoids repo mutations.Tier 2 — CLI fetch. If not installed locally:
- Verify the CLI is available with
npx skills --help. If the CLI is missing or Node/npm is unavailable, skip to Tier 3. - Treat remote sources as package-scoped skills in a named
owner/repo. If the user provided a GitHub URL, normalize it toowner/repofirst. - If the user specified only the package, use
npx skills add <owner/repo> -lonly to list that package's skills so you can resolve the exact skill name(s). Once resolved, continue with explicit names. - Use
npx skills add <owner/repo> --skill <skill-names>to fetch only the named skills. - Prefer the least invasive acquisition path available. Use project-local
installation only when read-only local inspection is unavailable. Do not
use
--globalunless the user explicitly asked for it. - Do not use
skills findor broad package discovery unless the user asked for discovery rather than fusion. - Treat fetches as repo mutations. Before any install, note whether the worktree is already dirty. After fetching, isolate or clearly report any files added or changed as acquisition artifacts, and do not fold them into the final deliverable unless the user asked for that.
Tier 3 — user-provided content. If both Tier 1 and Tier 2 fail (no local copy, CLI unavailable, network blocked, policy constraints), ask the user to provide the skill content inline or as file paths. Do not proceed with incomplete sources.
- Verify the CLI is available with
-
Load every source skill (local, fetched, and inline) and record:
- its trigger scope
- core workflow steps
- high-value decision rules
- references, scripts, or assets that materially matter
- obvious repetition, drift, or weak sections
- remote baggage that should probably not ship: giant catalogs, data dumps, installer-specific metadata, broad stack assumptions, or helper scripts whose value does not survive the fusion
-
Check fusion compatibility before proceeding.
- Compare the trigger scopes across sources. If one skill says "use for X" and another says "never use for X," flag the conflict.
- Compare capability requirements. If one source needs code execution and another needs web search with no overlap in workflow, note the mismatch.
- Compare abstraction levels. A meta-skill (how to design skills) and a domain skill (how to deploy containers) rarely fuse well.
- If sources are incompatible, recommend against fusion or propose partial fusion: a fused core for the compatible subset, plus a companion skill for the rest. Do not proceed to the matrix with incompatible sources unless the user explicitly overrides.
- Fast path: if all sources are local, there are only 2–3 of them, and
compatibility is clear (no conflicts, same abstraction level, overlapping
triggers), use the compact fusion matrix path:
- write a compact fusion matrix instead of the full matrix:
source → keep / merge / drop + reason - keep the same compatibility, stance, generation, and review standards
- escalate to the full matrix only if a conflict, overlap ambiguity, or scope split appears during drafting
- write a compact fusion matrix instead of the full matrix:
-
Build a fusion matrix. For each source skill, extract rows into this structure:
Source Element type Content summary Verdict skill-a trigger "use when merging…" keep — broadest scope skill-a workflow-step "load sources" merge with skill-b step 1 skill-b decision-rule "prefer local naming" keep — unique skill-b reference "checklist.md" drop — subsumed by fused review Element types:
trigger,workflow-step,decision-rule,reference,example,anti-pattern.Verdicts:
keep(into fused core),merge(combine with another row),move-to-ref(demote to references),drop(with reason: duplicate / weaker / stale / out-of-scope).After filling the matrix, confirm:
- Every high-value behavior has a
keepormergeverdict - Every
drophas an explicit reason - Conflicting rows are resolved with a winner and rationale
- Every high-value behavior has a
-
Choose the fusion stance:
- if any source is a local repo skill, prefer naming, structure, and heuristics closer to the local repo when that produces a better local result
- otherwise prefer the most portable wording and structure that preserves execution quality
-
Generate a new fused skill package.
- Default output: a new skill folder with
SKILL.md - In this repo, place new local skills under
.agents/skills/<skill-name>/ - If the requested destination already exists, revise it in place only when the user clearly asked to replace or extend that skill. Otherwise choose a new narrow name and say why.
- Add
references/only when detailed audit or variant-specific material would bloat the main file - Add
scripts/only when deterministic fetching or transformation is meaningfully better than prose - If any source is a local repo skill, name the fused result in the same
local style:
- use kebab-case
- avoid generic
merged-*,combined-*, orfused-*prefixes unless the user asked for them - if one local skill is the clear base, keep its naming family and extend it narrowly
- If acquisition created temporary comparison material, keep it out of the shipped skill package unless it materially improves repeatable execution
- If remote acquisition installed or copied local artifacts only for inspection, remove those artifacts before finalizing unless the user explicitly asked to keep the fetched skill itself
- Default output: a new skill folder with
-
Run the review pass in
references/fusion-review-checklist.md. The checklist includes simulation validation and precision-density tightening as final quality gates. Do not skip them — they catch execution-path bugs and bloat that static review misses. If any check fails, revise before finalizing.
Fusion rules
- Keep one canonical version of each rule or workflow step.
- Prefer the clearest and most actionable wording, not the longest wording.
- Preserve valuable capability even when the wording changes.
- Apply the precision-density test: every surviving sentence must change agent behavior in at least one realistic scenario. Cut generic filler, repeated best-practice text, and examples that do not teach anything new.
- Review remote skills before trusting them. Preserve only guidance that holds up after reading the actual skill contents.
- For fetched remote skills, default to keeping heuristics and workflow rules while dropping bulky catalogs, datasets, helper scripts, or stack-specific assumptions unless they materially improve repeatable execution in the fused result.
- Treat cleanup as part of fusion completion: if remote inspection created local install artifacts, remove them unless the user asked to keep them.
- If the result still reads like several skills pasted together, refactor again until it has one voice and one workflow.
- If two sources disagree, prefer:
- stronger local heuristics for local-repo use
- otherwise the more portable and less assumption-heavy rule
- Keep the fused skill focused on one coherent job. If the compatibility gate (step 5) was not run or was overridden, re-check here: if sources cover genuinely different jobs, recommend separate skills or partial fusion instead of forcing a bad merge.
Review standard
Review the fused result like a senior agent-skill designer.
When local guidance exists, use it during review, especially:
.agents/skills/agent-skill-generator/SKILL.md.agents/skills/agent-skill-generator/references/skill-design-checklist.md.agents/skills/agent-skill-generator/references/token-optimization.mdskills-lock.jsonwhen remote package identity or installed skill naming needs a local cross-check
If those files are unavailable, apply the bundled review checklist and the same standards: strong triggers, explicit workflow, portability, no important loss, and high precision density.
Output requirements
The fused skill should include:
- a kebab-case skill name
- frontmatter with only
nameanddescription - a trigger-bearing description that says what the fused skill does and when to use it
- one procedural
SKILL.mdthat another agent can execute without guessing - optional references only when they reduce token cost
The final response should also summarize:
- where each source came from: local repo, existing local
skillsinstall, new package fetch, or user-provided content - whether a compact or full fusion matrix was used, and why
- which source behaviors were merged into the core workflow
- which overlapping sections were removed
- which conflicts were resolved in favor of local conventions or portability
- whether any repo mutations occurred during acquisition and how they were handled
- any functionality intentionally excluded and why
Examples
Example: local fusion
User request:
Fuse these local skill folders into one new skill and remove overlap.
Expected behavior:
- Read the local skills and nearby repo conventions.
- Prefer local naming and structure.
- Produce one fused skill package with duplicate guidance removed.
- Explain what was preserved, dropped, and rewritten.
Example: mixed local and remote fusion
User request:
Combine this local skill with these two skills.sh skills into one portable skill.
Expected behavior:
- Read the local skill first.
- Acquire remote skills via the fallback chain: check local installs, then CLI fetch, then ask the user for content.
- Run the compatibility gate before building the fusion matrix.
- Preserve useful remote guidance, but prefer local heuristics when they better fit the local repo.
- Simulate execution against representative prompts from each source.
- Emit one fused skill package and a short merge rationale.
Example: remote package named, skill unresolved
User request:
Fuse this local skill with the right skill from owner/repo that handles release docs.
Expected behavior:
- Treat
owner/repoas in scope, but do not inspect unrelated packages. - Use package inspection only to resolve the exact remote skill name.
- Once resolved, continue with explicit skill names and the normal fusion flow.
- Report any acquisition-side repo mutations separately from the shipped skill.
Example: not a fusion request
User request:
Which two existing skills should I load together for this task?
Expected behavior:
- Do not trigger
fuse-skills. - Treat this as ordinary skill selection or composition, not creation of a new merged skill.