Registers reactive state triggers that automatically fire functions when key-value state is created, updated, or deleted. Use whenever a requirement says "when X changes, do Y", "after a record is created/updated/deleted", keep derived data in sync, notify users, invalidate caches, write audit logs, or run downstream work from data changes without polling or explicit calls.
64
75%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/iii-state-reactions/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly defines its purpose (reactive state triggers on key-value state changes), lists concrete actions and use cases, and includes an explicit 'Use whenever' clause with natural trigger phrases. The description is well-structured, uses third person voice correctly, and provides enough specificity to distinguish it from general event handling or state management skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: registering reactive state triggers, firing functions on create/update/delete, keeping derived data in sync, notifying users, invalidating caches, writing audit logs, and running downstream work. | 3 / 3 |
Completeness | Clearly answers both 'what' (registers reactive state triggers that fire functions on key-value state changes) and 'when' (explicit 'Use whenever' clause with multiple concrete trigger scenarios like 'when X changes, do Y', sync derived data, notify users, etc.). | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural trigger terms users would say: 'when X changes, do Y', 'after a record is created/updated/deleted', 'derived data in sync', 'notify users', 'invalidate caches', 'audit logs', 'without polling'. These closely match how users describe reactive/event-driven requirements. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche around reactive state triggers and key-value state change events. The specific focus on event-driven reactions to data mutations (create/update/delete) with concrete use cases like cache invalidation and audit logs makes it unlikely to conflict with other skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides a reasonable overview of state reactions with clear architecture visualization and good cross-references to related skills. However, it lacks inline executable code examples (relying entirely on external reference files that aren't verified), has some redundancy across sections, and misses explicit setup/validation workflows. The content would benefit from a minimal inline code example and tighter organization.
Suggestions
Add a minimal inline code example (5-10 lines) showing a complete registerFunction + registerTrigger setup so the skill is actionable even without the reference files.
Consolidate the 'When to Use', 'Boundaries', and 'Pattern Boundaries' sections into a single section to reduce redundancy and improve conciseness.
Add explicit numbered setup steps with a validation checkpoint (e.g., verify the worker is installed, test that a trigger fires) to improve workflow clarity.
Reduce overlap between 'iii Primitives Used' table and 'Common Patterns' section — the primitives table already covers the core API surface.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient but includes some redundancy — the 'Common Patterns' section largely repeats information from the 'iii Primitives Used' table and 'Architecture' section. The 'Boundaries' and 'When to Use' sections overlap. Some sections like 'Adapting This Pattern' add value but could be tighter. | 2 / 3 |
Actionability | The skill provides API signatures and pattern descriptions but no inline executable code — it delegates entirely to reference files. The common patterns section lists function calls but doesn't show a complete, copy-paste-ready example. Without bundle files to verify, the referenced implementations can't be confirmed as existing. | 2 / 3 |
Workflow Clarity | The Architecture section provides a clear flow diagram showing the event chain, and the steps (install worker, register function, register trigger) are implied. However, there are no explicit numbered steps for setup, no validation checkpoints, and no error recovery guidance for when triggers fail to fire or conditions don't match. | 2 / 3 |
Progressive Disclosure | References to external files (state-reactions.js/py/rs, iii-config.yaml) are well-signaled and one level deep, which is good. However, no bundle files were provided, so we can't verify these references exist. The main file itself contains some content that could be consolidated (overlapping sections) rather than being cleanly structured. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
a7ebbbb
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.