[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71J7KFEEXHV6S4CS5WDJSEZ":3,"skill-same:01M71J7KFEEXHV6S4CS5WDJSEZ":82},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":6,"ownerHtmlUrl":66,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":67,"install":68,"resources":81},"01M71J7KFEEXHV6S4CS5WDJSEZ","jupyter-live-kernel",null,"Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb. Load this skill when the task involves exploration, iteration, or inspecting intermediate results — data science, ML experimentation, API exploration, or building up complex code step-by-step. Uses terminal to run CLI commands against a live Jupyter kernel. No new tools required.","xuanxuan1983\u002Fhermes-skills-backup","xuanxuan1983","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F151701653?v=4","01M71HCZNB5H19QJ6YBF98W2WH","01M71HCZP14T0921BD0TC9EPD3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fdata-science\u002Fjupyter-live-kernel\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"kernel","jupyter","jupyter live kernel","live","data","commands","run cli","terminal","run","cli","api","code","when","new","notebook","data-science","up","iteration","exploration","stateful","2026-11-10 10:12:30",false,"---\nname: jupyter-live-kernel\ndescription: >\n  Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb.\n  Load this skill when the task involves exploration, iteration, or inspecting\n  intermediate results — data science, ML experimentation, API exploration, or\n  building up complex code step-by-step. Uses terminal to run CLI commands against\n  a live Jupyter kernel. No new tools required.\nversion: 1.0.0\nauthor: Hermes Agent\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [jupyter, notebook, repl, data-science, exploration, iterative]\n    category: data-science\n---\n\n# Jupyter Live Kernel (hamelnb)\n\nGives you a **stateful Python REPL** via a live Jupyter kernel. Variables persist\nacross executions. Use this instead of `execute_code` when you need to build up\nstate incrementally, explore APIs, inspect DataFrames, or iterate on complex code.\n\n## When to Use This vs Other Tools\n\n| Tool | Use When |\n|------|----------|\n| **This skill** | Iterative exploration, state across steps, data science, ML, \"let me try this and check\" |\n| `execute_code` | One-shot scripts needing hermes tool access (web_search, file ops). Stateless. |\n| `terminal` | Shell commands, builds, installs, git, process management |\n\n**Rule of thumb:** If you'd want a Jupyter notebook for the task, use this skill.\n\n## Prerequisites\n\n1. **uv** must be installed (check: `which uv`)\n2. **JupyterLab** must be installed: `uv tool install jupyterlab`\n3. A Jupyter server must be running (see Setup below)\n\n## Setup\n\nThe hamelnb script location:\n```\nSCRIPT=\"$HOME\u002F.agent-skills\u002Fhamelnb\u002Fskills\u002Fjupyter-live-kernel\u002Fscripts\u002Fjupyter_live_kernel.py\"\n```\n\nIf not cloned yet:\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fhamelsmu\u002Fhamelnb.git ~\u002F.agent-skills\u002Fhamelnb\n```\n\n### Starting JupyterLab\n\nCheck if a server is already running:\n```\nuv run \"$SCRIPT\" servers\n```\n\nIf no servers found, start one:\n```\njupyter-lab --no-browser --port=8888 --notebook-dir=$HOME\u002Fnotebooks \\\n  --IdentityProvider.token='' --ServerApp.password='' > \u002Ftmp\u002Fjupyter.log 2>&1 &\nsleep 3\n```\n\nNote: Token\u002Fpassword disabled for local agent access. The server runs headless.\n\n### Creating a Notebook for REPL Use\n\nIf you just need a REPL (no existing notebook), create a minimal notebook file:\n```\nmkdir -p ~\u002Fnotebooks\n```\nWrite a minimal .ipynb JSON file with one empty code cell, then start a kernel\nsession via the Jupyter REST API:\n```\ncurl -s -X POST http:\u002F\u002F127.0.0.1:8888\u002Fapi\u002Fsessions \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"path\":\"scratch.ipynb\",\"type\":\"notebook\",\"name\":\"scratch.ipynb\",\"kernel\":{\"name\":\"python3\"}}'\n```\n\n## Core Workflow\n\nAll commands return structured JSON. Always use `--compact` to save tokens.\n\n### 1. Discover servers and notebooks\n\n```\nuv run \"$SCRIPT\" servers --compact\nuv run \"$SCRIPT\" notebooks --compact\n```\n\n### 2. Execute code (primary operation)\n\n```\nuv run \"$SCRIPT\" execute --path \u003Cnotebook.ipynb> --code '\u003Cpython code>' --compact\n```\n\nState persists across execute calls. Variables, imports, objects all survive.\n\nMulti-line code works with $'...' quoting:\n```\nuv run \"$SCRIPT\" execute --path scratch.ipynb --code $'import os\\nfiles = os.listdir(\".\")\\nprint(f\"Found {len(files)} files\")' --compact\n```\n\n### 3. Inspect live variables\n\n```\nuv run \"$SCRIPT\" variables --path \u003Cnotebook.ipynb> list --compact\nuv run \"$SCRIPT\" variables --path \u003Cnotebook.ipynb> preview --name \u003Cvarname> --compact\n```\n\n### 4. Edit notebook cells\n\n```\n# View current cells\nuv run \"$SCRIPT\" contents --path \u003Cnotebook.ipynb> --compact\n\n# Insert a new cell\nuv run \"$SCRIPT\" edit --path \u003Cnotebook.ipynb> insert \\\n  --at-index \u003CN> --cell-type code --source '\u003Ccode>' --compact\n\n# Replace cell source (use cell-id from contents output)\nuv run \"$SCRIPT\" edit --path \u003Cnotebook.ipynb> replace-source \\\n  --cell-id \u003Cid> --source '\u003Cnew code>' --compact\n\n# Delete a cell\nuv run \"$SCRIPT\" edit --path \u003Cnotebook.ipynb> delete --cell-id \u003Cid> --compact\n```\n\n### 5. Verification (restart + run all)\n\nOnly use when the user asks for a clean verification or you need to confirm\nthe notebook runs top-to-bottom:\n\n```\nuv run \"$SCRIPT\" restart-run-all --path \u003Cnotebook.ipynb> --save-outputs --compact\n```\n\n## Practical Tips from Experience\n\n1. **First execution after server start may timeout** — the kernel needs a moment\n   to initialize. If you get a timeout, just retry.\n\n2. **The kernel Python is JupyterLab's Python** — packages must be installed in\n   that environment. If you need additional packages, install them into the\n   JupyterLab tool environment first.\n\n3. **--compact flag saves significant tokens** — always use it. JSON output can\n   be very verbose without it.\n\n4. **For pure REPL use**, create a scratch.ipynb and don't bother with cell editing.\n   Just use `execute` repeatedly.\n\n5. **Argument order matters** — subcommand flags like `--path` go BEFORE the\n   sub-subcommand. E.g.: `variables --path nb.ipynb list` not `variables list --path nb.ipynb`.\n\n6. **If a session doesn't exist yet**, you need to start one via the REST API\n   (see Setup section). The tool can't execute without a live kernel session.\n\n7. **Errors are returned as JSON** with traceback — read the `ename` and `evalue`\n   fields to understand what went wrong.\n\n8. **Occasional websocket timeouts** — some operations may timeout on first try,\n   especially after a kernel restart. Retry once before escalating.\n\n## Timeout Defaults\n\nThe script has a 30-second default timeout per execution. For long-running\noperations, pass `--timeout 120`. Use generous timeouts (60+) for initial\nsetup or heavy computation.\n","# Jupyter Live Kernel (hamelnb)\n\nGives you a **stateful Python REPL** via a live Jupyter kernel. Variables persist\nacross executions. Use this instead of `execute_code` when you need to build up\nstate incrementally, explore APIs, inspect DataFrames, or iterate on complex code.\n\n## When to Use This vs Other Tools\n\n| Tool | Use When |\n|------|----------|\n| **This skill** | Iterative exploration, state across steps, data science, ML, \"let me try this and check\" |\n| `execute_code` | One-shot scripts needing hermes tool access (web_search, file ops). Stateless. |\n| `terminal` | Shell commands, builds, installs, git, process management |\n\n**Rule of thumb:** If you'd want a Jupyter notebook for the task, use this skill.\n\n## Prerequisites\n\n1. **uv** must be installed (check: `which uv`)\n2. **JupyterLab** must be installed: `uv tool install jupyterlab`\n3. A Jupyter server must be running (see Setup below)\n\n## Setup\n\nThe hamelnb script location:\n```\nSCRIPT=\"$HOME\u002F.agent-skills\u002Fhamelnb\u002Fskills\u002Fjupyter-live-kernel\u002Fscripts\u002Fjupyter_live_kernel.py\"\n```\n\nIf not cloned yet:\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fhamelsmu\u002Fhamelnb.git ~\u002F.agent-skills\u002Fhamelnb\n```\n\n### Starting JupyterLab\n\nCheck if a server is already running:\n```\nuv run \"$SCRIPT\" servers\n```\n\nIf no servers found, start one:\n```\njupyter-lab --no-browser --port=8888 --notebook-dir=$HOME\u002Fnotebooks \\\n  --IdentityProvider.token='' --ServerApp.password='' > \u002Ftmp\u002Fjupyter.log 2>&1 &\nsleep 3\n```\n\nNote: Token\u002Fpassword disabled for local agent access. The server runs headless.\n\n### Creating a Notebook for REPL Use\n\nIf you just need a REPL (no existing notebook), create a minimal notebook file:\n```\nmkdir -p ~\u002Fnotebooks\n```\nWrite a minimal .ipynb JSON file with one empty code cell, then start a kernel\nsession via the Jupyter REST API:\n```\ncurl -s -X POST http:\u002F\u002F127.0.0.1:8888\u002Fapi\u002Fsessions \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"path\":\"scratch.ipynb\",\"type\":\"notebook\",\"name\":\"scratch.ipynb\",\"kernel\":{\"name\":\"python3\"}}'\n```\n\n## Core Workflow\n\nAll commands return structured JSON. Always use `--compact` to save tokens.\n\n### 1. Discover servers and notebooks\n\n```\nuv run \"$SCRIPT\" servers --compact\nuv run \"$SCRIPT\" notebooks --compact\n```\n\n### 2. Execute code (primary operation)\n\n```\nuv run \"$SCRIPT\" execute --path \u003Cnotebook.ipynb> --code '\u003Cpython code>' --compact\n```\n\nState persists across execute calls. Variables, imports, objects all survive.\n\nMulti-line code works with $'...' quoting:\n```\nuv run \"$SCRIPT\" execute --path scratch.ipynb --code $'import os\\nfiles = os.listdir(\".\")\\nprint(f\"Found {len(files)} files\")' --compact\n```\n\n### 3. Inspect live variables\n\n```\nuv run \"$SCRIPT\" variables --path \u003Cnotebook.ipynb> list --compact\nuv run \"$SCRIPT\" variables --path \u003Cnotebook.ipynb> preview --name \u003Cvarname> --compact\n```\n\n### 4. Edit notebook cells\n\n```\n# View current cells\nuv run \"$SCRIPT\" contents --path \u003Cnotebook.ipynb> --compact\n\n# Insert a new cell\nuv run \"$SCRIPT\" edit --path \u003Cnotebook.ipynb> insert \\\n  --at-index \u003CN> --cell-type code --source '\u003Ccode>' --compact\n\n# Replace cell source (use cell-id from contents output)\nuv run \"$SCRIPT\" edit --path \u003Cnotebook.ipynb> replace-source \\\n  --cell-id \u003Cid> --source '\u003Cnew code>' --compact\n\n# Delete a cell\nuv run \"$SCRIPT\" edit --path \u003Cnotebook.ipynb> delete --cell-id \u003Cid> --compact\n```\n\n### 5. Verification (restart + run all)\n\nOnly use when the user asks for a clean verification or you need to confirm\nthe notebook runs top-to-bottom:\n\n```\nuv run \"$SCRIPT\" restart-run-all --path \u003Cnotebook.ipynb> --save-outputs --compact\n```\n\n## Practical Tips from Experience\n\n1. **First execution after server start may timeout** — the kernel needs a moment\n   to initialize. If you get a timeout, just retry.\n\n2. **The kernel Python is JupyterLab's Python** — packages must be installed in\n   that environment. If you need additional packages, install them into the\n   JupyterLab tool environment first.\n\n3. **--compact flag saves significant tokens** — always use it. JSON output can\n   be very verbose without it.\n\n4. **For pure REPL use**, create a scratch.ipynb and don't bother with cell editing.\n   Just use `execute` repeatedly.\n\n5. **Argument order matters** — subcommand flags like `--path` go BEFORE the\n   sub-subcommand. E.g.: `variables --path nb.ipynb list` not `variables list --path nb.ipynb`.\n\n6. **If a session doesn't exist yet**, you need to start one via the REST API\n   (see Setup section). The tool can't execute without a live kernel session.\n\n7. **Errors are returned as JSON** with traceback — read the `ename` and `evalue`\n   fields to understand what went wrong.\n\n8. **Occasional websocket timeouts** — some operations may timeout on first try,\n   especially after a kernel restart. Retry once before escalating.\n\n## Timeout Defaults\n\nThe script has a 30-second default timeout per execution. For long-running\noperations, pass `--timeout 120`. Use generous timeouts (60+) for initial\nsetup or heavy computation.\n",{"name":5,"author":53,"license":14,"version":54,"metadata":55,"description":60},"Hermes Agent","1.0.0",{"hermes":56},{"tags":57,"category":43},[29,42,58,43,46,59],"repl","iterative","Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb. Load this skill when the task involves exploration, iteration, or inspecting intermediate results — data science, ML experimentation, API exploration, or building up complex code step-by-step. Uses terminal to run CLI commands against a live Jupyter kernel. No new tools required.\n","main","17ee50c38aefa9426a89d7e8ee167fdc4c184fb7","skills\u002Fdata-science\u002Fjupyter-live-kernel",0,"https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983","2026-05-24 00:14:48",{"source":8,"skillName":5,"commands":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add xuanxuan1983\u002Fhermes-skills-backup --skill jupyter-live-kernel",{"tool":74,"command":75},"bunx","bunx skills add xuanxuan1983\u002Fhermes-skills-backup --skill jupyter-live-kernel",{"tool":77,"command":78},"pnpm","pnpm dlx skills add xuanxuan1983\u002Fhermes-skills-backup --skill jupyter-live-kernel","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fdata-science\u002Fjupyter-live-kernel\u002FSKILL.md",true,[],[83,118,146,162,182,203],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":99,"publishedAt":48},"01M71JFHVW1W4XE013TY9ZYN9P","writing-plans","Use when you have a spec or requirements for a multi-step task. Creates comprehensive implementation plans with bite-sized tasks, exact file paths, and complete code examples.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[89,92,95,96],{"categoryNo":90,"categoryName":91,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":93,"categoryName":94,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},{"categoryNo":97,"categoryName":98,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000036","内容创作者",[100,101,102,103,104,105,106,40,107,108,39,109,110,111,112,113,114,115,116,117],"writing","writing plans","plans","test-driven","test-driven-development","superpowers","design","workflow","you","tasks","subagent","code-review","review","documentation","paths","planning","development","for",{"skillNo":119,"name":104,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":131,"publishedAt":48},"01M71JFF859RV0XGWS206X1TMB","Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[123,126,129,130],{"categoryNo":124,"categoryName":125,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":127,"categoryName":128,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":93,"categoryName":94,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":97,"categoryName":98,"taxonomyType":25,"taxonomyTypeDesc":26},[132,116,133,134,135,136,137,138,139,140,105,100,141,40,39,110,142,143,144,145],"test driven development","test","driven","test-first","green","cycle","red-green-refactor","testing","implementing","debugging","systematic","bugfix","refactor","systematic-debugging",{"skillNo":147,"name":145,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":152,"publishedAt":48},"01M71JFCA5S48PZ5M7DG31R8K5","Use when encountering any bug, test failure, or unexpected behavior. 4-phase root cause investigation — NO fixes without understanding the problem first.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[151],{"categoryNo":127,"categoryName":128,"taxonomyType":20,"taxonomyTypeDesc":21},[153,141,142,103,154,155,104,105,100,40,110,156,157,116,158,159,102,160,161,133],"systematic debugging","problem","problem-solving","phase","bug","fixes","root cause","use","root-cause",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":175,"publishedAt":48},"01M71JF9RQ092KM5ZXCBBT6FS1","subagent-driven-development","Use when executing implementation plans with independent tasks. Dispatches fresh delegate_task per task with two-stage review (spec compliance then code quality).","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[168,169,170,171,172],{"categoryNo":93,"categoryName":94,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},{"categoryNo":97,"categoryName":98,"taxonomyType":25,"taxonomyTypeDesc":26},{"categoryNo":173,"categoryName":174,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000037","律师与法务",[176,110,116,134,103,104,177,178,105,100,40,107,39,109,111,112,179,180,181,102],"subagent driven development","delegate","delegation","fresh","parallel","code quality",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":190,"publishedAt":48},"01M71JF76DA8ARZ4JRYR4VBRWM","requesting-code-review","Pre-commit verification pipeline — static security scan, baseline-aware quality gates, independent reviewer subagent, and auto-fix loop. Use after code changes and before committing, pushing, or opening a PR.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[188,189],{"categoryNo":124,"categoryName":125,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[191,192,39,112,103,193,194,104,195,196,105,197,100,198,199,200,110,111,201,202],"code review","requesting code review","pipeline","static","fix","auto-fix","auto","loop","security scan","commit","reviewer","verification",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":209,"publishedAt":48},"01M71JF52HZT5VQXFVF9K2H76K","plan","Plan mode for Hermes — inspect context, write a markdown plan into the active workspace's `.hermes\u002Fplans\u002F` directory, and do not execute the work.","https:\u002F\u002Fgithub.com\u002Fxuanxuan1983\u002Fhermes-skills-backup\u002Fblob\u002Fmain\u002Fskills\u002Fsoftware-development\u002Fplan\u002FSKILL.md",[],[205,210,211,115,116,117,212,213,102,100,107,110,214,215,216,217,218,219,220,221],"plan-mode","do","inspect","mode","work","markdown","active","directory","workspace","plan mode","write","implementation"]