Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Atomic task locking. Ensures only one agent works on a task at a time. Returns 409 Conflict if already locked. Auto-releases on agent death or timeout. Prevents double-work and wasted compute in multi-agent systems. Triggers on: "checkout", "lock task", "claim task", "reserve"
.claude/skills/miosa-osa-checkout/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 359% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -39% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 121% | 0% |
> Atomic task locking — one agent per task, no double-work.
Prevent two agents from working on the same task simultaneously. When an agent selects a task, it must check it out first. The checkout is atomic: if two agents race for the same task, exactly one wins and the other gets a 409 Conflict. Locks auto-release on agent death (detected via heartbeat), explicit release, or timeout.
bash# Check out a task /checkout task-d4e5 # Check out with explicit timeout /checkout task-d4e5 --timeout 30m # Release a checkout /checkout release task-d4e5 # Force-release (admin override) /checkout release task-d4e5 --force # List all active checkouts /checkout list # Check if a task is locked /checkout status task-d4e5
| Subcommand | Description | |------------|-------------| | <task-id> | Check out (lock) a task | | release <task-id> | Release a checkout | | list | Show all active checkouts | | status <task-id> | Check lock status of a specific task |
| Flag | Type | Default | Description | |------|------|---------|-------------| | --timeout | duration | 30m | Auto-release after this duration | | --force | flag | false | Force-release even if held by another agent (admin only) | | --agent | string | self | Agent identity for the checkout | | --reason | string | — | Why this task is being checked out |
.locks/{task-id}.lock. Use OS-level atomic file creation (O_CREAT | O_EXCL) to guarantee only one writer succeeds.{task_id, agent_id, agent_name, locked_at, timeout, reason}.--timeout. On expiry, release lock and log warning.--force)..locks/{task-id}.lock.Checkout acquired: task-d4e5
Agent: researcher (agent-a1b2)
Locked at: 2026-03-20T14:35:00Z
Timeout: 30m (auto-release at 15:05)Checkout DENIED: task-d4e5
Held by: writer (agent-c3d4)
Locked at: 2026-03-20T14:30:00Z
Timeout: 15m (auto-release at 14:45)
Suggestion: wait or pick another taskmarkdown## Active Checkouts | Task | Agent | Locked At | Timeout | Remaining | |------|-------|-----------|---------|-----------| | task-d4e5 | researcher | 14:35 | 30m | 22m | | task-f6g7 | writer | 14:30 | 15m | 7m | | task-h8i9 | analyst | 14:20 | 30m | 12m |
/heartbeat — Detects dead agents for auto-release| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 12,210 | 5,335 | -56% | 1 | 1 | 0% | 1,745 | 1,742 | -0% | 0 | 0 | — |
case-02 | fail→fail | 5,012 | 4,959 | -1% | 1 | 1 | 0% | 719 | 1,713 | +138% | 0 | 0 | — |
case-03 | fail→fail | 8,169 | 5,865 | -28% | 1 | 1 | 0% | 1,179 | 2,262 | +92% | 0 | 0 | — |
case-04 | fail→fail | 3,363 | 6,411 | +91% | 1 | 1 | 0% | 514 | 1,924 | +274% | 0 | 0 | — |
case-05 | pass→pass | 8,696 | 6,037 | -31% | 1 | 1 | 0% | 1,077 | 1,906 | +77% | 0 | 0 | — |
case-06 | fail→pass | 16,912 | 8,217 | -51% | 1 | 1 | 0% | 1,522 | 2,348 | +54% | 0 | 0 | — |
case-07 | fail→fail | 6,007 | 1,798 | -70% | 1 | 1 | 0% | 877 | 1,291 | +47% | 0 | 0 | — |
case-08 | fail→pass | 9,039 | 3,928 | -57% | 1 | 1 | 0% | 1,262 | 1,607 | +27% | 0 | 0 | — |
case-09 | pass→pass | 8,492 | 3,232 | -62% | 1 | 1 | 0% | 1,360 | 1,581 | +16% | 0 | 0 | — |
case-10 | fail→pass | 6,056 | 2,755 | -55% | 1 | 1 | 0% | 335 | 1,539 | +359% | 0 | 0 | — |
case-11 | fail→pass | 13,280 | 2,200 | -83% | 1 | 1 | 0% | 2,223 | 1,361 | -39% | 0 | 0 | — |
case-12 | fail→pass | 4,735 | 2,627 | -45% | 1 | 1 | 0% | 642 | 1,422 | +121% | 0 | 0 | — |
case-13 | fail→pass | 5,794 | 2,954 | -49% | 1 | 1 | 0% | 903 | 1,483 | +64% | 0 | 0 | — |
case-14 | pass→pass | 19,147 | 17,054 | -11% | 1 | 1 | 0% | 3,199 | 3,620 | +13% | 0 | 0 | — |
case-15 | fail→pass | 8,707 | 2,208 | -75% | 1 | 1 | 0% | 1,448 | 1,396 | -4% | 0 | 0 | — |
case-16 | pass→pass | 9,666 | 2,276 | -76% | 1 | 1 | 0% | 1,487 | 1,373 | -8% | 0 | 0 | — |
case-17 | fail→pass | 11,469 | 2,792 | -76% | 1 | 1 | 0% | 1,902 | 1,493 | -22% | 0 | 0 | — |
case-18 | pass→pass | 16,717 | 12,098 | -28% | 1 | 1 | 0% | 2,483 | 3,143 | +27% | 0 | 0 | — |
case-19 | fail→pass | 16,453 | 2,212 | -87% | 1 | 1 | 0% | 2,515 | 1,384 | -45% | 0 | 0 | — |
case-20 | fail→pass | 14,231 | 10,164 | -29% | 1 | 1 | 0% | 2,436 | 2,793 | +15% | 0 | 0 | — |
case-21 | fail→pass | 4,688 | 4,169 | -11% | 1 | 1 | 0% | 874 | 1,844 | +111% | 0 | 0 | — |
case-22 | fail→pass | 8,246 | 2,342 | -72% | 1 | 1 | 0% | 1,111 | 1,484 | +34% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.