Shikanime Org Adversarial Probing
Try a change where failure costs nothing. This skill builds a disposable sandbox
around an uncertain result and promotes only what survives. It composes
sks-stack, sks-async, and sks-investigate; it adds only the sandbox shape
and the promote-or-discard decision. It does NOT replace those skills.
When to Use
- A result is uncertain and the cost of being wrong is high (data loss, prod
break, silent corruption).
- "Spike this", "validate in a throwaway branch", "white-room test the fix",
"UAT the change in isolation", "probe the data before trusting it".
- The probe may fork several independent trials — use
sks-async to fan them
out.
When NOT to Use
- One clean change with a known shape →
sks-stack alone.
- You need the root cause, not a trial →
sks-investigate (it proposes, never
applies). This skill may run a trial; keep the two separate.
- A finished change awaiting review →
sks-pr-review.
Procedure
Decide the sandbox shape before opening anything:
- Single trial, one hypothesis → one
sks-stack workspace.
- N independent trials, or trials that must run in parallel → one workspace
per trial via
sks-async (fan-out).
- Known reproduction + unknown fix →
sks-investigate first, then isolate
the candidate fix into its own workspace.
Open the sandbox with the chosen primitive — never the main checkout:
- One unit →
sks-stack (fresh jj workspace add -r main@origin).
- Many units →
sks-async (one workspace per leaf, dot-qualified name
<repo>.<trial>).
Run the probe. Observe, measure, record. A trial that cannot be repeated
on demand is not evidence — keep the exact command that proves the result.
Decide: promote or discard.
- Promote — the trial produced a result worth keeping: hand it to
sks-dev-workflow (issue → commit → PR). Treat the sandbox commit as a
seed, not the deliverable; open a proper change with its own ledger.
- Discard — the trial was inconclusive or wrong: drop it. Reclaim the
workspace and bookmark with
sks-gc. Never merge a sandbox into a real
branch un-reviewed.
Record uncertain-result findings (the repro, the outcome, the
promote/discard call) in the linked issue's comments, not in the sandbox
commit message.
The sandbox is burnable by design — losing a discarded one is free; an
uncommitted real change is not. Commit or jj squash first, then reclaim via
sks-gc.
Pitfalls
- Promoting a sandbox as-is skips the issue-first ledger and review gate; the
sandbox is a trial, not an approved change.
- Forgetting
jj bookmark track before push makes jj git push reject it.
- A discarded workspace with uncommitted work must not be reclaimed by
sks-gc
— that is silent WIP loss; commit or snapshot first.
- Trials sharing a baseline are not independent — root them at one rev, then
stop one trial's edits leaking into another.
Verification
jj workspace list # sandbox present, clean
jj status && jj log -r @ -T 'bookmarks'
# promotion path: gh pr view <N> --repo <org>/<repo> --json state,headRefName
# discard path: sks-gc reclaimed the workspace + bookmark
See also
sks-stack — the single-workspace primitive for one trial.
sks-async — fan-out; one workspace per trial when trials run in parallel.
sks-investigate — root-cause discipline; use before isolating a fix.
sks-pr-review — the review gate a promoted change must still pass.
sks-gc — reclaim the sandbox once the trial is done.
1---2name: sks-adversarial3description: Use when probing uncertain results in a disposable sandbox — large investigation, development, debugging, testing, UAT, white-room, or data validation before promoting a change.4license: Apache-2.05---67# Shikanime Org Adversarial Probing89Try a change where failure costs nothing. This skill builds a disposable sandbox10around an uncertain result and promotes only what survives. It composes11`sks-stack`, `sks-async`, and `sks-investigate`; it adds only the sandbox shape12and the promote-or-discard decision. It does NOT replace those skills.1314## When to Use1516- A result is uncertain and the cost of being wrong is high (data loss, prod17 break, silent corruption).18- "Spike this", "validate in a throwaway branch", "white-room test the fix",19 "UAT the change in isolation", "probe the data before trusting it".20- The probe may fork several independent trials — use `sks-async` to fan them21 out.2223## When NOT to Use2425- One clean change with a known shape → `sks-stack` alone.26- You need the root cause, not a trial → `sks-investigate` (it proposes, never27 applies). This skill may run a trial; keep the two separate.28- A finished change awaiting review → `sks-pr-review`.2930## Procedure31321. **Decide the sandbox shape** before opening anything:3334 - Single trial, one hypothesis → one `sks-stack` workspace.35 - N independent trials, or trials that must run in parallel → one workspace36 per trial via `sks-async` (fan-out).37 - Known reproduction + unknown fix → `sks-investigate` first, then isolate38 the candidate fix into its own workspace.39402. **Open the sandbox** with the chosen primitive — never the main checkout:4142 - One unit → `sks-stack` (fresh `jj workspace add -r main@origin`).43 - Many units → `sks-async` (one workspace per leaf, dot-qualified name44 `<repo>.<trial>`).45463. **Run the probe.** Observe, measure, record. A trial that cannot be repeated47 on demand is not evidence — keep the exact command that proves the result.48494. **Decide: promote or discard.**5051 - **Promote** — the trial produced a result worth keeping: hand it to52 `sks-dev-workflow` (issue → commit → PR). Treat the sandbox commit as a53 seed, not the deliverable; open a proper change with its own ledger.54 - **Discard** — the trial was inconclusive or wrong: drop it. Reclaim the55 workspace and bookmark with `sks-gc`. Never merge a sandbox into a real56 branch un-reviewed.57585. **Record** uncertain-result findings (the repro, the outcome, the59 promote/discard call) in the linked issue's comments, not in the sandbox60 commit message.6162The sandbox is burnable by design — losing a discarded one is free; an63uncommitted real change is not. Commit or `jj squash` first, then reclaim via64`sks-gc`.6566## Pitfalls6768- Promoting a sandbox as-is skips the issue-first ledger and review gate; the69 sandbox is a trial, not an approved change.70- Forgetting `jj bookmark track` before push makes `jj git push` reject it.71- A discarded workspace with uncommitted work must not be reclaimed by `sks-gc`72 — that is silent WIP loss; commit or snapshot first.73- Trials sharing a baseline are not independent — root them at one rev, then74 stop one trial's edits leaking into another.7576## Verification7778```bash79jj workspace list # sandbox present, clean80jj status && jj log -r @ -T 'bookmarks'81# promotion path: gh pr view <N> --repo <org>/<repo> --json state,headRefName82# discard path: sks-gc reclaimed the workspace + bookmark83```8485## See also8687- `sks-stack` — the single-workspace primitive for one trial.88- `sks-async` — fan-out; one workspace per trial when trials run in parallel.89- `sks-investigate` — root-cause discipline; use before isolating a fix.90- `sks-pr-review` — the review gate a promoted change must still pass.91- `sks-gc` — reclaim the sandbox once the trial is done.