CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

projection-patterns

Build read models and projections from event streams. Use when implementing CQRS read sides, building materialized views, or optimizing query performance in event-sourced systems.

49

Quality

62%

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 ./plugins/antigravity-bundle-ddd-evented-architecture/skills/projection-patterns/SKILL.md

The canonical home for this skill is projection-patterns in rmyndharis/antigravity-skills

SKILL.md
Quality
Evals
Security

Quality

Content

28%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 hollow template: boilerplate instructions that would fit any skill, no projection-specific techniques, steps, or examples, and its entire depth delegated to a resource file that is absent from the bundle. Only the Use/Do-not-use trigger lists and the reference structure show real skill design.

Suggestions

Create the referenced `resources/implementation-playbook.md` (or fix the path to an existing bundle directory like `references/`) — currently every substantive detail is deferred to a file that does not exist, breaking progressive disclosure entirely.

Replace the generic Instructions bullets with concrete projection-building guidance: e.g., defining a projection schema from event types, idempotent event handlers keyed on event ID, checkpoint/offset tracking for the event store, and rebuilding/replaying a projection from stream start.

Add a real workflow with validation checkpoints — e.g., verify projection state against a replayed event count, handle versioned events, and reconcile drift between the read model and the event store — instead of the abstract 'validate outcomes' bullet, and remove the tautological 'Do not use' bullets to reclaim tokens.

DimensionReasoningScore

Conciseness

The body is short but a large share of its tokens are non-earning generic filler: "Clarify goals, constraints, and required inputs. Apply relevant best practices and validate outcomes" and "Provide actionable steps and verification" could appear verbatim in any skill and teach nothing Claude doesn't know, and the "Do not use this skill when" bullets ("The task is unrelated to projection patterns") are tautological. It is not a 2 because the total length is small and the Use-when list carries real signal; it is not a 4-5 because the Instructions section is pure boilerplate padding.

3 / 5

Actionability

There is no concrete guidance anywhere: no code, no commands, no named techniques or patterns (no event replay, idempotency handling, catch-up subscriptions, projection versioning, checkpointing, etc.), just abstract directives like "Apply relevant best practices and validate outcomes". This matches the 1 anchor ('entirely vague or abstract; only describes rather than instructs'); even the 2 anchor's 'high-level hints' are absent, and the single concrete pointer targets a file that does not exist in the bundle.

1 / 5

Workflow Clarity

The Instructions bullets form only a trivial, task-agnostic meta-sequence (clarify → apply → provide) rather than a projection-building workflow, and validation appears only as the abstract phrase "validate outcomes" with no checkpoint or error-recovery guidance. This is a rough sequence with many gaps matching the 2 anchor; it is not a 3 because there is no projection-specific sequenced process, and not a 1 only because a nominal step order does exist.

2 / 5

Progressive Disclosure

Structurally the pattern is right — a short overview with a single clearly-signaled, one-level-deep reference ("`resources/implementation-playbook.md` for detailed patterns and examples") — but the referenced file does not exist in the bundle (no resources/, references/, scripts/, or assets/ directories present), so the disclosure chain dead-ends and the skill defers 100% of its substance to a missing file. This lands at the 3 anchor ('some structure but could be better organized') — better than 2 because the reference is prominently signaled rather than buried, but the broken target leaves no navigable content.

3 / 5

Total

9

/

20

Passed

Description

78%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 well-formed description with a clear third-person 'what' statement and an explicit multi-trigger 'Use when' clause covering the natural domain vocabulary. The main gap is breadth of concrete capabilities (only two actions listed) and minor trigger overlap with generic database performance topics.

DimensionReasoningScore

Specificity

The description names the domain and exactly two concrete actions — "Build read models and projections from event streams" — which matches the anchor for 1-2 concrete actions without comprehensive coverage. It is not a 4 because 'several specific actions' (e.g., rebuilding/replaying projections, building search indexes, stream aggregation) are absent, and not a 2 because the actions named are concrete rather than generic.

3 / 5

Completeness

It explicitly answers both questions: the 'what' is "Build read models and projections from event streams" and the 'when' is a concrete trigger clause — "Use when implementing CQRS read sides, building materialized views, or optimizing query performance in event-sourced systems" — with three specific trigger phrases. This matches the 5 anchor directly; the 4 anchor ('when' could be more explicit) does not apply since the when-clause is fully explicit.

5 / 5

Trigger Term Quality

Natural phrases a user would say are well covered: "CQRS read sides", "materialized views", "event streams", "query performance", "event-sourced systems", "projections", "read models". It falls short of the 5 anchor because common synonyms and variations (e.g., 'event sourcing' as a standalone phrase, 'denormalized views', 'catch-up subscriptions', specific tools/platforms) are missing, but it is well above the 3 anchor's 'some relevant keywords with missing variations'.

4 / 5

Distinctiveness Conflict Risk

The event-sourcing/CQRS niche is clear and the triggers are distinct, but phrases like "materialized views" and "optimizing query performance" could plausibly fire on general database-optimization or view-tuning tasks, giving minor overlap risk with closely related database skills — the 4 anchor. It is not a 5 because of that overlap, and clearly not a 3 since the domain is well differentiated from generic skills.

4 / 5

Total

16

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/antigravity-bundle-ddd-evented-architecture/skills/projection-patterns/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.