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.
Install with Tessl CLI
npx tessl i github:Dicklesworthstone/pi_agent_rust --skill projection-patterns82
Quality
73%
Does it follow best practices?
Impact
94%
1.77xAverage score across 3 eval scenarios
Optimize this skill with Tessl
npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-wshobson/backend-development/skills/projection-patterns/SKILL.mdCore projection class structure
Event dataclass
100%
100%
stream_id field
0%
100%
global_position field
0%
100%
version field
0%
100%
Projection ABC
100%
100%
Abstract name property
0%
100%
Abstract handles method
0%
100%
Abstract apply method
0%
100%
asyncpg Pool usage
0%
100%
Pool acquire pattern
0%
100%
Handler dispatch dict
60%
100%
Denormalized table
100%
100%
Three event types handled
57%
100%
Separate handler methods
100%
100%
Without context: $0.3068 · 1m 35s · 13 turns · 13 in / 5,017 out tokens
With context: $0.5818 · 2m 9s · 20 turns · 19 in / 7,856 out tokens
Projector checkpointing and rebuild
Projector constructor
100%
100%
Projections list
100%
100%
Register method
100%
100%
Polling interval
0%
100%
Default batch size 100
33%
100%
Rebuild batch size 1000
0%
100%
Checkpoint default to 0
100%
100%
Checkpoint save per event
0%
100%
Saves global_position
0%
100%
Rebuild deletes checkpoint
100%
100%
Rebuild uses projection name
100%
100%
Handles unregistered types
62%
100%
Without context: $0.3146 · 1m 20s · 14 turns · 63 in / 4,733 out tokens
With context: $0.5413 · 1m 50s · 21 turns · 259 in / 6,604 out tokens
Aggregating upserts and multi-table transactions
ON CONFLICT upsert
100%
100%
Incremental counter update
100%
100%
Transaction for multi-table
66%
100%
Both tables in transaction
100%
100%
asyncpg Pool pattern
0%
100%
Idempotent daily upsert
100%
100%
Handler dispatch dict
0%
0%
Error handling present
12%
0%
Date extraction for daily key
100%
100%
Separate projection classes
100%
100%
Implementation notes file
100%
100%
Without context: $0.3420 · 1m 38s · 12 turns · 12 in / 6,381 out tokens
With context: $0.3893 · 1m 43s · 15 turns · 303 in / 5,032 out tokens
Table of Contents
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.