Create Dojo systems that implement game logic, modify model state, and handle player actions. Use when implementing game mechanics, player commands, or automated logic.
79
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillEvaluation — 95%
↑ 1.69xAgent success when using this skill
Validation for skill structure
System structure and event emission
ModelStorage import
0%
100%
EventStorage import
0%
100%
Starknet imports
100%
100%
dojo::contract attribute
100%
100%
starknet::interface trait
0%
100%
abi(embed_v0) on impl
100%
100%
Event derives and attribute
100%
100%
Event key field
100%
100%
Event emitted with snapshot
0%
100%
world_default helper
0%
100%
write_model with snapshot
0%
100%
read_model usage
0%
0%
Without context: $0.3104 · 1m 16s · 19 turns · 25 in / 4,689 out tokens
With context: $0.1941 · 42s · 12 turns · 421 in / 2,371 out tokens
Stateless design and input validation
ModelStorage import
0%
100%
Starknet imports
100%
100%
dojo::contract attribute
100%
100%
No stored state in contract
100%
100%
Read before modify
60%
100%
assert for action_points
100%
100%
assert for cooldown
100%
100%
Logic then write
80%
100%
write_model with snapshot
0%
100%
Single purpose system
100%
100%
starknet::interface defined
100%
100%
abi(embed_v0) on impl
100%
100%
Without context: $0.3055 · 1m 14s · 16 turns · 23 in / 4,026 out tokens
With context: $0.2331 · 43s · 13 turns · 175 in / 2,474 out tokens
Unique IDs, permissions, and world_default helper
world.uuid() for ID
100%
100%
Per-model writers config
53%
100%
world_default helper
0%
100%
Namespace in world_default
0%
100%
ModelStorage import
0%
100%
Starknet imports
50%
50%
dojo::contract attribute
100%
100%
starknet::interface defined
0%
100%
abi(embed_v0) on impl
100%
100%
write_model with snapshot
100%
100%
Without context: $0.3697 · 1m 26s · 20 turns · 75 in / 5,300 out tokens
With context: $0.3646 · 1m 8s · 22 turns · 276 in / 3,658 out tokens
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.