Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Private built-in CCB configuration skill for agentroles.ccb_self. Design, edit, validate, and prepare reloads for .ccb/ccb.config, role bindings, providers, windows, workspaces, tool windows, sidebar, and provider startup inputs. Use only inside ccb_self; non-self agents should delegate CCB config changes to ccb_self.
.claude/skills/seemseam-ccb-config/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 135% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 324% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 135% | 0% |
This is the private agentroles.ccb_self built-in CCB configuration skill. It owns .ccb/ccb.config design, editing, validation, reload readiness, and affected-agent reporting. It is not a global inherited skill for non-self agents.
Read references/config-contracts.md before complex edits or reload-impact analysis.
The canonical skill name remains ccb-config; role projection must keep this private role skill from being merged with or exposed as a global inherited same-name skill.
Allowed:
.ccb/ccb.config.windows, sidebar layout, workspaces, provider profiles, model/base URL/env-var references, provider command templates, startup args, permission, restore, queue policy, and watch paths.
version = 2 [windows] topology for new configs and structuraledits unless the user explicitly asks for compact syntax.
provider/model/base URL/profile/env-var references after provider/API failure.
ccb config validate after every edit.ccb reload --dry-run before reload materialization.ccb reload when validation passed, dry-run was reviewed, the planis supported, and the user explicitly wants the change materialized.
Forbidden:
.ccb/ccb_memory.md, .ccb/agents/<agent>/memory.md, providerhomes, installed role stores, generated memory, lifecycle, lease, runtime, mailbox, provider session, or tmux state.
ccb restart, ccb kill, ccb clear, or ccb repair fromthis skill.
.ccb/ccb.config is thenormal target; user config ~/.ccb/ccb.config is out of scope unless the user explicitly asks.
version = 2 [windows] topology.
settings, labels, comments, and advanced overrides unless the user asks to change them.
next to it, for example cp .ccb/ccb.config .ccb/ccb.config.bak.$(date +%s). Restore only from the backup created for this edit.
bashccb config validate
and do not claim recovery is complete. Restore the previous config when a reliable pre-edit copy exists; otherwise stop and ask for the user's preferred correction or rollback.
bashccb reload --dry-run
ccb reload only when gates pass and materialization intent isexplicit.
ccb-self-recover.
Mark an agent as affected when the change may alter:
Do not restart affected agents from this skill. Return a handoff:
textAffected agents: ... Reload status: ... Needs recover check: yes|no Reason: ... Suggested next skill: ccb-self-recover
Use canonical Role Pack ids such as agentroles.archi and agentroles.ccb_self. The project-local agent name remains the ask target.
Recommended binding:
toml[windows] ops = "agentroles.ccb_self:codex"
When a local agent name is required, keep provider authority in [windows] and write only the role overlay:
toml[windows] ops = "selfops:codex" [agents.selfops] role = "agentroles.ccb_self"
Do not repeat [windows]-owned provider, workspace_mode = "inplace", or workspace_mode = "git-worktree" in [agents.<name>] overlays. Treat ccb config validate style warnings as cleanup work before reload.
If validation reports a missing installed role, tell the user to install it:
bashccb roles install agentroles.ccb_self
Do not copy role memory or skills into .ccb manually.
Summarize:
ccb-self-recover| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 6,236 | 6,067 | -3% | 1 | 1 | 0% | 336 | 1,771 | +427% | 0 | 0 | — |
case-02 | fail→fail | 5,800 | 5,120 | -12% | 1 | 1 | 0% | 286 | 1,762 | +516% | 0 | 0 | — |
case-03 | fail→fail | 5,363 | 5,855 | +9% | 1 | 1 | 0% | 320 | 1,749 | +447% | 0 | 0 | — |
case-04 | fail→pass | 7,370 | 4,761 | -35% | 1 | 1 | 0% | 1,181 | 2,227 | +89% | 0 | 0 | — |
case-05 | fail→fail | 11,744 | 6,223 | -47% | 1 | 1 | 0% | 2,224 | 1,787 | -20% | 0 | 0 | — |
case-06 | pass→pass | 4,963 | 4,785 | -4% | 1 | 1 | 0% | 923 | 2,209 | +139% | 0 | 0 | — |
case-07 | fail→pass | 5,657 | 4,176 | -26% | 1 | 1 | 0% | 871 | 2,048 | +135% | 0 | 0 | — |
case-08 | fail→pass | 3,810 | 5,542 | +45% | 1 | 1 | 0% | 549 | 2,328 | +324% | 0 | 0 | — |
case-09 | pass→pass | 5,115 | 3,334 | -35% | 1 | 1 | 0% | 917 | 1,894 | +107% | 0 | 0 | — |
case-10 | fail→pass | 9,426 | 3,391 | -64% | 1 | 1 | 0% | 1,702 | 1,992 | +17% | 0 | 0 | — |
case-11 | pass→pass | 3,693 | 3,682 | -0% | 1 | 1 | 0% | 651 | 1,975 | +203% | 0 | 0 | — |
case-12 | fail→pass | 21,003 | 4,775 | -77% | 1 | 1 | 0% | 916 | 2,156 | +135% | 0 | 0 | — |
case-13 | fail→pass | 6,289 | 3,703 | -41% | 1 | 1 | 0% | 409 | 1,989 | +386% | 0 | 0 | — |
case-14 | fail→pass | 6,726 | 4,909 | -27% | 1 | 1 | 0% | 1,148 | 2,303 | +101% | 0 | 0 | — |
case-15 | fail→pass | 6,708 | 5,571 | -17% | 1 | 1 | 0% | 1,158 | 2,346 | +103% | 0 | 0 | — |
case-16 | pass→pass | 5,319 | 3,532 | -34% | 1 | 1 | 0% | 880 | 2,033 | +131% | 0 | 0 | — |
case-17 | pass→pass | 8,019 | 7,302 | -9% | 1 | 1 | 0% | 1,473 | 2,643 | +79% | 0 | 0 | — |
case-18 | fail→pass | 11,585 | 5,851 | -49% | 1 | 1 | 0% | 1,965 | 2,442 | +24% | 0 | 0 | — |
case-19 | fail→pass | 5,191 | 3,138 | -40% | 1 | 1 | 0% | 962 | 1,939 | +102% | 0 | 0 | — |
case-20 | pass→pass | 8,100 | 4,889 | -40% | 1 | 1 | 0% | 1,493 | 2,304 | +54% | 0 | 0 | — |
case-21 | fail→pass | 13,732 | 4,393 | -68% | 1 | 1 | 0% | 2,212 | 1,980 | -10% | 0 | 0 | — |
case-22 | pass→pass | 6,491 | 5,131 | -21% | 1 | 1 | 0% | 1,049 | 1,914 | +82% | 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 18 counted toward the lift figure. The other 4 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 +50 percentage points is the difference between those two pass rates over the 18 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
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.