CtrlK
BlogDocsLog inGet started
Tessl Logo

yjs

Apply Epicenter’s Yjs 14 patterns for row documents, transactions, persistence, and synchronization. Use when working with `@y/y`, CRDTs, collaborative editing, awareness, or Yjs storage and providers.

62

Quality

78%

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 ./.agents/skills/yjs/SKILL.md
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.

A dense, project-specific reference with concrete API names, real file references, and well-signaled when-to-read navigation. It is weakened by narrative verbosity, explanations of general CRDT/Yjs concepts, and the absence of any sequenced workflow with validation checkpoints.

Suggestions

Trim or move design-history narrative (e.g., the retired 'scalar'/'prose' vocabulary and the pre-ADR-0295 row-document design) into a short 'retired patterns' note or reference file.

Cut explanations of general Yjs semantics Claude already knows (commutativity/idempotency of updates, 'Yjs is network-agnostic') and keep only the Epicenter-specific consequences.

Add a short ordered workflow for the most common task (e.g., structuring a new row: read document-design.md, declare the table, choose value vs. node fields, verify against the conformance lens) with an explicit validation step.

DimensionReasoningScore

Conciseness

The body carries substantial genuinely non-obvious project knowledge (ADR pointers, wire frames, compaction rules), but it also explains concepts Claude already knows ("Yjs updates are commutative and idempotent", "Yjs is network-agnostic") and includes narrative design-history prose ("There are no independent row documents. A row's content node used to live in its own top-level document...") that could be trimmed. Mostly efficient with tightening possible, matching anchor 3; not 4 because several paragraphs are justification essays rather than lean instruction.

3 / 5

Actionability

Concrete API calls appear throughout ("Y.encodeStateVector(doc)", "Y.encodeStateAsUpdateV2(doc, remoteStateVector)", "doc.transact(() => { ... }, origin)", "mergeUpdatesV2") plus real file paths and a TypeScript example, so guidance is mostly executable. Not a 5 because only one code snippet exists and it is illustrative rather than copy-paste ready, and much guidance is prohibitive ('Do not add...') without a positive recipe; clearly above 3 because specifics dominate over vagueness.

4 / 5

Workflow Clarity

Conditional reading directives provide a decision structure ("Read [references/document-design.md] before choosing how a new row document is structured", "Read [references/debugging.md] when a document converges to unexpected state"), but the body is organized topically rather than as a sequenced workflow, and there are no validation checkpoints or feedback loops. Matches anchor 3 (structure present, checkpoints missing); not 2 because the trigger-based navigation is coherent and unambiguous.

3 / 5

Progressive Disclosure

Both referenced bundle files exist (references/document-design.md, references/debugging.md), are one level deep, and are clearly signaled with purpose and when-to-read conditions. Not a 5 because the ~190-line body inlines substantial detail (compaction mechanics, store connection rules) that could be split into further reference files; not 3 because the existing split and signaling are clean.

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.

A strong description: it names the domain and scope concretely, pairs a clear 'what' with an explicit 'use when' clause, and its triggers (Yjs, CRDTs, collaborative editing, awareness) are natural and distinctive. The only weakness is that the capability list is topic-oriented rather than action-oriented.

Suggestions

Replace the generic verb 'Apply ... patterns' with concrete actions (e.g., 'Structure row documents, wrap writes in transactions, persist and compact update logs, and wire store sync').

Add common trigger synonyms such as 'shared editing' or 'real-time sync' to broaden natural-term coverage.

DimensionReasoningScore

Specificity

"Apply Epicenter's Yjs 14 patterns for row documents, transactions, persistence, and synchronization" names a specific domain and four concrete capability areas. Not a 5 because the only verb is the generic "Apply" with no distinct concrete actions; not a 3 because coverage goes well beyond 1-2 actions.

4 / 5

Completeness

It explicitly answers both: what ("Apply Epicenter's Yjs 14 patterns for row documents, transactions, persistence, and synchronization") and when ("Use when working with `@y/y`, CRDTs, collaborative editing, awareness, or Yjs storage and providers") with concrete trigger phrases. Matches the anchor-5 example structure exactly; not a 4 because the 'when' clause is already explicit and specific.

5 / 5

Trigger Term Quality

"Use when working with `@y/y`, CRDTs, collaborative editing, awareness, or Yjs storage and providers" covers the natural terms a user would say, including the package name and CRDT/collaborative-editing synonyms. Not a 5 because common variations like "shared editing" or "real-time sync" are missing; clearly above 3 since coverage is broad and domain-appropriate.

4 / 5

Distinctiveness Conflict Risk

Yjs/CRDT collaborative editing is a clear niche with distinct trigger terms ("Yjs", "CRDTs", "awareness", "@y/y"), so conflict risk with other skills is minimal. Not a 4 because the triggers would not plausibly fire a different skill.

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 5 suspicious

Warning

Total

15

/

16

Passed

Repository
EpicenterHQ/epicenter
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.