CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

create-migration

Use when: creating a new ElasticSearch database migration file, adding or transforming data at deploy time

60

Quality

76%

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-migration/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.

A lean, well-structured skill whose file-generation steps and migration template are directly usable, weakened only by the absence of a concrete data-transformation example and any validation/verification step for what is a database operation executed at deploy time.

Suggestions

Add a validation step after Step 2 (e.g., how to run or test the migration locally and confirm it is picked up by the migration engine), since database migrations are batch/destructive operations that the rubric expects to include a feedback loop.

Include one small concrete example of an actual data transformation (e.g., an elasticsearch client call or domain-function invocation with executionContext) instead of only the commented '// Implementation here' hint.

Fix the misindented closing brace in the template (' };') so the copy-paste starter is stylistically correct.

DimensionReasoningScore

Conciseness

The ~35-line body is lean: a prerequisites line, two numbered steps, and one code template, with zero padding or explanations of concepts Claude already knows. Every token earns its place, matching the 'lean and efficient' anchor.

5 / 5

Actionability

Concrete file path ('opencti-platform/opencti-graphql/src/migrations/<timestamp>-<description>.ts'), timestamp-prefix rule, and a full TypeScript template make the guidance mostly executable. It stops short of anchor 5 because the core purpose — adding/transforming data — has no concrete example, leaving the 'Implementation here' section and the commented executionContext hint as the only guidance.

4 / 5

Workflow Clarity

Step 1 (generate the file) and Step 2 (implement the pattern) are clearly sequenced, but there is no validation checkpoint (e.g., how to test the migration or confirm it is registered and runs). Per the rubric's cap for database/batch operations without validation, workflow clarity cannot exceed 3.

3 / 5

Progressive Disclosure

The skill is under 50 lines with no need for external references (no references/, scripts/, or assets/ bundles exist), and the Prerequisites/Procedure/step sections are well organized. Per the rubric's simple-skill guideline, well-organized sections alone warrant 5.

5 / 5

Total

17

/

20

Passed

Description

61%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 has a clear niche, natural trigger terms, and an explicit 'Use when' clause, but it fuses the 'what' and 'when' into a single trigger sentence, leaving the skill's actual capability only implied. Adding an independent statement of what the skill does and a few synonyms would lift it toward the top anchors.

Suggestions

Split the description into a what-clause and a when-clause, e.g. 'Creates timestamped ElasticSearch migration files following the standard opencti migration template. Use when creating a new migration or adding/transforming data at deploy time.'

Add natural trigger synonyms such as 'backfill', 'reindex', or 'schema change' so users phrasing the need differently still match.

Name the platform (opencti / opencti-graphql) in the description to further reduce overlap with generic database-migration skills.

DimensionReasoningScore

Specificity

Names the domain ("ElasticSearch database migration") with two concrete actions ("creating a new ... migration file", "adding or transforming data at deploy time"), matching the 'domain plus 1-2 concrete actions, not comprehensive' anchor. It does not list several distinct actions, so anchor 4 does not fit.

3 / 5

Completeness

The entire description is a single fused "Use when:" clause; the 'what' is only implied by the gerund "creating a new ElasticSearch database migration file" rather than stated independently. It is more concrete than anchor 2's trigger-only vagueness but lacks the distinct what-plus-when structure of anchor 4.

3 / 5

Trigger Term Quality

"migration", "ElasticSearch", "database", "deploy time", and "data" are natural phrases a user would say, giving good keyword coverage. It falls short of anchor 5 because common variations like "backfill", "reindex", or "schema change" are absent.

4 / 5

Distinctiveness Conflict Risk

"ElasticSearch database migration" and "at deploy time" carve out a fairly distinct niche with low conflict risk. Minor overlap remains with generic database-migration skills because the platform (opencti) is never named, keeping it below anchor 5.

4 / 5

Total

14

/

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-migration/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.