CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

syncable-entity-integration

Contributing to the Twenty codebase itself (twentyhq/twenty server internals), not for building apps on top of Twenty. Wire syncable entity services into NestJS modules, create service layer and resolvers for Twenty entities. Use when registering builders, validators, and action handlers in modules, creating business services, or exposing entities via GraphQL API with proper exception handling.

Quality

84%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

—

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

75%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 well-structured, code-first integration guide: every step names an exact file and provides a near-complete TypeScript example, with a clear sequence and a closing checklist. The main gaps are minor: repeated restatement of the flat-entity principle, missing service implementations for update/delete, and no executable verification checkpoint before the testing handoff.

Suggestions

Show (or explicitly note the omission of) the service implementations for update and delete, since the resolver snippet calls methods that are never defined, and include the missing imports (CreateMyEntityInput, MyEntityDto, @Workspace) to make snippets copy-paste ready.

Add an executable verification checkpoint before the checklist (e.g. a typecheck/build command) so the integration is confirmed before moving to Step 6 testing.

Consolidate the 'services return flat entities, resolvers convert flat → DTO' principle, which is currently repeated across Quick Start, Service pattern, Resolver responsibilities, the Layer Responsibilities section, and the Checklist, into one authoritative statement.

DimensionReasoningScore

Conciseness

The body is dominated by concrete, file-pathed code examples with minimal concept explanation, but the key principle 'Services return flat entities, resolvers transpile flat → DTO' is restated in Quick Start, the Service pattern, Resolver responsibilities, the Layer Responsibilities section (table plus two bullet lists), and the checklist — repetition that could be trimmed. Mostly efficient with minor padding, matching the score-4 anchor rather than 5 where every token earns its place.

4 / 5

Actionability

Concrete file paths and full TypeScript snippets for all six steps are mostly executable, but the resolver calls 'this.myEntityService.update(id, input, workspaceId)' and 'delete' whose service implementations are never shown, and snippets reference CreateMyEntityInput, MyEntityDto, and @Workspace without imports. Concrete code with minor gaps matches score 4; not 5 because the common update/delete cases are not copy-paste covered.

4 / 5

Workflow Clarity

Steps 1-6 are clearly sequenced with a 'When to use' precondition ('After completing Steps 1-4'), an 8-item verification checklist, and a mandatory pointer to the next step. However there is no executable checkpoint (e.g. a compile/typecheck command) to confirm the module wiring before handing off to testing, so 'most checkpoints present; minor validation gaps' (score 4) fits better than the explicit validation/feedback-loop profile of score 5.

4 / 5

Progressive Disclosure

Well-organized single-file skill with clear section headers, one-level-deep references (the sibling '../syncable-entity-testing/SKILL.md' and '@creating-syncable-entity' rule), and no nested references. It sits at score 4 rather than 5 because the ~320-line body inlines full code samples that could be split into reference files, and no bundle structure exists to justify the monolith; not 3 since structure and navigation are good, not just present.

4 / 5

Total

16

/

20

Passed

Description

88%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 strong description: it names concrete integration actions, gives an explicit 'Use when' trigger clause, and proactively draws a boundary against app-building usage. The only weaknesses are missing synonyms/variations in trigger terms and potential trigger overlap with its sibling steps in the same skill series.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — 'Wire syncable entity services into NestJS modules', 'create service layer and resolvers for Twenty entities', 'registering builders, validators, and action handlers', 'exposing entities via GraphQL API with proper exception handling' — with comprehensive coverage of the integration surface. It exceeds the score-4 anchor because there are no minor gaps in coverage, not just several specific actions.

5 / 5

Completeness

Explicitly answers both: 'what' ('Wire syncable entity services into NestJS modules, create service layer and resolvers for Twenty entities') and 'when' ('Use when registering builders, validators, and action handlers in modules, creating business services, or exposing entities via GraphQL API with proper exception handling'). It matches the score-5 anchor exactly; the 'when' is explicit with concrete trigger phrases, not merely present.

5 / 5

Trigger Term Quality

Good keyword coverage with domain-natural terms a Twenty contributor would say ('NestJS modules', 'builders, validators, and action handlers', 'service layer', 'resolvers', 'GraphQL API'). Not 5 because it lacks synonyms or user-level variations (e.g. 'custom objects', 'add a new entity to Twenty'); not 3 because coverage is good rather than partial with missing common variations.

4 / 5

Distinctiveness Conflict Risk

Clear niche with explicit disambiguation ('Contributing to the Twenty codebase itself... not for building apps on top of Twenty'), but trigger phrases like 'registering builders, validators' and 'creating business services' overlap with sibling steps in the same 6-step skill series, so a user could route to the wrong step. Minor overlap risk with closely related skills matches the score-4 anchor; not 3 since the domain boundary is explicitly stated.

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 suspicious

Warning

Total

15

/

16

Passed

Repository

twentyhq/twenty

Path

.claude/skills/syncable-entity-integration/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.