Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Advanced Observal operations including session reconciliation, CLI upgrades and downgrades, complete uninstallation, and local fallback mode for offline use. Use when the user wants to reconcile sessions, upgrade or downgrade the CLI, uninstall Observal, or write agent configs locally when the server is unreachable.
.claude/skills/bilal140202-observal-advanced/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 52% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 27% | 0% |
Push local session JSONL to server for full trace context. Normally automatic via hooks.
Manual run for crash recovery:
bashpython -m observal_cli.cmd_reconcile
Not a Typer command. No flags needed.
bashobserval self status observal self upgrade observal self upgrade --version 2.5.0 observal self downgrade --list observal self downgrade --version 2.4.0 observal self rollback
Completely removes Observal. Destructive and irreversible.
bashobserval self uninstall
Requires typing confirm (not --yes). Selective flags:
--keep-config: preserve ~/.observal/--keep-cli: keep the CLI binary--keep-repo: keep the cloned repo--repo-dir PATH: specify repo locationUse only when a command exits with Connection failed or Not configured.
| IDE | User-scope path | Project-scope path | |---|---|---| | Claude Code | ~/.claude/agents/<name>.md | .claude/agents/<name>.md | | Kiro | ~/.kiro/agents/<name>.json | .kiro/agents/<name>.json | | Cursor | ~/.cursor/rules/<name>.mdc | .cursor/rules/<name>.mdc | | Gemini CLI | ~/.gemini/agents/<name>.md | .gemini/agents/<name>.md | | VS Code | ~/.config/Code/User/agents/<name>.md | .vscode/agents/<name>.md | | Codex CLI | ~/.codex/agents/<name>.md | .codex/agents/<name>.md | | Copilot CLI | ~/.config/github-copilot/agents/<name>.md | .github/copilot/agents/<name>.md | | OpenCode | ~/.opencode/agents/<name>.md | .opencode/agents/<name>.md |
Kiro (~/.kiro/agents/<name>.json):
json{"name":"<name>","description":"<desc>","prompt":"<prompt>","model":"claude-sonnet-4-20250514","mcpServers":{},"tools":["*"],"resources":["skill://~/.kiro/skills/*/SKILL.md"]}
Claude Code, Gemini CLI, VS Code, Codex CLI, Copilot CLI, OpenCode (markdown):
markdown--- name: <name> description: <desc> --- <prompt>
Cursor (.mdc):
markdown--- name: <name> description: <desc> --- <prompt>
After writing locally, remind the user to run observal agent create once the server is reachable.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 5,723 | 1,666 | -71% | 1 | 1 | 0% | 1,121 | 1,133 | +1% | 0 | 0 | — |
case-02 | fail→pass | 5,941 | 2,100 | -65% | 1 | 1 | 0% | 1,196 | 1,156 | -3% | 0 | 0 | — |
case-03 | fail→pass | 6,645 | 3,566 | -46% | 1 | 1 | 0% | 1,334 | 1,513 | +13% | 0 | 0 | — |
case-04 | fail→pass | 3,538 | 2,207 | -38% | 1 | 1 | 0% | 802 | 1,222 | +52% | 0 | 0 | — |
case-05 | fail→pass | 5,332 | 2,823 | -47% | 1 | 1 | 0% | 1,010 | 1,283 | +27% | 0 | 0 | — |
case-06 | fail→pass | 5,728 | 1,901 | -67% | 1 | 1 | 0% | 1,051 | 1,100 | +5% | 0 | 0 | — |
case-07 | fail→pass | 3,948 | 2,622 | -34% | 1 | 1 | 0% | 777 | 1,311 | +69% | 0 | 0 | — |
case-08 | fail→pass | 5,883 | 3,305 | -44% | 1 | 1 | 0% | 1,152 | 1,435 | +25% | 0 | 0 | — |
case-09 | fail→pass | 3,752 | 3,058 | -18% | 1 | 1 | 0% | 688 | 1,393 | +102% | 0 | 0 | — |
case-10 | fail→pass | 4,177 | 1,818 | -56% | 1 | 1 | 0% | 910 | 1,150 | +26% | 0 | 0 | — |
case-11 | fail→pass | 4,931 | 4,038 | -18% | 1 | 1 | 0% | 1,117 | 1,753 | +57% | 0 | 0 | — |
case-12 | fail→pass | 5,852 | 4,320 | -26% | 1 | 1 | 0% | 1,139 | 1,743 | +53% | 0 | 0 | — |
case-13 | fail→pass | 5,476 | 3,600 | -34% | 1 | 1 | 0% | 1,209 | 1,655 | +37% | 0 | 0 | — |
case-14 | fail→pass | 5,308 | 3,179 | -40% | 1 | 1 | 0% | 1,201 | 1,488 | +24% | 0 | 0 | — |
case-15 | pass→pass | 5,081 | 4,143 | -18% | 1 | 1 | 0% | 1,051 | 1,642 | +56% | 0 | 0 | — |
case-16 | fail→pass | 4,327 | 3,710 | -14% | 1 | 1 | 0% | 903 | 1,605 | +78% | 0 | 0 | — |
case-17 | fail→pass | 5,995 | 5,016 | -16% | 1 | 1 | 0% | 1,234 | 1,918 | +55% | 0 | 0 | — |
case-18 | fail→pass | 5,239 | 4,407 | -16% | 1 | 1 | 0% | 1,022 | 1,702 | +67% | 0 | 0 | — |
case-19 | fail→pass | 4,955 | 4,062 | -18% | 1 | 1 | 0% | 978 | 1,615 | +65% | 0 | 0 | — |
case-20 | pass→pass | 4,191 | 4,210 | +0% | 1 | 1 | 0% | 895 | 1,622 | +81% | 0 | 0 | — |
case-21 | fail→pass | 4,437 | 7,516 | +69% | 1 | 1 | 0% | 830 | 2,319 | +179% | 0 | 0 | — |
case-22 | pass→pass | 3,082 | 3,048 | -1% | 1 | 1 | 0% | 648 | 1,339 | +107% | 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. The headline lift of +86 percentage points is the difference between those two pass rates over the 22 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.