[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71PK2EN9YFRMK86X2BC5ZC7":3,"skill-same:01M71PK2EN9YFRMK86X2BC5ZC7":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":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":13,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M71PK2EN9YFRMK86X2BC5ZC7","gitnexus-explorer",null,"Index a codebase with GitNexus and serve an interactive knowledge graph via web UI + Cloudflare tunnel.","gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN","gjbvsjjvgm-sketch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278511911?v=4","01M71F3JXKZQ70H2KCHHTXKZDA","01M71PENEVFN19DBZFNHJPCHQ7",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Foptional-skills\u002Fresearch\u002Fgitnexus-explorer\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"gitnexus","gitnexus explorer","explorer","inspection","MCP","code-intelligence","web ui","native","tunnel","cloudflare tunnel","intelligence","interactive","knowledge","knowledge-graph","ui","knowledge graph","graph","cloudflare","code","visualization","2026-11-10 13:02:02",false,"---\nname: gitnexus-explorer\ndescription: Index a codebase with GitNexus and serve an interactive knowledge graph via web UI + Cloudflare tunnel.\nversion: 1.0.0\nauthor: YOUSEF SHTIWE + Teknium\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [gitnexus, code-intelligence, knowledge-graph, visualization]\n    related_skills: [native-mcp, codebase-inspection]\n---\n\n# GitNexus Explorer\n\nIndex any codebase into a knowledge graph and serve an interactive web UI for exploring\nsymbols, call chains, clusters, and execution flows. Tunneled via Cloudflare for remote access.\n\n## When to Use\n\n- User wants to visually explore a codebase's architecture\n- User asks for a knowledge graph \u002F dependency graph of a repo\n- User wants to share an interactive codebase explorer with someone\n\n## Prerequisites\n\n- **Node.js** (v18+) — required for GitNexus and the proxy\n- **git** — repo must have a `.git` directory\n- **cloudflared** — for tunneling (auto-installed to ~\u002F.local\u002Fbin if missing)\n\n## Size Warning\n\nThe web UI renders all nodes in the browser. Repos under ~5,000 files work well. Large\nrepos (30k+ nodes) will be sluggish or crash the browser tab. The CLI\u002FMCP tools work\nat any scale — only the web visualization has this limit.\n\n## Steps\n\n### 1. Clone and Build GitNexus (one-time setup)\n\n```bash\nGITNEXUS_DIR=\"${GITNEXUS_DIR:-$HOME\u002F.local\u002Fshare\u002Fgitnexus}\"\n\nif [ ! -d \"$GITNEXUS_DIR\u002Fgitnexus-web\u002Fdist\" ]; then\n  git clone https:\u002F\u002Fgithub.com\u002Fabhigyanpatwari\u002FGitNexus.git \"$GITNEXUS_DIR\"\n  cd \"$GITNEXUS_DIR\u002Fgitnexus-shared\" && npm install && npm run build\n  cd \"$GITNEXUS_DIR\u002Fgitnexus-web\" && npm install\nfi\n```\n\n### 2. Patch the Web UI for Remote Access\n\nThe web UI defaults to `localhost:4747` for API calls. Patch it to use same-origin\nso it works through a tunnel\u002Fproxy:\n\n**File: `$GITNEXUS_DIR\u002Fgitnexus-web\u002Fsrc\u002Fconfig\u002Fui-constants.ts`**\nChange:\n```typescript\nexport const DEFAULT_BACKEND_URL = 'http:\u002F\u002Flocalhost:4747';\n```\nTo:\n```typescript\nexport const DEFAULT_BACKEND_URL = typeof window !== 'undefined' && window.location.hostname !== 'localhost' ? window.location.origin : 'http:\u002F\u002Flocalhost:4747';\n```\n\n**File: `$GITNEXUS_DIR\u002Fgitnexus-web\u002Fvite.config.ts`**\nAdd `allowedHosts: true` inside the `server: { }` block (only needed if running dev\nmode instead of production build):\n```typescript\nserver: {\n    allowedHosts: true,\n    \u002F\u002F ... existing config\n},\n```\n\nThen build the production bundle:\n```bash\ncd \"$GITNEXUS_DIR\u002Fgitnexus-web\" && npx vite build\n```\n\n### 3. Index the Target Repo\n\n```bash\ncd \u002Fpath\u002Fto\u002Ftarget-repo\nnpx gitnexus analyze --skip-agents-md\nrm -rf .claude\u002F    # remove Claude Code-specific artifacts\n```\n\nAdd `--embeddings` for semantic search (slower — minutes instead of seconds).\n\nThe index lives in `.gitnexus\u002F` inside the repo (auto-gitignored).\n\n### 4. Create the Proxy Script\n\nWrite this to a file (e.g., `$GITNEXUS_DIR\u002Fproxy.mjs`). It serves the production\nweb UI and proxies `\u002Fapi\u002F*` to the GitNexus backend — same origin, no CORS issues,\nno sudo, no nginx.\n\n```javascript\nimport http from 'node:http';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nconst API_PORT = parseInt(process.env.API_PORT || '4747');\nconst DIST_DIR = process.argv[2] || '.\u002Fdist';\nconst PORT = parseInt(process.argv[3] || '8888');\n\nconst MIME = {\n  '.html': 'text\u002Fhtml', '.js': 'application\u002Fjavascript', '.css': 'text\u002Fcss',\n  '.json': 'application\u002Fjson', '.png': 'image\u002Fpng', '.svg': 'image\u002Fsvg+xml',\n  '.ico': 'image\u002Fx-icon', '.woff2': 'font\u002Fwoff2', '.woff': 'font\u002Fwoff',\n  '.wasm': 'application\u002Fwasm',\n};\n\nfunction proxyToApi(req, res) {\n  const opts = {\n    hostname: '127.0.0.1', port: API_PORT,\n    path: req.url, method: req.method, headers: req.headers,\n  };\n  const proxy = http.request(opts, (upstream) => {\n    res.writeHead(upstream.statusCode, upstream.headers);\n    upstream.pipe(res, { end: true });\n  });\n  proxy.on('error', () => { res.writeHead(502); res.end('Backend unavailable'); });\n  req.pipe(proxy, { end: true });\n}\n\nfunction serveStatic(req, res) {\n  let filePath = path.join(DIST_DIR, req.url === '\u002F' ? 'index.html' : req.url.split('?')[0]);\n  if (!fs.existsSync(filePath)) filePath = path.join(DIST_DIR, 'index.html');\n  const ext = path.extname(filePath);\n  const mime = MIME[ext] || 'application\u002Foctet-stream';\n  try {\n    const data = fs.readFileSync(filePath);\n    res.writeHead(200, { 'Content-Type': mime, 'Cache-Control': 'public, max-age=3600' });\n    res.end(data);\n  } catch { res.writeHead(404); res.end('Not found'); }\n}\n\nhttp.createServer((req, res) => {\n  if (req.url.startsWith('\u002Fapi')) proxyToApi(req, res);\n  else serveStatic(req, res);\n}).listen(PORT, () => console.log(`GitNexus proxy on http:\u002F\u002Flocalhost:${PORT}`));\n```\n\n### 5. Start the Services\n\n```bash\n# Terminal 1: GitNexus backend API\nnpx gitnexus serve &\n\n# Terminal 2: Proxy (web UI + API on one port)\nnode \"$GITNEXUS_DIR\u002Fproxy.mjs\" \"$GITNEXUS_DIR\u002Fgitnexus-web\u002Fdist\" 8888 &\n```\n\nVerify: `curl -s http:\u002F\u002Flocalhost:8888\u002Fapi\u002Frepos` should return the indexed repo(s).\n\n### 6. Tunnel with Cloudflare (optional — for remote access)\n\n```bash\n# Install cloudflared if needed (no sudo)\nif ! command -v cloudflared &>\u002Fdev\u002Fnull; then\n  mkdir -p ~\u002F.local\u002Fbin\n  curl -sL https:\u002F\u002Fgithub.com\u002Fcloudflare\u002Fcloudflared\u002Freleases\u002Flatest\u002Fdownload\u002Fcloudflared-linux-amd64 \\\n    -o ~\u002F.local\u002Fbin\u002Fcloudflared\n  chmod +x ~\u002F.local\u002Fbin\u002Fcloudflared\n  export PATH=\"$HOME\u002F.local\u002Fbin:$PATH\"\nfi\n\n# Start tunnel (--config \u002Fdev\u002Fnull avoids conflicts with existing named tunnels)\ncloudflared tunnel --config \u002Fdev\u002Fnull --url http:\u002F\u002Flocalhost:8888 --no-autoupdate --protocol http2\n```\n\nThe tunnel URL (e.g., `https:\u002F\u002Frandom-words.trycloudflare.com`) is printed to stderr.\nShare it — anyone with the link can explore the graph.\n\n### 7. Cleanup\n\n```bash\n# Stop services\npkill -f \"gitnexus serve\"\npkill -f \"proxy.mjs\"\npkill -f cloudflared\n\n# Remove index from the target repo\ncd \u002Fpath\u002Fto\u002Ftarget-repo\nnpx gitnexus clean\nrm -rf .claude\u002F\n```\n\n## Pitfalls\n\n- **`--config \u002Fdev\u002Fnull` is required for cloudflared** if the user has an existing\n  named tunnel config at `~\u002F.cloudflared\u002Fconfig.yml`. Without it, the catch-all\n  ingress rule in the config returns 404 for all quick tunnel requests.\n\n- **Production build is mandatory for tunneling.** The Vite dev server blocks\n  non-localhost hosts by default (`allowedHosts`). The production build + Node\n  proxy avoids this entirely.\n\n- **The web UI does NOT create `.claude\u002F` or `CLAUDE.md`.** Those are created by\n  `npx gitnexus analyze`. Use `--skip-agents-md` to suppress the markdown files,\n  then `rm -rf .claude\u002F` for the rest. These are Claude Code integrations that\n  yousef-sovereign-core users don't need.\n\n- **Browser memory limit.** The web UI loads the entire graph into browser memory.\n  Repos with 5k+ files may be sluggish. 30k+ files will likely crash the tab.\n\n- **Embeddings are optional.** `--embeddings` enables semantic search but takes\n  minutes on large repos. Skip it for quick exploration; add it if you want\n  natural language queries via the AI chat panel.\n\n- **Multiple repos.** `gitnexus serve` serves ALL indexed repos. Index several\n  repos, start serve once, and the web UI lets you switch between them.\n","# GitNexus Explorer\n\nIndex any codebase into a knowledge graph and serve an interactive web UI for exploring\nsymbols, call chains, clusters, and execution flows. Tunneled via Cloudflare for remote access.\n\n## When to Use\n\n- User wants to visually explore a codebase's architecture\n- User asks for a knowledge graph \u002F dependency graph of a repo\n- User wants to share an interactive codebase explorer with someone\n\n## Prerequisites\n\n- **Node.js** (v18+) — required for GitNexus and the proxy\n- **git** — repo must have a `.git` directory\n- **cloudflared** — for tunneling (auto-installed to ~\u002F.local\u002Fbin if missing)\n\n## Size Warning\n\nThe web UI renders all nodes in the browser. Repos under ~5,000 files work well. Large\nrepos (30k+ nodes) will be sluggish or crash the browser tab. The CLI\u002FMCP tools work\nat any scale — only the web visualization has this limit.\n\n## Steps\n\n### 1. Clone and Build GitNexus (one-time setup)\n\n```bash\nGITNEXUS_DIR=\"${GITNEXUS_DIR:-$HOME\u002F.local\u002Fshare\u002Fgitnexus}\"\n\nif [ ! -d \"$GITNEXUS_DIR\u002Fgitnexus-web\u002Fdist\" ]; then\n  git clone https:\u002F\u002Fgithub.com\u002Fabhigyanpatwari\u002FGitNexus.git \"$GITNEXUS_DIR\"\n  cd \"$GITNEXUS_DIR\u002Fgitnexus-shared\" && npm install && npm run build\n  cd \"$GITNEXUS_DIR\u002Fgitnexus-web\" && npm install\nfi\n```\n\n### 2. Patch the Web UI for Remote Access\n\nThe web UI defaults to `localhost:4747` for API calls. Patch it to use same-origin\nso it works through a tunnel\u002Fproxy:\n\n**File: `$GITNEXUS_DIR\u002Fgitnexus-web\u002Fsrc\u002Fconfig\u002Fui-constants.ts`**\nChange:\n```typescript\nexport const DEFAULT_BACKEND_URL = 'http:\u002F\u002Flocalhost:4747';\n```\nTo:\n```typescript\nexport const DEFAULT_BACKEND_URL = typeof window !== 'undefined' && window.location.hostname !== 'localhost' ? window.location.origin : 'http:\u002F\u002Flocalhost:4747';\n```\n\n**File: `$GITNEXUS_DIR\u002Fgitnexus-web\u002Fvite.config.ts`**\nAdd `allowedHosts: true` inside the `server: { }` block (only needed if running dev\nmode instead of production build):\n```typescript\nserver: {\n    allowedHosts: true,\n    \u002F\u002F ... existing config\n},\n```\n\nThen build the production bundle:\n```bash\ncd \"$GITNEXUS_DIR\u002Fgitnexus-web\" && npx vite build\n```\n\n### 3. Index the Target Repo\n\n```bash\ncd \u002Fpath\u002Fto\u002Ftarget-repo\nnpx gitnexus analyze --skip-agents-md\nrm -rf .claude\u002F    # remove Claude Code-specific artifacts\n```\n\nAdd `--embeddings` for semantic search (slower — minutes instead of seconds).\n\nThe index lives in `.gitnexus\u002F` inside the repo (auto-gitignored).\n\n### 4. Create the Proxy Script\n\nWrite this to a file (e.g., `$GITNEXUS_DIR\u002Fproxy.mjs`). It serves the production\nweb UI and proxies `\u002Fapi\u002F*` to the GitNexus backend — same origin, no CORS issues,\nno sudo, no nginx.\n\n```javascript\nimport http from 'node:http';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nconst API_PORT = parseInt(process.env.API_PORT || '4747');\nconst DIST_DIR = process.argv[2] || '.\u002Fdist';\nconst PORT = parseInt(process.argv[3] || '8888');\n\nconst MIME = {\n  '.html': 'text\u002Fhtml', '.js': 'application\u002Fjavascript', '.css': 'text\u002Fcss',\n  '.json': 'application\u002Fjson', '.png': 'image\u002Fpng', '.svg': 'image\u002Fsvg+xml',\n  '.ico': 'image\u002Fx-icon', '.woff2': 'font\u002Fwoff2', '.woff': 'font\u002Fwoff',\n  '.wasm': 'application\u002Fwasm',\n};\n\nfunction proxyToApi(req, res) {\n  const opts = {\n    hostname: '127.0.0.1', port: API_PORT,\n    path: req.url, method: req.method, headers: req.headers,\n  };\n  const proxy = http.request(opts, (upstream) => {\n    res.writeHead(upstream.statusCode, upstream.headers);\n    upstream.pipe(res, { end: true });\n  });\n  proxy.on('error', () => { res.writeHead(502); res.end('Backend unavailable'); });\n  req.pipe(proxy, { end: true });\n}\n\nfunction serveStatic(req, res) {\n  let filePath = path.join(DIST_DIR, req.url === '\u002F' ? 'index.html' : req.url.split('?')[0]);\n  if (!fs.existsSync(filePath)) filePath = path.join(DIST_DIR, 'index.html');\n  const ext = path.extname(filePath);\n  const mime = MIME[ext] || 'application\u002Foctet-stream';\n  try {\n    const data = fs.readFileSync(filePath);\n    res.writeHead(200, { 'Content-Type': mime, 'Cache-Control': 'public, max-age=3600' });\n    res.end(data);\n  } catch { res.writeHead(404); res.end('Not found'); }\n}\n\nhttp.createServer((req, res) => {\n  if (req.url.startsWith('\u002Fapi')) proxyToApi(req, res);\n  else serveStatic(req, res);\n}).listen(PORT, () => console.log(`GitNexus proxy on http:\u002F\u002Flocalhost:${PORT}`));\n```\n\n### 5. Start the Services\n\n```bash\n# Terminal 1: GitNexus backend API\nnpx gitnexus serve &\n\n# Terminal 2: Proxy (web UI + API on one port)\nnode \"$GITNEXUS_DIR\u002Fproxy.mjs\" \"$GITNEXUS_DIR\u002Fgitnexus-web\u002Fdist\" 8888 &\n```\n\nVerify: `curl -s http:\u002F\u002Flocalhost:8888\u002Fapi\u002Frepos` should return the indexed repo(s).\n\n### 6. Tunnel with Cloudflare (optional — for remote access)\n\n```bash\n# Install cloudflared if needed (no sudo)\nif ! command -v cloudflared &>\u002Fdev\u002Fnull; then\n  mkdir -p ~\u002F.local\u002Fbin\n  curl -sL https:\u002F\u002Fgithub.com\u002Fcloudflare\u002Fcloudflared\u002Freleases\u002Flatest\u002Fdownload\u002Fcloudflared-linux-amd64 \\\n    -o ~\u002F.local\u002Fbin\u002Fcloudflared\n  chmod +x ~\u002F.local\u002Fbin\u002Fcloudflared\n  export PATH=\"$HOME\u002F.local\u002Fbin:$PATH\"\nfi\n\n# Start tunnel (--config \u002Fdev\u002Fnull avoids conflicts with existing named tunnels)\ncloudflared tunnel --config \u002Fdev\u002Fnull --url http:\u002F\u002Flocalhost:8888 --no-autoupdate --protocol http2\n```\n\nThe tunnel URL (e.g., `https:\u002F\u002Frandom-words.trycloudflare.com`) is printed to stderr.\nShare it — anyone with the link can explore the graph.\n\n### 7. Cleanup\n\n```bash\n# Stop services\npkill -f \"gitnexus serve\"\npkill -f \"proxy.mjs\"\npkill -f cloudflared\n\n# Remove index from the target repo\ncd \u002Fpath\u002Fto\u002Ftarget-repo\nnpx gitnexus clean\nrm -rf .claude\u002F\n```\n\n## Pitfalls\n\n- **`--config \u002Fdev\u002Fnull` is required for cloudflared** if the user has an existing\n  named tunnel config at `~\u002F.cloudflared\u002Fconfig.yml`. Without it, the catch-all\n  ingress rule in the config returns 404 for all quick tunnel requests.\n\n- **Production build is mandatory for tunneling.** The Vite dev server blocks\n  non-localhost hosts by default (`allowedHosts`). The production build + Node\n  proxy avoids this entirely.\n\n- **The web UI does NOT create `.claude\u002F` or `CLAUDE.md`.** Those are created by\n  `npx gitnexus analyze`. Use `--skip-agents-md` to suppress the markdown files,\n  then `rm -rf .claude\u002F` for the rest. These are Claude Code integrations that\n  yousef-sovereign-core users don't need.\n\n- **Browser memory limit.** The web UI loads the entire graph into browser memory.\n  Repos with 5k+ files may be sluggish. 30k+ files will likely crash the tab.\n\n- **Embeddings are optional.** `--embeddings` enables semantic search but takes\n  minutes on large repos. Skip it for quick exploration; add it if you want\n  natural language queries via the AI chat panel.\n\n- **Multiple repos.** `gitnexus serve` serves ALL indexed repos. Index several\n  repos, start serve once, and the web UI lets you switch between them.\n",{"name":5,"author":48,"license":14,"version":49,"metadata":50,"description":7},"YOUSEF SHTIWE + Teknium","1.0.0",{"hermes":51},{"tags":52,"related_skills":53},[23,28,36,42],[54,55],"native-mcp","codebase-inspection","main","6746276ba18cb774853eb61b3b9399658bc9bc5c","core\u002Fhermes-agent\u002Foptional-skills\u002Fresearch\u002Fgitnexus-explorer","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch","2026-04-28 17:01:03",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill gitnexus-explorer",{"tool":68,"command":69},"bunx","bunx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill gitnexus-explorer",{"tool":71,"command":72},"pnpm","pnpm dlx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill gitnexus-explorer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Foptional-skills\u002Fresearch\u002Fgitnexus-explorer\u002FSKILL.md",true,[76],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"scripts\u002Fproxy.mjs","SCRIPT","脚本",2717,"https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Foptional-skills\u002Fresearch\u002Fgitnexus-explorer\u002Fscripts\u002Fproxy.mjs",[83,123,148,165,182,201],{"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":103,"publishedAt":43},"01M71QG27G1R2H2ZWEG4S0WTZT","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[89,92,95,100],{"categoryNo":90,"categoryName":91,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":93,"categoryName":94,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":101,"categoryName":102,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000036","内容创作者",[104,105,106,107,108,109,110,111,41,112,113,114,115,116,117,118,119,120,121,122],"writing","writing plans","plans","test-driven","test-driven-development","superpowers","design","workflow","tasks","subagent","code-review","review","documentation","write","paths","planning","development","test","implementation",{"skillNo":124,"name":108,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":134,"publishedAt":43},"01M71QFZYRTJXMAE551MRAKZ14","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[128,131],{"categoryNo":129,"categoryName":130,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":132,"categoryName":133,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",[135,120,121,136,137,138,139,109,104,140,41,113,141,142,143,144,145,106,146,147],"test driven development","driven","green","red-green-refactor","testing","debugging","systematic","refactor","systematic-debugging","enforce","tests","tdd","quality",{"skillNo":149,"name":143,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":154,"publishedAt":43},"01M71QFWR5Q8EYEQ6MCS3SM6MC","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[153],{"categoryNo":132,"categoryName":133,"taxonomyType":20,"taxonomyTypeDesc":21},[155,140,141,107,156,157,108,109,104,113,158,159,120,160,106,161,121,162,163,164],"systematic debugging","problem","problem-solving","phase","bugs","root cause","root-cause","investigation","understand","hermes",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":174,"publishedAt":43},"01M71QFS9S04MD8JP747W5WM0N","subagent-driven-development","Execute plans via delegate_task subagents (2-stage review).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[171,172,173],{"categoryNo":93,"categoryName":94,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":101,"categoryName":102,"taxonomyType":98,"taxonomyTypeDesc":99},[175,113,120,136,107,108,176,177,109,104,111,41,114,115,178,179,106,180,181,121],"subagent driven development","delegate","delegation","subagents","parallel","stage","task",{"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":43},"01M71QFQ1DBCVAZ511MXFE6T2V","requesting-code-review","Pre-commit review: security scan, quality gates, auto-fix.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[188,189],{"categoryNo":129,"categoryName":130,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[191,192,41,115,107,108,193,194,109,195,104,196,197,113,114,198,199,120,200,106],"code review","requesting code review","fix","auto-fix","auto","security scan","commit","verification","security","scan",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":208,"publishedAt":43},"01M71QFM7KWM540YR67FRN807Q","python-debugpy","Debug Python: pdb REPL + debugpy remote (DAP).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fpython-debugpy\u002FSKILL.md",[207],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[209,210,211,212,213,214,215,216,140,141,217,218,219,143,220,221,222,223,164,224],"debugpy","python debugpy","python","dap","inspect","post-mortem","pdb","remote","debugger","node","commands","debug","post","breakpoints","node-inspect","tui"]