CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

create-creation-form

Use when: scaffolding a creation form drawer with Formik validation and a Relay mutation for a new entity

67

Quality

84%

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

SKILL.md
Quality
Evals
Security

Quality

Content

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

A tight, actionable skill for scaffolding an OpenCTI-style creation form, with near copy-paste code and a clear step sequence. The main improvement opportunity is making the code example fully self-contained (imports, consistent i18n helper, defined helpers/types) and adding an explicit error-handling/validation checkpoint after the mutation commit.

Suggestions

Make the code example fully executable: include the imports for `useApiMutation`, `insertNode`, `TextField`, and `Formik` fields, define or stub `Props`, and use `t_i18n` consistently instead of mixing `t(...)` and `t_i18n(...)`.

Add an explicit error/validation checkpoint in the workflow, e.g., an `onError` handler that resets `setSubmitting(false)` and surfaces the failure before retry, mirroring the existing `onCompleted` handling.

Clarify Step 0 by naming the exact command or invocation pattern for the Codebase Pattern Finder agent (or the search command it should run) so the step is reproducible without guessing.

DimensionReasoningScore

Conciseness

The body is lean: a two-line prerequisites list, three terse steps, and two code blocks — with zero explanation of concepts Claude already knows (what Formik, GraphQL mutations, or drawers are). Every sentence carries instruction ("Model the new form after the existing one to stay idiomatic"), matching the 5 anchor ("Lean and efficient; assumes Claude's competence; every token earns its place"); it is clearly not the 4 anchor since there is no over-explanation to trim.

5 / 5

Actionability

The step-by-step code is concrete and near copy-paste ready (mutation definition, Yup schema, full component with commit/updater/onCompleted). It stops short of 5 because the example has executable gaps: `insertNode`, `useApiMutation`, `TextField`, and `Props` are used without imports or definition, and the validation schema uses `t(...)` while the JSX uses `t_i18n(...)` — minor issues a 4-level example ("concrete code with minor gaps") exhibits but a fully executable one would not.

4 / 5

Workflow Clarity

Steps 0–2 are clearly sequenced (find an existing example → define mutation/validation → build the component), and the Yup validation schema plus `setSubmitting`/`resetForm` handling provide some checkpoints. It is not 5 because there is no explicit verification or error-recovery step (e.g., handling `onError`, confirming the mutation succeeded before closing the drawer); the operation is not destructive or batch, so the ≤3 cap for missing validation on risky operations does not apply.

4 / 5

Progressive Disclosure

This is a single-purpose skill (~64 lines) whose entire content — prerequisites, three steps, two compact code blocks — belongs inline; no bulk exists that would justify separate files, and there are no nested or buried references. Sections are well-organized and navigable, matching the simple-skill allowance for a 5; it sits above the 4 anchor only because there is nothing misplaced, not because references are present.

5 / 5

Total

18

/

20

Passed

Description

75%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 concise, technology-specific description with an explicit "Use when:" trigger and concrete, distinguishable capabilities. Its main weaknesses are the fused what/when clause and missing platform and synonym keywords that would sharpen triggering.

Suggestions

Split the description into a what-clause plus a when-clause, e.g., "Scaffolds a creation form drawer with Formik validation and a Relay mutation for a new entity. Use when creating or adding a new entity in the OpenCTI front-end."

Add natural synonym keywords users would say — "create", "add", "new entity form" — and the target directory/platform name to improve trigger matching.

Mention that the form is modeled on existing Creation.tsx components to better reflect the skill's actual scope and distinguish it from generic form-building skills.

DimensionReasoningScore

Specificity

The description names several concrete actions — "scaffolding a creation form drawer", "Formik validation", "a Relay mutation for a new entity" — grounded in specific technologies rather than vague language. It falls short of the 5 anchor because it names only three tightly coupled components of a single task and omits secondary capabilities (e.g., modeling after existing forms in the codebase), while clearly exceeding the 1–2-action coverage of the 3 anchor.

4 / 5

Completeness

It has an explicit "Use when:" clause, and the gerund phrase "scaffolding a creation form drawer with Formik validation and a Relay mutation" conveys the what, so both what and when are present. It sits at 4 rather than 5 because the what and when are fused into one clause, and the when could be more explicit about the situations (creating any new entity in this platform) rather than restating the task.

4 / 5

Trigger Term Quality

Natural trigger terms are present: "creation form", "drawer", "Formik", "Relay mutation", "new entity" — phrases a developer would plausibly say. It misses common variations users might use (e.g., "add entity", "create new", the platform name itself), matching the 4 anchor ("good keyword coverage; a few natural terms missing") rather than the comprehensive synonym coverage of 5.

4 / 5

Distinctiveness Conflict Risk

The Formik + Relay + drawer + new-entity combination is a clear niche with minimal conflict risk against unrelated skills. It does not reach 5 because the description never names the target platform/repo, leaving some overlap risk with generic "create a React form" or entity-editing skills in the same environment.

4 / 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-creation-form/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.