Adom Wiki Skill Pack
Public Unreviewedby John Lauer
How to use the Adom Wiki without breaking pages — the wiki is six tools in one (git, adompkg, releases, discussions, PRs, discovery), and three repo archetypes have emerged from real use: Page, Skillpack, and Family. Plus how to publish rich component pages (chips, molecules, boards). One install, 15 skills, plus a write-up of the design patterns for the people who build the wiki.
name: wiki-skillpack description: >- How to build a Skillpack — one Adom Wiki repo that bundles a main skill plus many sub-skills, installed together by a single adompkg install, with the slug suffix -skillpack so the class is recognizable. Covers the bundle layout (root SKILL.md + skills//SKILL.md), an install.sh that lists every skill, the package.json files[] whitelist, frontmatter conventions, and the skill-map table. Read BEFORE creating a new skill set so you never make a repo per skill. Trigger words: make a skillpack, super skill, bundle skills, one repo many skills, skill bundle, do not make a repo per skill, skillpack suffix, author a skill set, SKILL.md bundle, install.sh skills, wiki skill package.
Parent skill: adom-wiki-skillpack
Building a Skillpack (super-skill bundle)
A Skillpack is one wiki repo / one installable package that carries a main
skill plus many sub-skills, all deployed by a single adompkg install. Use it
when one author owns all the skills and they version together — see
wiki-repo-styles for Skillpack-vs-Family.
The mistake to never make: do not create one wiki page per small skill. A skill as small as a tooltip spec is a file in a bundle, not its own repo. A page per skill clutters the namespace, fragments install, and duplicates metadata. If you catch yourself looping
POST /pagesfor many small skills, stop — you want one Skillpack with many files underskills/.
The -skillpack suffix convention
A Skillpack's slug ends in -skillpack (e.g. adom-wiki-skillpack) so the
class is instantly recognizable in the wiki grid and in ~/.claude/skills/. The
prior example adom-ui-design predates the convention and is grandfathered; new
super-skill bundles should adopt the suffix.
The bundle layout
my-thing-skillpack/ (one wiki repo, one adompkg package)
SKILL.md # the main skill — REQUIRED at repo root by the registry
README.md # rendered on the Overview tab; includes the skill-map table
page.json # title, brief, hero, visibility
package.json # version, files[] lists EVERY skill file, scripts.install/uninstall
install.sh # copies the main skill AND every sub-skill to ~/.claude/skills/<name>/
uninstall.sh # removes them all
screenshots/hero.png
skills/
sub-a/SKILL.md # each sub-skill: its own folder + SKILL.md
sub-b/SKILL.md
adompkg install my-thing-skillpack then drops the main skill plus every
sub-skill onto the container as separate, independently-loadable skill files.
install.sh lists every skill explicitly
The publish linter rejects an install.sh that misses any bundled sub-skill, so
list each one — do not rely on a glob.
#!/usr/bin/env bash
set -e
DEST="$HOME/.claude/skills"
install_skill() { mkdir -p "$DEST/$1"; cp "$2" "$DEST/$1/SKILL.md"; }
install_skill my-thing-skillpack SKILL.md
install_skill sub-a skills/sub-a/SKILL.md
install_skill sub-b skills/sub-b/SKILL.md
echo "OK: Installed my-thing-skillpack plus 2 bundled skills to $DEST/."
uninstall.sh removes the same set. package.json files[] must list SKILL.md,
README.md, page.json, install.sh, uninstall.sh, every skills/<sub>/SKILL.md,
and any screenshots/*, plus scripts.install/scripts.uninstall.
Sub-skill naming & frontmatter
- Name sub-skills to avoid clobbering generic names in the shared
~/.claude/skills/dir — prefix them with the pack's domain (this pack useswiki-*:wiki-api,wiki-hero). The folder name = thename:frontmatter. - First body line of each sub-skill:
Parent skill: **<pack-slug>**. - Only
name+descriptionare pre-loaded, so the description must carry enough signal to be picked, ending with a generous list of quoted trigger phrases. Keep each body to one job; if a skill grows past one purpose, split it into another file in the same bundle.
The skill-map table
The main SKILL.md and the README.md should each carry a skill-map table
(Skill | what it's for) so both the AI and humans can see the whole set and route
to the right sub-skill. This is the navigational backbone of a Skillpack.
Publishing
Publish the whole package via the standard workflow (wiki-api /
wiki-publish-safely): create the page once, adompkg publish the tarball,
push all files to git with a complete page.json LAST, then verify in pup that
adompkg install deploys every skill. The live reference for this whole pattern
is adom-ui-design (and this pack itself).
---
name: wiki-skillpack
description: >-
How to build a Skillpack — one Adom Wiki repo that bundles a main skill plus
many sub-skills, installed together by a single adompkg install, with the slug
suffix -skillpack so the class is recognizable. Covers the bundle layout (root
SKILL.md + skills/<sub>/SKILL.md), an install.sh that lists every skill, the
package.json files[] whitelist, frontmatter conventions, and the skill-map
table. Read BEFORE creating a new skill set so you never make a repo per skill.
Trigger words: make a skillpack, super skill, bundle skills, one repo many
skills, skill bundle, do not make a repo per skill, skillpack suffix, author a
skill set, SKILL.md bundle, install.sh skills, wiki skill package.
---
Parent skill: **adom-wiki-skillpack**
# Building a Skillpack (super-skill bundle)
A **Skillpack** is one wiki repo / one installable package that carries a main
skill plus many sub-skills, all deployed by a single `adompkg install`. Use it
when one author owns all the skills and they version together — see
**wiki-repo-styles** for Skillpack-vs-Family.
> **The mistake to never make:** do **not** create one wiki page per small skill.
> A skill as small as a tooltip spec is a *file in a bundle*, not its own repo. A
> page per skill clutters the namespace, fragments install, and duplicates
> metadata. If you catch yourself looping `POST /pages` for many small skills,
> stop — you want one Skillpack with many files under `skills/`.
## The `-skillpack` suffix convention
A Skillpack's slug ends in **`-skillpack`** (e.g. `adom-wiki-skillpack`) so the
class is instantly recognizable in the wiki grid and in `~/.claude/skills/`. The
prior example `adom-ui-design` predates the convention and is grandfathered; new
super-skill bundles should adopt the suffix.
## The bundle layout
```
my-thing-skillpack/ (one wiki repo, one adompkg package)
SKILL.md # the main skill — REQUIRED at repo root by the registry
README.md # rendered on the Overview tab; includes the skill-map table
page.json # title, brief, hero, visibility
package.json # version, files[] lists EVERY skill file, scripts.install/uninstall
install.sh # copies the main skill AND every sub-skill to ~/.claude/skills/<name>/
uninstall.sh # removes them all
screenshots/hero.png
skills/
sub-a/SKILL.md # each sub-skill: its own folder + SKILL.md
sub-b/SKILL.md
```
`adompkg install my-thing-skillpack` then drops the main skill plus every
sub-skill onto the container as separate, independently-loadable skill files.
## install.sh lists every skill explicitly
The publish linter rejects an `install.sh` that misses any bundled sub-skill, so
**list each one — do not rely on a glob.**
```bash
#!/usr/bin/env bash
set -e
DEST="$HOME/.claude/skills"
install_skill() { mkdir -p "$DEST/$1"; cp "$2" "$DEST/$1/SKILL.md"; }
install_skill my-thing-skillpack SKILL.md
install_skill sub-a skills/sub-a/SKILL.md
install_skill sub-b skills/sub-b/SKILL.md
echo "OK: Installed my-thing-skillpack plus 2 bundled skills to $DEST/."
```
`uninstall.sh` removes the same set. `package.json` `files[]` must list `SKILL.md`,
`README.md`, `page.json`, `install.sh`, `uninstall.sh`, every `skills/<sub>/SKILL.md`,
and any `screenshots/*`, plus `scripts.install`/`scripts.uninstall`.
## Sub-skill naming & frontmatter
- Name sub-skills to avoid clobbering generic names in the shared
`~/.claude/skills/` dir — prefix them with the pack's domain (this pack uses
`wiki-*`: `wiki-api`, `wiki-hero`). The folder name = the `name:` frontmatter.
- First body line of each sub-skill: `Parent skill: **<pack-slug>**`.
- Only `name` + `description` are pre-loaded, so the description must carry enough
signal to be picked, ending with a generous list of quoted trigger phrases. Keep
each body to one job; if a skill grows past one purpose, split it into another
file in the same bundle.
## The skill-map table
The main `SKILL.md` and the `README.md` should each carry a **skill-map table**
(Skill | what it's for) so both the AI and humans can see the whole set and route
to the right sub-skill. This is the navigational backbone of a Skillpack.
## Publishing
Publish the whole package via the standard workflow (**wiki-api** /
**wiki-publish-safely**): create the page once, `adompkg publish` the tarball,
push all files to git with a complete `page.json` LAST, then verify in pup that
`adompkg install` deploys every skill. The live reference for this whole pattern
is **adom-ui-design** (and this pack itself).