Agent skill

Syncable Entity Integration Tests

by twentyhq in twentyhq/twenty

Step-by-step guide to writing the mandatory integration tests for syncable metadata entities in Twenty's server, covering failures and CRUD success cases.

Custom licenceAuto-check passedTesting & QA

Install Syncable Entity Integration Tests

skills CLI
$ npx skills add twentyhq/twenty --skill syncable-entity-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install twentyhq/twenty syncable-entity-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/twentyhq/twenty.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/syncable-entity-testing .claude/skills/syncable-entity-testing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
syncable-entity-testing
GitHub stars
58k
Token cost
~3.4k tokens
SKILL.md length
349 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
Custom licence

At a glance

Step-by-step guide to writing the mandatory integration tests for syncable metadata entities in Twenty's server, covering failures and CRUD success cases.

  • Works in 4 steps: Create Test Utilities → Failing Creation Tests → Successful Creation Tests → …
  • Finishing a new syncable entity in the Twenty server with its integration tests
  • SKILL.md covers Quick Start, Step 1: Create Test Utilities, Step 2: Failing Creation Tests and Step 3: Successful Creation…, plus 6 more sections
  • Calls npx

What it does

This is the sixth and final mandatory step of adding a syncable entity to the Twenty server, and it is for contributors to the Twenty codebase, not for apps built on Twenty. Tests must cover failing scenarios, meaning every validator exception and input transpilation error, and successful scenarios, meaning all CRUD operations and edge cases, plus reusable test utilities.

Each operation uses a two-file pattern, a query factory and a wrapper utility, for create, update and delete under the entity's folder in `test/integration/metadata/suites/`. Failing creation tests use snapshot assertions and a coverage list: missing required fields, empty strings, invalid formats, uniqueness violations, standard entity protection and foreign key validation. Successful creation tests come next, written against GraphQL metadata queries.

When your agent uses it

  • Finishing a new syncable entity in the Twenty server with its integration tests
  • Adding tests for validator exceptions and input transpilation errors
  • Creating query factory and wrapper utilities for metadata CRUD tests

Example prompts

  • “Write the integration tests for the new syncable entity, starting with the query factories.”
  • “Add failing creation tests for missing fields, empty strings and uniqueness violations.”
  • “Add the successful creation and deletion tests following the two-file pattern.”

Requirements

  • A checkout of the twentyhq/twenty server with its integration test setup

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Create Test Utilities
  2. Failing Creation Tests
  3. Successful Creation Tests
  4. Update and Delete Tests

What it can do on your machine

Read from SKILL.md and the folder at commit 0d66dd1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Syncable Entity Integration Tests loads about 3.4k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 349 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 349 words (~3,429 tokens).

“Purpose: Create comprehensive test suite covering all validation scenarios, input transpilation exceptions, and successful use cases.”

— opening of SKILL.md by twentyhq, Custom licence
name
syncable-entity-testing

Read the full SKILL.md on GitHub

Files

Just SKILL.md in .claude/skills/syncable-entity-testing of twentyhq/twenty.

Open the folder on GitHubat commit 0d66dd1

Compare with similar skills

Syncable Entity Integration Tests next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Syncable Entity Integration Tests compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Syncable Entity Integration Tests this skilltwentyhq/twenty58k—~3.4kAutomated safety check: PassCustom licence
Test Specialistailabs-393/ai-labs-claude-skills454—~3.4kAutomated safety check: PassMIT
Testing Strategiesancoleman/ai-design-components526—~3.8kAutomated safety check: PassMIT
Web3 Testingwshobson/agents40k11 repos~2kAutomated safety check: PassMIT
API Testingpetrkindlmann/qa-skills163—~2.7kAutomated safety check: PassMIT
Contract Testingpetrkindlmann/qa-skills163—~4.1kAutomated safety check: PassMIT

