Install any skill in seconds. Free to start, no credit card required.
Get Started Free →code-yeongyu/senpi-qa
QA the omo Senpi adapter (packages/omo-senpi, packages/senpi-task) against the REAL senpi binary in strict isolation, and write every artifact to the one canonical evidence path .omo/evidence/omo-senpi-adapter/<slug>/. The live drivers under packages/omo-senpi/scripts/qa/ create their own isolated SENPI_CODING_AGENT_DIR and ignore the caller's, so the real ~/.senpi/agent is never written. Ships scripts/resolve-evidence-dir.mjs, which is the ONLY sanctioned way to pick an evidence directory: it r
Passed 13 of 17 test cases with the skill, and 3 of 17 without it.
and 24 more in the full report
15 fixed2 passed either way3 still failing2 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 15 test cases the skill fixed. Same model, same prompt, with and without the skill.
Before committing changes to the omo-senpi adapter, what is the exact typechecking command that must be run to verify the adapter package configuration?
| Checked | Without skill | With skill |
|---|---|---|
| The package type check uses tsgo with the --noEmit flag. | Missed | Passed |
| The command targets packages/omo-senpi/tsconfig.json. | Passed | Passed |
The instructions your model reads when the skill loads.
QA the omo Senpi adapter (packages/omo-senpi/) and the task engine
(packages/senpi-task/) by driving the REAL senpi binary. Unit tests never
count as live QA here: bun run test:senpi is the package gate, the drivers in
packages/omo-senpi/scripts/qa/ are the harness proof.
.omo/evidence/omo-senpi-adapter/<slug>/. Pick it with
scripts/resolve-evidence-dir.mjs and nothing else — a hand-typed path is how
runs end up somewhere like local-ignore/qa-evidence/, which no reviewer reads
and the PR cannot cite.SENPI_CODING_AGENT_DIR and deliberately IGNORE a caller-provided
one, so ~/.senpi/agent is never used as the sandbox. Report the driver's
realSenpiUntouched / changed-path fields and the isolated agent-dir path;
treat a whole-directory digest as supporting evidence, not proof by itself.senpi is absent the live drivers
report SKIP or FAIL in their final JSON rather than degrading to the real
home. A SKIP is not a pass — say so in the evidence README.ev="$(node .agents/skills/senpi-qa/scripts/resolve-evidence-dir.mjs \
--repo-root "$(git rev-parse --show-toplevel)" --slug <YYYYMMDD>-<short-slug>)"
mkdir -p "$ev"
The resolver returns an absolute path and creates nothing, so the caller decides
when the directory appears. A slug is ONE relative segment of lowercase letters,
digits, and hyphens (20260820-senpi-qa-contract). Separators, ./..,
traversal, absolute paths, and a non-git root are rejected with a non-zero exit
and a message naming the offending slug.
test cases passed, vs 3 / 17 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.