{"skill":{"slug":"capacities-lookup","displayName":"Capacities Lookup","summary":"Search Capacities for likely object matches and return direct capacities:// links. Use when the user wants to find, open, or locate a Capacities note, meetin...","description":"---\nname: capacities-lookup\ndescription: Search Capacities for likely object matches and return direct capacities:// links. Use when the user wants to find, open, or locate a Capacities note, meeting, project, person, reference, page, or other object by title/search term, or when a request sounds like it may refer to something stored in Capacities. Supports type-aware lookup using cached Capacities structures metadata, related-term expansion, and honest fallback messaging when a requested object type is not found.\nmetadata: {\"openclaw\":{\"homepage\":\"https://github.com/GrantGochnauer/OpenClaw-Capacities\",\"requires\":{\"bins\":[\"python3\"],\"env\":[\"CAPACITIES_API_TOKEN\"]},\"primaryEnv\":\"CAPACITIES_API_TOKEN\",\"emoji\":\"🧠\"}}\n---\n\n# Capacities Lookup\n\nUse this skill for **real-time Capacities object lookup**, not full-content retrieval.\n\n## What this skill does\n\n- searches Capacities live via the public API\n- enriches results with object types from cached `/space-info` metadata\n- builds direct `capacities://` deep links\n- supports type-aware ranking for phrases like:\n  - `find my notes on X`\n  - `meeting with Y`\n  - `people at Z`\n- may suggest Capacities proactively when a request sounds like a note/project/meeting/person lookup\n\n## What this skill does NOT do\n\n- read full Capacities object bodies\n- traverse properties/relations on objects\n- answer org-membership or linked-object questions unless the title lookup itself returns the target object\n- mirror Capacities locally beyond light metadata cache\n\n## Prerequisites\n\n- `CAPACITIES_API_TOKEN` must be available in the shell environment\n- one of these must define the target space id:\n  1. `CAPACITIES_SPACE_ID` env var\n  2. `config/capacities.json` with `mainSpaceId`\n\nIf the user says the token is in `~/.zshrc`, source it in the same shell command before running the scripts.\n\n## Files\n\nSkill scripts live in `scripts/`.\n\nKey commands:\n\n```bash\npython3 skills/capacities-lookup/scripts/capacities_cli.py sync-structures\npython3 skills/capacities-lookup/scripts/capacities_cli.py verify-space\npython3 skills/capacities-lookup/scripts/capacities_cli.py lookup \"recovery\"\npython3 skills/capacities-lookup/scripts/capacities_cli.py lookup \"Find my notes on recovery\" --json\n```\n\n## Recommended workflow\n\n### 1) Make sure structure metadata exists\nIf this is the first use or results seem type-blind, run:\n\n```bash\nsource ~/.zshrc >/dev/null 2>&1 || true\npython3 skills/capacities-lookup/scripts/capacities_cli.py sync-structures\n```\n\n### 2) Run lookup\nUse natural language when helpful.\n\nExamples:\n\n```bash\nsource ~/.zshrc >/dev/null 2>&1 || true\npython3 skills/capacities-lookup/scripts/capacities_cli.py lookup \"Find my notes on recovery\" --json\n```\n\n```bash\nsource ~/.zshrc >/dev/null 2>&1 || true\npython3 skills/capacities-lookup/scripts/capacities_cli.py lookup \"people associated with an organization\" --json\n```\n\n### 3) Interpret results correctly\nPrefer in chat:\n- title\n- type\n- match quality\n- matched-on term when useful\n- clickable markdown deep link\n\nUsually omit raw object ids unless debugging.\n\n## Response rules\n\n### If a strong match exists\nReturn the best match directly with a clickable link.\n\n### If multiple good matches exist\nReturn 2–5 candidates.\n\n### If the requested object type is not found\nSay so clearly.\nExample:\n- “I didn’t find any Person objects matching that organization, but here are the most relevant fallback Capacities objects.”\n\n### If the user asks for relationships/properties/body content\nBe explicit about the current API limitation.\nExample:\n- “I can find the Capacities object and link you to it, but I can’t currently inspect its properties or full body through the public API.”\n\n## Operational notes\n\n- This skill intentionally uses **live lookup + light cache**, not full sync.\n- Structures metadata is cached under workspace `data/capacities/`.\n- Lookup cache is convenience-only; live lookup remains authoritative.\n- Type-aware behavior depends on cached structures metadata, so run a structure sync before relying on custom object types.\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":452,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1773589990905,"updatedAt":1778491928981},"latestVersion":{"version":"1.0.0","createdAt":1773589990905,"changelog":"Initial public release","license":"MIT-0"},"metadata":{"setup":[{"key":"CAPACITIES_API_TOKEN","required":true}],"os":null,"systems":null},"owner":{"handle":"grantgochnauer","userId":"s17fsrx8sck7dw4mjz52t16gqn884y9h","displayName":"Grant Gochnauer","image":"https://avatars.githubusercontent.com/u/1665685?v=4"},"moderation":null}