package-layoutlisted
Install: claude install-skill using-system/oddyssey
# Where the package is
A host installs this package wherever it likes. Nothing downstream can
know that path in advance, and everything downstream needs it: a mission
block's `Skills:` line, a contract pointing at a reference file, an
agent about to run a skill's script.
Working it out is not a task for an agent. One that tries globs the
repository, opens whatever it meets on the way, and spends turns on it
before any work begins — measured, in one observation preflight: 34 file
reads and 13 globs against 16 shell commands, including an unrelated
command file it found while looking.
## Ask the installation where it is
```bash
python3 <this skill's directory>/scripts/layout.py # the whole map
python3 <this skill's directory>/scripts/layout.py --skill <name> # one skill
python3 <this skill's directory>/scripts/layout.py --json # parseable
```
That is the whole surface — `--skill` and `--json`, nothing required —
so `--help` has nothing to add and the file has nothing to read.
It prints the skills' root and the sibling directories the install
carries, then, per skill, its `SKILL.md`, its `references/<name>.md`
and its `scripts/<name>`. `--skill <name>` narrows it to one, which is
what a mission block needs; an unknown name exits 1 and lists what is
installed.
The script sits inside the installation, so its own location is the
answer: no path is hardcoded, no directory is searched, and it costs
about fifty milliseconds. It describes an installation