reyn skills¶
List installed skills, show usage details, or validate op/permission cross-layer consistency.
Synopsis¶
Subcommands / forms¶
| Form | Description |
|---|---|
reyn skills |
List all installed skills (project → local → stdlib). |
reyn skills <SKILL_NAME> |
Print usage details for one skill — description, entry phase, final output, and body. |
reyn skills validate <SKILL_NAME> |
Validate op/permission cross-layer consistency for one skill (FP-0026). |
reyn skills validate --all |
Validate all installed skills and print a summary. |
reyn skills — listing¶
Prints a table of all installed skills across project (reyn/project/), local (reyn/local/), and stdlib skill directories. Columns: name, source, one-line description.
NAME SOURCE DESCRIPTION
direct_llm stdlib Summarise text into a compact paragraph
article_writer project Draft and review a long-form article
reyn skills <SKILL_NAME> — detail¶
Prints full usage information for one skill:
skill: article_writer (project)
entry: draft
final_output: article
[body / description from skill.md]
Resolution order: reyn/project/ → reyn/local/ → stdlib.
reyn skills validate — op/permission consistency check (FP-0026)¶
Checks that every Tier 2-3 op a skill's phases declare in allowed_ops has a matching entry in skill.permissions, and conversely that every declared permission is actually referenced by at least one phase.
What is checked:
- Undeclared permission: a phase lists a Tier 2-3 op kind (e.g.
shell,mcp) inallowed_opsbut the skill'spermissions:block has no entry for it → error. - Dead permission: the skill declares a permission but no phase references the op kind → warning.
Tier 0-1 ops (ask_user, run_skill, web_search, web_fetch, etc.) are exempt — they require no declaration.
Exit codes¶
| Code | Meaning |
|---|---|
0 |
No errors (warnings may still be present). |
1 |
One or more errors, or skill not found. |
Output¶
Single-skill run:
With issues:
[error] my_skill
phase 'draft' has allowed_ops=[shell] but skill.permissions has no 'shell' entry
[warning] my_skill
skill.permissions declares 'mcp:[github]' but no phase lists 'mcp' in allowed_ops
Validate-all summary:
Examples¶
# Validate one skill
reyn skills validate article_writer
# Validate every installed skill (useful in CI)
reyn skills validate --all || exit 1
See also¶
- Reference: skill.md —
permissions:andallowed_opsfields - Reference: phase.md —
allowed_opsfield - Reference: lint —
reyn lint(graph + artifact checks; complementary) - Concepts: permission-model — Tier 0-3 op classification