SPARK Steering for DSH
This workflow is explicit-only. Diagnose from actual session evidence before changing configuration.
Locate the shortage
- S — Skills: an available operation ran correctly, but the result remains shallow or wrong and another identical call will not improve it.
- P — Personalities: the gap is who decides, what stance governs, or when the collaborator is consulted. More tools or facts do not settle it.
- A — Approaches: the work is available, but ownership, ordering, decomposition, or concurrency is wrong.
- R — Resources: a provider, tool, permission, filesystem scope, connector, or executable is absent or denied.
- K — Knowledge: a fact, convention, or state must be re-derived, recopied, or guessed instead of retrieved from an authoritative source.
The un-tool
When an expectation, value choice, or scope decision would contaminate a child prompt, stop tool action and ask the collaborator. This is often the smallest P-axis move and creates no persistent configuration.
Rule out adjacent axes
- S versus R: an available tool returning a weak answer is S; an absent or denied tool is R.
- R versus K: retry a search with materially different terms before concluding that the resource is absent.
- P versus A: a user-owned value or scope decision is P; rearranging otherwise identical independent work is A.
- A versus R: if fewer or better-sequenced calls perform the same work with no new capability, the gap was A.
DSH levers
Use the narrowest verified lever. Examples include a loaded skill body (S), persona or collaborator question (P), cold-versus-fork choice and tool scheduling (A), a profile row/provider/tool/permission change (R), or repository/user instruction and durable record (K). A package, plugin, or profile patch is not a universal repair: verify its public behavior against the installed DSH revision before using it.
Read targeted details from references/steer-1-levers.md and references/steer-3-costs.md; those inherited references describe general lever/cost categories and provenance, not a promise that each surface exists in DSH.
Decision record
Symptom: {Observable_Behavior}
Axis: {S|P|A|R|K}
Confusable ruled out: {Axis} — {Discriminating_Evidence}
Cheaper move considered: {Ask_Collaborator|Named_Lever} — {Why_Insufficient}
Lever: {Verified_DSH_Surface} — {Concrete_Change}
Spends: {Once|Every_Turn|Every_Matching_Call}
Left unmoved: {Other_Axis} — {Why_It_Does_Not_Fix_The_Symptom}
The SPARK axes derive from arXiv:2508.01581; the adjacent license and package notice retain OpenCnid provenance.
1---2name: spark-steering3description: Diagnose which SPARK axis—Skills, Personalities, Approaches, Resources, or Knowledge—is short before changing an agent. Invoke /spark-steering when stuck mid-task, when a successful tool run still yields shallow work, or before adding a skill, preset, profile patch, plugin, provider, tool, permission, instruction, or persistent fact. Use it to steer or reconfigure only the deficient axis and account for recurring cost.4---56# SPARK Steering for DSH78This workflow is explicit-only. Diagnose from actual session evidence before changing configuration.910## Locate the shortage1112- **S — Skills:** an available operation ran correctly, but the result remains shallow or wrong and another identical call will not improve it.13- **P — Personalities:** the gap is who decides, what stance governs, or when the collaborator is consulted. More tools or facts do not settle it.14- **A — Approaches:** the work is available, but ownership, ordering, decomposition, or concurrency is wrong.15- **R — Resources:** a provider, tool, permission, filesystem scope, connector, or executable is absent or denied.16- **K — Knowledge:** a fact, convention, or state must be re-derived, recopied, or guessed instead of retrieved from an authoritative source.1718## The un-tool1920When an expectation, value choice, or scope decision would contaminate a child prompt, stop tool action and ask the collaborator. This is often the smallest P-axis move and creates no persistent configuration.2122## Rule out adjacent axes2324- S versus R: an available tool returning a weak answer is S; an absent or denied tool is R.25- R versus K: retry a search with materially different terms before concluding that the resource is absent.26- P versus A: a user-owned value or scope decision is P; rearranging otherwise identical independent work is A.27- A versus R: if fewer or better-sequenced calls perform the same work with no new capability, the gap was A.2829## DSH levers3031Use the narrowest verified lever. Examples include a loaded skill body (S), persona or collaborator question (P), cold-versus-fork choice and tool scheduling (A), a profile row/provider/tool/permission change (R), or repository/user instruction and durable record (K). A package, plugin, or profile patch is not a universal repair: verify its public behavior against the installed DSH revision before using it.3233Read targeted details from `references/steer-1-levers.md` and `references/steer-3-costs.md`; those inherited references describe general lever/cost categories and provenance, not a promise that each surface exists in DSH.3435## Decision record3637```text38Symptom: {Observable_Behavior}39Axis: {S|P|A|R|K}40Confusable ruled out: {Axis} — {Discriminating_Evidence}41Cheaper move considered: {Ask_Collaborator|Named_Lever} — {Why_Insufficient}42Lever: {Verified_DSH_Surface} — {Concrete_Change}43Spends: {Once|Every_Turn|Every_Matching_Call}44Left unmoved: {Other_Axis} — {Why_It_Does_Not_Fix_The_Symptom}45```4647The SPARK axes derive from arXiv:2508.01581; the adjacent license and package notice retain OpenCnid provenance.