Skill 32 · Managing Workflow Secrets
Subchapter 32.12
evals/results/SNAPSHOT.mdMarkdown4 KBView on GitHub
Historical, point-in-time report — not a live result. These numbers reflect one model at one date against the case set as it stood then. There is , so nothing in this repo refreshes them: they only go stale. Re-run the evals yourself before trusting any figure here, and treat a mismatch with the current as expected, not a regression.
evals.jsonModel: <model-name> (scrubbed — no model names are hardcoded)
Date: 2026-08-19
Source: two workspace iterations (evals 0–3, then 6–7), since condensed and discarded.
Each eval feeds the model the same prompt + fixture with and without the skill; a pass means every expectation in the case’s rubric was met.
| Eval | Name | Runs | With skill | Without skill | Without-skill miss |
|---|---|---|---|---|---|
| 0 | add-secret-retrieval | 1 | 100% | 86% | used id: get-kv-secrets, not canonical id: secrets |
| 1 | downstream-job-handoff | 1 | 100% | 100% | — |
| 2 | flag-secret-exposure | 1 | 100% | 100% | — |
| 3 | reusable-workflow-triad | 1 | 100% | 60% | secrets: inherit; omitted the two-sided contract note |
| 4 | multi-secret-folded-list | — | not run | not run | — |
| 5 | app-token-cross-job | — | not run | not run | — |
| 6 | logout-live-session | 3 | 100% | 80% | third-party azure/login + raw az logout, not the internal actions |
| 7 | ask-for-names | 3 | 100% | 40% | invented concrete vault/secret names instead of asking |
Aggregate over the six evals that were run (0–3, 6, 7): with-skill 100%, without-skill 77.6%, delta +0.224.
Method: remove one instruction from a copy of the skill, re-run the case that should depend on it, compare to the full-skill baseline. Regression ⇒ the instruction is additive. Single run each; non-determinism not controlled for.
| Instruction | Case | Ablated result | Verdict |
|---|---|---|---|
Standardize retrieval step on id: secrets | eval-0 add-secret-retrieval | id: kv | ADDITIVE (confounded: example ids also changed) |
| Cross-repo reusable wf: pass triad explicitly | eval-3 reusable-wf-triad | secrets: inherit | ADDITIVE — loses least-privilege convention |
| Never infer vault/secret names; placeholders+ask | eval-7 ask-for-names | context-derived name | WEAKLY ADDITIVE — marginal; ask behavior survived ablation. Review. |
Not yet ablated (defined as cases but not yet run): folded block scalar for ≥3 secrets (eval-4), short-lived GitHub App token for cross-job GitHub access (eval-5).
12 queries, 5 runs each across 5 judges. Accuracy 1.0: all 6 positives fired 5/5, all 6 negatives fired 0/5. Near-miss negatives route to sibling skills (bitwarden-workflow-linter-rules, workflow-audit/fix, action-audit/remediate, auditing-workflow-conventions) or to no skill.