Agent skill

Twenty Syncable Entity Cache and Transform

by twentyhq in twentyhq/twenty

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.

Custom licenceAuto-check passedBackend & APIs

Install Twenty Syncable Entity Cache and Transform

skills CLI
$ npx skills add twentyhq/twenty --skill syncable-entity-cache-and-transform -a claude-code

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

GitHub CLI
$ gh skill install twentyhq/twenty syncable-entity-cache-and-transform --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-cache-and-transform .claude/skills/syncable-entity-cache-and-transform && 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-cache-and-transform
GitHub stars
58k
Token cost
~2.4k tokens
SKILL.md length
287 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
Custom licence

At a glance

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.

  • Works in 4 steps: Create Cache Service → Entity-to-Flat Conversion → Input Transform Utils (DTO → Universal… → …
  • Implementing the cache service for a new syncable entity in Twenty
  • SKILL.md covers Quick Start, Step 1: Create Cache Service, Step 2: Entity-to-Flat… and Step 3: Input Transform Utils…, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

This is an internal contribution skill for the Twenty CRM codebase, not for building apps on top of Twenty, and it runs after a prior step that defines the entity's types and constants. It creates a cache service at a fixed path using the WorkspaceCache decorator with a unique flatMapsKey, always including soft-deleted rows with withDeleted: true, and following the flat{EntityName}Maps naming pattern.

It then shows an entity-to-flat conversion utility, where the universalIdentifier must be a freshly generated UUID rather than the entity's own id, and an input transform utility that turns a create DTO into a universal flat entity by generating ids, extracting foreign keys before sanitizing strings, building the base flat entity, and resolving foreign keys to universal identifiers. A final step creates the flat entity module, and the output is required before validators and action handlers can be built in later steps.

When your agent uses it

  • Implementing the cache service for a new syncable entity in Twenty
  • Writing an entity-to-flat conversion utility for a Twenty metadata module
  • Transforming a create or update DTO into a universal flat entity

Example prompts

  • “Create the flat entity cache service for the new Webhook syncable entity.”
  • “Write the entity-to-flat conversion util for FlatCustomObject.”
  • “Add the input transform util that turns CreateFieldInput into a universal flat field entity.”

Requirements

  • A checkout of the Twenty server codebase with NestJS and TypeORM

Workflow steps

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

  1. Create Cache Service
  2. Entity-to-Flat Conversion
  3. Input Transform Utils (DTO → Universal Flat Entity)
  4. Create Flat Entity Module

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

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

  • Network

    No URLs in SKILL.md.

    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

Twenty Syncable Entity Cache and Transform loads about 2.4k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 287 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~2.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 287 words (~2,429 tokens).

“Purpose: Create cache layer and transformation utilities to convert between different entity representations.”

— opening of SKILL.md by twentyhq, Custom licence
name
syncable-entity-cache-and-transform

Read the full SKILL.md on GitHub

Files

Just SKILL.md in .claude/skills/syncable-entity-cache-and-transform of twentyhq/twenty.

Open the folder on GitHubat commit 0d66dd1

Compare with similar skills

Twenty Syncable Entity Cache and Transform 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.

Twenty Syncable Entity Cache and Transform compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Twenty Syncable Entity Cache and Transform this skilltwentyhq/twenty58k—~2.4kAutomated safety check: PassCustom licence
Livewire Developmentcoollabsio/coolify63k—~964Automated safety check: PassMIT
Livewire Developmentyungifez/skuul4091 repos~1.9kAutomated safety check: PassMIT
Wayfinder Developmentslimani-dev/muraqib1281 repos~622Automated safety check: PassMIT
Rsc Data Optimizerjulianromli/opencode-template1441 repos~805Automated safety check: PassNone
Frontmcp Auth UIagentfront/frontmcp146—~3.7kAutomated safety check: PassApache-2.0

Similar skills

  • Livewire Development

    coollabsio/coolify

    A skill your agent uses for any task or question involving Livewire.

    63k GitHub stars~964 tokensUpdated today
    Backend & APIsAuto-check passed
  • Livewire Development

    yungifez/skuul

    A skill your agent uses for any task or question involving Livewire.

    409 GitHub starsUsed in 1 repo~1.9k tokens
    Backend & APIsAuto-check passed
  • Wayfinder Development

    slimani-dev/muraqib

    A skill your agent uses for Laravel Wayfinder which auto-generates typed functions for Laravel controllers and routes.

    128 GitHub starsUsed in 1 repo~622 tokens
    Backend & APIsAuto-check passed
  • Rsc Data Optimizer

    julianromli/opencode-template

    Optimize Next.js App Router data fetching by converting slow client-side fetching to fast server-side fetching using React Server Components (RSC).

    144 GitHub starsUsed in 1 repo~805 tokens
    Backend & APIsAuto-check passed
  • Frontmcp Auth UI

    agentfront/frontmcp

    A skill your agent uses when customizing, branding, or replacing the built-in FrontMCP OAuth pages (the login, consent, federated-select, incremental-authorization, and error pages) with your own…

    146 GitHub stars~3.7k tokensUpdated today
    Backend & APIsAuto-check passed
  • Nextjs Ssr

    asmyshlyaev177/test-proxy-recorder

    Tag server-side fetches with the x-test-rcrd-id session header so SSR is recorded under the correct Playwright test session.

    112 GitHub stars~4.4k tokensUpdated 4 days ago
    Backend & APIsAuto-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
  • 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
  • Step-by-step guide to writing the mandatory integration tests for syncable metadata entities in Twenty's server, covering failures and CRUD success cases.

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

Works with

Categories

Questions about Twenty Syncable Entity Cache and Transform

What does Twenty Syncable Entity Cache and Transform do?

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. This is an internal contribution skill for the Twenty CRM codebase, not for building apps on top of Twenty, and it runs after a prior step that defines the entity's types and constants. It creates a cache service at a fixed path using the WorkspaceCache decorator with a unique flatMapsKey, always including soft-deleted rows with withDeleted: true, and following the flat{EntityName}Maps naming pattern.

When should I use Twenty Syncable Entity Cache and Transform?

Twenty Syncable Entity Cache and Transform fits situations like: implementing the cache service for a new syncable entity in Twenty; writing an entity-to-flat conversion utility for a Twenty metadata module; transforming a create or update DTO into a universal flat entity.

How do I install Twenty Syncable Entity Cache and Transform in Claude Code?

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

How do I install Twenty Syncable Entity Cache and Transform in Codex?

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

Can I use Twenty Syncable Entity Cache and Transform 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-cache-and-transform -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-cache-and-transform, .gemini/skills/syncable-entity-cache-and-transform, .github/skills/syncable-entity-cache-and-transform and .opencode/skills/syncable-entity-cache-and-transform in your project.

What does Twenty Syncable Entity Cache and Transform need to run?

SKILL.md names no scripts, command-line tools or credentials: Twenty Syncable Entity Cache and Transform is instructions for the agent only. Our summary lists: A checkout of the Twenty server codebase with NestJS and TypeORM.

Does Twenty Syncable Entity Cache and Transform access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Twenty Syncable Entity Cache and Transform 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 Twenty Syncable Entity Cache and Transform use?

Twenty Syncable Entity Cache and Transform 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 Twenty Syncable Entity Cache and Transform use?

About 2.4k tokens (SKILL.md is roughly 9.7k 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 Twenty Syncable Entity Cache and Transform?

Skills that share tags, products or a category with Twenty Syncable Entity Cache and Transform: Livewire Development (coollabsio/coolify, 63k stars), Livewire Development (yungifez/skuul, 409 stars), Wayfinder Development (slimani-dev/muraqib, 128 stars) and Rsc Data Optimizer (julianromli/opencode-template, 144 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Twenty Syncable Entity Cache and Transform?

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.