[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CWN8DF9JVW4CWPJRA7MB5V":3,"skill-same:01M6CWN8DF9JVW4CWPJRA7MB5V":90},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"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":67,"commitSha":68,"skillDirectory":69,"forksCount":70,"repositoryHtmlUrl":71,"repositoryHomepageUrl":72,"ownerHtmlUrl":73,"ownerBlogUrl":6,"ownerDescription":74,"updatedAt":75,"install":76,"resources":89},"01M6CWN8DF9JVW4CWPJRA7MB5V","debug-hub",null,"Evidence-first debugging WITH MCP tools. Use when debug_hub MCP server is available. Inject log calls, collect via HTTP API (port 39200), analyze through MCP tools, clean up when done. If debug_hub MCP is unavailable, use `debug` skill (bundled Python collector) instead.","rexleimo\u002Faios","rexleimo","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11493796?v=4","01M6CWKTCXA8E158HVHMGAD9B5","01M6CWKTGWTT9MMTDYQ4B61CGQ",62,"MIT","https:\u002F\u002Fgithub.com\u002Frexleimo\u002Faios\u002Fblob\u002Fmain\u002Fskill-sources\u002Fdebug-hub\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],"debug hub","debug","hub","opencode","zcode","qoder","project","with mcp","done","clean","log","MCP","up","analyze","api","Tools","server","verification","debugging","mcp server","2026-11-10 10:12:30",false,"---\nname: debug-hub\ndescription: Evidence-first debugging WITH MCP tools. Use when debug_hub MCP server is available. Inject log calls, collect via HTTP API (port 39200), analyze through MCP tools, clean up when done. If debug_hub MCP is unavailable, use `debug` skill (bundled Python collector) instead.\n\ninstallCatalogName: debug-hub\nclients: [codex, claude, gemini, opencode, hermes, workbuddy, pi, zcode, qoder]\nscopes: [global, project]\ndefaultInstall:\n  global: false\n  project: false\ntags: [general, debug, verification]\nrepoTargets: [codex, claude, gemini, opencode, hermes, agents, workbuddy, pi, zcode, qoder]\n---\n\n# Debug-Hub\n\nWorking directory: any (scripts run from project root by convention)\n\nEvidence-first debugging: inject zero-dependency log calls, collect via debug-hub HTTP API, analyze through MCP tools, strip all injected code when done.\n\n## Inline Reporter\n\nInject once at the top of the first file you modify. Node 18+ \u002F modern browsers, zero npm deps:\n\n```js\nconst __dh=async(m,d)=>{try{await fetch('http:\u002F\u002F127.0.0.1:39200\u002Fapi\u002Flogs\u002Fsingle',{method:'POST',headers:{'Content-Type':'application\u002Fjson'},body:JSON.stringify({id:crypto.randomUUID(),timestamp:Date.now(),level:'debug',message:m,data:d,sdk:{name:'dh',version:'1',runtime:'node'}})})}catch{}}\n```\n\n**Python target?** Use the `debug` skill instead — it bundles a Python collector that sends to the same debug-hub API. This applies regardless of whether debug_hub MCP is available; the `__dh` helper is JavaScript-only.\n\n## Marker Convention\n\nEvery injected debug line carries `DH:\u003CsessionId>`. Cleanup strips any line containing this string.\n\n```js\n__dh('DH:sess-abc user state', {user});\n__dh('DH:sess-abc payment duration', {ms: Date.now()-t0});\n```\n\n## MCP Tools\n\n| Tool | What it does |\n|------|--------------|\n| `debug_hub.start_session { objective }` | Start session, returns `sessionId` |\n| `debug_hub.instrument { sessionId, files: [{path, lineCount}] }` | Track files with injected debug code |\n| `debug_hub.search_logs { keyword, level, since, traceId }` | Query collected runtime logs |\n| `debug_hub.get_stats` | Error counts, level breakdown |\n| `debug_hub.cleanup_instruments { sessionId, dryRun?, workspace? }` | Remove all injected debug lines |\n\nOther tools: `list_traces`, `get_trace`, `compact_context`, `health` — see MCP tool list.\n\n## When NOT to Use This Skill\n\nDebug-hub is for **runtime bugs** where you can reproduce the issue and need to observe variable state, timing, or control flow at runtime. Do NOT use debug-hub for:\n\n- **Compile-time \u002F type errors**: TypeScript type errors, syntax errors, lint failures — read the error message and fix the code directly. No runtime injection needed.\n- **CI\u002FCD platform differences**: Path separators, case sensitivity, missing dependencies in CI — inspect CI logs and config files, not runtime state.\n- **Configuration \u002F matching rule problems**: Skill trigger conflicts, wrong config values, permission misconfig — read and fix the config files directly.\n- **Non-JavaScript environments**: The `__dh` helper requires Node 18+ or browser `fetch`. For Python, use the `debug` skill (bundled Python collector) instead. For other languages, use platform-native debug tools.\n\nWhen a bug doesn't fit debug-hub's scope, state why explicitly and switch to the appropriate approach rather than forcing the injection workflow.\n\n## Workflow\n\n1. **Start**: `debug_hub.start_session { objective: \"...\" }` — note the `sessionId`\n2. **Hypothesize**: 3-5 testable hypotheses about root cause\n3. **Inject**: write `__dh` helper + marked log calls, one per hypothesis\n   - CRG (if codemap installed): `semantic_search_nodes(query=\"\u003Cerror-related term>\")` → `query_graph(pattern=\"callees_of\", target=\"\u003Csuspected function>\")` → `detect_changes(base=\"HEAD~5\")` for structural evidence before injecting\n4. **Record**: `debug_hub.instrument { sessionId, files: [{path, lineCount}] }` — use absolute paths\n5. **Reproduce**: ask user to run the failing scenario\n6. **Analyze**: `debug_hub.search_logs { keyword: \"\u003CsessionId>\" }` → CONFIRMED\u002FREJECTED\u002FINCONCLUSIVE\n7. **Fix**: apply only after logs prove root cause; keep instrumentation\n8. **Verify**: user reproduces again, compare before\u002Fafter\n9. **Cleanup**: `dryRun: true` first, then execute `debug_hub.cleanup_instruments { sessionId }`\n\nCleanup has two modes:\n- **Explicit**: uses instrument records → fast, precise\n- **Discovery**: `{ sessionId, workspace: \"\u002Fproject\u002Froot\" }` → greps filesystem, fallback when agent forgot `instrument`\n\n## Guardrails\n\n- MUST NOT log secrets, tokens, passwords, API keys, PII, or session cookies\n- 2-10 log calls max, each mapped to a hypothesis\n- MUST run `dryRun: true` before executing cleanup\n- MUST NOT remove instrumentation before post-fix verification succeeds\n- MUST NOT leave injected code behind; the `__dh` helper and every call site must go\n- `try\u002Fcatch` in `__dh` = target app keeps running if debug-hub is down\n","# Debug-Hub\n\nWorking directory: any (scripts run from project root by convention)\n\nEvidence-first debugging: inject zero-dependency log calls, collect via debug-hub HTTP API, analyze through MCP tools, strip all injected code when done.\n\n## Inline Reporter\n\nInject once at the top of the first file you modify. Node 18+ \u002F modern browsers, zero npm deps:\n\n```js\nconst __dh=async(m,d)=>{try{await fetch('http:\u002F\u002F127.0.0.1:39200\u002Fapi\u002Flogs\u002Fsingle',{method:'POST',headers:{'Content-Type':'application\u002Fjson'},body:JSON.stringify({id:crypto.randomUUID(),timestamp:Date.now(),level:'debug',message:m,data:d,sdk:{name:'dh',version:'1',runtime:'node'}})})}catch{}}\n```\n\n**Python target?** Use the `debug` skill instead — it bundles a Python collector that sends to the same debug-hub API. This applies regardless of whether debug_hub MCP is available; the `__dh` helper is JavaScript-only.\n\n## Marker Convention\n\nEvery injected debug line carries `DH:\u003CsessionId>`. Cleanup strips any line containing this string.\n\n```js\n__dh('DH:sess-abc user state', {user});\n__dh('DH:sess-abc payment duration', {ms: Date.now()-t0});\n```\n\n## MCP Tools\n\n| Tool | What it does |\n|------|--------------|\n| `debug_hub.start_session { objective }` | Start session, returns `sessionId` |\n| `debug_hub.instrument { sessionId, files: [{path, lineCount}] }` | Track files with injected debug code |\n| `debug_hub.search_logs { keyword, level, since, traceId }` | Query collected runtime logs |\n| `debug_hub.get_stats` | Error counts, level breakdown |\n| `debug_hub.cleanup_instruments { sessionId, dryRun?, workspace? }` | Remove all injected debug lines |\n\nOther tools: `list_traces`, `get_trace`, `compact_context`, `health` — see MCP tool list.\n\n## When NOT to Use This Skill\n\nDebug-hub is for **runtime bugs** where you can reproduce the issue and need to observe variable state, timing, or control flow at runtime. Do NOT use debug-hub for:\n\n- **Compile-time \u002F type errors**: TypeScript type errors, syntax errors, lint failures — read the error message and fix the code directly. No runtime injection needed.\n- **CI\u002FCD platform differences**: Path separators, case sensitivity, missing dependencies in CI — inspect CI logs and config files, not runtime state.\n- **Configuration \u002F matching rule problems**: Skill trigger conflicts, wrong config values, permission misconfig — read and fix the config files directly.\n- **Non-JavaScript environments**: The `__dh` helper requires Node 18+ or browser `fetch`. For Python, use the `debug` skill (bundled Python collector) instead. For other languages, use platform-native debug tools.\n\nWhen a bug doesn't fit debug-hub's scope, state why explicitly and switch to the appropriate approach rather than forcing the injection workflow.\n\n## Workflow\n\n1. **Start**: `debug_hub.start_session { objective: \"...\" }` — note the `sessionId`\n2. **Hypothesize**: 3-5 testable hypotheses about root cause\n3. **Inject**: write `__dh` helper + marked log calls, one per hypothesis\n   - CRG (if codemap installed): `semantic_search_nodes(query=\"\u003Cerror-related term>\")` → `query_graph(pattern=\"callees_of\", target=\"\u003Csuspected function>\")` → `detect_changes(base=\"HEAD~5\")` for structural evidence before injecting\n4. **Record**: `debug_hub.instrument { sessionId, files: [{path, lineCount}] }` — use absolute paths\n5. **Reproduce**: ask user to run the failing scenario\n6. **Analyze**: `debug_hub.search_logs { keyword: \"\u003CsessionId>\" }` → CONFIRMED\u002FREJECTED\u002FINCONCLUSIVE\n7. **Fix**: apply only after logs prove root cause; keep instrumentation\n8. **Verify**: user reproduces again, compare before\u002Fafter\n9. **Cleanup**: `dryRun: true` first, then execute `debug_hub.cleanup_instruments { sessionId }`\n\nCleanup has two modes:\n- **Explicit**: uses instrument records → fast, precise\n- **Discovery**: `{ sessionId, workspace: \"\u002Fproject\u002Froot\" }` → greps filesystem, fallback when agent forgot `instrument`\n\n## Guardrails\n\n- MUST NOT log secrets, tokens, passwords, API keys, PII, or session cookies\n- 2-10 log calls max, each mapped to a hypothesis\n- MUST run `dryRun: true` before executing cleanup\n- MUST NOT remove instrumentation before post-fix verification succeeds\n- MUST NOT leave injected code behind; the `__dh` helper and every call site must go\n- `try\u002Fcatch` in `__dh` = target app keeps running if debug-hub is down\n",{"name":5,"tags":53,"scopes":55,"clients":57,"description":7,"repoTargets":64,"defaultInstall":66,"installCatalogName":5},[54,29,45],"general",[56,34],"global",[58,59,60,31,61,62,63,32,33],"codex","claude","gemini","hermes","workbuddy","pi",[58,59,60,31,61,65,62,63,32,33],"agents",{"global":49,"project":49},"main","125f0c919bcb02c316fd4dcbf10e555fad7ac852","skill-sources\u002Fdebug-hub",11,"https:\u002F\u002Fgithub.com\u002Frexleimo\u002Faios","https:\u002F\u002Fcli.rexai.top\u002F","https:\u002F\u002Fgithub.com\u002Frexleimo","Quickly build your laravel environment","2026-11-07 23:34:17",{"source":8,"skillName":5,"commands":77,"prompt":87,"zipAvailable":88},[78,81,84],{"tool":79,"command":80},"npx","npx skills add rexleimo\u002Faios --skill debug-hub",{"tool":82,"command":83},"bunx","bunx skills add rexleimo\u002Faios --skill debug-hub",{"tool":85,"command":86},"pnpm","pnpm dlx skills add rexleimo\u002Faios --skill debug-hub","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frexleimo\u002Faios\u002Fblob\u002Fmain\u002Fskill-sources\u002Fdebug-hub\u002FSKILL.md",true,[],[91,111,126,147,169,188],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":48},"01M6CWQB49G29K3K6DEVQDA61G","versioning-by-impact","Use when completing a task and deciding whether repository changes require a semantic version bump and changelog entry before commit\u002Fpush.","https:\u002F\u002Fgithub.com\u002Frexleimo\u002Faios\u002Fblob\u002Fmain\u002Fskill-sources\u002Fversioning-by-impact\u002FSKILL.md",[],[98,99,60,100,101,102,103,104,105,63,106,107,31,108,54,109,110,34,33,32],"versioning","versioning by impact","commit","release","changelog","push","repository","changelog entry","use","version","bump","version bump","task",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":118,"publishedAt":48},"01M6CWQ8HA0ZDKAKS0VFXJZ6TW","verification-loop","Evidence-before-assertions workflow. Use before claiming work is done, before release, and after any behavior change in scripts\u002Fskills\u002FMCP.","https:\u002F\u002Fgithub.com\u002Frexleimo\u002Faios\u002Fblob\u002Fmain\u002Fskill-sources\u002Fverification-loop\u002FSKILL.md",[117],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[45,119,120,39,60,58,121,122,101,123,124,63,106,125,31,54,36,34,33,32],"loop","verification loop","workflow","change","work","behavior","evidence",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":134,"publishedAt":48},"01M6CWQ5A61P9QTRK4HRV76MT3","typesafe-ai","Build AI-powered software with TypeSafe: small units of AI intelligence you can use like programming primitives. Its System One models, including Jev, turn natural language and application state into typed judgments and probabilities that code can combine. Use when a feature needs programmable common sense, when brainstorming what AI could make possible in an app, or when an LLM prompt-and-parse step could become a structured decision. Applications include routing, ranking, extraction, verification, and interactive experiences; these are starting points, not the limits. Read live docs and cookbooks to find useful patterns and discover new combinations.","https:\u002F\u002Fgithub.com\u002Frexleimo\u002Faios\u002Fblob\u002Fmain\u002Fskill-sources\u002Ftypesafe-ai\u002FSKILL.md",[132,133],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[135,60,136,45,137,138,139,140,63,141,31,142,143,144,34,145,33,32,146,128],"typesafe ai","code","system","decision","common","read","primitives","patterns","natural language","intelligence","discover","aios",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":154,"publishedAt":48},"01M6CWQ1HAVFV6KQ0CR549Y9AP","skill-opt-lite","Train and optimize skill documents using the SkillOpt methodology — the agent acts as both target and optimizer, running tasks, reflecting on failures, proposing edits, and validating improvements in a self-contained training loop. TRIGGER: optimize skill, train skill, improve skill, skill training, skill optimization, SkillOpt, skill evolution, skill iteration loop, skill feedback loop, skill tuning.","https:\u002F\u002Fgithub.com\u002Frexleimo\u002Faios\u002Fblob\u002Fmain\u002Fskill-sources\u002Fskill-opt-lite\u002FSKILL.md",[153],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[155,60,156,157,158,159,160,161,162,119,163,31,164,165,166,34,33,32,167,168],"skill opt lite","documents","training","tasks","improve skill","Optimization","tuning","improve","feedback","optimize","self","optimizer","SkillOpt","iteration",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":176,"publishedAt":48},"01M6CWPX0C8XBBD225VBJRJWSA","skill-constraints","Enforce browser automation safety constraints — tool usage order, anti-detection rules, screenshot discipline, and human-in-the-loop checks. Use when setting up or verifying browser\u002FMCP tool operations, NOT for every skill execution.","https:\u002F\u002Fgithub.com\u002Frexleimo\u002Faios\u002Fblob\u002Fmain\u002Fskill-sources\u002Fskill-constraints\u002FSKILL.md",[175],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[177,178,39,179,60,180,181,182,183,119,184,63,185,40,31,186,187,34,33,32],"constraints","skill constraints","browser automation","browser","screenshot","Safety","human-in-the-loop","tool","discipline","enforce","human",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":201,"publishedAt":48},"01M6CWPS77PTTK17X8PNJE9RVF","seo-geo-page-optimization","Use when improving a single page for SEO and AI answer-engine visibility (GEO), especially when you need faster first-screen conversion and clearer traffic funnels.","https:\u002F\u002Fgithub.com\u002Frexleimo\u002Faios\u002Fblob\u002Fmain\u002Fskill-sources\u002Fseo-geo-page-optimization\u002FSKILL.md",[194,197,198],{"categoryNo":195,"categoryName":196,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000019","营销推广",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":199,"categoryName":200,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000035","市场营销",[160,202,203,204,205,206,60,58,207,208,209,61,56,63,106,31,210,34,33,32],"seo","page","seo geo","geo","seo geo page optimization","content","first","engine","conversion"]