[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ENWCZGHVK045FF1YASCWQP":3,"skill-same:01M6ENWCZGHVK045FF1YASCWQP":79},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6ENWCZGHVK045FF1YASCWQP","claude-plugin",null,"**Use MCP repo-map tools when:** - Searching for symbols by name pattern (faster than Grep) - Getting all symbols in a file (faster than Read + parsing)","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fchipflow\u002Fclaude-plugin\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36],"plugin","claude plugin","MCP","file","Tools","parsing","grep","repo","read","use","map","pattern","name","2026-11-10 10:12:30",false,"---\nname: claude-plugin\ndescription: \"**Use MCP repo-map tools when:** - Searching for symbols by name pattern (faster than Grep) - Getting all symbols in a file (faster than Read + parsing)\"\n---\n\n# Context Tools Plugin - Usage Guide\n\n## Dynamic Directory Support (v0.8.0+)\n\n**GOOD NEWS:** MCP tools automatically adapt to the current working directory!\n\n**How it works:**\n```bash\ncd \u002Fhome\u002Fuser\u002Fproject-a\n# MCP tools query\u002Findex project-a\u002F.claude\u002Frepo-map.db\n\ncd \u002Fhome\u002Fuser\u002Fproject-b\n# MCP tools now query\u002Findex project-b\u002F.claude\u002Frepo-map.db ✅\n```\n\n**Behavior:**\n- Tools check current working directory on each call\n- If `.claude\u002Frepo-map.db` exists: query it\n- If not: trigger indexing for current directory\n- Logs show which directory is being queried\n\n**Benefits:**\n- No need to restart session when changing projects\n- Can work with multiple projects in one session\n- Each project maintains its own index\n- Tools \"just work\" wherever you are\n\n## Plugin Installation and Updates\n\n**CRITICAL: When the user runs `\u002Fplugin install` or `\u002Fplugin update`:**\n\nThe MCP server configuration changes immediately, but the MCP server itself **does not restart automatically**. The new plugin features (especially MCP tools like `search_symbols`) will NOT be available until the session restarts.\n\n**YOU MUST tell the user:**\n\n```\nThe plugin has been installed\u002Fupdated successfully. To use the MCP tools (search_symbols, get_file_symbols, etc.), you need to restart the session:\n\n1. Exit this session (Ctrl+C or type 'exit')\n2. Start a new session with: claude continue\n\nThe MCP server will restart with the new plugin configuration.\n```\n\n**When to give this instruction:**\n- Immediately after the user runs `\u002Fplugin install context-tools`\n- Immediately after the user runs `\u002Fplugin update context-tools`\n- When the user tries to use MCP tools but they're not available (and you suspect they just installed)\n\n**Why this matters:**\n- MCP servers are started when Claude Code starts\n- Plugin installation modifies MCP server configuration\n- Changes only take effect on next Claude Code startup\n- Users will be confused if tools don't work after installation\n\n## Available MCP Tools\n\nOnce the session has been restarted after installation, the following MCP tools are available:\n\n### mcp__repo-map__search_symbols\nSearch for symbols (functions, classes, methods) by name pattern.\n\n**Faster than Grep\u002FSearch** - uses pre-built SQLite index.\n\nParameters:\n- `pattern` (required): Glob pattern like `get_*`, `*Handler`, `Config*`\n- `kind` (optional): Filter by `\"class\"`, `\"function\"`, or `\"method\"`\n- `limit` (optional): Max results (default: 20)\n\nExample:\n```json\n{\n  \"pattern\": \"parse_*\",\n  \"kind\": \"function\",\n  \"limit\": 10\n}\n```\n\n### mcp__repo-map__get_file_symbols\nGet all symbols defined in a specific file.\n\nParameters:\n- `file` (required): Relative path from project root (e.g., `\"src\u002Fmodels\u002Fuser.py\"`)\n\n### mcp__repo-map__get_symbol_content\nGet the source code content of a symbol by exact name.\n\n**Faster than Grep\u002FSearch+Read** - directly retrieves function\u002Fclass source code.\n\nParameters:\n- `name` (required): Exact symbol name (e.g., `\"MyClass\"`, `\"User.save\"`)\n- `kind` (optional): Filter by type if name is ambiguous\n\n### mcp__repo-map__reindex_repo_map\nTrigger a reindex of the repository symbols.\n\nParameters:\n- `force` (optional): Force reindex even if cache is fresh (default: false)\n\n### mcp__repo-map__repo_map_status\nGet the current status of the repo map index.\n\nShows:\n- Index status: `idle`, `indexing`, `completed`, or `failed`\n- Symbol count\n- Last indexed time\n- Whether index is stale\n- Indexing errors (if any)\n\n### mcp__repo-map__wait_for_index\nWait for indexing to complete.\n\nParameters:\n- `timeout_seconds` (optional): How long to wait (default: 60)\n\n**Note:** Most tools automatically wait for indexing to complete, so this is rarely needed.\n\n## Database Schema (.claude\u002Frepo-map.db)\n\n**symbols table:**\n- `name` (TEXT): Symbol name\n- `kind` (TEXT): `class`, `function`, or `method`\n- `file_path` (TEXT): Relative path from project root\n- `line_number` (INTEGER): Start line (1-indexed)\n- `end_line_number` (INTEGER): End line (nullable)\n- `parent` (TEXT): Parent class\u002Fmodule (nullable)\n- `docstring` (TEXT): First line of docstring (nullable)\n- `signature` (TEXT): Function\u002Fmethod signature (nullable)\n- `language` (TEXT): `python`, `cpp`, or `rust`\n\n**metadata table (v0.7.0+):**\n- `key` (TEXT PRIMARY KEY): Metadata key\n- `value` (TEXT): Metadata value\n\nKeys:\n- `status`: `idle` | `indexing` | `completed` | `failed`\n- `index_start_time`: ISO8601 timestamp when indexing started\n- `last_indexed`: ISO8601 timestamp when last completed\n- `symbol_count`: Total symbols indexed (string)\n- `error_message`: Error message if status='failed'\n\n## Indexing Status and Auto-Wait (v0.7.0+)\n\n**First Use Behavior:**\n- On first use, indexing starts automatically in background\n- Tools automatically wait (up to 60s) if indexing is in progress\n- If timeout, tools return helpful error asking user to retry\n\n**Watchdog (v0.7.0+):**\n- Detects hung indexing processes (>10 minutes)\n- Automatically resets status to 'failed'\n- Can be manually recovered with `reindex_repo_map`\n\n**Multiprocess Architecture (v0.8.0+):**\n- Indexing runs in separate subprocess\n- MCP server remains responsive even if indexing hangs\n- Watchdog can kill hung subprocess without affecting MCP server\n- Resource limits (Unix\u002FmacOS): 4GB memory, 20 min CPU time\n\n## When to Use MCP Tools vs Other Tools\n\n**Use MCP repo-map tools when:**\n- Searching for symbols by name pattern (faster than Grep)\n- Getting all symbols in a file (faster than Read + parsing)\n- Getting source code of a specific function\u002Fclass (faster than Grep + Read)\n- Need to search across multiple languages (Python, C++, Rust)\n\n**Use other tools when:**\n- Searching file contents (not symbol names) - use Grep\n- Reading entire files - use Read\n- Need to search files that aren't Python\u002FC++\u002FRust\n- Searching for non-code patterns (comments, strings, etc.)\n\n## Project-Specific Files\n\n**Automatically generated at session start:**\n- `.claude\u002Fproject-manifest.json` - Project structure and build commands\n- `.claude\u002Frepo-map.md` - Human-readable code structure with duplicate detection\n- `.claude\u002Frepo-map.db` - SQLite database for fast symbol queries (MCP server)\n\n**Optional (created manually):**\n- `.claude\u002Flearnings.md` - Project-specific learnings and discoveries\n\n**Logs:**\n- `.claude\u002Flogs\u002Frepo-map-server.log` - MCP server rotating log (1MB per file, 3 backups)\n  - Tool calls and results\n  - Indexing events and performance\n  - Watchdog actions and resource limit violations\n  - Server startup\u002Fshutdown\n- Session start hook outputs are also logged for debugging\n","# Context Tools Plugin - Usage Guide\n\n## Dynamic Directory Support (v0.8.0+)\n\n**GOOD NEWS:** MCP tools automatically adapt to the current working directory!\n\n**How it works:**\n```bash\ncd \u002Fhome\u002Fuser\u002Fproject-a\n# MCP tools query\u002Findex project-a\u002F.claude\u002Frepo-map.db\n\ncd \u002Fhome\u002Fuser\u002Fproject-b\n# MCP tools now query\u002Findex project-b\u002F.claude\u002Frepo-map.db ✅\n```\n\n**Behavior:**\n- Tools check current working directory on each call\n- If `.claude\u002Frepo-map.db` exists: query it\n- If not: trigger indexing for current directory\n- Logs show which directory is being queried\n\n**Benefits:**\n- No need to restart session when changing projects\n- Can work with multiple projects in one session\n- Each project maintains its own index\n- Tools \"just work\" wherever you are\n\n## Plugin Installation and Updates\n\n**CRITICAL: When the user runs `\u002Fplugin install` or `\u002Fplugin update`:**\n\nThe MCP server configuration changes immediately, but the MCP server itself **does not restart automatically**. The new plugin features (especially MCP tools like `search_symbols`) will NOT be available until the session restarts.\n\n**YOU MUST tell the user:**\n\n```\nThe plugin has been installed\u002Fupdated successfully. To use the MCP tools (search_symbols, get_file_symbols, etc.), you need to restart the session:\n\n1. Exit this session (Ctrl+C or type 'exit')\n2. Start a new session with: claude continue\n\nThe MCP server will restart with the new plugin configuration.\n```\n\n**When to give this instruction:**\n- Immediately after the user runs `\u002Fplugin install context-tools`\n- Immediately after the user runs `\u002Fplugin update context-tools`\n- When the user tries to use MCP tools but they're not available (and you suspect they just installed)\n\n**Why this matters:**\n- MCP servers are started when Claude Code starts\n- Plugin installation modifies MCP server configuration\n- Changes only take effect on next Claude Code startup\n- Users will be confused if tools don't work after installation\n\n## Available MCP Tools\n\nOnce the session has been restarted after installation, the following MCP tools are available:\n\n### mcp__repo-map__search_symbols\nSearch for symbols (functions, classes, methods) by name pattern.\n\n**Faster than Grep\u002FSearch** - uses pre-built SQLite index.\n\nParameters:\n- `pattern` (required): Glob pattern like `get_*`, `*Handler`, `Config*`\n- `kind` (optional): Filter by `\"class\"`, `\"function\"`, or `\"method\"`\n- `limit` (optional): Max results (default: 20)\n\nExample:\n```json\n{\n  \"pattern\": \"parse_*\",\n  \"kind\": \"function\",\n  \"limit\": 10\n}\n```\n\n### mcp__repo-map__get_file_symbols\nGet all symbols defined in a specific file.\n\nParameters:\n- `file` (required): Relative path from project root (e.g., `\"src\u002Fmodels\u002Fuser.py\"`)\n\n### mcp__repo-map__get_symbol_content\nGet the source code content of a symbol by exact name.\n\n**Faster than Grep\u002FSearch+Read** - directly retrieves function\u002Fclass source code.\n\nParameters:\n- `name` (required): Exact symbol name (e.g., `\"MyClass\"`, `\"User.save\"`)\n- `kind` (optional): Filter by type if name is ambiguous\n\n### mcp__repo-map__reindex_repo_map\nTrigger a reindex of the repository symbols.\n\nParameters:\n- `force` (optional): Force reindex even if cache is fresh (default: false)\n\n### mcp__repo-map__repo_map_status\nGet the current status of the repo map index.\n\nShows:\n- Index status: `idle`, `indexing`, `completed`, or `failed`\n- Symbol count\n- Last indexed time\n- Whether index is stale\n- Indexing errors (if any)\n\n### mcp__repo-map__wait_for_index\nWait for indexing to complete.\n\nParameters:\n- `timeout_seconds` (optional): How long to wait (default: 60)\n\n**Note:** Most tools automatically wait for indexing to complete, so this is rarely needed.\n\n## Database Schema (.claude\u002Frepo-map.db)\n\n**symbols table:**\n- `name` (TEXT): Symbol name\n- `kind` (TEXT): `class`, `function`, or `method`\n- `file_path` (TEXT): Relative path from project root\n- `line_number` (INTEGER): Start line (1-indexed)\n- `end_line_number` (INTEGER): End line (nullable)\n- `parent` (TEXT): Parent class\u002Fmodule (nullable)\n- `docstring` (TEXT): First line of docstring (nullable)\n- `signature` (TEXT): Function\u002Fmethod signature (nullable)\n- `language` (TEXT): `python`, `cpp`, or `rust`\n\n**metadata table (v0.7.0+):**\n- `key` (TEXT PRIMARY KEY): Metadata key\n- `value` (TEXT): Metadata value\n\nKeys:\n- `status`: `idle` | `indexing` | `completed` | `failed`\n- `index_start_time`: ISO8601 timestamp when indexing started\n- `last_indexed`: ISO8601 timestamp when last completed\n- `symbol_count`: Total symbols indexed (string)\n- `error_message`: Error message if status='failed'\n\n## Indexing Status and Auto-Wait (v0.7.0+)\n\n**First Use Behavior:**\n- On first use, indexing starts automatically in background\n- Tools automatically wait (up to 60s) if indexing is in progress\n- If timeout, tools return helpful error asking user to retry\n\n**Watchdog (v0.7.0+):**\n- Detects hung indexing processes (>10 minutes)\n- Automatically resets status to 'failed'\n- Can be manually recovered with `reindex_repo_map`\n\n**Multiprocess Architecture (v0.8.0+):**\n- Indexing runs in separate subprocess\n- MCP server remains responsive even if indexing hangs\n- Watchdog can kill hung subprocess without affecting MCP server\n- Resource limits (Unix\u002FmacOS): 4GB memory, 20 min CPU time\n\n## When to Use MCP Tools vs Other Tools\n\n**Use MCP repo-map tools when:**\n- Searching for symbols by name pattern (faster than Grep)\n- Getting all symbols in a file (faster than Read + parsing)\n- Getting source code of a specific function\u002Fclass (faster than Grep + Read)\n- Need to search across multiple languages (Python, C++, Rust)\n\n**Use other tools when:**\n- Searching file contents (not symbol names) - use Grep\n- Reading entire files - use Read\n- Need to search files that aren't Python\u002FC++\u002FRust\n- Searching for non-code patterns (comments, strings, etc.)\n\n## Project-Specific Files\n\n**Automatically generated at session start:**\n- `.claude\u002Fproject-manifest.json` - Project structure and build commands\n- `.claude\u002Frepo-map.md` - Human-readable code structure with duplicate detection\n- `.claude\u002Frepo-map.db` - SQLite database for fast symbol queries (MCP server)\n\n**Optional (created manually):**\n- `.claude\u002Flearnings.md` - Project-specific learnings and discoveries\n\n**Logs:**\n- `.claude\u002Flogs\u002Frepo-map-server.log` - MCP server rotating log (1MB per file, 3 backups)\n  - Tool calls and results\n  - Indexing events and performance\n  - Watchdog actions and resource limit violations\n  - Server startup\u002Fshutdown\n- Session start hook outputs are also logged for debugging\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fchipflow\u002Fclaude-plugin",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill claude-plugin",{"tool":57,"command":58},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill claude-plugin",{"tool":60,"command":61},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill claude-plugin","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fchipflow\u002Fclaude-plugin\u002FSKILL.md",true,[65,71,75],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"marketplace.json","REFERENCE","参考文档",617,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fchipflow\u002Fclaude-plugin\u002Fmarketplace.json",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"plugin.json",597,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fchipflow\u002Fclaude-plugin\u002Fplugin.json",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"skill-report.json",8864,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fchipflow\u002Fclaude-plugin\u002Fskill-report.json",[80,90,99,108,114,121],{"skillNo":81,"name":82,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":86,"publishedAt":37},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[85],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[87,88,89],"model","model hierarchy","model hierarchy skill",{"skillNo":91,"name":92,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":96,"publishedAt":37},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[95],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[26,97,98],"zoom","zoom mcp",{"skillNo":100,"name":101,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":37},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[105,106,107,97],"sdk","zoom apps sdk","apps",{"skillNo":109,"name":110,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":37},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[110],{"skillNo":115,"name":116,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":37},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[119],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[116],{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":37},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[123]]