learn-doclisted
Install: claude install-skill palginpav/orchestray
# Learn Doc — URL → Skill Pack
The user invoked `/orchestray:learn-doc <url>` (or its alias `/orchestray:distill <url>`).
Paste a URL the user keeps repeating in prompts, and this command distills it into a
reusable skill pack that future agent sessions auto-load from
`.orchestray/skills/learn-doc/`.
Distilled skill packs are source-aware:
| Source | Expiry |
|-------------------------------------------------------------------------|--------|
| `code.claude.com/docs/` or `docs.anthropic.com/en/docs/claude-code/` | 14 days |
| `platform.claude.com/docs/` or other `docs.anthropic.com/en/` | 30 days |
| Anything else | 90 days |
The expiry is stamped into the skill-pack frontmatter (`expires_at`, `expiry_days`)
so future agents can self-police stale caches.
---
## Protocol
### Step 1 — Validate the URL
Parse `$ARGUMENTS`. The first whitespace-separated token is the URL. If
`$ARGUMENTS` is empty or does not start with `http://` or `https://`:
> "Usage: `/orchestray:learn-doc <url>` — paste a URL to distill into a reusable
> skill pack."
Stop.
### Step 2 — Check the cache
Compute the slug using the same rules as `bin/learn-doc.js` (host + pathname,
lowercased, non-word → `-`). Look for an existing skill pack at:
```
.orchestray/skills/learn-doc/<slug>.md
```
If the file exists and its `expires_at` frontmatter value is in the future: