where-islisted
Install: claude install-skill magnusrodseth/dotfiles
# where-is
One script does the whole resolution ladder. Run it, do not reimplement it.
```bash
~/dotfiles/.claude/skills/where-is/scripts/where-is.sh <name> # path + orientation
~/dotfiles/.claude/skills/where-is/scripts/where-is.sh <name> --path-only # path only
```
That is the canonical path. Both `~/.claude/skills/` and `~/.agents/skills/` symlink to it, so it resolves identically for Claude Code and Codex.
Reach for `--path-only` when the path is a string you are about to interpolate (handing a directory to another agent, building a command, `--add-dir`). Use the default when you are about to read or write in that repo, so you know what it is before you touch it.
## Reading the output
| Field | Meaning |
|---|---|
| `PATH:` | The resolved absolute path. This is the answer. |
| `GIT:` | Branch and origin, when it is a repo. |
| `ORIENTATION:` | First 30 lines (2000 byte cap) of `AGENTS.md`, else `CLAUDE.md`, else `README.md`. |
| `MANIFEST:` / `TOP LEVEL:` | Fallback when none of those exist. |
Roughly half of these directories have no agent file, so the manifest fallback is the normal path, not a failure.
## Exit codes
- **0** resolved.
- **2** ambiguous. The script lists the candidates and deliberately reads no orientation file. Show the candidates and ask which one. Never pick for the user.
- **1** not found. Not in zoxide, not under the search roots.
## Rules
- **Never invent a path.** On exit 1, say it was not found. A plausible-looking `~/d