Key points
- Skills are infrastructure, not prompts: Once installed, a Skill becomes a permanent resident of the agent system, incurring recurring costs every session. Treat it like property tax, not a one-time prompt.
- Three-layer context tax:
- Index Tax — every user input triggers routing evaluation against all Skill descriptions. Individual cost is low, but cumulative cost grows with Skill count, and fuzzy descriptions cause costly mis-routing.
- Load Tax — when a Skill is triggered, its full SKILL.md plus
scripts/andreferences/are injected into context. One-shot but potentially thousands of tokens. - Runtime Tax — the most insidious layer. Loaded Skill content remains in context for the entire session, silently crowding out reasoning capacity and degrading inference quality.
- Skills Zen vs. Python Zen: Because Skills are auto-selected by the agent (not explicitly called by engineers), the philosophy inverts:
- *Implicit > Explicit* (routing is invisible to users)
- *Nested > Flat* (hierarchies enable progressive disclosure)
- *Precision > Readability* (descriptions are for routing decisions, not humans)
- Description discipline: Use the "Load when..." pattern. Every word competes for the model's attention. Descriptions must define *trigger conditions*, not feature lists — treated like SEO keywords.
- Gotchas flywheel: Start thin, let the agent fail in evals, record the gotcha pattern ("when X, agent does Y, add Z to the Skill"), then thicken the Skill. Requires a working eval suite to catch failures.
- Spooky action at a distance: Adding a new Skill can silently break existing Skills without modifying them, if descriptions overlap semantically and steal trigger opportunities. Defense: full-suite cross-model evals after every addition, plus "forbidden load" clauses that explicitly exclude near-miss queries.
- Eval-first workflow: (1) Identify repetitive tasks → (2) write evals with near-miss negatives and adjacent-Skill forbidden-load checks → (3) write the minimal Skill → (4) run evals → (5) log gotchas → (6) iterate. Skills without passing evals do not ship.
- Deletion standard: "If removing this instruction does not cause the agent to fail in eval, delete it." Permission is denied; necessity is required.
- Perplexity Research: *Designing, Refining, and Maintaining Agent Skills at Perplexity* (2026-05)
- Chinese commentary: https://www.51cto.com/article/842807.html
- GitHub discussion: https://github.com/imjuya/juya-ai-daily/issues/85
Audit recommendations for systems with 40+ Skills
| Current state | Recommended change |
|---|---|
| SKILL.md files are uniformly long | Split into short index + references/ loaded on demand |
| Inconsistent description styles | Standardize on Load when... format |
| No eval mechanism | Build minimal eval suites for high-frequency Skills (e.g., paper-fetch) |
| Gotchas not captured | Add a Known Gotchas section to each SKILL.md |
Periodic checks: verify description clarity, measure runtime-tax footprint of large Skills (papers-cool-monitor, oss-deep-research), and confirm that old Skill trigger rates did not regress after recent additions.