ynh-composelisted
Install: claude install-skill eyelock/ynh
# Compose a harness
Someone with one working harness is one step from the thing that makes ynh worth
using. **Composition is what separates a harness from a folder of markdown you
copy between repos**, and it is exactly what a new user will not discover
unaided.
Five mechanisms. Reach for them in this order, because that is the order of
increasing commitment.
| Mechanism | Question it answers |
|---|---|
| **`includes`** | can I use someone else's artifacts without copying them? |
| **`profiles`** | can this harness behave differently in different situations? |
| **`focuses`** | can I skip explaining what I want every time? |
| **`delegates_to`** | can this harness hand work to a specialist? |
| **`fork`** | I want someone's harness, but mine |
## Before you start
- `references/composition-patterns.md` — worked patterns, the resolution rules,
and the traps
## Step 1 — Find out what they are copying
Ask directly:
> Is there anything in this harness you have copied from somewhere else, or that
> you would want in another project?
Copied artifacts are the signal. A skill duplicated across three repos wants to
be an include. A rule everyone on the team pastes wants to be a team harness.
## Step 2 — `includes` — use artifacts without owning them
An include pulls `skills/`, `agents/`, `rules/` and `commands/` from another
harness at assembly time. Nothing is copied into the repo.
```bash
ynh include add <harness> github.com/org/shared-skills
ynh include add <harness>