{
  "schemaVersion": "1",
  "product": "sift-cli",
  "package": "@sift-wiki/cli",
  "packageVersion": "0.1.10",
  "sourceRevision": "637a19a4f2ac1ae5d4f470cd29317e87cdf221c1",
  "commands": [
    {
      "path": "add",
      "summary": "Capture a local file into the selected brain.",
      "arguments": [
        "path"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift add ./notes.md"
    },
    {
      "path": "agent register",
      "summary": "Compatibility command: agent profiles are retired and tools use the connected user's permissions.",
      "arguments": [],
      "flags": [
        {
          "name": "--name",
          "description": "string input"
        },
        {
          "name": "--description",
          "description": "string input"
        },
        {
          "name": "--kind",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift agent register --name \"Claude Code\" --description \"Coding agent\""
    },
    {
      "path": "agent status",
      "summary": "Compatibility command: report that agent profiles are retired and registration is unnecessary.",
      "arguments": [],
      "flags": [
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift agent status --json"
    },
    {
      "path": "ask",
      "summary": "Ask a grounded question using a simple read alias.",
      "arguments": [
        "query"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift ask \"what changed?\""
    },
    {
      "path": "audit events",
      "summary": "Inspect redacted audit events when authorized.",
      "arguments": [
        "targetId"
      ],
      "flags": [
        {
          "name": "--target-id",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift audit events <target-id>"
    },
    {
      "path": "auth status",
      "summary": "Inspect local authentication state.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift auth status --json"
    },
    {
      "path": "brain list",
      "summary": "List brains available to the current scope.",
      "arguments": [],
      "flags": [],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift brain list"
    },
    {
      "path": "brain use",
      "summary": "Select the current brain scope for subsequent operations.",
      "arguments": [
        "brainId"
      ],
      "flags": [
        {
          "name": "--brain-id",
          "description": "string input"
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift brain use <brain-id>"
    },
    {
      "path": "capture batch",
      "summary": "Capture a bounded batch of text or file inputs.",
      "arguments": [
        "items"
      ],
      "flags": [
        {
          "name": "--items",
          "description": "array input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift capture batch manifest.json"
    },
    {
      "path": "capture file",
      "summary": "Capture file metadata and content without treating the local path as canonical.",
      "arguments": [
        "sourceName",
        "externalId",
        "title",
        "filename",
        "contentType",
        "bytes",
        "visibility"
      ],
      "flags": [
        {
          "name": "--source-name",
          "description": "string input"
        },
        {
          "name": "--external-id",
          "description": "string input"
        },
        {
          "name": "--title",
          "description": "string input"
        },
        {
          "name": "--filename",
          "description": "string input"
        },
        {
          "name": "--content-type",
          "description": "string input"
        },
        {
          "name": "--bytes",
          "description": "array input"
        },
        {
          "name": "--visibility",
          "description": "array input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift capture file ./notes.md --source Notes --external-id note-1"
    },
    {
      "path": "capture health",
      "summary": "Inspect local capture-hook health.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift capture health --json"
    },
    {
      "path": "capture nudge",
      "summary": "Run a fail-closed agent capture hook.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift capture nudge --client codex"
    },
    {
      "path": "capture text",
      "summary": "Capture text or markdown through the ingestion spine. The receipt's status reports the real ingestion state: 'indexed' means it is searchable now, 'queued' means it is stored durably but not yet searchable (indexing will finish in the background). Never assume queued content is retrievable yet. For agent conversation memory, set contentKind to 'agent_conversation_exchange' and fill provenance (actingClient, model, clientSessionRef, clientTurnRef, clientEventTime); use a stable externalId per exchange so retries dedupe.",
      "arguments": [
        "sourceName",
        "externalId",
        "title",
        "markdown",
        "visibility"
      ],
      "flags": [
        {
          "name": "--source-name",
          "description": "string input"
        },
        {
          "name": "--external-id",
          "description": "string input"
        },
        {
          "name": "--title",
          "description": "string input"
        },
        {
          "name": "--markdown",
          "description": "string input"
        },
        {
          "name": "--visibility",
          "description": "array input"
        },
        {
          "name": "--content-kind",
          "description": "string input"
        },
        {
          "name": "--provenance",
          "description": "object input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift capture text --source Notes --external-id note-1"
    },
    {
      "path": "context assemble",
      "summary": "Assemble grounded answer-preparation context with request time, caller identity, task guidance from visible Sift skills when available, safe source metadata, gaps, and raw cited fallback.",
      "arguments": [
        "query"
      ],
      "flags": [
        {
          "name": "--query",
          "description": "string input"
        },
        {
          "name": "--query-issued-at",
          "description": "string input"
        },
        {
          "name": "--timezone",
          "description": "string input"
        },
        {
          "name": "--max-chars",
          "description": "integer input"
        },
        {
          "name": "--event-time-after",
          "description": "Optional event-time lower bound (ISO 8601 or YYYY-MM-DD). Filters by authored/event time, never indexed-at; items without a trustworthy event time are excluded from bounded results."
        },
        {
          "name": "--event-time-before",
          "description": "Optional event-time upper bound (ISO 8601 or YYYY-MM-DD)."
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift context assemble 'launch risks'"
    },
    {
      "path": "context profile",
      "summary": "Read a permission-filtered profile context model.",
      "arguments": [],
      "flags": [
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift context profile"
    },
    {
      "path": "contract get",
      "summary": "Fetch the Sift agent contract (kernel + workspace overlay) and the contractVersion to echo on every gated tool call. Call this before any other Sift work.",
      "arguments": [],
      "flags": [],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift contract get"
    },
    {
      "path": "decide",
      "summary": "Create a decision from explicit intent.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift decide --statement \"Ship\""
    },
    {
      "path": "decision create",
      "summary": "Create a canonical decision record.",
      "arguments": [
        "statement",
        "state",
        "visibility"
      ],
      "flags": [
        {
          "name": "--statement",
          "description": "string input"
        },
        {
          "name": "--state",
          "description": "string input"
        },
        {
          "name": "--rationale",
          "description": "string input"
        },
        {
          "name": "--authorship",
          "description": "string input"
        },
        {
          "name": "--evidence-ids",
          "description": "array input"
        },
        {
          "name": "--visibility",
          "description": "array input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift decision create"
    },
    {
      "path": "doctor",
      "summary": "Check the local profile and hosted API connection.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift doctor --json"
    },
    {
      "path": "edit",
      "summary": "Patch a bounded record section.",
      "arguments": [
        "record-id"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift edit <record-id> --section Notes"
    },
    {
      "path": "event list",
      "summary": "List authorized brain events.",
      "arguments": [],
      "flags": [
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift event list"
    },
    {
      "path": "evidence get",
      "summary": "Read an authorized evidence item.",
      "arguments": [
        "evidenceId"
      ],
      "flags": [
        {
          "name": "--evidence-id",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift evidence get <evidence-id>"
    },
    {
      "path": "evidence list",
      "summary": "List authorized evidence links for a record.",
      "arguments": [
        "recordId"
      ],
      "flags": [
        {
          "name": "--record-id",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift evidence list <record-id>"
    },
    {
      "path": "graph neighbors",
      "summary": "Traverse authorized graph neighbors.",
      "arguments": [
        "recordId"
      ],
      "flags": [
        {
          "name": "--record-id",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift graph neighbors <record-id>"
    },
    {
      "path": "hooks install",
      "summary": "Install a supported agent capture hook.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift hooks install claude-code"
    },
    {
      "path": "hooks uninstall",
      "summary": "Remove a supported agent capture hook.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift hooks uninstall claude-code"
    },
    {
      "path": "ingestion status",
      "summary": "Inspect ingestion job status.",
      "arguments": [
        "jobId"
      ],
      "flags": [
        {
          "name": "--job-id",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift ingestion status <job-id>"
    },
    {
      "path": "login",
      "summary": "Authenticate in the browser and save a local profile.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift login"
    },
    {
      "path": "logout",
      "summary": "Revoke the local session and remove its profile.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift logout"
    },
    {
      "path": "mcp serve",
      "summary": "Serve Sift tools to a local MCP client over stdio.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift mcp serve"
    },
    {
      "path": "record create-markdown",
      "summary": "Create a versioned markdown brain record.",
      "arguments": [
        "recordType",
        "title",
        "markdown",
        "visibility"
      ],
      "flags": [
        {
          "name": "--record-type",
          "description": "string input"
        },
        {
          "name": "--title",
          "description": "string input"
        },
        {
          "name": "--markdown",
          "description": "string input"
        },
        {
          "name": "--visibility",
          "description": "array input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift record create-markdown --type memory"
    },
    {
      "path": "record get",
      "summary": "Read an authorized markdown record.",
      "arguments": [
        "recordId"
      ],
      "flags": [
        {
          "name": "--record-id",
          "description": "string input"
        },
        {
          "name": "--section-anchor",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift record get <record-id>"
    },
    {
      "path": "record list",
      "summary": "List authorized records.",
      "arguments": [],
      "flags": [
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift record list"
    },
    {
      "path": "record patch-section",
      "summary": "Patch a stable markdown heading section with conflict detection.",
      "arguments": [
        "recordId",
        "anchor",
        "replacementMarkdown"
      ],
      "flags": [
        {
          "name": "--record-id",
          "description": "string input"
        },
        {
          "name": "--anchor",
          "description": "string input"
        },
        {
          "name": "--replacement-markdown",
          "description": "string input"
        },
        {
          "name": "--expected-markdown",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift record patch-section <record-id> <anchor>"
    },
    {
      "path": "record versions",
      "summary": "List record versions.",
      "arguments": [
        "recordId"
      ],
      "flags": [
        {
          "name": "--record-id",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift record versions <record-id>"
    },
    {
      "path": "remember",
      "summary": "Create a durable markdown record after explicit intent.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift remember \"Decision text\""
    },
    {
      "path": "roam import",
      "summary": "Import explicitly selected Roam pages.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift roam import --scope sift-tag --workspace-attestation"
    },
    {
      "path": "scope current",
      "summary": "Show the authenticated workspace and brain scope.",
      "arguments": [],
      "flags": [],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift scope current"
    },
    {
      "path": "search",
      "summary": "Search the selected brain using a simple alias.",
      "arguments": [
        "query"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift search \"launch decision\""
    },
    {
      "path": "search query",
      "summary": "Search authorized brain context and return raw cited candidate results for exploration.",
      "arguments": [
        "query",
        "limit"
      ],
      "flags": [
        {
          "name": "--query",
          "description": "string input"
        },
        {
          "name": "--limit",
          "description": "integer input"
        },
        {
          "name": "--event-time-after",
          "description": "Optional event-time lower bound (ISO 8601 or YYYY-MM-DD). Filters by authored/event time, never indexed-at; items without a trustworthy event time are excluded from bounded results."
        },
        {
          "name": "--event-time-before",
          "description": "Optional event-time upper bound (ISO 8601 or YYYY-MM-DD)."
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift search query 'launch risks'"
    },
    {
      "path": "show",
      "summary": "Read a record using a simple alias.",
      "arguments": [
        "record-id"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift show <record-id>"
    },
    {
      "path": "skill get",
      "summary": "Read a skill's pinned active version markdown body, version id, and bundle file paths by skill record id.",
      "arguments": [
        "skillId"
      ],
      "flags": [
        {
          "name": "--skill-id",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift skill get <skill-id>"
    },
    {
      "path": "skill import commit",
      "summary": "Commit an explicit create, exact-link, or fork action from a skill import preview.",
      "arguments": [
        "path"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift skill import commit ./my-skill --action create --preview-token <token> --idempotency-key <key> --visibility team --instruction 'Migrate this workflow'"
    },
    {
      "path": "skill import preview",
      "summary": "Safely scan and preview migration of one explicit local skill path.",
      "arguments": [
        "path"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift skill import preview ./my-skill --visibility team --instruction 'Migrate this workflow'"
    },
    {
      "path": "skill install",
      "summary": "Install a bundled skill into an agent workspace.",
      "arguments": [
        "name"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift skill install sift-setup"
    },
    {
      "path": "skill list",
      "summary": "List bundled agent skills without authentication.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift skill list"
    },
    {
      "path": "skill print",
      "summary": "Print a bundled skill.",
      "arguments": [
        "name"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift skill print sift-cli"
    },
    {
      "path": "skill show",
      "summary": "Print a bundled skill.",
      "arguments": [
        "name"
      ],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift skill show sift-cli"
    },
    {
      "path": "skill update",
      "summary": "Directly replace an existing skill's markdown body when the user asks an agent to modify that skill; execution-discovered learning stays on skill.teach or skill.feedback.",
      "arguments": [
        "skillId",
        "expectedCurrentVersionId",
        "markdown",
        "userInstruction",
        "changeSummary",
        "idempotencyKey"
      ],
      "flags": [
        {
          "name": "--skill-id",
          "description": "string input"
        },
        {
          "name": "--expected-current-version-id",
          "description": "The active skill version id returned by skill.get before editing."
        },
        {
          "name": "--markdown",
          "description": "Full replacement skill markdown body."
        },
        {
          "name": "--user-instruction",
          "description": "Raw user instruction that authorized the direct skill edit."
        },
        {
          "name": "--instruction-ref",
          "description": "Optional message, turn, thread, CLI prompt, or external conversation ref."
        },
        {
          "name": "--change-summary",
          "description": "string input"
        },
        {
          "name": "--idempotency-key",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift skill update <skill-id> --expected-version <version-id> --markdown <body>"
    },
    {
      "path": "source create",
      "summary": "Create a source for future captures.",
      "arguments": [
        "name",
        "visibility"
      ],
      "flags": [
        {
          "name": "--name",
          "description": "string input"
        },
        {
          "name": "--visibility",
          "description": "array input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift source create --name Notes --visibility team"
    },
    {
      "path": "source get",
      "summary": "Read source metadata.",
      "arguments": [
        "sourceId"
      ],
      "flags": [
        {
          "name": "--source-id",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift source get <source-id>"
    },
    {
      "path": "source list",
      "summary": "List sources visible in the selected brain.",
      "arguments": [],
      "flags": [
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift source list"
    },
    {
      "path": "source status",
      "summary": "Inspect source processing status.",
      "arguments": [
        "sourceId"
      ],
      "flags": [
        {
          "name": "--source-id",
          "description": "string input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift source status <source-id>"
    },
    {
      "path": "status",
      "summary": "Show current workspace, brain, and authentication scope.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift status --json"
    },
    {
      "path": "task create",
      "summary": "Create a canonical task record.",
      "arguments": [
        "title",
        "visibility"
      ],
      "flags": [
        {
          "name": "--title",
          "description": "string input"
        },
        {
          "name": "--status",
          "description": "string input"
        },
        {
          "name": "--owner",
          "description": "string input"
        },
        {
          "name": "--due-date",
          "description": "string input"
        },
        {
          "name": "--rationale",
          "description": "string input"
        },
        {
          "name": "--authorship",
          "description": "string input"
        },
        {
          "name": "--evidence-ids",
          "description": "array input"
        },
        {
          "name": "--visibility",
          "description": "array input"
        },
        {
          "name": "--contract-version",
          "description": "Echo the current Sift contract version from contract.get."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift task create"
    },
    {
      "path": "todo",
      "summary": "Create a task from explicit intent.",
      "arguments": [],
      "flags": [
        {
          "name": "--json",
          "default": "false",
          "description": "Emit a structured JSON envelope when supported."
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift todo --title \"Verify docs\""
    },
    {
      "path": "tools help",
      "summary": "Return compact help for a tool.",
      "arguments": [
        "name"
      ],
      "flags": [
        {
          "name": "--name",
          "description": "string input"
        }
      ],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift tools help search.query"
    },
    {
      "path": "tools list",
      "summary": "List tools available to this transport and scope.",
      "arguments": [],
      "flags": [],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift tools list"
    },
    {
      "path": "tools schema",
      "summary": "Return JSON schemas for available tools.",
      "arguments": [],
      "flags": [],
      "structuredOutput": true,
      "errors": [
        "auth_failed",
        "permission_denied",
        "validation_failure",
        "tool_unavailable"
      ],
      "example": "sift tools schema --json"
    }
  ]
}
