Skip to content

feat(skill): add safari reference card for AI-SRE Customize self-management#60

Merged
ysyneu merged 3 commits into
feat/ai-srefrom
feat/safari-reference-card
Jun 25, 2026
Merged

feat(skill): add safari reference card for AI-SRE Customize self-management#60
ysyneu merged 3 commits into
feat/ai-srefrom
feat/safari-reference-card

Conversation

@ysyneu

@ysyneu ysyneu commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

What

The fduty safari command group (mcp-server-*, skill-*, a2a-agent-*, session-*) had no reference card, so skilldoc skipped it and the flashduty skill's domain index never pointed there. Asked to "install an MCP server", an agent had nothing to route to — it reached for a tool search (which only discovers tools on already-connected servers) and --help-danced.

Change

  • New skills/flashduty/reference/safari.md — modeled on the other cards. Prose covers routing keywords, intent→verb table, two hot-flow installs (stdio + remote streamable-http with per_user_oauth), key concepts (transport ⇒ fields, team_id scope, auth_mode), and gotchas. The <!-- GENERATED:safari --> fence is auto-filled by skilldoc from the cobra tree (stays in sync; no hand-maintained flag tables).
  • SKILL.md domain-index row pointing intent (install/configure MCP·skill·A2A, customize, session export) → reference/safari.md.

Headline correctness note baked into the card: per_user_oauth servers are created with an empty oauth_metadata — that is the normal, complete state. The runtime auto-discovers the OAuth server and does Dynamic Client Registration on first authorization; you do not collect authorization_url/client_id/client_secret/scopes.

Why public

Everything in the card is OpenAPI-derived — the fduty safari verbs are generated by cligen from the safari OpenAPI ops (/safari/mcp/server/*, /safari/skill/*, /safari/a2a/*). No internals exposed.

Verification

go run ./internal/cmd/skilldoc checkskilldoc: cards OK (fence fresh, examples valid).

Companion

fc-safari PR #300 vendors this card byte-identical into the bundled skill and adds the agent-runtime-only OAuth finish note (tool_search(server=...) → authorize card), which can't live in the shared cli card.

ysyneu added 3 commits June 24, 2026 17:40
…nagement

The `fduty safari` group (mcp-server-*, skill-*, a2a-agent-*, session-*) had
no reference card, so the flashduty skill could not route install/configure
intents to it — agents fell back to a tool search (wrong tool) and --help-dance.

Seed `reference/safari.md` (skilldoc fence auto-filled from the cobra tree) +
a SKILL.md domain-index row. Hot flows cover stdio and remote MCP install; key
concepts document transport/scope/auth_mode and the per_user_oauth model:
empty oauth_metadata is normal — the runtime auto-discovers + DCRs on first
authorization; no OAuth client config is collected up front.

`skilldoc check` passes (fence in sync; examples valid).
…t safari surface)

Merge feat/ai-sre and regenerate the safari command card against the current
cli: /safari/skill/download was reclassified jwt (console-only) and dropped
from the public surface, while session-delete was added. The GENERATED fence
syncs automatically; also update the hand-written intent table (remove the
skill-download routing line, add session-delete to the session line).
@ysyneu ysyneu merged commit 78b3361 into feat/ai-sre Jun 25, 2026
12 checks passed
@ysyneu ysyneu deleted the feat/safari-reference-card branch June 25, 2026 02:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant