{"preferenceLocale": "en-US", "requestedLocale": "en-US", "contentLocale": "en-US", "fallbackReason": "", "source": "accept-language"}
{"schemaVersion": "1.0.0", "pageId": "product-skills", "locale": "en-US", "contentLocale": "en-US", "status": "native", "fallbackReason": "", "canonicalPath": "/product/skills", "routePath": "/product/skills", "family": "product_subpage", "title": "XMemo Agent Skills", "description": "", "editionDigest": "5243edec62c91aa5966589843a276e5265504bc8f9ecc3821c63b3ba86aeb90e", "revision": "5243edec62c91aa5966589843a276e5265504bc8f9ecc3821c63b3ba86aeb90e", "canonicalContentDigest": "69b8fb21621b9b6c8ff22957898c8fbcfd9420c8f976ba53b5994de9da39a09e", "anchors": ["skills-capability-heading", "skills-choice-heading"], "serverOwned": false, "metadata": {"title": "XMemo Agent Skills", "description": "", "canonicalPath": "/product/skills", "htmlLang": "en"}, "payload": {"page": "skills", "content": {"label": "Skills", "title": "XMemo Skills", "kicker": "Standalone agent memory runtime", "lead": "Equip your AI agents with a standalone, secure memory runtime. The bundled Node script runs locally, connects directly over HTTPS, and can authenticate with XMEMO_KEY or device login to read, write, and manage memory without requiring MCP servers or host-specific plugins.", "cards": [["MCP not required", "Run standalone ESM Node scripts directly. No Stdio server setup or complex client integrations required."], ["Device-code sign-in", "Secure authentication without token paste. Authenticate agents using standard browser authorization."], ["Direct /v1/skill/operations", "Execute secure operations directly against the operations endpoint using a scoped skill_token."]], "sections": [{"kind": "skills_runtime", "kicker": "Runtime Model", "title": "One Skill, its own runtime", "body": "The standalone Skill architecture executes in four distinct, secure steps:", "items": [["1. Local Execution", "Agent executes the bundled ESM Node script in the workspace."], ["2. Initiate Login", "The script starts the device login flow if no token is cached."], ["3. User Approval", "The user approves access in the browser to issue a secure token."], ["4. HTTPS Operations", "The script calls /v1/skill/operations directly over HTTPS."]], "code": "node scripts/xmemo-skill.mjs doctor\nnode scripts/xmemo-skill.mjs login --allow-plaintext\nnode scripts/xmemo-skill.mjs auth-status --verify\nnode scripts/xmemo-skill.mjs remember --content \"Decision: use standalone Skill runtime\"\nnode scripts/xmemo-skill.mjs recall --query \"standalone Skill runtime\"\nnode scripts/xmemo-skill.mjs logout"}, {"kicker": "Installation", "title": "Install the Skill package", "body": "Install or copy the XMemo Skill directory into the agent workspace. Run the bundled script with Node. The script uses only built-in Node modules and talks directly to XMemo over HTTPS. The npm package is one distribution channel for the Skill files; the Skill runtime itself is the bundled script.", "items": [["Skill directory", "xmemo-skill"], ["Entrypoint", "scripts/xmemo-skill.mjs"], ["Runtime", "Node.js \u003e= 22.22.0"], ["External dependencies", "none"]]}, {"kicker": "Authentication", "title": "Sign in without pasting tokens", "body": "First run can start device-code login. The user approves in the browser, and the browser page never displays the bearer token. The Skill stores a user-scoped credential file, and logout uses self-revoke against the active token.", "items": [["POST /v1/auth/device/start", "Initiate device authorization code flow."], ["POST /v1/auth/device/token", "Exchange device code for a session token."], ["POST /v1/auth/token/validate", "Validate current token authenticity."], ["POST /v1/auth/token/revoke-self", "Revoke current token and sign out."]], "code": "node scripts/xmemo-skill.mjs login --allow-plaintext\nnode scripts/xmemo-skill.mjs auth-status --verify\nnode scripts/xmemo-skill.mjs logout"}, {"kind": "skills_operations", "kicker": "API Operations", "title": "Operations agents can perform", "body": "Agents talk directly to /v1/skill/operations using a scoped skill_token. The following commands cover all supported operations:", "items": [["remember", "Scope: memory:write · node scripts/xmemo-skill.mjs remember --content \"text\""], ["recall", "Scope: memory:read · node scripts/xmemo-skill.mjs recall --query \"query\""], ["search", "Scope: memory:read · node scripts/xmemo-skill.mjs search --query \"query\""], ["save-state", "Scope: memory:write · node scripts/xmemo-skill.mjs save-state --key \"key\" --content \"content\""], ["restore-state", "Scope: memory:read · node scripts/xmemo-skill.mjs restore-state --key \"key\""], ["todo-add", "Scope: memory:write · node scripts/xmemo-skill.mjs todo-add --content \"task\""], ["todo-list", "Scope: memory:read · node scripts/xmemo-skill.mjs todo-list"], ["todo-done", "Scope: memory:write · node scripts/xmemo-skill.mjs todo-done --id \"task_id\""], ["expense-add", "Scope: ledger:write · node scripts/xmemo-skill.mjs expense-add --item \"item\" --amount 10"], ["doctor", "Scope: none (anonymous allowed) · bad credentials fail"]]}, {"kicker": "Security", "title": "Designed for agent environments", "body": "XMemo Skill is built with security first. Authorization uses a dedicated skill_token credential, and token values are never exposed or printed.", "items": [["No token exposure", "Discovery responses and local runtime execution never print active tokens."], ["No commits", "Cached credentials must be kept out of version control and public repositories."], ["Fail-closed", "Bad credentials fail diagnostics checks (doctor) instead of silently allowing anonymous operations."], ["Separate surfaces", "MCP configuration is entirely optional, isolated from the standalone Skill runtime."]]}, {"kind": "skills_other_surfaces", "kicker": "Other integrations", "title": "Other XMemo surfaces", "body": "After choosing between hosted MCP and the standalone Skill, consider these additional integration surfaces when they fit your host.", "items": [["Plugin", "Best for: Host-specific native integration · Runtime: Host plugin runtime"], ["REST API", "Best for: Custom applications and services · Runtime: HTTPS client"]]}, {"kicker": "Discovery", "title": "Machine-readable Skill discovery", "body": "Agents can automatically discover Skill runtime specifications and API endpoints by parsing the well-known discovery contracts.", "items": [["Discovery contracts", "/.well-known/agent-discovery.json and /.well-known/memory-os.json"], ["Runtime Model", "standalone_skill.runtime_model = \"standalone_skill\""], ["No dependencies", "mcp_required = false, npm_cli_required = false"], ["API endpoints", "Operations endpoint is /v1/skill/operations"], ["Credential type", "Token type is skill_token"]]}]}, "siblings": [{"slug": "mcp", "label": "MCP", "active": false}, {"slug": "skills", "label": "Skills", "active": true}, {"slug": "changelog", "label": "Changelog", "active": false}, {"slug": "stories", "label": "Stories", "active": false}], "cards": [{"index": 1, "title": "MCP not required", "body": "Run standalone ESM Node scripts directly. No Stdio server setup or complex client integrations required."}, {"index": 2, "title": "Device-code sign-in", "body": "Secure authentication without token paste. Authenticate agents using standard browser authorization."}, {"index": 3, "title": "Direct /v1/skill/operations", "body": "Execute secure operations directly against the operations endpoint using a scoped skill_token."}], "sections": [{"kicker": "Runtime Model", "title": "One Skill, its own runtime", "body": "The standalone Skill architecture executes in four distinct, secure steps:", "item_list": [{"name": "1. Local Execution", "desc": "Agent executes the bundled ESM Node script in the workspace."}, {"name": "2. Initiate Login", "desc": "The script starts the device login flow if no token is cached."}, {"name": "3. User Approval", "desc": "The user approves access in the browser to issue a secure token."}, {"name": "4. HTTPS Operations", "desc": "The script calls /v1/skill/operations directly over HTTPS."}], "code": "node scripts/xmemo-skill.mjs doctor\nnode scripts/xmemo-skill.mjs login --allow-plaintext\nnode scripts/xmemo-skill.mjs auth-status --verify\nnode scripts/xmemo-skill.mjs remember --content \"Decision: use standalone Skill runtime\"\nnode scripts/xmemo-skill.mjs recall --query \"standalone Skill runtime\"\nnode scripts/xmemo-skill.mjs logout", "kind": "skills_runtime"}, {"kicker": "Installation", "title": "Install the Skill package", "body": "Install or copy the XMemo Skill directory into the agent workspace. Run the bundled script with Node. The script uses only built-in Node modules and talks directly to XMemo over HTTPS. The npm package is one distribution channel for the Skill files; the Skill runtime itself is the bundled script.", "item_list": [{"name": "Skill directory", "desc": "xmemo-skill"}, {"name": "Entrypoint", "desc": "scripts/xmemo-skill.mjs"}, {"name": "Runtime", "desc": "Node.js \u003e= 22.22.0"}, {"name": "External dependencies", "desc": "none"}], "code": "", "kind": ""}, {"kicker": "Authentication", "title": "Sign in without pasting tokens", "body": "First run can start device-code login. The user approves in the browser, and the browser page never displays the bearer token. The Skill stores a user-scoped credential file, and logout uses self-revoke against the active token.", "item_list": [{"name": "POST /v1/auth/device/start", "desc": "Initiate device authorization code flow."}, {"name": "POST /v1/auth/device/token", "desc": "Exchange device code for a session token."}, {"name": "POST /v1/auth/token/validate", "desc": "Validate current token authenticity."}, {"name": "POST /v1/auth/token/revoke-self", "desc": "Revoke current token and sign out."}], "code": "node scripts/xmemo-skill.mjs login --allow-plaintext\nnode scripts/xmemo-skill.mjs auth-status --verify\nnode scripts/xmemo-skill.mjs logout", "kind": ""}, {"kicker": "API Operations", "title": "Operations agents can perform", "body": "Agents talk directly to /v1/skill/operations using a scoped skill_token. The following commands cover all supported operations:", "item_list": [{"name": "remember", "desc": "Scope: memory:write · node scripts/xmemo-skill.mjs remember --content \"text\""}, {"name": "recall", "desc": "Scope: memory:read · node scripts/xmemo-skill.mjs recall --query \"query\""}, {"name": "search", "desc": "Scope: memory:read · node scripts/xmemo-skill.mjs search --query \"query\""}, {"name": "save-state", "desc": "Scope: memory:write · node scripts/xmemo-skill.mjs save-state --key \"key\" --content \"content\""}, {"name": "restore-state", "desc": "Scope: memory:read · node scripts/xmemo-skill.mjs restore-state --key \"key\""}, {"name": "todo-add", "desc": "Scope: memory:write · node scripts/xmemo-skill.mjs todo-add --content \"task\""}, {"name": "todo-list", "desc": "Scope: memory:read · node scripts/xmemo-skill.mjs todo-list"}, {"name": "todo-done", "desc": "Scope: memory:write · node scripts/xmemo-skill.mjs todo-done --id \"task_id\""}, {"name": "expense-add", "desc": "Scope: ledger:write · node scripts/xmemo-skill.mjs expense-add --item \"item\" --amount 10"}, {"name": "doctor", "desc": "Scope: none (anonymous allowed) · bad credentials fail"}], "code": "", "kind": "skills_operations"}, {"kicker": "Security", "title": "Designed for agent environments", "body": "XMemo Skill is built with security first. Authorization uses a dedicated skill_token credential, and token values are never exposed or printed.", "item_list": [{"name": "No token exposure", "desc": "Discovery responses and local runtime execution never print active tokens."}, {"name": "No commits", "desc": "Cached credentials must be kept out of version control and public repositories."}, {"name": "Fail-closed", "desc": "Bad credentials fail diagnostics checks (doctor) instead of silently allowing anonymous operations."}, {"name": "Separate surfaces", "desc": "MCP configuration is entirely optional, isolated from the standalone Skill runtime."}], "code": "", "kind": ""}, {"kicker": "Other integrations", "title": "Other XMemo surfaces", "body": "After choosing between hosted MCP and the standalone Skill, consider these additional integration surfaces when they fit your host.", "item_list": [{"name": "Plugin", "desc": "Best for: Host-specific native integration · Runtime: Host plugin runtime"}, {"name": "REST API", "desc": "Best for: Custom applications and services · Runtime: HTTPS client"}], "code": "", "kind": "skills_other_surfaces"}, {"kicker": "Discovery", "title": "Machine-readable Skill discovery", "body": "Agents can automatically discover Skill runtime specifications and API endpoints by parsing the well-known discovery contracts.", "item_list": [{"name": "Discovery contracts", "desc": "/.well-known/agent-discovery.json and /.well-known/memory-os.json"}, {"name": "Runtime Model", "desc": "standalone_skill.runtime_model = \"standalone_skill\""}, {"name": "No dependencies", "desc": "mcp_required = false, npm_cli_required = false"}, {"name": "API endpoints", "desc": "Operations endpoint is /v1/skill/operations"}, {"name": "Credential type", "desc": "Token type is skill_token"}], "code": "", "kind": ""}], "mcpClientSnippets": [], "stories": [], "storiesMeta": {"allStoriesLabel": "All stories", "filterLabel": "Filter stories", "allTypesLabel": "All types", "proofLevelsLabel": "Proof levels", "evidenceLabel": "Evidence", "sourceLabel": "Source", "readStoryLabel": "Read story", "viewSourceLabel": "View source", "backToStoriesLabel": "Back to Stories", "backToAllStoriesLabel": "Back to all Stories", "previousStoryLabel": "Previous story", "nextStoryLabel": "Next story", "relatedStoriesLabel": "Related stories", "noStoryFoundLabel": "Story not found", "typeLabels": {"award": "Award", "marketplace": "Marketplace", "partnership": "Partnership", "case_study": "Case study", "launch": "Launch", "community": "Community", "company": "Company", "trust": "Trust"}, "audienceLabels": {"users": "Users", "developers": "Developers", "investors": "Investors", "enterprise": "Enterprise"}, "proofLevelLabels": {"official": "Official source", "public-source": "Public source", "partner-approved": "Partner approved", "customer-approved": "Customer approved", "self-reported": "XMemo update"}, "proofLevelDescriptions": {"official": "Confirmed by an official platform or institution.", "public-source": "Backed by a third-party public source without implying a formal partnership.", "partner-approved": "Approved by the named partner for public display.", "customer-approved": "Approved by the named customer for public display.", "self-reported": "Self-reported XMemo product update. Use the source note to understand the public artifact or internal product boundary."}}, "hostedQuickstart": {"title": "", "body": "", "steps": []}, "memoryConsoleStory": {"title": "", "body": "", "trustHref": "", "trustCta": "", "features": []}, "faqTroubleshooting": {"title": "", "body": "", "actionLabel": "", "safetyLabel": "", "items": [], "groups": []}, "personaFlows": [], "labels": {"accountEntry": "Account entry", "agentMemoryControlPlane": "AI agent memory layer", "brand": "XMemo", "clientTargets": "client targets", "commandPalette": "Command palette", "configPath": "Config path:", "copy": "Copy", "copyAsMarkdown": "Copy as Markdown ▾", "copyConfig": "Copy config", "copyUnavailable": "Copy unavailable", "copied": "Copied", "credentialHandoff": "credential handoff", "docs": "Docs", "docsDesc": "Hosted XMemo quickstart for people connecting MCP clients.", "docsHeader": "Docs header", "docsLead": "Start with what XMemo does for you, then connect the hosted memory layer to the client you use.", "docsVersion": "Hosted · Beta pilot", "inThisArticle": "In this article", "invitedOnly": "invited only", "login": "Log in / Sign up", "mcp": "MCP", "mcpDesc": "Configure ChatGPT, VS Code / GitHub Copilot, Copilot CLI, Codex, Gemini CLI, Cursor, and custom MCP clients.", "mcpNpmQuickSetup": "⚡ Quick setup: run \u003ccode\u003enpx @xmemo/client setup --url https://xmemo.dev\u003c/code\u003e to auto-generate per-client instance IDs and apply reviewed config for supported clients.", "mcpSetupConsole": "MCP setup console", "mcpSetupDescription": "Pick the MCP client to see the public-safe snippet for its settings surface. OAuth snippets omit bearer tokens; direct snippets reference \u003ccode\u003eXMEMO_KEY\u003c/code\u003e only when needed plus generated, non-secret agent identity headers instead of literal credentials.", "canonicalCapabilityMatrix": "Open the canonical client capability matrix", "mcpDocsRedirect": "MCP setup details, client snippets, and tool explanations are organized in Docs.", "navTrust": "Trust", "noMatches": "No matches.", "openAccountEntry": "Open account entry ↗", "openDocsChapter": "Open Docs chapter", "openProductNavigation": "Open public navigation", "pasteSnippet": "Paste the selected snippet into the listed config path or dashboard, keep the hosted URL as shown, and set XMEMO_AGENT_INSTANCE_ID once per local client when the snippet references it. Then complete OAuth for OAuth clients or restart the direct MCP client.", "personaConnection": "Connection", "personaFlowsBody": "Choose the path that matches how you want to use XMemo. Each flow keeps credentials out of public docs and ends with a concrete memory action.", "personaFlowsTitle": "Persona onboarding flows", "personaGoal": "Goal", "personaSuccessAction": "Success action", "personaTroubleshooting": "Troubleshooting", "perClientMcpConfigPreview": "Per-client MCP config preview", "pilotAccess": "Pilot access", "product": "Home", "productDesc": "Back to the XMemo overview.", "productHome": "Home", "publicNavigation": "XMemo public navigation", "publicResources": "XMemo public resources", "loadingProductContext": "Loading product context", "productContextUnavailable": "Product context unavailable", "cachedPublicResourceRoute": "Showing the cached public resource route while the context API recovers.", "publicSafeNote": "Public-safe page: only hosted public URLs are shown; no console links, credential values, or internal control-plane endpoints are exposed here.", "quickSetup": "Quick setup", "quickstart": "Quickstart for XMemo", "search": "Search", "searchDocs": "Search docs", "searchPlaceholder": "Search docs, MCP, skills, install…", "stories": "Stories", "storiesDesc": "Launches, listings and milestones", "skills": "Skills", "skillsDesc": "Connect XMemo as an agent Skill in addition to MCP.", "skillsDocsRedirect": "Skill connector guidance and agent command patterns are organized in Docs.", "start": "Get started", "startPilot": "Get started", "startPilotDesc": "Create your XMemo workspace.", "supportedMcpClients": "Supported MCP clients", "typeToFilter": "Type to filter", "brandHome": "XMemo home", "language": "Language", "changelog": "Changelog", "downloadSkillPackage": "Download Skill package", "installSkillTitle": "Install the Skill", "installTool": "Download tool", "curlInstall": "curl", "wgetInstall": "wget", "macosLinuxInstall": "macOS, Linux, and WSL", "windowsInstall": "Windows PowerShell", "askAgentInstall": "Ask your agent", "inspectInstallScript": "Inspect install script", "wgetAlternative": "Alternative with wget", "posixInstallExplanation": "Use this in macOS, Linux, or WSL.", "powershellInstallExplanation": "Use this in Windows PowerShell.", "agentInstallExplanation": "Paste this into an agent you trust to follow its normal safety checks.", "copyInstallCommand": "Copy install command", "posixInstallCommand": "macOS, Linux, and WSL", "powershellInstallCommand": "Windows PowerShell", "copyPowerShellInstallCommand": "Copy PowerShell install command", "copyFailed": "Copy failed. Select the command text, then press Ctrl+C or Command+C.", "loginConsole": "Log in / Console"}, "docsMarkdown": [], "skillPackage": {"downloadUrl": "https://xmemo.dev/v1/skill/package", "installCommand": "curl -fsSL https://xmemo.dev/skill/install | sh", "installWgetCommand": "wget -qO- https://xmemo.dev/skill/install | sh", "installPowerShellCommand": "irm https://xmemo.dev/skill/install.ps1 | iex", "installScriptUrl": "https://xmemo.dev/skill/install", "installPowerShellScriptUrl": "https://xmemo.dev/skill/install.ps1", "agentPrompt": "Install the standalone XMemo Skill into your skills directory: run the installer from https://xmemo.dev/skill/install (on Windows, https://xmemo.dev/skill/install.ps1) with XMEMO_SKILL_DIR set to your skills directory plus /xmemo-memory. Run the doctor command it prints to verify the installation, then reload your skills and follow the Skill's first-run steps. Follow your normal safety checks and do not use elevated privileges.", "version": "skill-v1.1.40"}, "skillCapability": {"mcpEndpoint": "https://xmemo.dev/mcp", "mcpLabel": "Hosted MCP", "mcpDescription": "Use hosted MCP when your agent host supports MCP.", "skillLabel": "Standalone Skill", "skillDescription": "Use the standalone Skill when you need a portable local runtime.", "recommendation": "Choose the path your agent host can support; neither path is universally better.", "deviceLoginBoundary": "The standalone Skill can authenticate with XMEMO_KEY or device login before it operates on your XMemo memory."}, "docsNavTree": null, "activeRoute": null, "activeToolReference": null, "whereIsMyData": null, "publicBaseUrl": "https://xmemo.dev", "isDocsHost": false}, "prefixedRoutesActive": false}
{"schemaVersion": "1.0.0", "pageId": "product-skills", "locale": "en-US", "contentLocale": "en-US", "status": "native", "fallbackReason": "", "canonicalPath": "/product/skills", "routePath": "/product/skills", "family": "product_subpage", "title": "XMemo Agent Skills", "description": "", "editionDigest": "5243edec62c91aa5966589843a276e5265504bc8f9ecc3821c63b3ba86aeb90e", "revision": "5243edec62c91aa5966589843a276e5265504bc8f9ecc3821c63b3ba86aeb90e", "canonicalContentDigest": "69b8fb21621b9b6c8ff22957898c8fbcfd9420c8f976ba53b5994de9da39a09e", "anchors": ["skills-capability-heading", "skills-choice-heading"], "serverOwned": false, "metadata": {"title": "XMemo Agent Skills", "description": "", "canonicalPath": "/product/skills", "htmlLang": "en"}, "payload": {"page": "skills", "content": {"label": "Skills", "title": "XMemo Skills", "kicker": "Standalone agent memory runtime", "lead": "Equip your AI agents with a standalone, secure memory runtime. The bundled Node script runs locally, connects directly over HTTPS, and can authenticate with XMEMO_KEY or device login to read, write, and manage memory without requiring MCP servers or host-specific plugins.", "cards": [["MCP not required", "Run standalone ESM Node scripts directly. No Stdio server setup or complex client integrations required."], ["Device-code sign-in", "Secure authentication without token paste. Authenticate agents using standard browser authorization."], ["Direct /v1/skill/operations", "Execute secure operations directly against the operations endpoint using a scoped skill_token."]], "sections": [{"kind": "skills_runtime", "kicker": "Runtime Model", "title": "One Skill, its own runtime", "body": "The standalone Skill architecture executes in four distinct, secure steps:", "items": [["1. Local Execution", "Agent executes the bundled ESM Node script in the workspace."], ["2. Initiate Login", "The script starts the device login flow if no token is cached."], ["3. User Approval", "The user approves access in the browser to issue a secure token."], ["4. HTTPS Operations", "The script calls /v1/skill/operations directly over HTTPS."]], "code": "node scripts/xmemo-skill.mjs doctor\nnode scripts/xmemo-skill.mjs login --allow-plaintext\nnode scripts/xmemo-skill.mjs auth-status --verify\nnode scripts/xmemo-skill.mjs remember --content \"Decision: use standalone Skill runtime\"\nnode scripts/xmemo-skill.mjs recall --query \"standalone Skill runtime\"\nnode scripts/xmemo-skill.mjs logout"}, {"kicker": "Installation", "title": "Install the Skill package", "body": "Install or copy the XMemo Skill directory into the agent workspace. Run the bundled script with Node. The script uses only built-in Node modules and talks directly to XMemo over HTTPS. The npm package is one distribution channel for the Skill files; the Skill runtime itself is the bundled script.", "items": [["Skill directory", "xmemo-skill"], ["Entrypoint", "scripts/xmemo-skill.mjs"], ["Runtime", "Node.js \u003e= 22.22.0"], ["External dependencies", "none"]]}, {"kicker": "Authentication", "title": "Sign in without pasting tokens", "body": "First run can start device-code login. The user approves in the browser, and the browser page never displays the bearer token. The Skill stores a user-scoped credential file, and logout uses self-revoke against the active token.", "items": [["POST /v1/auth/device/start", "Initiate device authorization code flow."], ["POST /v1/auth/device/token", "Exchange device code for a session token."], ["POST /v1/auth/token/validate", "Validate current token authenticity."], ["POST /v1/auth/token/revoke-self", "Revoke current token and sign out."]], "code": "node scripts/xmemo-skill.mjs login --allow-plaintext\nnode scripts/xmemo-skill.mjs auth-status --verify\nnode scripts/xmemo-skill.mjs logout"}, {"kind": "skills_operations", "kicker": "API Operations", "title": "Operations agents can perform", "body": "Agents talk directly to /v1/skill/operations using a scoped skill_token. The following commands cover all supported operations:", "items": [["remember", "Scope: memory:write · node scripts/xmemo-skill.mjs remember --content \"text\""], ["recall", "Scope: memory:read · node scripts/xmemo-skill.mjs recall --query \"query\""], ["search", "Scope: memory:read · node scripts/xmemo-skill.mjs search --query \"query\""], ["save-state", "Scope: memory:write · node scripts/xmemo-skill.mjs save-state --key \"key\" --content \"content\""], ["restore-state", "Scope: memory:read · node scripts/xmemo-skill.mjs restore-state --key \"key\""], ["todo-add", "Scope: memory:write · node scripts/xmemo-skill.mjs todo-add --content \"task\""], ["todo-list", "Scope: memory:read · node scripts/xmemo-skill.mjs todo-list"], ["todo-done", "Scope: memory:write · node scripts/xmemo-skill.mjs todo-done --id \"task_id\""], ["expense-add", "Scope: ledger:write · node scripts/xmemo-skill.mjs expense-add --item \"item\" --amount 10"], ["doctor", "Scope: none (anonymous allowed) · bad credentials fail"]]}, {"kicker": "Security", "title": "Designed for agent environments", "body": "XMemo Skill is built with security first. Authorization uses a dedicated skill_token credential, and token values are never exposed or printed.", "items": [["No token exposure", "Discovery responses and local runtime execution never print active tokens."], ["No commits", "Cached credentials must be kept out of version control and public repositories."], ["Fail-closed", "Bad credentials fail diagnostics checks (doctor) instead of silently allowing anonymous operations."], ["Separate surfaces", "MCP configuration is entirely optional, isolated from the standalone Skill runtime."]]}, {"kind": "skills_other_surfaces", "kicker": "Other integrations", "title": "Other XMemo surfaces", "body": "After choosing between hosted MCP and the standalone Skill, consider these additional integration surfaces when they fit your host.", "items": [["Plugin", "Best for: Host-specific native integration · Runtime: Host plugin runtime"], ["REST API", "Best for: Custom applications and services · Runtime: HTTPS client"]]}, {"kicker": "Discovery", "title": "Machine-readable Skill discovery", "body": "Agents can automatically discover Skill runtime specifications and API endpoints by parsing the well-known discovery contracts.", "items": [["Discovery contracts", "/.well-known/agent-discovery.json and /.well-known/memory-os.json"], ["Runtime Model", "standalone_skill.runtime_model = \"standalone_skill\""], ["No dependencies", "mcp_required = false, npm_cli_required = false"], ["API endpoints", "Operations endpoint is /v1/skill/operations"], ["Credential type", "Token type is skill_token"]]}]}, "siblings": [{"slug": "mcp", "label": "MCP", "active": false}, {"slug": "skills", "label": "Skills", "active": true}, {"slug": "changelog", "label": "Changelog", "active": false}, {"slug": "stories", "label": "Stories", "active": false}], "cards": [{"index": 1, "title": "MCP not required", "body": "Run standalone ESM Node scripts directly. No Stdio server setup or complex client integrations required."}, {"index": 2, "title": "Device-code sign-in", "body": "Secure authentication without token paste. Authenticate agents using standard browser authorization."}, {"index": 3, "title": "Direct /v1/skill/operations", "body": "Execute secure operations directly against the operations endpoint using a scoped skill_token."}], "sections": [{"kicker": "Runtime Model", "title": "One Skill, its own runtime", "body": "The standalone Skill architecture executes in four distinct, secure steps:", "item_list": [{"name": "1. Local Execution", "desc": "Agent executes the bundled ESM Node script in the workspace."}, {"name": "2. Initiate Login", "desc": "The script starts the device login flow if no token is cached."}, {"name": "3. User Approval", "desc": "The user approves access in the browser to issue a secure token."}, {"name": "4. HTTPS Operations", "desc": "The script calls /v1/skill/operations directly over HTTPS."}], "code": "node scripts/xmemo-skill.mjs doctor\nnode scripts/xmemo-skill.mjs login --allow-plaintext\nnode scripts/xmemo-skill.mjs auth-status --verify\nnode scripts/xmemo-skill.mjs remember --content \"Decision: use standalone Skill runtime\"\nnode scripts/xmemo-skill.mjs recall --query \"standalone Skill runtime\"\nnode scripts/xmemo-skill.mjs logout", "kind": "skills_runtime"}, {"kicker": "Installation", "title": "Install the Skill package", "body": "Install or copy the XMemo Skill directory into the agent workspace. Run the bundled script with Node. The script uses only built-in Node modules and talks directly to XMemo over HTTPS. The npm package is one distribution channel for the Skill files; the Skill runtime itself is the bundled script.", "item_list": [{"name": "Skill directory", "desc": "xmemo-skill"}, {"name": "Entrypoint", "desc": "scripts/xmemo-skill.mjs"}, {"name": "Runtime", "desc": "Node.js \u003e= 22.22.0"}, {"name": "External dependencies", "desc": "none"}], "code": "", "kind": ""}, {"kicker": "Authentication", "title": "Sign in without pasting tokens", "body": "First run can start device-code login. The user approves in the browser, and the browser page never displays the bearer token. The Skill stores a user-scoped credential file, and logout uses self-revoke against the active token.", "item_list": [{"name": "POST /v1/auth/device/start", "desc": "Initiate device authorization code flow."}, {"name": "POST /v1/auth/device/token", "desc": "Exchange device code for a session token."}, {"name": "POST /v1/auth/token/validate", "desc": "Validate current token authenticity."}, {"name": "POST /v1/auth/token/revoke-self", "desc": "Revoke current token and sign out."}], "code": "node scripts/xmemo-skill.mjs login --allow-plaintext\nnode scripts/xmemo-skill.mjs auth-status --verify\nnode scripts/xmemo-skill.mjs logout", "kind": ""}, {"kicker": "API Operations", "title": "Operations agents can perform", "body": "Agents talk directly to /v1/skill/operations using a scoped skill_token. The following commands cover all supported operations:", "item_list": [{"name": "remember", "desc": "Scope: memory:write · node scripts/xmemo-skill.mjs remember --content \"text\""}, {"name": "recall", "desc": "Scope: memory:read · node scripts/xmemo-skill.mjs recall --query \"query\""}, {"name": "search", "desc": "Scope: memory:read · node scripts/xmemo-skill.mjs search --query \"query\""}, {"name": "save-state", "desc": "Scope: memory:write · node scripts/xmemo-skill.mjs save-state --key \"key\" --content \"content\""}, {"name": "restore-state", "desc": "Scope: memory:read · node scripts/xmemo-skill.mjs restore-state --key \"key\""}, {"name": "todo-add", "desc": "Scope: memory:write · node scripts/xmemo-skill.mjs todo-add --content \"task\""}, {"name": "todo-list", "desc": "Scope: memory:read · node scripts/xmemo-skill.mjs todo-list"}, {"name": "todo-done", "desc": "Scope: memory:write · node scripts/xmemo-skill.mjs todo-done --id \"task_id\""}, {"name": "expense-add", "desc": "Scope: ledger:write · node scripts/xmemo-skill.mjs expense-add --item \"item\" --amount 10"}, {"name": "doctor", "desc": "Scope: none (anonymous allowed) · bad credentials fail"}], "code": "", "kind": "skills_operations"}, {"kicker": "Security", "title": "Designed for agent environments", "body": "XMemo Skill is built with security first. Authorization uses a dedicated skill_token credential, and token values are never exposed or printed.", "item_list": [{"name": "No token exposure", "desc": "Discovery responses and local runtime execution never print active tokens."}, {"name": "No commits", "desc": "Cached credentials must be kept out of version control and public repositories."}, {"name": "Fail-closed", "desc": "Bad credentials fail diagnostics checks (doctor) instead of silently allowing anonymous operations."}, {"name": "Separate surfaces", "desc": "MCP configuration is entirely optional, isolated from the standalone Skill runtime."}], "code": "", "kind": ""}, {"kicker": "Other integrations", "title": "Other XMemo surfaces", "body": "After choosing between hosted MCP and the standalone Skill, consider these additional integration surfaces when they fit your host.", "item_list": [{"name": "Plugin", "desc": "Best for: Host-specific native integration · Runtime: Host plugin runtime"}, {"name": "REST API", "desc": "Best for: Custom applications and services · Runtime: HTTPS client"}], "code": "", "kind": "skills_other_surfaces"}, {"kicker": "Discovery", "title": "Machine-readable Skill discovery", "body": "Agents can automatically discover Skill runtime specifications and API endpoints by parsing the well-known discovery contracts.", "item_list": [{"name": "Discovery contracts", "desc": "/.well-known/agent-discovery.json and /.well-known/memory-os.json"}, {"name": "Runtime Model", "desc": "standalone_skill.runtime_model = \"standalone_skill\""}, {"name": "No dependencies", "desc": "mcp_required = false, npm_cli_required = false"}, {"name": "API endpoints", "desc": "Operations endpoint is /v1/skill/operations"}, {"name": "Credential type", "desc": "Token type is skill_token"}], "code": "", "kind": ""}], "mcpClientSnippets": [], "stories": [], "storiesMeta": {"allStoriesLabel": "All stories", "filterLabel": "Filter stories", "allTypesLabel": "All types", "proofLevelsLabel": "Proof levels", "evidenceLabel": "Evidence", "sourceLabel": "Source", "readStoryLabel": "Read story", "viewSourceLabel": "View source", "backToStoriesLabel": "Back to Stories", "backToAllStoriesLabel": "Back to all Stories", "previousStoryLabel": "Previous story", "nextStoryLabel": "Next story", "relatedStoriesLabel": "Related stories", "noStoryFoundLabel": "Story not found", "typeLabels": {"award": "Award", "marketplace": "Marketplace", "partnership": "Partnership", "case_study": "Case study", "launch": "Launch", "community": "Community", "company": "Company", "trust": "Trust"}, "audienceLabels": {"users": "Users", "developers": "Developers", "investors": "Investors", "enterprise": "Enterprise"}, "proofLevelLabels": {"official": "Official source", "public-source": "Public source", "partner-approved": "Partner approved", "customer-approved": "Customer approved", "self-reported": "XMemo update"}, "proofLevelDescriptions": {"official": "Confirmed by an official platform or institution.", "public-source": "Backed by a third-party public source without implying a formal partnership.", "partner-approved": "Approved by the named partner for public display.", "customer-approved": "Approved by the named customer for public display.", "self-reported": "Self-reported XMemo product update. Use the source note to understand the public artifact or internal product boundary."}}, "hostedQuickstart": {"title": "", "body": "", "steps": []}, "memoryConsoleStory": {"title": "", "body": "", "trustHref": "", "trustCta": "", "features": []}, "faqTroubleshooting": {"title": "", "body": "", "actionLabel": "", "safetyLabel": "", "items": [], "groups": []}, "personaFlows": [], "labels": {"accountEntry": "Account entry", "agentMemoryControlPlane": "AI agent memory layer", "brand": "XMemo", "clientTargets": "client targets", "commandPalette": "Command palette", "configPath": "Config path:", "copy": "Copy", "copyAsMarkdown": "Copy as Markdown ▾", "copyConfig": "Copy config", "copyUnavailable": "Copy unavailable", "copied": "Copied", "credentialHandoff": "credential handoff", "docs": "Docs", "docsDesc": "Hosted XMemo quickstart for people connecting MCP clients.", "docsHeader": "Docs header", "docsLead": "Start with what XMemo does for you, then connect the hosted memory layer to the client you use.", "docsVersion": "Hosted · Beta pilot", "inThisArticle": "In this article", "invitedOnly": "invited only", "login": "Log in / Sign up", "mcp": "MCP", "mcpDesc": "Configure ChatGPT, VS Code / GitHub Copilot, Copilot CLI, Codex, Gemini CLI, Cursor, and custom MCP clients.", "mcpNpmQuickSetup": "⚡ Quick setup: run \u003ccode\u003enpx @xmemo/client setup --url https://xmemo.dev\u003c/code\u003e to auto-generate per-client instance IDs and apply reviewed config for supported clients.", "mcpSetupConsole": "MCP setup console", "mcpSetupDescription": "Pick the MCP client to see the public-safe snippet for its settings surface. OAuth snippets omit bearer tokens; direct snippets reference \u003ccode\u003eXMEMO_KEY\u003c/code\u003e only when needed plus generated, non-secret agent identity headers instead of literal credentials.", "canonicalCapabilityMatrix": "Open the canonical client capability matrix", "mcpDocsRedirect": "MCP setup details, client snippets, and tool explanations are organized in Docs.", "navTrust": "Trust", "noMatches": "No matches.", "openAccountEntry": "Open account entry ↗", "openDocsChapter": "Open Docs chapter", "openProductNavigation": "Open public navigation", "pasteSnippet": "Paste the selected snippet into the listed config path or dashboard, keep the hosted URL as shown, and set XMEMO_AGENT_INSTANCE_ID once per local client when the snippet references it. Then complete OAuth for OAuth clients or restart the direct MCP client.", "personaConnection": "Connection", "personaFlowsBody": "Choose the path that matches how you want to use XMemo. Each flow keeps credentials out of public docs and ends with a concrete memory action.", "personaFlowsTitle": "Persona onboarding flows", "personaGoal": "Goal", "personaSuccessAction": "Success action", "personaTroubleshooting": "Troubleshooting", "perClientMcpConfigPreview": "Per-client MCP config preview", "pilotAccess": "Pilot access", "product": "Home", "productDesc": "Back to the XMemo overview.", "productHome": "Home", "publicNavigation": "XMemo public navigation", "publicResources": "XMemo public resources", "loadingProductContext": "Loading product context", "productContextUnavailable": "Product context unavailable", "cachedPublicResourceRoute": "Showing the cached public resource route while the context API recovers.", "publicSafeNote": "Public-safe page: only hosted public URLs are shown; no console links, credential values, or internal control-plane endpoints are exposed here.", "quickSetup": "Quick setup", "quickstart": "Quickstart for XMemo", "search": "Search", "searchDocs": "Search docs", "searchPlaceholder": "Search docs, MCP, skills, install…", "stories": "Stories", "storiesDesc": "Launches, listings and milestones", "skills": "Skills", "skillsDesc": "Connect XMemo as an agent Skill in addition to MCP.", "skillsDocsRedirect": "Skill connector guidance and agent command patterns are organized in Docs.", "start": "Get started", "startPilot": "Get started", "startPilotDesc": "Create your XMemo workspace.", "supportedMcpClients": "Supported MCP clients", "typeToFilter": "Type to filter", "brandHome": "XMemo home", "language": "Language", "changelog": "Changelog", "downloadSkillPackage": "Download Skill package", "installSkillTitle": "Install the Skill", "installTool": "Download tool", "curlInstall": "curl", "wgetInstall": "wget", "macosLinuxInstall": "macOS, Linux, and WSL", "windowsInstall": "Windows PowerShell", "askAgentInstall": "Ask your agent", "inspectInstallScript": "Inspect install script", "wgetAlternative": "Alternative with wget", "posixInstallExplanation": "Use this in macOS, Linux, or WSL.", "powershellInstallExplanation": "Use this in Windows PowerShell.", "agentInstallExplanation": "Paste this into an agent you trust to follow its normal safety checks.", "copyInstallCommand": "Copy install command", "posixInstallCommand": "macOS, Linux, and WSL", "powershellInstallCommand": "Windows PowerShell", "copyPowerShellInstallCommand": "Copy PowerShell install command", "copyFailed": "Copy failed. Select the command text, then press Ctrl+C or Command+C.", "loginConsole": "Log in / Console"}, "docsMarkdown": [], "skillPackage": {"downloadUrl": "https://xmemo.dev/v1/skill/package", "installCommand": "curl -fsSL https://xmemo.dev/skill/install | sh", "installWgetCommand": "wget -qO- https://xmemo.dev/skill/install | sh", "installPowerShellCommand": "irm https://xmemo.dev/skill/install.ps1 | iex", "installScriptUrl": "https://xmemo.dev/skill/install", "installPowerShellScriptUrl": "https://xmemo.dev/skill/install.ps1", "agentPrompt": "Install the standalone XMemo Skill into your skills directory: run the installer from https://xmemo.dev/skill/install (on Windows, https://xmemo.dev/skill/install.ps1) with XMEMO_SKILL_DIR set to your skills directory plus /xmemo-memory. Run the doctor command it prints to verify the installation, then reload your skills and follow the Skill's first-run steps. Follow your normal safety checks and do not use elevated privileges.", "version": "skill-v1.1.40"}, "skillCapability": {"mcpEndpoint": "https://xmemo.dev/mcp", "mcpLabel": "Hosted MCP", "mcpDescription": "Use hosted MCP when your agent host supports MCP.", "skillLabel": "Standalone Skill", "skillDescription": "Use the standalone Skill when you need a portable local runtime.", "recommendation": "Choose the path your agent host can support; neither path is universally better.", "deviceLoginBoundary": "The standalone Skill can authenticate with XMEMO_KEY or device login before it operates on your XMemo memory."}, "docsNavTree": null, "activeRoute": null, "activeToolReference": null, "whereIsMyData": null, "publicBaseUrl": "https://xmemo.dev", "isDocsHost": false}, "prefixedRoutesActive": false}