shared
Shared AgentOps skill contracts.
What this skill does
# Shared References This directory contains shared reference documents used by multiple skills: - `validation-contract.md` - Verification requirements for accepting spawned work - `references/claude-code-latest-features.md` - Claude Code feature contract (slash commands, agent isolation, hooks, settings) - `references/backend-claude-teams.md` - Concrete examples for Claude native teams (`TeamCreate` + `SendMessage`) - `references/backend-codex-subagents.md` - Concrete examples for Codex CLI and Codex sub-agents - `references/backend-background-tasks.md` - Fallback: `Task(run_in_background=true)` - `references/backend-inline.md` - Degraded single-agent mode (no spawn) - `references/claude-cli-verified-commands.md` - Verified Claude CLI command shapes and caveats - `references/codex-cli-verified-commands.md` - Verified Codex CLI command shapes and caveats - `references/cli-command-failures-2026-02-26.md` - Dated failure log and mitigations from live runs These are **not directly invocable skills**. They are loaded by other skills (council, crank, swarm, research, implement) when needed. --- ## CLI Availability Pattern All skills that reference external CLIs MUST degrade gracefully when those CLIs are absent. ### Check Pattern ```bash # Before using any external CLI, check availability if command -v bd &>/dev/null; then # Full behavior with bd else echo "Note: bd CLI not installed. Using plain text tracking." # Fallback: use TaskList, plain markdown, or skip fi ``` ### Fallback Table | Capability | When Missing | Fallback Behavior | |------------|-------------|-------------------| | `bd` | Issue tracking unavailable | Use TaskList for tracking. Note "install bd for persistent issue tracking" | | `ao` | Knowledge flywheel unavailable | Write learnings to `.agents/learnings/` directly. Skip flywheel metrics | | out-of-session substrate (`ntm` / `ao agent`) | Always-on orchestration unavailable | Run the loop in-session (`/rpi`, `/evolve`). A substrate (an NTM tmux swarm or managed-agents via `ao agent`) only adds always-on dispatch of whole `ao rpi`/`/evolve` loops — see [agent-native](../agent-native/SKILL.md) and [docs/3.0.md](https://github.com/boshu2/agentops/blob/main/docs/3.0.md) | | `gt` | Workspace management unavailable | Work in current directory. Skip convoy/sling operations | | `gh` | PR/CI automation unavailable | Open PRs via the web UI; skip automated PR status/merge steps | | `go` | Build-from-source unavailable | Install a prebuilt `ao` (Homebrew / install script / release binary); no Go needed | | `codex` | CLI missing or model unavailable | Fall back to runtime-native agents. Council pre-flight checks CLI presence (`which codex`) and model availability for `--mixed` mode. | | `cass` | Session search unavailable | Skip transcript search. Note "install cass for session history" | | `jq` | JSON parsing unavailable | Read `--json` output manually or use non-JSON output modes | | `rg` (ripgrep) | Fast search unavailable | Fall back to `grep` / `git grep` (slower) | | Model tier config | `.agentops/config.yaml` missing | Use built-in defaults (quality=opus, balanced=sonnet, budget=haiku). Tier resolution falls through to "balanced". | > Full per-tool purpose, required-vs-optional, and fallback detail: [docs/dependencies.md](https://github.com/boshu2/agentops/blob/main/docs/dependencies.md). The README "Requirements" section summarizes; this doc page is the canonical detail. ### Required Multi-Agent Capabilities Council, swarm, and crank require a runtime that provides these capabilities. If a capability is missing, the corresponding feature degrades. | Capability | What it does | If missing | |------------|-------------|------------| | **Spawn subagent** | Create a parallel agent with a prompt | Cannot run multi-agent. Fall back to `--quick` (inline single-agent). | | **Agent-to-agent messaging** | Send a message to a specific agent | No debate R2. Workers run fire-and-forget. | | **Broadcast** | Message all agents at once | Per-agent messaging fallback. | | **Graceful shutdown** | Request an agent to terminate | Agents terminate on their own when done. | | **Shared task list** | Agents see shared work state | Lead tracks manually. | Every runtime maps these capabilities to its own API. Skills describe WHAT to do, not WHICH tool to call. **After detecting your backend (see Backend Detection below), load the matching reference for concrete tool call examples:** | Backend | Reference | |---------|-----------| | Claude feature contract | `skills/shared/references/claude-code-latest-features.md` | | Claude Native Teams | `skills/shared/references/backend-claude-teams.md` | | Codex Sub-Agents / CLI | `skills/shared/references/backend-codex-subagents.md` | | Background Tasks (fallback) | `skills/shared/references/backend-background-tasks.md` | | Inline (no spawn) | `skills/shared/references/backend-inline.md` | ### Backend Detection Use capability detection at runtime, not hardcoded tool names. The same skill must work across any agent harness that provides multi-agent primitives. If no multi-agent capability is detected, degrade to single-agent inline mode (`--quick`). **Selection policy (NTM > runtime-native > beads floor):** Global opt-out first: if `AGENTOPS_ORCHESTRATION=off` is set, skip all spawn backends and degrade to the **beads floor** (single-agent inline / `--quick`; workers' work is tracked through `bd`). This mirrors the `AGENTOPS_HOOKS_DISABLED=1` convention. Otherwise, select in this order: 1. **NTM (top tier).** If `ntm` is on PATH, capability-probe it with `ntm --robot-capabilities`. When the probe confirms multi-agent primitives, use **NTM** as the primary backend. 2. **Runtime-native.** If NTM is unavailable: in a Claude session with `TeamCreate`/`SendMessage`, use **Claude Native Teams**; in a Codex session with `spawn_agent`, use **Codex sub-agents**. If both are technically available, pick the backend native to the current runtime unless the user explicitly requests mixed/cross-vendor execution. Only use background tasks when neither native backend is available. 3. **Beads floor.** If no multi-agent capability is detected, degrade to single-agent inline mode (`--quick`). > **`gc` is NOT a selectable tier.** AgentOps no longer references Gas City; out-of-session orchestration is delegated to a swappable substrate (NTM + MCP + managed-agents — see [docs/3.0.md](https://github.com/boshu2/agentops/blob/main/docs/3.0.md)). Any residual `gc`-based dispatch prose in older swarm/crank reference files is historical only and is never selected. **Output-contract parity is unchanged across all tiers:** workers write results to `.agents/swarm/results/*.json`, and the lead verifies-then-trusts those artifacts. This invariant holds whether the backend is NTM, a runtime-native team, or the beads floor. | Operation | Codex Sub-Agents | Claude Native Teams | OpenCode Subagents | Inline Fallback | |-----------|------------------|---------------------|--------------------|-----------------| | Spawn | `spawn_agent(message=...)` | `TeamCreate` + `Task(team_name=...)` | `task(subagent_type="general", prompt=...)` | Execute inline | | Spawn (read-only) | `spawn_agent(message=...)` | `Task(subagent_type="Explore")` | `task(subagent_type="explore", prompt=...)` | Execute inline | | Wait | `wait(ids=[...])` | Completion via `SendMessage` | Task returns result directly | N/A | | Retry/follow-up | `send_input(id=..., message=...)` | `SendMessage(type="message", ...)` | `task(task_id="<prior>", prompt=...)` | N/A | | Cleanup | `close_agent(id=...)` | `shutdown_request` + `TeamDelete()` | None (sub-sessions auto-terminate) | N/A | | Inter-agent messaging | `send_input` | `SendMessage` | Not available | N/A | | Debate (R2) | Supported | Supported | **Not supported** (no messaging) | N/A | **OpenCode limitations:** - No inter-agent messaging — workers run as independent sub-sessions - No debate mode (`--debate`) — requires
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.