sflow-workspace
Select a saved Singularity Flow workspace and repository for this Copilot session, optionally binding the visible context to a Story ID.
SKILL.mdplugin/skills/sflow-workspace/SKILL.md
GitHubSwitch the active Singularity Flow workspace
<!-- 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: Collect every required choice explicitly; never infer or preselect; preserve errors, 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: 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.
Run
singularity-flow workspace list --table; relay the complete table verbatim, including inactive rows and warnings. Do not substitute Home or an active-only summary.If empty, check
singularity-flow workspace bootstrap status --json. Offer an unfinished/sf-workspace-bootstrap <BOOTSTRAP-ID>instead of a duplicate. Otherwise offer explicit remote preparation:singularity-flow workspace prepare <LEAD-URL> --id <ID> --capability <ID> [--lead-capability <ID>] --base <DIRECTORY> --initialize, or contributor-selected clone preview:singularity-flow workspace adopt <DIRECTORY> --id <ID> --base <DIRECTORY> --dry-run --json. Never invent inputs, dirty confirmation, or selection.For existing-clone adoption, show the canonical path, sanitized origin, branch, changed paths, preservation list, workspace-shell target, and
dirtyConfirmationRequired. State that no fetch, checkout, stash, commit, reset, clean, or remote edit will occur. If dirty, require the contributor to review the paths and approve the exact returned hash; then require the exact workspace ID before running the non-dry-run command.Ask with
ask_useror plain chat for an exact workspace ID or row number. Map the chosen row to its exact workspace path in that table. IDs can repeat: an ID matching multiple rows requires a row/path choice. Never choose the first or current workspace automatically; ask again on ambiguous or absent answers.Run
singularity-flow workspace status <WORKSPACE-PATH> --level readiness --jsonat that exact selected path. This local read supplies repository members without remote calls. If multiple, ask which repository to use; preserve its exact ID and mark the reported lead repository.Preserve any explicitly supplied Story/Jira ID. A workspace choice is not a Story choice or permission to attach a Story; the CLI may report an existing governed branch binding.
Run:
singularity-flow workspace use <WORKSPACE-PATH> --repository <REPOSITORY-ID> [--story <STORY-ID>] --jsonReproduce the returned
prompt, workspace, repository, path,repositoryState, branch, and Story. A plannedmissingcheckout is selectable but not a shell cwd. Use a readyrepositoryPathfor later shell commands.Do not launch nested Copilot. A new terminal session can start with
singularity-flow workspace copilotin a ready checkout. For a planned checkout, use/sf-startorsingularity-flow workspace repair <WORKSPACE-PATH> --repository <REPOSITORY-ID>first. The Copilot session name contains workspace and Story.The context label is a session banner, not a replacement for Copilot's native
>marker.