sflow-impact
Inspect, classify, attest, verify, compare, and export governed Story delivery measurements without inventing evidence or causal claims.
SKILL.mdplugin/skills/sflow-impact/SKILL.md
GitHubGovern delivery measurement
<!-- sflow-copilot-pause -->Before any boundary lookup or SFlow action, run singularity-flow pause status --json and follow its data.agentInstruction. If data.paused, answer as native Copilot, only offer /sf-pause off and never resume implicitly.
Output contract: Let the CLI validate and mutate state; preserve its exact result, warnings, publication status, artifacts, and next actions. Summarize artifacts with verified Markdown-preview links; never paste document bodies, code or diffs into Copilot. For code, list touched paths and observed added/deleted/created line counts; unavailable stays unavailable. Use existing evidence, not extra calls solely for display. Summaries, links and opened previews are not human review or approval. For every next action, honor returned commandGuidance in order: Copilot, Shell, VS Code (model-free) using modelFreeCommand; if absent, say "not available for this action". Missing Copilot: "no verified equivalent". Never invent routes.
Boundary: no Story required; cwd=opened Git root or verified repositoryPath from singularity-flow workspace current --json; refuse if neither resolves; never search $HOME/parents. Use exact CLI-returned paths. repositoryPath is command cwd, not a prefix for absolute file paths. Never rebase paths or strip .git/worktrees. Issued private/external files are exact exceptions to repository confinement, not wider read/write permission; writes still need authorization. Resolve relative paths only against their declared base. On failure, preserve the path and error; never search or recreate it.
- With no arguments, run
singularity-flow impact status. - Before
enroll, show the engine's suggested complexity/risk signals. Require the user to supply both bands and explicitly request--confirm; never confirm or opt out on their behalf. - Before
exposure attest, explain that an attestation is self-reported evidence. Require the phase, exposure level, assurance, and a reason when supplied by the user. - Import only a user-selected JSON or YAML evidence envelope. For a raw provider observation, use
singularity-flow impact evidence collect <PROVIDER> <FILE> --commit <FULL-SHA> --run-id <ID>so the engine creates the strict envelope. Do not rewrite provider observations or replaceunavailablewith estimates. finalizeis valid only for a closed Story and creates a hash-bound Impact Receipt through the normal publication transaction.- For
compare, preserve the engine's method, evidence grade, privacy-floor refusal, uncertainty interval, guardrail result, and exact inference label. Matched observational and before/after results are not causal. - For a prompt-set study, use
singularity-flow impact study prompt-hash <singularity/prompts/FILE.md>for each reviewed prompt. Never calculate or substitute a hash yourself. Explain that Story assignment is deterministic, the assigned variant is disclosed, and an agent override would contaminate and therefore block the comparison. - Mutating operations commit and push through Singularity Flow. Report the commit or pending-publication state and the next valid action.