Semantic workflow composer — parse natural language workflow description into a DAG of skill/CLI/agent nodes, auto-inject checkpoint save nodes, confirm with user, persist as reusable JSON template. Triggers on "wf-composer " or "/wf-composer".
70
65%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.claude/skills/wf-composer/SKILL.mdQuality
Discovery
67%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description excels at specificity and distinctiveness, clearly articulating a unique capability around workflow DAG composition with concrete actions like parsing, checkpoint injection, and JSON template persistence. However, it relies on command-based triggers rather than natural language keywords users would use, and lacks an explicit 'Use when...' clause that describes the scenarios in which Claude should select this skill beyond the command prefix.
Suggestions
Add a 'Use when...' clause describing natural scenarios, e.g., 'Use when the user wants to create, design, or automate a multi-step workflow, chain tasks together, or build a reusable pipeline.'
Include natural language trigger terms users would say, such as 'workflow', 'pipeline', 'automate steps', 'chain skills', 'task orchestration', 'multi-step process'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: parse natural language into a DAG, auto-inject checkpoint save nodes, confirm with user, persist as reusable JSON template. These are detailed, concrete capabilities. | 3 / 3 |
Completeness | The 'what' is well-covered with specific actions, but the 'when' is limited to command triggers ('wf-composer' or '/wf-composer') rather than describing natural use-case scenarios. There's no 'Use when...' clause describing situations like 'when the user wants to create a multi-step workflow' or 'when chaining multiple skills together'. | 2 / 3 |
Trigger Term Quality | Includes the command triggers 'wf-composer' and '/wf-composer', but lacks natural language keywords users would say like 'workflow', 'pipeline', 'automate', 'chain tasks', 'DAG'. The triggers are command-based rather than natural language terms. | 2 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche — semantic workflow composition into DAGs with checkpoint injection. The specific command triggers and unique domain (workflow DAG composition) make it very unlikely to conflict with other skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
62%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides a well-structured workflow orchestration framework with clear phase sequencing, explicit success criteria, and good separation of concerns via external phase files. Its main weakness is that the actionable content is almost entirely delegated to referenced files that don't exist in the bundle, making the SKILL.md more of an architectural overview than a self-contained executable guide. The conciseness is decent but could be tighter in places.
Suggestions
Provide the referenced phase files (phases/01-parse.md through 05-persist.md) and spec files in the bundle so the skill is actually functional, or inline the critical execution details for at least the most important phases.
Add a concrete end-to-end example showing a natural language input and the resulting template JSON output to make the skill more immediately actionable.
Include the template JSON schema inline or as a minimal example rather than only referencing specs/template-schema.md, so Claude has enough context to produce valid output even without the spec file.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is reasonably efficient and doesn't over-explain basic concepts, but includes some structural overhead that could be tightened (e.g., the shared constants table and entry router table could be more compact). It respects Claude's intelligence but has moderate verbosity in the phase descriptions. | 2 / 3 |
Actionability | Each phase delegates to external files (phases/01-parse.md, etc.) for actual execution details, so the SKILL.md itself provides structure and routing but not fully executable guidance. The checkpoint injection rules and display format are concrete, but the core 'how to do it' is deferred to files that aren't provided. | 2 / 3 |
Workflow Clarity | The multi-phase workflow is clearly sequenced with explicit success criteria for each phase, a well-defined entry router with branching logic, checkpoint injection rules, and a confirmation phase (Phase 4) that serves as a validation/feedback loop before persisting. The resume/edit flow also demonstrates error recovery thinking. | 3 / 3 |
Progressive Disclosure | The skill references external phase files (phases/01-parse.md through 05-persist.md) and spec files (specs/node-catalog.md, specs/template-schema.md) with clear one-level-deep navigation, which is good structure. However, no bundle files are provided, meaning all referenced files are missing — the skill is essentially an outline that cannot function without them, and we cannot verify the references resolve correctly. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
allowed_tools_field | 'allowed-tools' contains unusual tool name(s) | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
227244f
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.