CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cf

Invoke when user asks to choose a Constructor Studio workflow; resolves cf-* workflows and presents a companion-aware launch menu.

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Failed to scan

The risk profile of this skill

Fix and improve this skill with Tessl

tessl review fix ./skills/studio/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a dense, router-specific spec with concrete load/run commands, an explicit resolution gate, and a fallback, making the core sequence easy to follow. Its main weaknesses are triple restatement of the same scope limit, error paths deferred entirely to external modules, and a complete disconnect between the body's references and the shipped scripts/ bundle.

Suggestions

Remove the near-verbatim duplication of the scope limit — either drop the intro paragraph or trim RULES 36/37 to a single boundary statement — since PURPOSE and one RULE already carry the same content.

Connect the router to the shipped bundle: state how {cfs_cmd} maps to scripts/studio.py (or reference the relevant scripts/studio/commands), so SKILL.md navigation matches the actual bundle structure.

Add one inline checkpoint or fallback for the ambiguous-intent and no-matching-workflow cases instead of deferring them wholly to the external root-intent-routing module.

DimensionReasoningScore

Conciseness

The scope limit ("resolves available cf-* workflows ... presents a launch menu") is stated near-verbatim three times — in the intro paragraph, in PURPOSE ("only resolves workflows, captures intent when needed, and presents a launch menu"), and in RULES ("ALWAYS limit cf/cf-studio to resolving available cf-* workflows, capturing unclear intent, matching workflows/companions, and presenting a launch menu") — and RULES 36/37 overlap on workflow-specific work being out of scope. Mostly efficient but could be tightened, matching the level-3 anchor; not level 4 because the repetition goes beyond minor.

3 / 5

Actionability

The DO block gives concrete, executable-within-the-system guidance: full module paths to LOAD, a specific resolution source ("RESOLVE {cf-studio-path} from the in-context `@cf:root-agents` rule (fallback: its block in the project-root `AGENTS.md`)"), and named RUN steps. Not level 5 because execution semantics are deferred to externally loaded modules and the intro's "companion-aware" matching is never operationalized in DO.

4 / 5

Workflow Clarity

The sequence is clear and gated: "REQUIRE {cf-studio-path} is resolved before any LOAD below" is an explicit checkpoint, the resolution step has a fallback, and steps end in a defined handoff (EMIT load report, CONTINUE IntentRouting). Not level 5 because the ambiguous-intent and no-match error paths have no inline checkpoint — they are only deferred to the external IntentRouting module.

4 / 5

Progressive Disclosure

The six module LOADs are one level deep and clearly signaled, but they resolve through the runtime variable {cf-studio-path} to files outside this skill's bundle, while the actual shipped bundle (scripts/studio.py and 40+ modules under scripts/studio/, including commands like pdsl.py and validate.py) is never referenced from the body. Scored against the actual bundle structure, navigation from SKILL.md to real bundle content is missing, which fits the level-3 anchor ('could be better organized'); the clearly signaled references keep it above level 2.

3 / 5

Total

14

/

20

Passed

Description

66%Weight 40%Scale 1-5

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 is concise, in third person, and clearly niched to the Constructor Studio router with an explicit 'when' clause, giving it low conflict risk. Its weaknesses are limited action coverage (only two concrete actions, one wrapped in jargon) and missing natural trigger variations like cf, cf-studio, and cf-init.

Suggestions

Add the natural invocation terms users actually type — cf, cf-studio, cf-init, cf-enable — to the description so the trigger clause covers the primary activation forms, not only 'choose a Constructor Studio workflow'.

Name one more concrete capability in the 'what' clause (e.g., 'matches workflows and companion groups, asks for intent when the request is activation-only') to round out action coverage beyond the two currently listed.

DimensionReasoningScore

Specificity

"resolves cf-* workflows and presents a companion-aware launch menu" names the domain and 1-2 concrete actions, but coverage is not comprehensive — companion matching, intent capture, and menu behavior are only hinted at via jargon like "companion-aware". This matches the level-3 anchor rather than level 4, which expects several specific actions listed.

3 / 5

Completeness

Both halves are explicit: "Invoke when user asks to choose a Constructor Studio workflow" (when) and "resolves cf-* workflows and presents a companion-aware launch menu" (what). Not level 5 because the 'when' clause omits the primary activation forms (direct cf/cf-studio invocation) and offers only one concrete trigger phrase.

4 / 5

Trigger Term Quality

"choose a Constructor Studio workflow" and "cf-* workflows" are relevant keywords, but common natural variations a user would actually say ("cf", "cf-studio", "cf-init") are absent from the description text. Some relevant keywords with missing synonyms fits the level-3 anchor; it does not reach level 4's 'good keyword coverage'.

3 / 5

Distinctiveness Conflict Risk

"Constructor Studio workflow", "cf-* workflows", and "companion-aware launch menu" carve a clear niche with distinct triggers and minimal overlap with generic skills. This matches the level-5 anchor; no neighboring anchor fits better.

5 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

constructorfabric/studio

Path

skills/studio/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.