package-layout

Reports the installed package's skills root, sibling directories, and each skill's files.

9|2|Updated Aug 16, 2026
One-click install
npx skills add https://github.com/using-system/oddyssey --skill package-layout-using-system
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: package-layout
Source: https://github.com/using-system/oddyssey/tree/main/.apm/skills/package-layout
Command: npx skills add https://github.com/using-system/oddyssey --skill package-layout-using-system

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Agents and contracts often need the on-disk path of an installed skill package, but hosts install it in unpredictable locations. Searching the filesystem wastes turns and can surface unrelated files; this Skill answers the question exactly by running a script that lives inside the installation itself. ## Core Features & Use Cases - Full layout map: Prints the skills root, sibling directories (agents, prompts, commands, hooks), and per-skill SKILL.md, references, and scripts paths. - Single-skill lookup: The --skill flag narrows output to one skill for mission blocks, exiting 1 with the list of installed skills on an unknown name. - Machine-readable output: The --json flag emits the same report as parseable JSON for programmatic consumers. - Use Case: A dispatcher building a mission block needs the Skills: line path; it runs layout.py --skill odd-memory and embeds the printed path instead of searching the repository. ## Quick Start Run the layout.py script inside this skill's scripts directory to print where the package is installed and what each skill contains.

Frequently Asked Questions about package-layout

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find where an installed skill package lives on disk?

Run the layout.py script inside the package's scripts directory. Because the script sits inside the installation, its own file location resolves the skills root exactly, with no searching or hardcoded paths.

How to get the path of a single skill for a mission block?

Run layout.py with the --skill flag followed by the skill name. It prints only that skill's SKILL.md, references, and scripts paths; an unknown name exits with code 1 and lists the installed skills.

Does layout.py support machine-readable JSON output?

Yes, the --json flag prints the full layout report as JSON, including skills_root, install_root, sibling directories, and per-skill file listings. It can be combined with --skill to filter one entry.

What dependencies does the layout script require?

Only Python 3 and its standard library. The script uses argparse, json, sys, and pathlib, so no third-party packages need to be installed.

Why should install paths not be written into committed files?

Install paths are machine-specific, so a committed report or spec quoting one is wrong on every other machine and may expose a user's home directory name. Paths should be carried at runtime from the script's output instead.