Content
82%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A well-engineered CLI skill body: highly actionable, oriented around a shortcut layer with per-command reference docs, mandatory prerequisite reads, and documented failure semantics for batch operations. Its costs are repetition — identity/scope boilerplate restated per method and again in the permission table — and a two-level card reference hierarchy.
Suggestions
Deduplicate the per-method identity boilerplate into the existing identity reference (references/lark-im-chat-identity.md) and state the shared rules once, keeping only per-method exceptions in the API listing.
Collapse the standalone permission table into the API listing rows (or vice versa) — the two sections currently restate overlapping scope facts.
Add an index or one-line map at the top of the card section (or in card-create.md) that enumerates references/card/components/ and references/card/resource/ so the second-level files are discoverable from the body in one hop.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense and CLI-specific with almost no explanation of concepts Claude already knows — it is nearly all parameter shapes, identity constraints, and limits. Anchor 5 ('every token earns its place') is blocked by repeated per-method boilerplate ("Identity: supports `user` and `bot`; the caller must be in the target chat…" appears verbatim across many API entries) and the permission table partially duplicating identity/scope facts already stated in the API listing. | 4 / 5 |
Actionability | Fully executable guidance throughout: concrete command forms (`lark-cli schema im.<resource>.<method>`, `lark-cli im files folder --recursive --file-key <folder_key> --srctype message --srcid <message_id>`, the AppLink template), a shortcuts table where every command links to a per-command reference doc, and exact numeric limits (batch 10, max 50 message IDs, 30 KB, 14 days). | 5 / 5 |
Workflow Clarity | Sequencing is explicit where it matters (MUST read lark-shared/SKILL.md first, MUST read card-create.md before any interactive send/patch, run `schema` before raw API calls), and batch/destructive operations document failure signals ("exit 0 does not mean every item succeeded", "ok:false ledger", "has_more=true means the result is incomplete"). It falls short of anchor 5 because most multi-step flows delegate their validate/fix/retry checkpoints to referenced files rather than presenting explicit validation steps with error-recovery loops in the body itself. | 4 / 5 |
Progressive Disclosure | SKILL.md works well as an overview: every shortcut and Must-read link points to a real file in the bundle (all referenced paths verified to exist), and links are clearly signaled in tables. Anchor 5 requires strictly one-level-deep references, but the card material nests two levels (card-create.md → references/card/components/*.md and references/card/resource/*.md), and the 30+-row permission/API catalogs are borderline inline reference bulk — anchor 4's 'minor organization gaps' is the best fit. | 4 / 5 |
Total | 17 / 20 Passed |