This document defines what sxmc claims to support today, what should fail
gracefully, and what is intentionally outside the contract.
Use this document together with:
- USAGE.md for the canonical product workflows
- OPERATIONS.md for release and hosting guidance
- VALIDATION.md for repeatable release checks and compatibility notes
- GOLDEN_PATH_CONTRACT.md for the narrower rewrite
source of truth for
setup,add,status, andsync
The full product contract stays broader than the current rewrite milestone. When maintainers need the stable migration baseline for the onboarding and reconciliation loop, use GOLDEN_PATH_CONTRACT.md.
These are the core product paths we should treat as stable:
sxmc serveloads skill directories and exposes them over MCPsxmc serve --discovery-snapshot <file-or-dir>exposes saved discovery snapshots as MCP-readable resources- per-skill prompts are available when
SKILL.mdis present scripts/entries become MCP toolsreferences/entries become MCP resources- hybrid retrieval tools are always available:
get_available_skillsget_skill_detailsget_skill_related_file
sxmc stdiocan discover and invoke tools, prompts, and resources from a stdio MCP serversxmc httpcan discover and invoke tools, prompts, and resources from a streamable HTTP MCP serversxmc mcpcan discover and invoke tools, prompts, and resources from baked stdio/http MCP connectionssxmc mcp session <server>supports stateful multi-step workflows against a single baked MCP connection--list,--list-tools,--list-prompts,--list-resources,--describe, and--describe-toolare supported CLI surfaces- one-shot tool execution is supported
- one-shot prompt fetches with
--promptare supported - one-shot resource reads with
--resourceare supported - baked
server/toolworkflows are supported throughmcp servers|grep|tools|info|call|prompt|read|session
sxmc apiauto-detects OpenAPI vs GraphQLsxmc specsupports direct OpenAPI executionsxmc graphqlsupports GraphQL schema-driven invocation
- local stdio MCP hosting is supported
- remote streamable HTTP MCP hosting at
/mcpis supported /healthzis supported for hosted deployments- bearer-token and required-header auth are supported for remote MCP hosting
sxmc inspect cli <command>is supported for deterministic help-based inspectionsxmc add <command>is supported as the one-step inspect/save/onboard workflowsxmc setupis supported as the multi-tool onboarding workflowsxmc init ai --from-cli <command> --client <profile>is supported for generating startup-facing artifactssxmc init ai --from-cli <command> --coverage fullis supported for generating multi-host startup coveragesxmc init discovery <snapshot-or-dir>is supported for delivering saved discovery snapshots into startup-facing host docssxmc doctoris supported for startup-file health and repair guidancesxmc statusis supported as the unified machine-readable host/setup state surfacesxmc syncis supported as the local reconciliation workflow for saved profiles and AI-host artifactssxmc scaffold agent-doc --from-profile ...is supportedsxmc scaffold client-config --from-profile ...is supportedsxmc scaffold skill --from-profile ...is supportedsxmc skills install ...supports project-local and user-global managed skill installssxmc skills update ...refreshes metadata-managed installed skills from their recorded sourcesxmc scaffold mcp-wrapper --from-profile ...is supportedsxmc scaffold llms-txt --from-profile ...is supported as an optional export- host profiles are supported for:
claude-codecursorgemini-cligithub-copilotcontinue-devopen-codejetbrains-ai-assistantjuniewindsurfopenai-codexgeneric-stdio-mcpgeneric-http-mcp
- preview, sidecar, patch, and apply modes are supported
- project-local installs are the default, and
--global/--localare supported across the startup lifecycle to choose between repo-local and user-level host artifact targets - apply mode updates managed markdown blocks or mergeable config files only
- full-coverage apply updates only the explicitly selected
--hosttargets and sidecars the rest sxmc add,sxmc setup,sxmc doctor,sxmc status, andsxmc syncall support explicit structured output via--pretty/--format ...sxmc add --client .../sxmc setup --client ...andsxmc doctor --host .../sxmc status --host ...are stable naming aliases for the primary host-selection flagssxmc skills list --installed --jsonreturns additive management metadata for managed skills, includingmanaged,install_scope,install_source, andupdate_status
These machine-readable surfaces are part of the promised product contract:
sxmc add --format ...sxmc setup --format ...sxmc doctor --format ...sxmc status --format ...sxmc sync --format ...
Contract rules for these outputs:
- top-level shapes should remain stable within the
1.xline - new fields should be added additively rather than replacing old ones
- stable exit-code behavior should not drift silently
- recovery guidance should become more specific over time, not disappear
install_scopemay be added or returned additively on startup-lifecycle structured outputs, but existing top-level fields should remain stable
These scenarios should not crash the product or produce misleading results:
- promptless/resource-less MCP servers should still allow tool discovery and one-shot tool calls
- zero-argument MCP tools should receive
{}rather than an omitted argument object - startup-only invocations like
sxmc --versionandsxmc --helpshould succeed on all supported platforms - unsupported optional MCP surfaces should be skipped with a clear note rather than failing all discovery
scanshould continue to use non-zero exit status for findings by design, but not be treated as a crash- existing
AGENTS.md/CLAUDE.mdfiles should not be overwritten wholesale by CLI->AI generation - scaffolded skill and MCP-wrapper files should be created as new files rather than overwriting arbitrary existing files
These are not promised as current product behavior:
- persistent multi-turn MCP sessions through repeated fresh
sxmc stdio ...invocations - stateful "dialog" continuity across separate CLI invocations without an explicit
sxmc mcp session - automated CI launch of proprietary clients like Cursor, Codex, or Claude Code
- universal compatibility with every third-party MCP server without caveats
- benchmark numbers as proof of broad client compatibility
- fully automatic client startup discovery without either a real config file or a real startup-read doc file
Before a release, we should be able to point to:
- a passing local certification run
- a current compatibility matrix
- a current benchmark snapshot
- a documented support boundary for anything still out of scope
- a current STABILITY.md statement that still matches the shipped UX
If a behavior is not covered by one of those, it should not be described as a guaranteed product path.