CtrlK
BlogDocsLog inGet started
Tessl Logo

agent-crdt-synchronizer

Agent skill for crdt-synchronizer - invoke with $agent-crdt-synchronizer

53

2.93x
Quality

30%

Does it follow best practices?

Impact

97%

2.93x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/agent-crdt-synchronizer/SKILL.md

The canonical home for this skill is agent-crdt-synchronizer in ruvnet/claude-flow

SKILL.md
Quality
Evals
Security

Quality

Content

32%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 body is a monolithic dump of extensive CRDT class implementations rather than a skill overview: it is token-heavy, not end-to-end executable due to undefined dependencies, lacks any usage workflow with validation checkpoints, and inlines material that belongs in separate reference files. It reads more like a code library than an actionable skill.

Suggestions

Shrink SKILL.md to a concise overview and move the full GCounter/ORSet/LWWRegister/RGA/DeltaStateCRDT/CausalTracker/Composer/ConsensusIntegrator implementations into reference files under references/ (e.g. CRDT_IMPLEMENTATIONS.md), linking to them one level deep.

Add a concrete usage workflow with validation checkpoints, e.g. 1) registerCRDT, 2) apply local operation, 3) synchronize(peer) and validate convergence, 4) on merge failure re-sync, so distributed/batch state changes have a feedback loop.

Make code executable by either defining the referenced dependencies (VectorClock, SyncScheduler, sendSyncRequest, applyOrderedOperation, reconcileStates) or explicitly noting them as external/stub, and include a copy-paste runnable example of synchronizing state between two nodes.

DimensionReasoningScore

Conciseness

At ~997 lines the body is noticeably verbose, dominated by full class implementations with repeated onUpdate/notifyUpdate boilerplate across six classes and self-admitted 'simplified version' stubs, fitting 'Noticeably verbose; several unnecessary explanations or padded sections'. It is above score 1 (which requires explaining concepts Claude already knows in prose) because most content is code rather than padded explanation, but below score 3 given the repeated boilerplate and sheer volume for a SKILL.md overview.

2 / 5

Actionability

Substantial concrete code is provided, but it is not end-to-end executable: it depends on undefined classes (VectorClock, SyncScheduler, ORMap, PNCounter) and unimplemented methods (sendSyncRequest, processSyncResponse, getCurrentState, applyOrderedOperation, reconcileStates), and there is no usage example showing how to actually invoke the synchronizer. This matches 'Some concrete guidance but incomplete; missing key details'.

3 / 5

Workflow Clarity

There is no coherent usage workflow: 'Core Responsibilities' is a list of capabilities, not a sequenced procedure, and validation checkpoints are absent throughout. This fits 'Rough sequence present but many gaps; validation absent'; the destructive/batch feedback-loop cap at 3 is moot because no real workflow exists to begin with.

2 / 5

Progressive Disclosure

No bundle files exist and the entire body is a monolithic ~997-line inlining of full class implementations that clearly belong in separate reference files, matching 'content that clearly belongs in separate files is inlined'. Section headers provide some structure (above score 1's 'no structure'), but the >50-line simple-skill exception does not apply, so well-organized headers alone cannot lift it to score 3.

2 / 5

Total

9

/

20

Passed

Description

28%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 a templated placeholder that names a domain but provides no concrete capabilities, no natural user-facing trigger phrases, and no real usage guidance. It is distinguishable mainly by its unique invocation token rather than by descriptive content.

Suggestions

Rewrite the description in third person to state concrete actions, e.g. 'Implements state-based and operation-based CRDTs (counters, sets, registers, sequences) with delta synchronization and conflict-free merges for eventually consistent distributed state.'

Add an explicit 'Use when...' clause with natural trigger phrases users would say, such as 'Use when synchronizing replicated state, resolving merge conflicts, or building eventually consistent counters, sets, or registers.'

Replace the generic 'Agent skill for crdt-synchronizer - invoke with $agent-crdt-synchronizer' boilerplate with domain-specific language so it does not collide with other templated agent skills.

DimensionReasoningScore

Specificity

The text names the domain ("crdt-synchronizer") but lists no concrete actions, matching the score-2 anchor 'Names the domain but actions are minimal or generic' like 'Processes PDF files'; it is not entirely vague (score 1) because a specific domain is named, but it falls short of score 3 which requires 1-2 concrete actions.

2 / 5

Completeness

It gives a vague 'what' ("Agent skill for crdt-synchronizer") and only a weak invocation hint ("invoke with $agent-crdt-synchronizer") rather than a real 'when', matching 'Has a vague what and no when'. The missing explicit 'Use when...' trigger guidance caps it at 3, and the near-absence of a genuine 'when' pulls it down to 2.

2 / 5

Trigger Term Quality

The only keyword is the technical token "crdt-synchronizer" and the invocation string "$agent-crdt-synchronizer"; there are no natural phrases a user would actually say, fitting 'One or two generic keywords; missing the natural phrases users say'. It is above score 1 (which requires only jargon/generic language with no domain keyword) but well below score 3's 'some relevant keywords'.

2 / 5

Distinctiveness Conflict Risk

The crdt-synchronizer domain and its unique invocation token are somewhat specific, but the boilerplate 'Agent skill for X - invoke with $agent-X' phrasing is a shared template that overlaps with many auto-generated agent skills, fitting 'Somewhat specific but could still overlap with similar skills'.

3 / 5

Total

9

/

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

skill_md_line_count

SKILL.md is long (1002 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
ruvnet/ruflo
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.