sflow-home
Guide developer requests through explicit governed choices.
Files1
View on GitHubSKILL.mdplugin/skills/sflow-home/SKILL.md
GitHubSingularity Flow home
<!-- 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: Resolve ordinary language through durable Home and Next projections; reads may run immediately, while every mutation requires an explicit governed choice. 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: machine-local; no repository or Story required. Use explicit arguments or SFlow-returned paths; never search $HOME or infer a repository. 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.
Work/recovery; automatic invocation is not mutation consent.
Named workspace/Story skills override Home in every host syntax: /sf-workspaces, /sf-workspace, /sf-stories, /sf-session (also sflow-*). Never send their names to Home or replace tables with Home headings/refresh.
- With a request, run
singularity-flow home --json --request '$ARGUMENTS', single-quoted with each inner'as'\''(PowerShell'') so nothing expands; otherwise runsingularity-flow recommend --json. - Use
data.home/data.conversation, not chat memory;data.home.repository,data.home.currentWorkanddata.home.personalization.replyNameexactly. Never say the repository is unresolved when it exists. Do not derive a name from email, login, input, or memory. Reportbootstrapwhen no workspace exists; routehome:workspace.switchthrough its fallback. Render projectedtoday/yesterdayas Today/Yesterday — where you stopped, labelled exactly “Stored locally · Never pushed”. Never reconstruct a day or equate missing events with no work. - Respond under exactly these headings:
- I found — workspace, repository, Work ID, phase, freshness, warning; respect
repository,currentWork, andattentionWork. - Next — the one routed read or proposed governed action, including its
/sf-*route. - I need from you — nothing for a read; otherwise the exact required input or decision.
- This will change — “Nothing” for reads; otherwise file, lifecycle, Git, publication, and external effects.
- I found — workspace, repository, Work ID, phase, freshness, warning; respect
- Intents are
orient,continue,start,inspect,act,recover, andhelp. Help relays cited docs without executing commands. Fornoneorambiguousconfidence, render returned choices and useask_user; never guess. - Safe reads may run immediately. For
continue,start, oract, show the proposal and useask_user. Follow only the selected returnedfallback.skill, including/sf-stories,/sf-session,/sf-workspace; choosers require an exact choice before selection or attachment. - Decisions, resets, destructive operations, and ceremonies require an explicit
/sf-*invocation. - Keep warnings and action order. After a selected flow completes, run
singularity-flow homeexcept for chooser turns: keep their table/choices; no Home refresh. - “Catch me up”, “where did I stop?”, “yesterday”, and “what changed while I was away?” are reads.
Route
/sf-work-intervalwith the current Work ID; never answer from the prior Copilot turn.
Exact Home actions: home:work.continue, home:work.list, home:work.return,
home:work.start.intake, home:workspace.switch, home:impact.quick,
home:repository.explore, home:help.explain. Route only through returned fallback.skill.