[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6WM59JDP35P3GJYNKHFSXMC":3,"skill-same:01M6WM59JDP35P3GJYNKHFSXMC":65},{"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":17,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6WM59JDP35P3GJYNKHFSXMC","repo-and-infra-locations",null,"Template for looking up this machine's repository checkouts, ao CLI build path, AO YAML config rules, port assignments, and Hermes edit rules from machine-local configuration","jleechanorg\u002Fjleechan-skills","jleechanorg","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F221404966?v=4","01M6C1VJ99XG950X1DWPEBCBGX","01M6C1VJDK5YVDNT3362RT5WSB",6,"MIT","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fself-hosted-runners\u002Fskills\u002Frepo-and-infra-locations\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"infra","repo","repo and infra locations","up","yaml config","for","machine","port","local","configuration","build","ao","reference","cli","edit","Rules","hermes","template","repository","yaml","config","2026-11-10 10:12:30",false,"---\nname: repo-and-infra-locations\ndescription: Template for looking up this machine's repository checkouts, ao CLI build path, AO YAML config rules, port assignments, and Hermes edit rules from machine-local configuration\ntype: reference\n---\n\n# Repository and Infrastructure Locations (machine-local template)\n\nThis skill does not ship anyone's inventory. Each operator records their own\nlocations in machine-local configuration, and the agent reads them at run time.\nWhen a value is missing, report `\u003CVAR> not configured` and stop; never guess a\npath, host, or repository.\n\n## Where the values come from\n\n1. Environment variables from the shell profile, or from the optional user-owned\n   file `${XDG_CONFIG_HOME:-$HOME\u002F.config}\u002Fjleechan-skills\u002Fenv` (source it if present;\n   never write it):\n\n   ```bash\n   [ -f \"${XDG_CONFIG_HOME:-$HOME\u002F.config}\u002Fjleechan-skills\u002Fenv\" ] &&\n     . \"${XDG_CONFIG_HOME:-$HOME\u002F.config}\u002Fjleechan-skills\u002Fenv\"\n   ```\n\n2. Values derived from the current repository (`git rev-parse --show-toplevel`,\n   `gh repo view --json nameWithOwner -q .nameWithOwner`).\n\n| Variable | Meaning | If unset |\n|---|---|---|\n| `AO_REPO_ROOT` | Local Agent Orchestrator checkout used to build `ao` | stop: `AO_REPO_ROOT not configured` |\n| `AO_GITHUB_REPO` | GitHub `owner\u002Frepo` that `AO_REPO_ROOT`'s `origin` must match | stop |\n| `AO_CONFIG_PATH` | Agent Orchestrator YAML | `${HERMES_HOME:-$HOME\u002F.hermes}\u002Fagent-orchestrator.yaml` when it exists |\n| `HERMES_HOME` | Hermes agent home (a live git checkout) | `$HOME\u002F.hermes`; skip Hermes steps when absent |\n| `CLAUDE_HOME` \u002F `CODEX_HOME` | Agent homes | `$HOME\u002F.claude` \u002F `$HOME\u002F.codex` |\n\n## Key repositories\n\nVerify a checkout before using it, rather than trusting a remembered path:\n\n```bash\n: \"${AO_REPO_ROOT:?AO_REPO_ROOT not configured: path to your Agent Orchestrator checkout}\"\n: \"${AO_GITHUB_REPO:?AO_GITHUB_REPO not configured: owner\u002Frepo of that checkout}\"\ngit -C \"$AO_REPO_ROOT\" remote get-url origin   # must point at $AO_GITHUB_REPO\n```\n\n- Create Agent Orchestrator worktrees from `$AO_REPO_ROOT` and reset them to\n  `origin\u002Fmain` before use.\n- Do not use a clone whose `origin` points at a different owner than\n  `AO_GITHUB_REPO` (for example a direct upstream clone) for agent work.\n\n## ao CLI\n\n- **Binary**: resolve with `command -v ao`; it should point at\n  `$AO_REPO_ROOT\u002Fpackages\u002Fcli\u002Fdist\u002Findex.js` when you build from source.\n- **Rebuild after updates**: `cd \"$AO_REPO_ROOT\" && npm run build`.\n- **If broken with `ERR_MODULE_NOT_FOUND`** for an `ao-core` package: stale `dist\u002F`;\n  rebuild with `npm run build`.\n- Install from npm only if your setup documents that package (`AO_NPM_PACKAGE`);\n  otherwise build from `$AO_REPO_ROOT`.\n\n## AO YAML config — no shell-style env var syntax\n\nAO's YAML loader does **not** expand `${VAR:-default}` shell syntax. Config files\nmust contain literal values. Before editing the AO config, check for `${` patterns\nand replace them with actual values:\n\n```bash\nAO_CONFIG=\"${AO_CONFIG_PATH:-${HERMES_HOME:-$HOME\u002F.hermes}\u002Fagent-orchestrator.yaml}\"\n[ -f \"$AO_CONFIG\" ] || { echo \"AO_CONFIG_PATH not configured: AO YAML not found at $AO_CONFIG\" >&2; exit 2; }\ngrep -n '\\${' \"$AO_CONFIG\"   # any hit = broken config\n```\n\n## Port assignments — never pick random ports\n\nKeep your port map in one machine-local place (for example a commented\n`# PORT DOCUMENTATION` block in your shell profile, or a file under\n`${XDG_CONFIG_HOME:-$HOME\u002F.config}\u002F`). Before choosing a port:\n\n1. Read that port map and use the assigned port or range.\n2. Prefer an existing `\u003CSERVICE>_PORT` environment variable when one is set.\n3. If the service has no assignment, pick from an unallocated range and record it\n   in the same machine-local map.\n4. Never hardcode common defaults such as 3000 or 8080; they collide.\n\nIf no port map exists on this machine, say so and ask the operator before\nbinding a port.\n\n## `$HERMES_HOME` is a live repository — no direct edits\n\nWhen `$HERMES_HOME` is a git checkout, do not edit its tracked files in place.\nEdit in a worktree, commit, open a PR, merge, then `git -C \"$HERMES_HOME\" pull`.\nExceptions: settings changed through `hermes config set`, live scheduler state,\nand emergency hot-fixes the operator explicitly approves.\n\n## Config file locations\n\n- **Claude Code global config**: `${CLAUDE_HOME:-$HOME\u002F.claude}\u002FCLAUDE.md`\n- **Codex global config**: `${CODEX_HOME:-$HOME\u002F.codex}\u002FAGENTS.md`\n- **Hermes agent model config**: the `hermes-models` skill, if installed\n","# Repository and Infrastructure Locations (machine-local template)\n\nThis skill does not ship anyone's inventory. Each operator records their own\nlocations in machine-local configuration, and the agent reads them at run time.\nWhen a value is missing, report `\u003CVAR> not configured` and stop; never guess a\npath, host, or repository.\n\n## Where the values come from\n\n1. Environment variables from the shell profile, or from the optional user-owned\n   file `${XDG_CONFIG_HOME:-$HOME\u002F.config}\u002Fjleechan-skills\u002Fenv` (source it if present;\n   never write it):\n\n   ```bash\n   [ -f \"${XDG_CONFIG_HOME:-$HOME\u002F.config}\u002Fjleechan-skills\u002Fenv\" ] &&\n     . \"${XDG_CONFIG_HOME:-$HOME\u002F.config}\u002Fjleechan-skills\u002Fenv\"\n   ```\n\n2. Values derived from the current repository (`git rev-parse --show-toplevel`,\n   `gh repo view --json nameWithOwner -q .nameWithOwner`).\n\n| Variable | Meaning | If unset |\n|---|---|---|\n| `AO_REPO_ROOT` | Local Agent Orchestrator checkout used to build `ao` | stop: `AO_REPO_ROOT not configured` |\n| `AO_GITHUB_REPO` | GitHub `owner\u002Frepo` that `AO_REPO_ROOT`'s `origin` must match | stop |\n| `AO_CONFIG_PATH` | Agent Orchestrator YAML | `${HERMES_HOME:-$HOME\u002F.hermes}\u002Fagent-orchestrator.yaml` when it exists |\n| `HERMES_HOME` | Hermes agent home (a live git checkout) | `$HOME\u002F.hermes`; skip Hermes steps when absent |\n| `CLAUDE_HOME` \u002F `CODEX_HOME` | Agent homes | `$HOME\u002F.claude` \u002F `$HOME\u002F.codex` |\n\n## Key repositories\n\nVerify a checkout before using it, rather than trusting a remembered path:\n\n```bash\n: \"${AO_REPO_ROOT:?AO_REPO_ROOT not configured: path to your Agent Orchestrator checkout}\"\n: \"${AO_GITHUB_REPO:?AO_GITHUB_REPO not configured: owner\u002Frepo of that checkout}\"\ngit -C \"$AO_REPO_ROOT\" remote get-url origin   # must point at $AO_GITHUB_REPO\n```\n\n- Create Agent Orchestrator worktrees from `$AO_REPO_ROOT` and reset them to\n  `origin\u002Fmain` before use.\n- Do not use a clone whose `origin` points at a different owner than\n  `AO_GITHUB_REPO` (for example a direct upstream clone) for agent work.\n\n## ao CLI\n\n- **Binary**: resolve with `command -v ao`; it should point at\n  `$AO_REPO_ROOT\u002Fpackages\u002Fcli\u002Fdist\u002Findex.js` when you build from source.\n- **Rebuild after updates**: `cd \"$AO_REPO_ROOT\" && npm run build`.\n- **If broken with `ERR_MODULE_NOT_FOUND`** for an `ao-core` package: stale `dist\u002F`;\n  rebuild with `npm run build`.\n- Install from npm only if your setup documents that package (`AO_NPM_PACKAGE`);\n  otherwise build from `$AO_REPO_ROOT`.\n\n## AO YAML config — no shell-style env var syntax\n\nAO's YAML loader does **not** expand `${VAR:-default}` shell syntax. Config files\nmust contain literal values. Before editing the AO config, check for `${` patterns\nand replace them with actual values:\n\n```bash\nAO_CONFIG=\"${AO_CONFIG_PATH:-${HERMES_HOME:-$HOME\u002F.hermes}\u002Fagent-orchestrator.yaml}\"\n[ -f \"$AO_CONFIG\" ] || { echo \"AO_CONFIG_PATH not configured: AO YAML not found at $AO_CONFIG\" >&2; exit 2; }\ngrep -n '\\${' \"$AO_CONFIG\"   # any hit = broken config\n```\n\n## Port assignments — never pick random ports\n\nKeep your port map in one machine-local place (for example a commented\n`# PORT DOCUMENTATION` block in your shell profile, or a file under\n`${XDG_CONFIG_HOME:-$HOME\u002F.config}\u002F`). Before choosing a port:\n\n1. Read that port map and use the assigned port or range.\n2. Prefer an existing `\u003CSERVICE>_PORT` environment variable when one is set.\n3. If the service has no assignment, pick from an unallocated range and record it\n   in the same machine-local map.\n4. Never hardcode common defaults such as 3000 or 8080; they collide.\n\nIf no port map exists on this machine, say so and ask the operator before\nbinding a port.\n\n## `$HERMES_HOME` is a live repository — no direct edits\n\nWhen `$HERMES_HOME` is a git checkout, do not edit its tracked files in place.\nEdit in a worktree, commit, open a PR, merge, then `git -C \"$HERMES_HOME\" pull`.\nExceptions: settings changed through `hermes config set`, live scheduler state,\nand emergency hot-fixes the operator explicitly approves.\n\n## Config file locations\n\n- **Claude Code global config**: `${CLAUDE_HOME:-$HOME\u002F.claude}\u002FCLAUDE.md`\n- **Codex global config**: `${CODEX_HOME:-$HOME\u002F.codex}\u002FAGENTS.md`\n- **Hermes agent model config**: the `hermes-models` skill, if installed\n",{"name":5,"type":30,"description":7},"main","8144f00ebafc4306264c63239e4b9fa42e48a90e","plugins\u002Fself-hosted-runners\u002Fskills\u002Frepo-and-infra-locations",0,"https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills","https:\u002F\u002Fgithub.com\u002Fjleechanorg","2026-11-11 09:18:40",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add jleechanorg\u002Fjleechan-skills --skill repo-and-infra-locations",{"tool":57,"command":58},"bunx","bunx skills add jleechanorg\u002Fjleechan-skills --skill repo-and-infra-locations",{"tool":60,"command":61},"pnpm","pnpm dlx skills add jleechanorg\u002Fjleechan-skills --skill repo-and-infra-locations","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fself-hosted-runners\u002Fskills\u002Frepo-and-infra-locations\u002FSKILL.md",true,[],[66,84,105,118,132,148],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":39},"01M716Y5MTJ6GYJZ2ATXCJK8G4","instinct","Use when the user invokes \u002Finstinct or \u002Fin, or asks to \"message Instinct\", \"ask Instinct\", \"tell Instinct\", \"check Instinct\", or read replies from the configured peer assistant. iMessage first, WhatsApp Web as fallback.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Finstinct\u002FSKILL.md",[],[68,73,74,75,76,77,78,79,80,81,82,83],"user","when","replies","check","use","identity","whatsapp","gmail","read","message","ask",{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":95,"publishedAt":39},"01M716Y4HF7FVVMJSA2CCVN5VF","hr","Compatibility alias for history-resume; produce the same fresh-state, provenance-aware resume briefing.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhr\u002FSKILL.md",[90],{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[86,96,97,98,23,99,100,101,102,103,104],"resume","compatibility","provenance","history","produce","alias","briefing","state","fresh",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":112,"publishedAt":39},"01M716Y1FFNFKFJYYKF8HQA6T8","history-resume","Resume briefing for the current repository branch or worktree using fresh state and admitted history sources.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhistory-resume\u002FSKILL.md",[111],{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},[99,96,113,114,73,115,102,36,23,116,117,103,104],"history resume","branch","analysis","worktree","sources",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":39},"01M716XWXJ8EPHK4RH9T14TR85","grok","Alias for the canonical grokbot browser conversation workflow; \u002Fgrok talks to the Grok bot the same way \u002Fdot talks to Dot.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgrok\u002FSKILL.md",[],[120,125,126,127,23,128,101,129,130,131],"dot","bot","workflow","canonical","conversation","browser","grokbot",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":39},"01M70N9Q07DTE0EW5KFXMMMSJ0","codexa-bench","Compare `codexa` and normal `codex` on a fair split of comparable work by default; use `--strict` for duplicate runs of the exact same task.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcodexa-bench\u002FSKILL.md",[],[139,140,141,77,142,23,143,144,145,146,147],"codexa bench","work","split","default","duplicate","task","compare","normal","codex",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":152,"licenseFileUrl":153,"sourceHtmlUrl":154,"categories":155,"keywords":167,"publishedAt":39},"01M6C24S2X60SP8BBFGAEKPEGW","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FSKILL.md",[156,161,164],{"categoryNo":157,"categoryName":158,"taxonomyType":159,"taxonomyTypeDesc":160},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":162,"categoryName":163,"taxonomyType":159,"taxonomyTypeDesc":160},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":165,"categoryName":166,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000032","设计师",[168,169,170,77,171,172,173,73,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,74,192],"frontend","design","frontend design","generic","ui design","react","html","components","code","artifacts","ui","aesthetics","Production","web components","landing","applications","quality","web","css","create","examples","with","react components","web ui","pages"]