CtrlK
BlogDocsLog inGet started
Tessl Logo

syncable-entity-runner-and-actions

Contributing to the Twenty codebase itself (twentyhq/twenty server internals), not for building apps on top of Twenty. Implement action handlers for executing workspace migrations in Twenty. Use when creating database operations for syncable entities, implementing universal-to-flat entity transpilation, or handling create/update/delete actions in the runner layer.

62

Quality

74%

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 ./.claude/skills/syncable-entity-runner-and-actions/SKILL.md

The canonical home for this skill is syncable-entity-runner-and-actions in twentyhq/twenty

SKILL.md
Quality
Evals
Security

Quality

Content

61%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 content is actionable with complete per-step TypeScript and a clear sequenced checklist, but it is held back by a duplicated patterns section, missing imports in the create handler, and the absence of validation checkpoints for destructive database operations. Organization is good with appropriate external references.

Suggestions

Remove or collapse the 'Action Handler Patterns' section, which duplicates the Step 1-3 code; reference the steps instead to cut token weight and reduce drift.

Add an explicit validation/verification checkpoint before executing destructive operations (e.g., dry-run or validate the resolved flat actions before `delete()`/`update()`), which is required to lift workflow_clarity above 3.

Fix the missing imports in the create handler example (e.g., `AllFlatEntityMapsByMetadataName`) and correct the 'This step creates: 1. Create action handler' wording so the code and quick-start are copy-paste accurate.

DimensionReasoningScore

Conciseness

The body is mostly efficient with full code per step, but the 'Action Handler Patterns' section re-implements the same create/update/delete code already shown in Steps 1-3, a padded duplicate that could be trimmed; the 'Quick Start' list also has a wording error ('This step creates: 1. Create action handler').

3 / 5

Actionability

Provides concrete, copy-paste-ready TypeScript with exact file paths covering create/update/delete handlers, but the create handler uses `AllFlatEntityMapsByMetadataName` and other types without importing them, leaving minor executable gaps.

4 / 5

Workflow Clarity

Steps 1-4 are clearly sequenced with a final checklist, but the workflow performs destructive database operations (hard `delete()`, `update()`, inserts) with no validation or verification checkpoint before execution, capping this dimension at 3 per the rubric.

3 / 5

Progressive Disclosure

Well-organized into Quick Start, Steps 1-4, Patterns, Checklist, and Next Step with one-level-deep external pointers (`../syncable-entity-integration/SKILL.md`, `@creating-syncable-entity` rule); minor gap is that the ~350-line body could offload the duplicate pattern reference into a separate file.

4 / 5

Total

14

/

20

Passed

Description

87%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 well-scoped, third-person, and explicitly pairs a clear 'what' with concrete 'Use when' trigger guidance, with strong distinctiveness from a negation clause. It is slightly jargon-heavy, which keeps specificity and trigger quality just below the top anchor.

DimensionReasoningScore

Specificity

Lists several concrete actions — 'implement action handlers for executing workspace migrations', 'creating database operations for syncable entities', 'universal-to-flat entity transpilation', 'create/update/delete actions' — but coverage leans on domain jargon rather than fully enumerated concrete behaviors, leaving minor gaps versus the comprehensive anchor 5.

4 / 5

Completeness

Explicitly answers both what ('Contributing to the Twenty codebase... Implement action handlers for executing workspace migrations') and when ('Use when creating database operations... or handling create/update/delete actions'), with concrete trigger phrases.

5 / 5

Trigger Term Quality

Trigger phrases such as 'creating database operations for syncable entities', 'universal-to-flat entity transpilation', and 'create/update/delete actions in the runner layer' are natural for a Twenty contributor and cover the main entry points, though a few common variations are missing.

4 / 5

Distinctiveness Conflict Risk

The opening scoping clause 'Contributing to the Twenty codebase itself (twentyhq/twenty server internals), not for building apps on top of Twenty' carves a clear niche with distinct triggers and minimal conflict risk.

5 / 5

Total

18

/

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 suspicious

Warning

Total

15

/

16

Passed

Repository
twentyhq/twenty
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.