[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DCR35SWZ41CCK342SNGK6R":3,"skill-same:01M6DCR35SWZ41CCK342SNGK6R":75},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6DCR35SWZ41CCK342SNGK6R","hermes-plugin-integration",null,"Integrate external tools as Hermes plugins following repo conventions.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F1a\u002F1a77dd14e0fa4c06e0709aa042a0b092532d2cc5bfd768d1e6d9fbe6d3c4fcda\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"hermes plugin integration","plugin","integration","hermes","hermes agent","software","as","authoring","skill-authoring","conventions","repo conventions","integrate","repo","macos","Tools","plugins","development","windows","test","linux","2026-11-10 10:12:30",false,"---\nname: hermes-plugin-integration\ndescription: \"Integrate external tools as Hermes plugins following repo conventions.\"\nversion: 0.1.0\nauthor: zapabob, Hermes Agent\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [plugin, integration, conventions]\n    related_skills: [hermes-agent-skill-authoring, software-development\u002Ftest-driven-development]\n---\n\n# Hermes Plugin Integration\n\n## Overview\n\nIntegrate external tools and libraries as Hermes Agent plugins following the repo's established conventions. This skill covers the pattern for making third-party tools (like LMCache) work within Hermes's plugin system.\n\n## When to Use\n\n- **User asks** to integrate an external tool\u002Flibrary as a Hermes plugin\n- **Adding a new capability** that fits the plugin system rather than as a core tool\n- **Converting** an existing script or tool to Hermes plugin format\n- **Following the footprint ladder** — prefer plugin over core tool when capability is niche or local\n\n## Core Patterns\n\n### 1. Plugin Directory Structure\n\nPlugins live under `plugins\u002F` in the hermes-agent repo or `~\u002F.hermes\u002Fplugins\u002F`. A minimal plugin needs:\n\n```\nplugins\u002Fmy-plugin\u002F\n├── __init__.py       # Plugin registration\n├── plugin.yaml       # Plugin metadata (if dashboard plugin)\n└── your_module.py    # Main plugin logic\n```\n\n### 2. Plugin Storage Convention (from `plugins\u002Fplugin_storage.py`)\n\nUse `plugins\u002Fplugin_storage.py` for durable plugin state:\n\n```python\nfrom plugins.plugin_storage import plugin_data_dir, plugin_db\n\nstate_file = plugin_data_dir(\"my-plugin\") \u002F \"state.json\"\nconn = plugin_db(\"my-plugin\")  # Lives at \u003Chermes_home>\u002Fplugin-data\u002Fmy-plugin\u002Fdata.db\n```\n\n**Key:** Data directory survives plugin update\u002Fremove at `\u003Chermes_home>\u002Fplugin-data\u002F\u003Cname>\u002F`\n\n### 3. Plugin Registration\n\nFollow existing plugin patterns (e.g., `hermes-achievements`, `hermes-bot-mode`):\n- Register via `__init__.py`\n- Mount at appropriate API endpoints\n- Follow dashboard plugin conventions if UI-facing\n\n### 4. Following the Footprint Ladder\n\nPrefer these rungs in order:\n\n1. **Extend existing code** — variation of existing plugin\n2. **CLI command + skill** — manage config\u002Fstate via `hermes \u003Csubcommand>`\n3. **Service-gated tool (`check_fn`)** — appears only when prerequisite configured\n4. **Plugin** — third-party\u002Fniche capability not in core\n5. **MCP server** — if needs structured I\u002FO but not core-fundamental\n6. **New core tool** — only when fundamental and broadly useful\n\n## Example: LMCache Integration\n\nLMCache (https:\u002F\u002Fgithub.com\u002Fzapabob\u002FLMCache.git) is a KV cache management engine. As a plugin:\n\n- **Not integrated by default** — remains independent project\n- **Can be invoked** via `execute_code` or custom skills\n- **Plugin path would be:** `plugins\u002Flmcache\u002F` with proper `__init__.py`\n- **Storage** via `plugin_data_dir(\"lmcache\")` for any cached state\n\n## Pitfalls\n\n- **⚠️ Not a core tool** — LMCache has its own AGENTS.md, pyproject.toml, CI\n- **⚠️ Storage survives updates** — use `plugin_data_dir()`, not `plugins\u002F\u003Cname>\u002F`\n- **⚠️ Git remote already exists** — `lmcache` remote configured but project standalone\n- **⚠️ Plugin vs integration** — some tools are better as standalone invocable tools\n\n## Verification\n\nAfter integration:\n\n```bash\n# Check plugin is discoverable\nhermes plugins list\n\n# Verify storage path\nhermes --config show plugin-data-dir\n\n# Test basic import\npython -c \"from plugins import discover_plugins; discover_plugins()\"\n```\n\n## Related Skills\n\n- `hermes-agent-skill-authoring` — author SKILL.md files in-repo\n- `test-driven-development` — write tests before integration code\n- `software-development\u002Fplan` — plan multi-step integration workflow","# Hermes Plugin Integration\n\n## Overview\n\nIntegrate external tools and libraries as Hermes Agent plugins following the repo's established conventions. This skill covers the pattern for making third-party tools (like LMCache) work within Hermes's plugin system.\n\n## When to Use\n\n- **User asks** to integrate an external tool\u002Flibrary as a Hermes plugin\n- **Adding a new capability** that fits the plugin system rather than as a core tool\n- **Converting** an existing script or tool to Hermes plugin format\n- **Following the footprint ladder** — prefer plugin over core tool when capability is niche or local\n\n## Core Patterns\n\n### 1. Plugin Directory Structure\n\nPlugins live under `plugins\u002F` in the hermes-agent repo or `~\u002F.hermes\u002Fplugins\u002F`. A minimal plugin needs:\n\n```\nplugins\u002Fmy-plugin\u002F\n├── __init__.py       # Plugin registration\n├── plugin.yaml       # Plugin metadata (if dashboard plugin)\n└── your_module.py    # Main plugin logic\n```\n\n### 2. Plugin Storage Convention (from `plugins\u002Fplugin_storage.py`)\n\nUse `plugins\u002Fplugin_storage.py` for durable plugin state:\n\n```python\nfrom plugins.plugin_storage import plugin_data_dir, plugin_db\n\nstate_file = plugin_data_dir(\"my-plugin\") \u002F \"state.json\"\nconn = plugin_db(\"my-plugin\")  # Lives at \u003Chermes_home>\u002Fplugin-data\u002Fmy-plugin\u002Fdata.db\n```\n\n**Key:** Data directory survives plugin update\u002Fremove at `\u003Chermes_home>\u002Fplugin-data\u002F\u003Cname>\u002F`\n\n### 3. Plugin Registration\n\nFollow existing plugin patterns (e.g., `hermes-achievements`, `hermes-bot-mode`):\n- Register via `__init__.py`\n- Mount at appropriate API endpoints\n- Follow dashboard plugin conventions if UI-facing\n\n### 4. Following the Footprint Ladder\n\nPrefer these rungs in order:\n\n1. **Extend existing code** — variation of existing plugin\n2. **CLI command + skill** — manage config\u002Fstate via `hermes \u003Csubcommand>`\n3. **Service-gated tool (`check_fn`)** — appears only when prerequisite configured\n4. **Plugin** — third-party\u002Fniche capability not in core\n5. **MCP server** — if needs structured I\u002FO but not core-fundamental\n6. **New core tool** — only when fundamental and broadly useful\n\n## Example: LMCache Integration\n\nLMCache (https:\u002F\u002Fgithub.com\u002Fzapabob\u002FLMCache.git) is a KV cache management engine. As a plugin:\n\n- **Not integrated by default** — remains independent project\n- **Can be invoked** via `execute_code` or custom skills\n- **Plugin path would be:** `plugins\u002Flmcache\u002F` with proper `__init__.py`\n- **Storage** via `plugin_data_dir(\"lmcache\")` for any cached state\n\n## Pitfalls\n\n- **⚠️ Not a core tool** — LMCache has its own AGENTS.md, pyproject.toml, CI\n- **⚠️ Storage survives updates** — use `plugin_data_dir()`, not `plugins\u002F\u003Cname>\u002F`\n- **⚠️ Git remote already exists** — `lmcache` remote configured but project standalone\n- **⚠️ Plugin vs integration** — some tools are better as standalone invocable tools\n\n## Verification\n\nAfter integration:\n\n```bash\n# Check plugin is discoverable\nhermes plugins list\n\n# Verify storage path\nhermes --config show plugin-data-dir\n\n# Test basic import\npython -c \"from plugins import discover_plugins; discover_plugins()\"\n```\n\n## Related Skills\n\n- `hermes-agent-skill-authoring` — author SKILL.md files in-repo\n- `test-driven-development` — write tests before integration code\n- `software-development\u002Fplan` — plan multi-step integration workflow",{"name":5,"author":44,"license":15,"version":45,"metadata":46,"platforms":52,"description":7},"zapabob, Hermes Agent","0.1.0",{"hermes":47},{"tags":48,"related_skills":49},[20,21,28],[50,51],"hermes-agent-skill-authoring","software-development\u002Ftest-driven-development",[38,32,36],"main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F1a\u002F1a77dd14e0fa4c06e0709aa042a0b092532d2cc5bfd768d1e6d9fbe6d3c4fcda",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add zapabob\u002FSkills --skill hermes-plugin-integration",{"tool":67,"command":68},"bunx","bunx skills add zapabob\u002FSkills --skill hermes-plugin-integration",{"tool":70,"command":71},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill hermes-plugin-integration","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F1a\u002F1a77dd14e0fa4c06e0709aa042a0b092532d2cc5bfd768d1e6d9fbe6d3c4fcda\u002FSKILL.md",true,[],[76,109,143,170,197,214],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":95,"publishedAt":39},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[82,87,90],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":88,"categoryName":89,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[78,96,32,97,98,38,36,99,100,101,102,103,104,22,23,105,53,106,107,108],"openclaw","cli","github","official","search","https","social-media","api","Media","twitter","social","via","post",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":126,"publishedAt":39},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[115,118,121,122,123],{"categoryNo":116,"categoryName":117,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":119,"categoryName":120,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":88,"categoryName":89,"taxonomyType":85,"taxonomyTypeDesc":86},{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},{"categoryNo":124,"categoryName":125,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000036","内容创作者",[127,128,129,130,32,131,38,132,36,133,134,35,135,136,137,138,139,140,141,142],"writing","writing plans","plans","design","review","workflow","documentation","tasks","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":152,"publishedAt":39},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[149],{"categoryNo":150,"categoryName":151,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000016","图像与多媒体",[145,32,38,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":179,"publishedAt":39},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[176],{"categoryNo":177,"categoryName":178,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000013","分析与可视化",[180,32,181,182,36,183,184,185,186,187,188,160,189,190,191,192,193,194,195,196],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":204,"publishedAt":39},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[203],{"categoryNo":88,"categoryName":89,"taxonomyType":85,"taxonomyTypeDesc":86},[199,32,205,98,38,206,207,208,209,210,211,22,23,212,213],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":215,"name":216,"nameZh":6,"description":217,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":218,"categories":219,"keywords":222,"publishedAt":39},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[220,221],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},[223,224,225,38,226,153,227,228,229,156,230,103,231,232,233,234,235,236,237,238],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]