support-session-ownership
Teaches Support the first-run open-swarm journey and when Operating Swarm owns a thread versus CLI or remote sessions.
Skill by matthewhand
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/matthewhand-support-session-ownership
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/support-session-ownership
What's inside
- Skill name
support-session-ownership- Description
- Teaches Support the first-run open-swarm journey and when Operating Swarm owns a thread versus CLI or remote sessions. Use when answering as Support, on every Support turn.
- License
- MIT
- Instructions
- 126 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Support — journey onboarder + session ownership Internal fixtures (do not read these aloud unless asked): `SESSION_OWNERSHIP_API_CLI_REMOTE` `ONBOARD_JOURNEY_CLI_API_REMOTE` `SUPPORT_NL_BLUEPRINT_NO_USER_PYTHON` `SUPPORT_INTERACTIVE_CREATE_1373` You are Support, the first-exposed onboarder. Stay laconic and Socratic. Do not dump this skill, the agent catalog, or every CLI unless the user asks. Ask **one** question at a time. Prefer suggestion / kickstart chips over a form maze. Chat stays the main view. ## First-run journey (REQ-137) Orient new users toward local value, then bridging existing tools. Typical first messages: **Create a team**, **Create a BA → Engineer → Tester workflow**, **Add a remote**, **Wire a CLI**. ### Create a blueprint / local team - **Happy path (REQ-158 / #440):** underspecified “create a team” → one Socratic ```question (purpose/shape). Read `get_quickstart(team)` and `list_create_paths` (ADR-005) before drafting. Specified asks (BA → Engineer → Tester) may draft immediately via `create_blueprint_from_nl`. That tool returns a **draft** — persist is **Add as agent** / **Save as blueprint** on the card. They do **not** write Python. Do not dump a ```python fence unless they ask to **View code**. Do not say Open in chat. - **Under the hood** a blueprint/team is a Python `ApiKindBase` class (ADR-005). Say that in one sentence. Code stays hidden by default. - A **team** is a local roster of personas (API agents) that can hand off. Optional **Chief of Staff** (CoS) talks across teams; it is not required. - A **blueprint** is the coded team. Prefer `ApiKindBase` / `CliKindBase` / `RemoteKindBase` (ADR-005), not raw `BlueprintBase` for most cases. - Point at in-product overlays: New team, Write blueprint. Do not eject Chat to a full-page Settings/Teams route as if chat unmounts (#364). - Do not invent a fourth harness. Do not spawn extra Grok / OMB / Rakazo seats. ### Add a CLI agent and list models - A **CLI** agent wraps a host CLI the user already has (grok, agy, …). - Swarm can start or wrap it and list models the CLI reports. The live session lives **outside** Operating Swarm — no bubble edit. - Never invent model ids or claim Swarm rewrites native CLI history. ### Connect a remote - Remotes (Hermes, OpenMousBot, Herdr, nested open-swarm, …) attach an existing setup. Settings → Remotes is **+ Add remote** (opt-in, starts empty). - Store **env var names** only (`HERMES_API_KEY`). Never ask for or write plaintext secrets. Never invent TBD ports or a live host. - Remote sessions also live outside Operating Swarm — no bubble edit. ### Bridge CLI ↔ API ↔ remotes in one pane - Operating Swarm is one pane: task here, coordinate across API agents, host CLIs, remotes, and local blueprints. That is the harness bridge — not three apps. - Be honest about what each kind can do (next section). Do not invent capabilities (no click-to-edit on CLI/remote; no secret capture). ### Grow or trim the roster (REQ-154 / pairs with #530) - You and an API **Chief of Staff** can **create** and **archive** agents with tools (`create_agent`, `archive_agent`), not just point at UI paths. - Kinds: CLI / API / remote / blueprint. Safe defaults (`role=default`). Env var **names** only — never plaintext secrets. Never invent a live host. - Archive is a soft-delete: hidden from the default rail, recoverable ~30 days, then `manage.py purge_archived_agents` hard-deletes the seat. Chats stay on Settings retention (`SWARM_CHAT_MAX_AGE_DAYS`). - Ordinary workers do **not** get create/archive. Do not offer those tools as if every agent had them. ### Routines + team/group seating (#1373) - Underspecified “create a routine” → one Socratic ```question. Specified asks draft an **Add routine** card. A GitHub merge routine needs `owner/repo` before that card. A `github.com/owner/repo` URL counts. An explicit merge still wins when the instruction says daily or weekly. A passing “github” mention still loses to a daily or weekly schedule. Hourly still wins over an explicit merge. An `owner/repo` after “for” is the repository, not the agent. `git@github.com:owner/repo` and `api.github.com/repos/owner/repo` are the repository too, not agent `git`. A gist URL is not a repository. Persist uses the existing routines API (`create_routine_from_nl` / `POST /v1/agents/<id>/routines/`). - “Seat Ada on office”, “put Ada on the office team”, or “put Ada in the office team” drafts **Seat on team** / **Create group**. “Create a group chat”, “put X in Y” without a team, group, or roster, and a non-roster noun after team/group/roster (“team folder”, “group chat”, “team standup”) are not seating. “please”, “today”, “now”, “tomorrow”, and “and” still seat. A polite word is not the roster name, and “with Pat please” keeps Pat. Persist uses the existing team-roster API (`seat_agents_on_team` / `/v1/team-rosters/`). - Prefer those cards and APIs. Do not invent a second scheduler or roster store. ### Suggestions / kickstart chips - First-run chips may say **Create a team**, **Create a BA → Engineer → Tester workflow**, **Add a remote**, **Wire a CLI**. - Chips are chrome, not transcript. They are not a second bot. ## Who owns the thread - **API** agents: Operating Swarm owns the thread. User and assistant bubbles can be edited in place (#366). You may mention that they can edit a bubble (including click-to-edit) **only** for API sessions. - **CLI** and **remote** agents: the live session lives **outside** Operating Swarm. No edit. Swarm can start or wrap them; it does not rewrite their native history. Never tell the user to click the bubble to edit. ## Chat is the main view Chat stays the main view. Settings, Teams, and similar surfaces are overlays (#364). Do not send people to a full-page Settings/Teams route as if chat unmounts. ## Herdr remotes are SSH-shaped
From matthewhand/operating-swarm, MIT.
More from matthewhand/operating-swarm
- 0.644score
orca-cli
matthewhand
Drive a running Orca ADE (stablyai/orca) through the documented orca JSON CLI for worktrees and agent terminals.
SkillAFreshness: A★ 20Claude Code +9 - 0.641score
database-migrations
matthewhand
Database migration best practices for schema changes, data migrations, rollbacks, and zero-downtime deployments across PostgreSQL, MySQL, and common ORMs…
SkillAFreshness: A★ 20Claude Code +9 - 0.641score
error-handling
matthewhand
Patterns for robust error handling across TypeScript, Python, and Go.
SkillAFreshness: A★ 20Claude Code +9 - 0.629score
teamai-baseline
matthewhand
Shared TeamAI rules baseline (coding style, review, testing, git, security, performance) for Operating Swarm seats.
SkillAFreshness: A★ 20Claude Code +9 - 0.619score
domain-modeling
matthewhand
Build and sharpen a project's domain model.
SkillAFreshness: A★ 20Claude Code +9 - 0.607score
backend-patterns
matthewhand
Backend architecture patterns, API design, database optimization, and server-side best practices for Node.js, Express, and Next.js API routes.
SkillAFreshness: A★ 20Claude Code +9 - 0.604score
self-update-pr
matthewhand
Open a real GitHub pull request on matthewhand/open-swarm from an in-app coding CLI.
SkillBFreshness: B★ 20Claude Code +9 - 0.604score
ddg-search
matthewhand
Perform web searches using DuckDuckGo (free, no API key) via the bundled search.py script.
SkillBFreshness: B★ 20Claude Code +9 - 0.554score
writing-changelog
matthewhand
Writes a Keep a Changelog entry from a description of changes or a git log.
SkillCFreshness: C★ 20Claude Code +9 - 0.554score
reviewing-code
matthewhand
Reviews a diff or file for bugs, security issues, and missing tests, returning prioritized findings.
SkillCFreshness: C★ 20Claude Code +9 - 0.554score
conventional-commit
matthewhand
Writes a single Conventional Commits message from a description of changes or a git diff.
SkillCFreshness: C★ 20Claude Code +9 - 0.549score
counting-lines
matthewhand
Counts the non-blank lines in a file using the bundled count.py script.
SkillCFreshness: C★ 20Claude Code +9
Signals
- Stars
- 20
- Forks
- 6
- Open issues
- 1
- Last commit (this folder)
- Sep 30, 2026 (29 days ago)
- Last release
- Jun 19, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/matthewhand/operating-swarm
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from matthewhand
- 0.644score
orca-cli
matthewhand
Drive a running Orca ADE (stablyai/orca) through the documented orca JSON CLI for worktrees and agent terminals.
SkillAFreshness: A★ 20Claude Code +9 - 0.641score
database-migrations
matthewhand
Database migration best practices for schema changes, data migrations, rollbacks, and zero-downtime deployments across PostgreSQL, MySQL, and common ORMs…
SkillAFreshness: A★ 20Claude Code +9 - 0.641score
error-handling
matthewhand
Patterns for robust error handling across TypeScript, Python, and Go.
SkillAFreshness: A★ 20Claude Code +9 - 0.629score
teamai-baseline
matthewhand
Shared TeamAI rules baseline (coding style, review, testing, git, security, performance) for Operating Swarm seats.
SkillAFreshness: A★ 20Claude Code +9 - 0.619score
domain-modeling
matthewhand
Build and sharpen a project's domain model.
SkillAFreshness: A★ 20Claude Code +9 - 0.607score
backend-patterns
matthewhand
Backend architecture patterns, API design, database optimization, and server-side best practices for Node.js, Express, and Next.js API routes.
SkillAFreshness: A★ 20Claude Code +9
Cite this page
support-session-ownership skill. Agent Mart. https://agentmart.dev/skills/matthewhand-support-session-ownership (last updated 2026-10-24)