CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

create-playbook-component

Use when: adding a new playbook automation component, implementing a PlaybookComponent interface, or registering a new playbook step

64

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/create-playbook-component/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

80%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.

An exemplarily lean, highly actionable skill body: correct file paths and near-complete code make the core task unambiguous, and structure is appropriate for its size. The one real gap is the absence of any validation/verification step after implementation and registration.

Suggestions

Add a Step 5 — Verify: e.g., run the GraphQL typecheck/build ("yarn check-ts" or equivalent) and confirm the component appears in the playbook component list before finishing.

Show the registration edit concretely (an import line plus the PLAYBOOK_COMPONENTS array entry) rather than describing it in prose.

DimensionReasoningScore

Conciseness

Lean and efficient: no concept explanations Claude already knows, no padding — just prerequisites, a file location, two focused code blocks, and a registration pointer. Every token (the TypeScript interface, the JSONSchema, the component skeleton) carries information Claude cannot infer on its own. Nothing to trim, so it is not a 4.

5 / 5

Actionability

Concrete file path ("opencti-platform/opencti-graphql/src/modules/playbook/components/<name>-component.ts") and copy-paste-ready TypeScript for the config schema and component definition. Not a 5 because the executor body is a skeleton ("// Business logic here"), the registration step gives no import/register code snippet, and no example of consuming the config is shown — minor gaps, not the pseudocode-level gaps of a 3.

4 / 5

Workflow Clarity

Steps 1–4 are clearly sequenced (create file → define schema → implement interface → register), but there are no validation checkpoints: no typecheck/build command, no test run, no way to confirm the component registered correctly. Anchor 3 ("steps listed but validation gaps; checkpoints missing") is the best fit — better than 4 because zero checkpoints are present, better than 2 because the sequence is complete and specific rather than rough.

3 / 5

Progressive Disclosure

A ~55-line skill with well-organized sections (Prerequisites, Procedure with four numbered steps) and no bundle files (references/, scripts/, assets/ do not exist). It is appropriately self-contained — nothing needs splitting off, and there is no nesting or buried referencing. Not a 4 because there are no organization gaps to point to.

5 / 5

Total

17

/

20

Passed

Description

70%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.

A tight, trigger-focused description with strong distinctiveness and good domain keywords. Its main weakness is that it answers "when" thoroughly but never states "what" the skill does as a capability statement, leaving completeness in the middle of the scale.

Suggestions

Add a leading capability statement before the Use-when clause, e.g., "Scaffolds a new OpenCTI playbook component: file creation, config schema, interface implementation, and registration. Use when: ..."

Add natural trigger variations such as "playbook node", "playbook automation step", or "extending playbooks" to broaden keyword coverage.

DimensionReasoningScore

Specificity

Lists several concrete actions — "adding a new playbook automation component, implementing a PlaybookComponent interface, or registering a new playbook step" — with named technical artifacts. Not a 5 because the three actions are facets of a single task (creating one component), so coverage is narrow; not a 3 because more than 1–2 specific actions are explicitly named.

4 / 5

Completeness

The "when" is explicit ("Use when: adding a new playbook automation component...") but the "what" is only implied through those trigger phrases — there is no standalone statement of what the skill does (e.g., "Scaffolds and registers a new playbook component"). It is above anchor 2 (only 'when' present, no 'what') because the when-clauses double as a discernible what, but below anchor 4 which requires both clearly present.

3 / 5

Trigger Term Quality

Good natural keywords a user on this platform would say: "playbook", "playbook step", "automation component", "PlaybookComponent". Not a 5 because common variations like "playbook node", "new playbook automation", or creating/testing playbook flows are missing; not a 3 because the terms present are the natural phrases for this domain rather than generic language.

4 / 5

Distinctiveness Conflict Risk

"Playbook automation component" and "PlaybookComponent interface" name a clear niche (OpenCTI playbook development) with distinct triggers and minimal overlap with other skills. It is not a 4 because no closely related generic skill would plausibly claim these exact triggers.

5 / 5

Total

16

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

OpenCTI-Platform/opencti

Path

.github/skills/create-playbook-component/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.