Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Record an edit you just made in a fleet and get its conflict class (A/B/C) against agents on your branch. Use when you have just finished an edit, when the user says 'I just changed X', or when completing a refactor step while other agents share your repo+branch. Returns conflict_class + replan_hint; a Class C returns an escalation_id and mediation_request that starts the decision loop. Do not finish a coordinated edit without recording it.
.claude/skills/syncable-dev-memtrace-fleet-record-episode/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -55% | 0% |
fleet_record_episode is step 3 of the fleet protocol: record the edit you just made and learn whether it collided with another agent on your branch.
jsoncfleet_record_episode({ repo_id: "myrepo", branch: "session/auth-revamp", agent_id:"agent-a", touched: ["auth::verify_token"], intent: {"refactor": {"pattern": "change_signature"}} })
Full parameter spec for every Memtrace tool: references/mcp-parameters.md (bundled at the memtrace-skills plugin root).
symbols so you build on current state.
work. The response includes:
escalation_id — the decision's id.mediation_request — the judging task (every agent's assignment + thecontested symbols). If you're asked to judge, call fleet_submit_verdict.
next_action — poll fleet_get_escalation({escalation_id, agent_id}) untilyour_directive ≠ wait, then proceed / defer / review.
Class is computed only against agents on your branch. Agents on other branches never make your edit a Class C.
memtrace-fleet-first). Don't keepediting the contested symbols until your directive is proceed.
trail. Review history with fleet_query_episodes({repo_id, node?, conflict_class?}).
jsonc{ "conflict_class": "C", // "A" | "B" | "C" "replan_hint": "re-read auth::verify_token before continuing", // Class C only — absent for A/B: "escalation_id": "esc-01J9...", "mediation_request": { /* each agent's assignment + contested symbols */ }, "next_action": "poll fleet_get_escalation until your_directive != wait" }
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | fail→pass | 11,816 | 6,833 | -42% | 1 | 1 | 0% | 2,048 | 1,784 | -13% | 0 | 0 | — |
case-01 | fail→fail | 13,097 | 6,483 | -51% | 1 | 1 | 0% | 1,675 | 969 | -42% | 0 | 0 | — |
case-02 | fail→fail | 17,748 | 8,049 | -55% | 1 | 1 | 0% | 655 | 1,024 | +56% | 0 | 0 | — |
case-03 | fail→fail | 16,227 | 5,836 | -64% | 1 | 1 | 0% | 2,214 | 934 | -58% | 0 | 0 | — |
case-04 | fail→fail | 3,981 | 6,265 | +57% | 1 | 1 | 0% | 636 | 843 | +33% | 0 | 0 | — |
case-05 | fail→pass | 6,595 | 7,757 | +18% | 1 | 1 | 0% | 992 | 1,918 | +93% | 0 | 0 | — |
case-06 | fail→fail | 12,520 | 10,416 | -17% | 1 | 1 | 0% | 1,304 | 931 | -29% | 0 | 0 | — |
case-08 | fail→pass | 5,682 | 3,413 | -40% | 1 | 1 | 0% | 915 | 1,071 | +17% | 0 | 0 | — |
case-09 | fail→pass | 4,363 | 3,936 | -10% | 1 | 1 | 0% | 746 | 961 | +29% | 0 | 0 | — |
case-10 | pass→pass | 7,755 | 2,806 | -64% | 1 | 1 | 0% | 1,461 | 1,033 | -29% | 0 | 0 | — |
case-11 | fail→pass | 11,311 | 1,828 | -84% | 1 | 1 | 0% | 1,830 | 830 | -55% | 0 | 0 | — |
case-12 | fail→pass | 12,133 | 2,512 | -79% | 1 | 1 | 0% | 1,991 | 995 | -50% | 0 | 0 | — |
case-13 | pass→pass | 13,028 | 4,093 | -69% | 1 | 1 | 0% | 1,998 | 1,183 | -41% | 0 | 0 | — |
case-14 | fail→pass | 5,811 | 2,811 | -52% | 1 | 1 | 0% | 897 | 987 | +10% | 0 | 0 | — |
case-15 | pass→pass | 7,148 | 1,914 | -73% | 1 | 1 | 0% | 1,039 | 822 | -21% | 0 | 0 | — |
case-16 | fail→pass | 12,945 | 3,053 | -76% | 1 | 1 | 0% | 1,786 | 1,021 | -43% | 0 | 0 | — |
case-17 | pass→pass | 4,730 | 1,902 | -60% | 1 | 1 | 0% | 728 | 857 | +18% | 0 | 0 | — |
case-18 | fail→pass | 9,746 | 1,502 | -85% | 1 | 1 | 0% | 1,441 | 771 | -46% | 0 | 0 | — |
case-19 | fail→pass | 11,070 | 2,598 | -77% | 1 | 1 | 0% | 1,773 | 982 | -45% | 0 | 0 | — |
case-20 | fail→pass | 9,488 | 4,189 | -56% | 1 | 1 | 0% | 1,613 | 1,320 | -18% | 0 | 0 | — |
case-21 | fail→pass | 7,141 | 2,685 | -62% | 1 | 1 | 0% | 1,243 | 1,048 | -16% | 0 | 0 | — |
case-22 | fail→fail | 7,583 | 7,467 | -2% | 1 | 1 | 0% | 1,061 | 1,791 | +69% | 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 17 counted toward the lift figure. The other 5 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 17 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.