Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Speeds up pi_agent_rust development and verification workflows. Use when editing providers, tools, sessions, extensions, installer/uninstaller logic, or triaging regressions in this repo.
.claude/skills/dicklesworthstone-pi-agent-rust/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 100% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 161% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 162% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 211% | 0% |
<!-- pi_agent_rust installer managed skill -->
pi_agent_rust and need the fastest path to safe, verified edits.bashexport CARGO_TARGET_DIR="/data/tmp/pi_agent_rust/${USER:-agent}" export TMPDIR="/data/tmp/pi_agent_rust/${USER:-agent}/tmp" mkdir -p "$TMPDIR" rch exec -- cargo check --all-targets rch exec -- cargo clippy --all-targets -- -D warnings cargo fmt --check bash tests/installer_regression.sh
| Symptom | First 3 Commands | |---|---| | Provider stream/tool-call regression | cargo test provider_streaming -- --nocapture ; rg -n "stream|tool|delta|event|SSE" src/providers src/sse.rs ; cargo test conformance | | Session replay/index drift | cargo test session -- --nocapture ; rg -n "Session|save|open|index|jsonl|sqlite" src/session.rs src/session_index.rs ; cargo test conformance | | Extension policy/runtime failure | cargo test extension -- --nocapture ; rg -n "policy|hostcall|capability|quickjs|deny|allow" src/extensions.rs src/extensions_js.rs ; cargo test conformance | | Installer/uninstaller/skill issue | bash tests/installer_regression.sh ; rg -n "AGENT_SKILL_STATUS|CHECKSUM_STATUS|SIGSTORE_STATUS|COMPLETIONS_STATUS" install.sh ; rg -n "managed skill|expected skill directory|PIAR_AGENT_SKILL" uninstall.sh | | Interactive vs RPC divergence | cargo test e2e_rpc -- --nocapture ; rg -n "interactive|rpc|stdin|event|session" src/main.rs src/interactive.rs src/rpc.rs ; cargo test conformance |
For deeper diagnosis, use references/DEBUGGING-PLAYBOOKS.md.
AGENTS.md first, then follow it exactly.main semantics in docs/scripts; do not introduce master.rg for fast text recon and ast-grep for structural matching/refactors.rch exec -- <cargo ...> for heavy compile/test workloads.README.md when flags/behavior/user guidance changed.| Changed Files (examples) | Minimum Required Tests | |---|---| | install.sh, uninstall.sh, .claude/skills/pi-agent-rust/** | bash -n install.sh uninstall.sh tests/installer_regression.sh ; shellcheck -x install.sh uninstall.sh tests/installer_regression.sh ; bash tests/installer_regression.sh ; bash scripts/skill-smoke.sh | | src/providers/**, src/provider.rs, src/sse.rs | cargo test provider_streaming ; cargo test conformance | | src/session.rs, src/session_index.rs, src/session_test.rs | cargo test session ; cargo test conformance | | src/extensions.rs, src/extensions_js.rs | cargo test extension ; cargo test conformance | | src/tools.rs | cargo test tools ; cargo test conformance | | src/interactive.rs, src/rpc.rs, src/main.rs | cargo test e2e_rpc ; cargo test conformance |
Run these only after targeted repro + focused slice indicates need:
cargo test across entire workspace when a narrower slice already reproduces.bash# Fast recon git status --short rg -n "install|uninstall|skill|checksum|sigstore|completion|provider|session|extension" \ install.sh uninstall.sh README.md tests/installer_regression.sh src/ # Installer + skill safety gates bash -n install.sh uninstall.sh tests/installer_regression.sh shellcheck -x install.sh uninstall.sh tests/installer_regression.sh bash tests/installer_regression.sh bash scripts/skill-smoke.sh # Rust gates rch exec -- cargo check --all-targets rch exec -- cargo clippy --all-targets -- -D warnings cargo fmt --check
For an expanded command cookbook, see references/COMMANDS.md. For deep incident triage, see references/DEBUGGING-PLAYBOOKS.md.
src/main.rs: CLI entry and mode dispatch.src/agent.rs: agent loop and tool iteration behavior.src/provider.rs: provider trait contract.src/providers/: provider implementations and factory wiring.src/tools.rs: built-in tools (read, write, edit, bash, grep, find, ls).src/session.rs: JSONL session persistence.src/session_index.rs: session index and metadata cache.src/extensions.rs + src/extensions_js.rs: extension policy and QuickJS bridge.src/interactive.rs + src/rpc.rs: TUI and RPC/stdin surfaces.install.sh + uninstall.sh: install lifecycle, migration, and skill management.tests/installer_regression.sh: installer regression harness.scripts/skill-smoke.sh: skill integrity + inline-sync validation.bash# BEFORE: everything collapsed into "skipped custom" if [ "$skipped_custom" -ge 1 ]; then AGENT_SKILL_STATUS="skipped (existing custom skill)" fi # AFTER: distinguish custom-skip from write failure if [ "$skipped_custom" -ge 1 ] && [ "$failed_writes" -ge 1 ]; then AGENT_SKILL_STATUS="partial (custom skill kept; other install failed)" elif [ "$skipped_custom" -ge 1 ]; then AGENT_SKILL_STATUS="skipped (existing custom skill)" fi
bash# BEFORE: remove destination before validating copy result rm -rf "$destination" cp "$source" "$destination/SKILL.md" # AFTER: stage then atomically move into place staged="$(mktemp -d ...)" cp "$source" "$staged/SKILL.md" mv "$staged" "$destination"
trace AGENT_SKILL_STATUS, CHECKSUM_STATUS, and COMPLETIONS_STATUS in install.sh.
verify marker checks and expected destination guards in both scripts.
use symptom router, then follow references/DEBUGGING-PLAYBOOKS.md.
ensure README.md flags/examples match current installer behavior.
tests/installer_regression.sh and scripts/skill-smoke.sh.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 14,888 | 16,539 | +11% | 1 | 1 | 0% | 2,392 | 4,795 | +100% | 0 | 0 | — |
case-10 | fail→pass | 16,203 | 12,908 | -20% | 1 | 1 | 0% | 2,876 | 4,534 | +58% | 0 | 0 | — |
case-02 | fail→pass | 31,191 | 4,992 | -84% | 1 | 1 | 0% | 1,104 | 2,882 | +161% | 0 | 0 | — |
case-03 | fail→fail | 5,035 | 5,346 | +6% | 1 | 1 | 0% | 262 | 2,283 | +771% | 0 | 0 | — |
case-04 | pass→fail | 11,237 | 6,531 | -42% | 1 | 1 | 0% | 2,041 | 2,368 | +16% | 0 | 0 | — |
case-05 | pass→pass | 15,133 | 16,970 | +12% | 1 | 1 | 0% | 2,181 | 4,676 | +114% | 0 | 0 | — |
case-06 | pass→fail | 12,752 | 16,801 | +32% | 1 | 1 | 0% | 2,342 | 2,305 | -2% | 0 | 0 | — |
case-07 | fail→pass | 8,040 | 6,711 | -17% | 1 | 1 | 0% | 1,284 | 3,360 | +162% | 0 | 0 | — |
case-08 | fail→pass | 5,894 | 6,266 | +6% | 1 | 1 | 0% | 998 | 3,101 | +211% | 0 | 0 | — |
case-09 | fail→pass | 7,424 | 5,698 | -23% | 1 | 1 | 0% | 1,210 | 2,829 | +134% | 0 | 0 | — |
case-11 | pass→fail | 13,943 | 5,834 | -58% | 1 | 1 | 0% | 2,334 | 2,415 | +3% | 0 | 0 | — |
case-12 | fail→pass | 10,142 | 2,741 | -73% | 1 | 1 | 0% | 1,718 | 2,594 | +51% | 0 | 0 | — |
case-13 | fail→pass | 10,279 | 3,032 | -71% | 1 | 1 | 0% | 1,862 | 2,579 | +39% | 0 | 0 | — |
case-14 | pass→pass | 13,719 | 4,166 | -70% | 1 | 1 | 0% | 2,082 | 2,700 | +30% | 0 | 0 | — |
case-15 | pass→pass | 9,724 | 2,560 | -74% | 1 | 1 | 0% | 1,455 | 2,480 | +70% | 0 | 0 | — |
case-16 | pass→pass | 2,221 | 2,154 | -3% | 1 | 1 | 0% | 323 | 2,346 | +626% | 0 | 0 | — |
case-17 | pass→pass | 7,257 | 1,834 | -75% | 1 | 1 | 0% | 1,132 | 2,332 | +106% | 0 | 0 | — |
case-18 | pass→pass | 9,580 | 3,997 | -58% | 1 | 1 | 0% | 1,486 | 2,769 | +86% | 0 | 0 | — |
case-19 | fail→fail | 17,040 | 6,526 | -62% | 1 | 1 | 0% | 2,761 | 2,506 | -9% | 0 | 0 | — |
case-20 | pass→pass | 4,311 | 2,171 | -50% | 1 | 1 | 0% | 661 | 2,408 | +264% | 0 | 0 | — |
case-21 | fail→pass | 4,160 | 2,611 | -37% | 1 | 1 | 0% | 636 | 2,387 | +275% | 0 | 0 | — |
case-22 | fail→pass | 10,989 | 3,000 | -73% | 1 | 1 | 0% | 1,739 | 2,527 | +45% | 0 | 0 | — |
case-23 | fail→pass | 13,248 | 3,368 | -75% | 1 | 1 | 0% | 2,138 | 2,634 | +23% | 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. 23 cases were attempted, and 17 counted toward the lift figure. The other 6 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 +35 percentage points is the difference between those two pass rates over the 17 comparable cases. 4 cases got worse with the skill loaded, and they are 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.