Usage
skill-reviewallowed-skills#agent-creator
Configuration
read_fileglobgrepshell |
Instructions
Overview
Steps
Identify the skill to review from the user's request — accept a skill name, a directory path, or a SKILL.mdfile path Resolve the skill file: if given a name, look for .stencila/skills/<name>/SKILL.mdwalking up from the current directory; if given a path, use it directly Read the full SKILL.mdfile and any supporting files in the skill directory ( scripts/, references/, assets/) Check whether the skill refers to documentation, specifications, or other content outside the skill directory; if it does, assess whether that material should be copied, summarized, or excerpted into local references/files instead Evaluate the skill against each criterion in the Review Checklist below Produce a structured review report with a summary, per-criterion findings, and a prioritized list of suggestions If the user asks you to apply the improvements, make the changes and validate the result with stencila skills validate <skill-name>
Review Checklist
Frontmatter
name : present, matches directory name, valid kebab-case ( ^[a-z0-9]([a-z0-9-]{0,62}[a-z0-9])?$) description : present, under 1,024 characters, specific (not vague), includes keywords that help agents match the skill to user requests Optional fields : license, compatibility, allowed-tools, metadata— check for correctness if present (e.g., valid SPDX identifier, compatibilityunder 500 characters, allowed-toolsis space-delimited)
Tooling and allowed-tools
allowed-toolsCheck that the skill includes only tools it genuinely needs Check that tool choices match the actions described in the steps and examples If the skill modifies existing files, check whether apply_patchor edit_fileshould be allowed If the skill creates files from scratch, check whether write_fileshould be allowed If the skill may need clarification, confirmation, or approval from the user while executing, check whether ask_usershould be allowed
read_file | ||
write_file | ||
apply_patchedit_file | ||
grep | ||
glob | ||
web_fetch | ||
shell | ||
ask_user |
Discovery and Delegation Metadata
keywords : if present, check that keywords are relevant, not redundant with the description, and include likely user intent words, artifact types, and domain terms. Flag generic or overly broad keywords. If absent, recommend adding keywords to improve discoverability Coherence check : verify that descriptionand keywordswork together — they should be complementary, not redundant. Flag cases where the same text appears verbatim in multiple fields
Structure and Clarity
Uses step-by-step numbered lists that are easy for a model to follow Steps are in a logical order with no missing or circular dependencies Language is imperative and unambiguous (e.g., "Read the file" not "You might want to read the file") No orphaned sections or dangling references to files that don't exist
Completeness
Includes concrete input/output examples Covers edge cases and common pitfalls No placeholder content ( TODO, <placeholder>, or empty sections) References to external files ( scripts/, references/, assets/) point to files that actually exist in the skill directory
Self-Containment and References
The skill is self-contained and does not depend on reading files outside its own directory SKILL.mddoes not send agents to repo documentation, specs, or other external files outside the skill directory for essential instructions If outside material is needed, the skill includes a local summary, excerpt, or copy in references/Reference files are focused and appropriately scoped rather than large catch-all documents Links and relative paths point only to files within the skill directory
Workflow Agnosticism
workflow_*tool references : The skill must not reference workflow_get_context, workflow_set_context, workflow_set_route, or workflow_get_output. These are workflow tools — the workflow's stage prompts should call them, not the skill. Context Keys or Route Labels tables : The skill must not define tables of workflow context keys or route labels. The workflow owns its data contract. Workflow node names : The skill must not reference specific workflow node names (e.g., RunTestsRed, CheckRemaining) or workflow files. Generic inputs/outputs : The skill should declare what it needs in a "Required Inputs" table and what it produces in an "Outputs" table, using domain-appropriate names rather than context key names. After the inputs table, it should include a bridging sentence like: "When used standalone, these inputs come from the user or the agent's prompt. When used within a workflow, the workflow's stage prompt will specify how to obtain them." Standalone fallbacks : If the skill falls back to reading from a well-known location (e.g., .stencila/plans/) when an input is missing, check that this is framed as a standalone convenience, not as the primary contract. Look for language like "as a standalone convenience" or "in workflow use, the stage prompt should provide this explicitly." Implicit mode switches : If the skill has multiple operational modes driven by the presence or absence of specific inputs (e.g., "selection mode" vs "completion-check mode"), consider whether these should be separate skills. A single skill doing two fundamentally different jobs is often a sign that workflow protocol has leaked into the skill layer.
workflow_*
Size and Focus
Body is under 500 lines / 5,000 tokens Skill has a single clear purpose — not trying to do too many things Detailed reference material is moved to references/files rather than inlined Individual reference files stay focused so agents can load only the context they need
Consistency
Formatting is consistent (heading levels, list styles, code block languages) Terminology is used consistently throughout Conventions match other skills in the same workspace
Report Format
Summary
Findings
✅ Pass — criterion fully met ⚠️ Warning — minor issue or room for improvement ❌ Fail — significant problem that should be fixed
Suggestions
###
Examples
Resolve to .stencila/skills/skill-creation/SKILL.mdRead the file and check for supporting files in the directory ( scripts/, references/, assets/) Check whether it relies on documentation outside the skill directory or whether any needed material has been localized into references/Evaluate frontmatter: nameis skill-creation, matches directory, valid kebab-case; descriptionis specific and under 1,024 characters Evaluate structure, completeness, self-containment, size, and consistency against the checklist Run stencila skills validate skill-creationto confirm the skill is valid Produce the report below
###
Summary
The skill-creation skill is well-structured with comprehensive coverage of naming rules, file format, and validation. Two minor improvements are possible.
Findings
Area Status Notes Frontmatter ✅ Pass Name and description are valid and specific Structure ✅ Pass Clear numbered steps in logical order Completeness ⚠️ Warning Template section serves as an example but a concrete before/after example would be clearer Size and Focus ✅ Pass Well within size limits, single purpose Consistency ✅ Pass Consistent formatting throughout
Suggestions
Add a concrete example showing a complete user request and the resulting SKILL.mdfile, beyond the generic template
Consider adding an allowed-toolsfield to pre-approve write_file, shell, and read_file
Edge Cases
Skill not found : If the skill cannot be located, report the error clearly and suggest checking the name or path. List available skills if possible using stencila skills listor by listing .stencila/skills/directories. Multiple skills requested : Review each skill separately with its own report section. Ask the user to confirm if reviewing all skills is intended. Skill has no body content : Flag this as a failure — a skill with only frontmatter is incomplete. Supporting files are large : For files in scripts/, references/, or assets/, check that they exist and are referenced from SKILL.md, but do not reproduce their full content in the report. Skill refers outside itself : Flag references to files or docs outside the skill directory as a self-containment issue. Recommend moving the necessary material into focused files under references/and updating links to those local files. User asks to fix issues : If the user asks you to apply suggestions, make the changes, then validate with stencila skills validate <skill-name>before reporting completion.
Validation
# By skill name
stencila skills validate <skill-name>
# By directory path
stencila skills validate .stencila/skills/<skill-name>
# By SKILL.md path
stencila skills validate .stencila/skills/<skill-name>/SKILL.mdLimitations
This skill reviews the structure and quality of a skill definition. It does not review the correctness or security of code in scripts/files — only that they exist and are referenced from SKILL.md. The review does not execute the skill or test it against real inputs.
.stencila/skills/skill-review/SKILL.md