Create Dojo systems that implement game logic, modify model state, and handle player actions. Use when implementing game mechanics, player commands, or automated logic.
76
66%
Does it follow best practices?
Impact
95%
1.69xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/dojo-system/SKILL.mdSystem 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%
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%
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%
52a1507
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.