CtrlK
BlogDocsLog inGet started
Tessl Logo

async-state-safety

This skill should be used when the user asks to change "worker lifecycle", "cancellation", "retrigger behavior", "state machine", "delivery receipts", "timeouts", or "race conditions". Enforces explicit async/state invariants and targeted race-safe verification.

65

Quality

77%

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 ./.agents/skills/async-state-safety/SKILL.md
SKILL.md
Quality
Evals
Security

Async State Safety

Goal

Prevent race regressions in async and stateful paths.

Required Invariants

  • Define valid terminal states before coding.
  • Define allowed state transitions before coding.
  • Keep terminal transitions idempotent.
  • Ensure duplicate events cannot double-apply terminal effects.
  • Ensure retries do not corrupt state.

Race Checklist

  • Cancellation racing completion
  • Timeout racing completion
  • Retry racing ack/receipt update
  • Concurrent updates to the same worker/channel record
  • Missing-handle and stale-handle behavior

Implementation Checklist

  • Add or update transition guards.
  • Keep error handling explicit and structured.
  • Preserve status/event emission on all terminal branches.
  • Document why each race path converges safely.

Verification Checklist

  • Run targeted tests for each touched race path.
  • Add at least one negative-path test for terminal convergence.
  • Add at least one idempotency test where applicable.
  • Run broad gate checks after targeted checks pass.

Handoff Requirements

  • Terminal states and transition matrix
  • Race windows analyzed
  • Targeted commands and outcomes
  • Residual risks and follow-up tests
Repository
spacedriveapp/spacebot
Last updated
First committed

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.