Similar skills

  • Test Specialist

    ailabs-393/ai-labs-claude-skills

    This skill should be used when writing test cases, fixing bugs, analyzing code for potential issues, or improving test coverage for JavaScript/TypeScript applications.

    454 GitHub stars~3.4k tokensUpdated 11 mo ago
    Testing & QAAuto-check passed
  • Testing Strategies

    ancoleman/ai-design-components

    Strategic guidance for choosing and implementing testing approaches across the test pyramid.

    526 GitHub stars~3.8k tokensUpdated 10 mo ago
    Testing & QAAuto-check passed
  • Web3 Testing

    wshobson/agents

    Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking.

    40k GitHub starsUsed in 11 repos~2k tokens
    Testing & QAAuto-check passed
  • API Testing

    petrkindlmann/qa-skills

    Test REST and GraphQL APIs with Playwright APIRequestContext, Supertest, or standalone HTTP clients.

    163 GitHub stars~2.7k tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • Contract Testing

    petrkindlmann/qa-skills

    Implement consumer-driven contract testing with Pact-JS (v16).

    163 GitHub stars~4.1k tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • API Testing

    cosmicstack-labs/mercury-agent-skills

    REST and GraphQL testing, Postman/Insomnia patterns, contract testing, schema validation, and monitoring

    476 GitHub stars~449 tokensUpdated 1 mo ago
    Testing & QAAuto-check passed

More from twentyhq/twenty

All 13 skills in this repo
  • Guides changes to an existing Twenty app: adding or editing objects, layouts, logic functions and front components, with a plan stated before multi-entity edits.

    58k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Twenty App Operations

    twentyhq/twenty

    Operates an existing Twenty app: managing remotes, syncing, building, deploying, reading logs, running tests and setting up CI/CD, with confirmation for production.

    58k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Contributor guide for step three of adding a syncable entity to the Twenty server: write the validator, the migration action builder and the orchestrator wiring.

    58k GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Walks through step 2 of adding a syncable entity to the Twenty server: a cache service for flat entity maps and utilities that transform entities and DTOs into universal flat entities.

    58k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Registers a new syncable entity in three NestJS modules and adds its service and GraphQL resolver layers when contributing to the Twenty server.

    58k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Step four of adding a syncable entity in the Twenty server: write create, update and delete action handlers that run workspace migrations against the database.

    58k GitHub stars~3.1k tokensUpdated today
    Auto-check passed

Questions about Syncable Entity Integration Tests

What does Syncable Entity Integration Tests do?

Step-by-step guide to writing the mandatory integration tests for syncable metadata entities in Twenty's server, covering failures and CRUD success cases. This is the sixth and final mandatory step of adding a syncable entity to the Twenty server, and it is for contributors to the Twenty codebase, not for apps built on Twenty. Tests must cover failing scenarios, meaning every validator exception and input transpilation error, and successful scenarios, meaning all CRUD operations and edge cases, plus reusable test utilities.

When should I use Syncable Entity Integration Tests?

Syncable Entity Integration Tests fits situations like: finishing a new syncable entity in the Twenty server with its integration tests; adding tests for validator exceptions and input transpilation errors; creating query factory and wrapper utilities for metadata CRUD tests.

How do I install Syncable Entity Integration Tests in Claude Code?

Run `npx skills add twentyhq/twenty --skill syncable-entity-testing -a claude-code`. Or copy the skill folder (.claude/skills/syncable-entity-testing in twentyhq/twenty) into .claude/skills/syncable-entity-testing in your project. Claude Code loads it when a task matches its description.

How do I install Syncable Entity Integration Tests in Codex?

Run `npx skills add twentyhq/twenty --skill syncable-entity-testing -a codex`. Or copy the skill folder (.claude/skills/syncable-entity-testing in twentyhq/twenty) into .agents/skills/syncable-entity-testing in your project. Codex loads it when a task matches its description.

Can I use Syncable Entity Integration Tests in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add twentyhq/twenty --skill syncable-entity-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/syncable-entity-testing, .gemini/skills/syncable-entity-testing, .github/skills/syncable-entity-testing and .opencode/skills/syncable-entity-testing in your project.

What does Syncable Entity Integration Tests need to run?

Going by SKILL.md and its folder, Syncable Entity Integration Tests needs the command-line tools its instructions call (npx). Our summary lists: A checkout of the twentyhq/twenty server with its integration test setup.

Does Syncable Entity Integration Tests access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Syncable Entity Integration Tests safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Syncable Entity Integration Tests use?

Syncable Entity Integration Tests has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Syncable Entity Integration Tests use?

About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Syncable Entity Integration Tests?

Skills that share tags, products or a category with Syncable Entity Integration Tests: Test Specialist (ailabs-393/ai-labs-claude-skills, 454 stars), Testing Strategies (ancoleman/ai-design-components, 526 stars), Web3 Testing (wshobson/agents, 40k stars) and API Testing (petrkindlmann/qa-skills, 163 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Syncable Entity Integration Tests?

twentyhq (a GitHub organization) maintains it in twentyhq/twenty, which has 57,999 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.

Source: twentyhq/twenty on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.