@runweave/server-linux-x64 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/manifest.json +1487 -156
- package/native.tar.gz +0 -0
- package/package.json +1 -1
- package/payload/.agents/plugins/marketplace.json +20 -0
- package/payload/app-server/build-info.json +3 -3
- package/payload/app-server/index.cjs +1 -1
- package/payload/backend/build-info.json +4 -4
- package/payload/backend/index.cjs +2416 -1684
- package/payload/backend/ios-simulators/pool.py +3 -3
- package/payload/backend/scheduled-tasks-sqlite-worker.cjs +224 -171
- package/payload/frontend/dist/assets/{_baseUniq-i1Ki3twP.js → _baseUniq-qHFga5V8.js} +1 -1
- package/payload/frontend/dist/assets/{access-DK9V0f3W.js → access-DgHvmn15.js} +1 -1
- package/payload/frontend/dist/assets/{advanced-B13lWv1d.js → advanced-C1Fh14vw.js} +1 -1
- package/payload/frontend/dist/assets/{appearance-DumRYmkD.js → appearance-Bs7cSXqO.js} +1 -1
- package/payload/frontend/dist/assets/{arc-HKn3_xyV.js → arc-E3iYHQG_.js} +1 -1
- package/payload/frontend/dist/assets/{architectureDiagram-Q4EWVU46-C09x7b94.js → architectureDiagram-Q4EWVU46-DgpYpTb9.js} +1 -1
- package/payload/frontend/dist/assets/{blockDiagram-DXYQGD6D-CFLFTR6d.js → blockDiagram-DXYQGD6D-CfFOEKZ7.js} +1 -1
- package/payload/frontend/dist/assets/{c4Diagram-AHTNJAMY-8P8Q-xqC.js → c4Diagram-AHTNJAMY-BxlHBUj3.js} +1 -1
- package/payload/frontend/dist/assets/channel-amxyNKnk.js +1 -0
- package/payload/frontend/dist/assets/{chunk-4BX2VUAB-B1KEkTal.js → chunk-4BX2VUAB-xWocgDo8.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-4TB4RGXK-Bu_Z47kJ.js → chunk-4TB4RGXK-Bl1cNICf.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-55IACEB6-xzHVCHyi.js → chunk-55IACEB6-DVtE836u.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-EDXVE4YY-h3HAW06h.js → chunk-EDXVE4YY-Dbd3tDCr.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-FMBD7UC4-CQ4faPSh.js → chunk-FMBD7UC4-MPJaTsyN.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-OYMX7WX6-CubmLoGT.js → chunk-OYMX7WX6-D3LuudlW.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-QZHKN3VN-xk0zKNja.js → chunk-QZHKN3VN-Dn1aF6iQ.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-YZCP3GAM-CHpTv8sd.js → chunk-YZCP3GAM-jZYbHnCw.js} +1 -1
- package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-B8cTijjT.js +1 -0
- package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-B8cTijjT.js +1 -0
- package/payload/frontend/dist/assets/clone-xzI2eGRI.js +1 -0
- package/payload/frontend/dist/assets/connection-V2iI-6rM.js +12 -0
- package/payload/frontend/dist/assets/{connections-A7InZw2T.js → connections-G_Q7342g.js} +1 -1
- package/payload/frontend/dist/assets/{cose-bilkent-S5V4N54A-CQn27vi_.js → cose-bilkent-S5V4N54A-75FLD3RS.js} +1 -1
- package/payload/frontend/dist/assets/{dagre-KV5264BT-CClOwB9v.js → dagre-KV5264BT-DEm-DpJL.js} +1 -1
- package/payload/frontend/dist/assets/{desktop-BgryfXXM.js → desktop-g5JC-CQd.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-5BDNPKRD-DcUJOAmV.js → diagram-5BDNPKRD-BV6P2UTy.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-G4DWMVQ6-DdabmTwk.js → diagram-G4DWMVQ6-DuCK-MM2.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-MMDJMWI5-DmcxjBIk.js → diagram-MMDJMWI5-D5_GlPgO.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-TYMM5635-BUSpXaiN.js → diagram-TYMM5635-QRbOYR1P.js} +1 -1
- package/payload/frontend/dist/assets/{erDiagram-SMLLAGMA-vkAXcv5_.js → erDiagram-SMLLAGMA-DefCheAw.js} +1 -1
- package/payload/frontend/dist/assets/{flowDiagram-DWJPFMVM-BHDU7BUJ.js → flowDiagram-DWJPFMVM-DVzyWIso.js} +1 -1
- package/payload/frontend/dist/assets/{ganttDiagram-T4ZO3ILL-C3lAG7_6.js → ganttDiagram-T4ZO3ILL-BJaClUEF.js} +1 -1
- package/payload/frontend/dist/assets/{gitGraphDiagram-UUTBAWPF-DHLyYJf7.js → gitGraphDiagram-UUTBAWPF-BLfbApNz.js} +1 -1
- package/payload/frontend/dist/assets/{graph-Bp5bIzXM.js → graph-C-YqFh68.js} +1 -1
- package/payload/frontend/dist/assets/{image-DkcKNLTV.js → image-CZo_2Awc.js} +1 -1
- package/payload/frontend/dist/assets/{index-BUS7FSlk.js → index-6q2aeqkt.js} +95 -105
- package/payload/frontend/dist/assets/{infoDiagram-42DDH7IO-CVp9zvmA.js → infoDiagram-42DDH7IO-BakVOutT.js} +1 -1
- package/payload/frontend/dist/assets/{ishikawaDiagram-UXIWVN3A-D07QPX3O.js → ishikawaDiagram-UXIWVN3A-D_1Oa5Dc.js} +1 -1
- package/payload/frontend/dist/assets/{journeyDiagram-VCZTEJTY-D-iZPDHM.js → journeyDiagram-VCZTEJTY-Y8TVFv6B.js} +1 -1
- package/payload/frontend/dist/assets/{kanban-definition-6JOO6SKY-BR4eWb08.js → kanban-definition-6JOO6SKY-DxeNhTIB.js} +1 -1
- package/payload/frontend/dist/assets/{layout-Cyv0DyJm.js → layout-5cMeOTAp.js} +1 -1
- package/payload/frontend/dist/assets/{linear-D5M7Pvj1.js → linear-Bnc3ev5g.js} +1 -1
- package/payload/frontend/dist/assets/main-3TPtEl66.js +706 -0
- package/payload/frontend/dist/assets/main-D4_uoZQa.css +33 -0
- package/payload/frontend/dist/assets/{min-BFlloFGg.js → min-BRXKkrS8.js} +1 -1
- package/payload/frontend/dist/assets/{mindmap-definition-QFDTVHPH-AKUF178o.js → mindmap-definition-QFDTVHPH-RYZO_BEr.js} +1 -1
- package/payload/frontend/dist/assets/{monitoring-B2okceCB.js → monitoring-Fv7kZ4s6.js} +1 -1
- package/payload/frontend/dist/assets/{notifications-0lql4_qJ.js → notifications-BzrYqyMH.js} +1 -1
- package/payload/frontend/dist/assets/{pieDiagram-DEJITSTG-CRiHmwn7.js → pieDiagram-DEJITSTG-Bzw0dhjz.js} +1 -1
- package/payload/frontend/dist/assets/{quadrantDiagram-34T5L4WZ-CzXrq7IJ.js → quadrantDiagram-34T5L4WZ-CQJY_msa.js} +1 -1
- package/payload/frontend/dist/assets/{record-content-DTCQKbEj.js → record-content-B7-6olQt.js} +1 -1
- package/payload/frontend/dist/assets/{requirementDiagram-MS252O5E-Bbn5ulLV.js → requirementDiagram-MS252O5E-DuP8hAV8.js} +1 -1
- package/payload/frontend/dist/assets/{sankeyDiagram-XADWPNL6-D9ZZ46pQ.js → sankeyDiagram-XADWPNL6-D-fQnCZZ.js} +1 -1
- package/payload/frontend/dist/assets/{sequenceDiagram-FGHM5R23-DxOP2gDa.js → sequenceDiagram-FGHM5R23-DaZNEccV.js} +1 -1
- package/payload/frontend/dist/assets/{stateDiagram-FHFEXIEX-NF_Qq5Cq.js → stateDiagram-FHFEXIEX-CkOLt5R1.js} +1 -1
- package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-atg1K4nB.js +1 -0
- package/payload/frontend/dist/assets/{status-2U71YpVe.js → status-CIIPajZp.js} +1 -1
- package/payload/frontend/dist/assets/suiji-C453W-Sg.js +1 -0
- package/payload/frontend/dist/assets/{svg-DpI3GSCw.js → svg-BUqAWGtg.js} +1 -1
- package/payload/frontend/dist/assets/{tabs-CYKuiiHg.js → tabs-Cwlp1Meu.js} +1 -1
- package/payload/frontend/dist/assets/{timeline-definition-GMOUNBTQ-ChEZSNF_.js → timeline-definition-GMOUNBTQ-BOKDMwHS.js} +1 -1
- package/payload/frontend/dist/assets/{vennDiagram-DHZGUBPP-Ch26SNbB.js → vennDiagram-DHZGUBPP-fSZjDS41.js} +1 -1
- package/payload/frontend/dist/assets/{wardley-RL74JXVD-D0ap5vv0.js → wardley-RL74JXVD-D1KIsvoD.js} +1 -1
- package/payload/frontend/dist/assets/{wardleyDiagram-NUSXRM2D-btdjsmHO.js → wardleyDiagram-NUSXRM2D-FMe67dwE.js} +1 -1
- package/payload/frontend/dist/assets/{xychartDiagram-5P7HB3ND-CklPtFGT.js → xychartDiagram-5P7HB3ND-B9AM9_9w.js} +1 -1
- package/payload/frontend/dist/build-info.json +4 -4
- package/payload/frontend/dist/companion.html +1 -1
- package/payload/frontend/dist/index.html +3 -3
- package/payload/packages/agent-bridge/src/install-pi.mjs +81 -0
- package/payload/plugins/pi/dist/SKILL.md +22 -0
- package/payload/plugins/pi/dist/bridge/app-server-client.cjs +82 -0
- package/payload/plugins/pi/dist/bridge/feishu_stop_notify.sh +169 -0
- package/payload/plugins/pi/dist/bridge/runweave-hook-bridge.cjs +583 -0
- package/payload/plugins/pi/dist/bridge/runweave-hook-completion.cjs +42 -0
- package/payload/plugins/pi/dist/bridge/runweave-hook-payload.cjs +578 -0
- package/payload/plugins/pi/dist/bridge/runweave-task-supervision.cjs +167 -0
- package/payload/plugins/pi/dist/runweave.js +316 -0
- package/payload/plugins/toolkit/.codex-plugin/plugin.json +31 -0
- package/payload/plugins/toolkit/README.md +185 -0
- package/payload/plugins/toolkit/hooks/AGENTS.md +6 -0
- package/payload/plugins/toolkit/hooks/app-server-client.cjs +82 -0
- package/payload/plugins/toolkit/hooks/feishu_stop_notify.sh +169 -0
- package/payload/plugins/toolkit/hooks/runweave-hook-bridge.cjs +583 -0
- package/payload/plugins/toolkit/hooks/runweave-hook-completion.cjs +42 -0
- package/payload/plugins/toolkit/hooks/runweave-hook-dispatch.cjs +123 -0
- package/payload/plugins/toolkit/hooks/runweave-hook-payload.cjs +578 -0
- package/payload/plugins/toolkit/hooks/runweave-task-supervision.cjs +167 -0
- package/payload/plugins/toolkit/hooks.json +108 -0
- package/payload/plugins/toolkit/skills/acceptance/SKILL.md +70 -0
- package/payload/plugins/toolkit/skills/acceptance/agents/openai.yaml +4 -0
- package/payload/plugins/toolkit/skills/acceptance/references/capture.md +38 -0
- package/payload/plugins/toolkit/skills/acceptance/references/delivery.md +54 -0
- package/payload/plugins/toolkit/skills/acceptance/references/gallery-contract.md +84 -0
- package/payload/plugins/toolkit/skills/acceptance/references/gallery-copy.md +34 -0
- package/payload/plugins/toolkit/skills/acceptance/references/video.md +52 -0
- package/payload/plugins/toolkit/skills/acceptance/scripts/capture.py +137 -0
- package/payload/plugins/toolkit/skills/acceptance/scripts/common.py +63 -0
- package/payload/plugins/toolkit/skills/acceptance/scripts/gallery.py +353 -0
- package/payload/plugins/toolkit/skills/acceptance/scripts/preview.py +109 -0
- package/payload/plugins/toolkit/skills/acceptance/scripts/video.py +283 -0
- package/payload/plugins/toolkit/skills/acceptance/templates/reader.css +576 -0
- package/payload/plugins/toolkit/skills/acceptance/templates/reader.html +63 -0
- package/payload/plugins/toolkit/skills/acceptance/templates/reader.js +326 -0
- package/payload/plugins/toolkit/skills/acceptance/templates/viewer.css +55 -0
- package/payload/plugins/toolkit/skills/acceptance-gallery/SKILL.md +8 -0
- package/payload/plugins/toolkit/skills/acceptance-gallery/agents/openai.yaml +6 -0
- package/payload/plugins/toolkit/skills/acceptance-gallery/references/capture-and-copy.md +3 -0
- package/payload/plugins/toolkit/skills/acceptance-gallery/references/content-contract.md +3 -0
- package/payload/plugins/toolkit/skills/acceptance-gallery/scripts/gallery.py +9 -0
- package/payload/plugins/toolkit/skills/acceptance-video/SKILL.md +8 -0
- package/payload/plugins/toolkit/skills/acceptance-video/agents/openai.yaml +6 -0
- package/payload/plugins/toolkit/skills/acceptance-video/references/input-and-capture.md +3 -0
- package/payload/plugins/toolkit/skills/acceptance-video/references/mobile-review.md +3 -0
- package/payload/plugins/toolkit/skills/acceptance-video/scripts/capture.py +9 -0
- package/payload/plugins/toolkit/skills/acceptance-video/scripts/video.py +9 -0
- package/payload/plugins/toolkit/skills/agent-device/SKILL.md +86 -0
- package/payload/plugins/toolkit/skills/agent-device/agents/openai.yaml +4 -0
- package/payload/plugins/toolkit/skills/agent-device/references/ios-setup.md +36 -0
- package/payload/plugins/toolkit/skills/agent-device/scripts/device.py +398 -0
- package/payload/plugins/toolkit/skills/agent-device/scripts/resources.py +248 -0
- package/payload/plugins/toolkit/skills/architecture-flow-prototyping/SKILL.md +128 -0
- package/payload/plugins/toolkit/skills/architecture-flow-prototyping/agents/openai.yaml +4 -0
- package/payload/plugins/toolkit/skills/architecture-flow-prototyping/references/architecture-flow-checklist.md +59 -0
- package/payload/plugins/toolkit/skills/architecture-flow-prototyping/references/architecture-flow-guide.md +135 -0
- package/payload/plugins/toolkit/skills/architecture-flow-prototyping/references/architecture-flow-handoff-template.md +57 -0
- package/payload/plugins/toolkit/skills/ask-first/SKILL.md +81 -0
- package/payload/plugins/toolkit/skills/brainstorming/SKILL.md +41 -0
- package/payload/plugins/toolkit/skills/browse-record/SKILL.md +35 -0
- package/payload/plugins/toolkit/skills/browse-record/references/app-usage.md +19 -0
- package/payload/plugins/toolkit/skills/browse-record/references/daily-reporting.md +115 -0
- package/payload/plugins/toolkit/skills/browse-record/references/zhihu.md +33 -0
- package/payload/plugins/toolkit/skills/browse-record/scripts/app_usage.py +110 -0
- package/payload/plugins/toolkit/skills/browse-record/scripts/browse_job.py +385 -0
- package/payload/plugins/toolkit/skills/browse-record/scripts/zhihu-read.js +126 -0
- package/payload/plugins/toolkit/skills/browse-record/scripts/zhihu_http.py +273 -0
- package/payload/plugins/toolkit/skills/clear-technical-explanations/LICENSE +21 -0
- package/payload/plugins/toolkit/skills/clear-technical-explanations/SKILL.md +103 -0
- package/payload/plugins/toolkit/skills/code-grounded-requirements/SKILL.md +54 -0
- package/payload/plugins/toolkit/skills/daily-doc-maintenance/SKILL.md +151 -0
- package/payload/plugins/toolkit/skills/daily-record/SKILL.md +63 -0
- package/payload/plugins/toolkit/skills/daily-record/agents/openai.yaml +4 -0
- package/payload/plugins/toolkit/skills/daily-record/references/browser-history.md +6 -0
- package/payload/plugins/toolkit/skills/daily-record/references/feishu.md +90 -0
- package/payload/plugins/toolkit/skills/daily-record/references/scheduled-reporting.md +144 -0
- package/payload/plugins/toolkit/skills/daily-record/references/scheduled-task.template.json +15 -0
- package/payload/plugins/toolkit/skills/daily-record/references/suiji-work-records.md +57 -0
- package/payload/plugins/toolkit/skills/daily-record/scripts/feishu.py +280 -0
- package/payload/plugins/toolkit/skills/daily-record/scripts/job.py +416 -0
- package/payload/plugins/toolkit/skills/daily-record/scripts/job_browser.py +77 -0
- package/payload/plugins/toolkit/skills/daily-record/scripts/job_facts.py +132 -0
- package/payload/plugins/toolkit/skills/daily-record/scripts/job_isolation.py +69 -0
- package/payload/plugins/toolkit/skills/daily-record/scripts/job_materials.py +154 -0
- package/payload/plugins/toolkit/skills/daily-record/scripts/job_screen.py +77 -0
- package/payload/plugins/toolkit/skills/daily-record/scripts/job_state.py +309 -0
- package/payload/plugins/toolkit/skills/daily-refactor/SKILL.md +101 -0
- package/payload/plugins/toolkit/skills/daily-refactor/scripts/compare-architecture-reports.mjs +168 -0
- package/payload/plugins/toolkit/skills/debugging-strategies/SKILL.md +38 -0
- package/payload/plugins/toolkit/skills/debugging-strategies/resources/implementation-playbook.md +520 -0
- package/payload/plugins/toolkit/skills/diagnostic-log-debugging/SKILL.md +79 -0
- package/payload/plugins/toolkit/skills/doc-coauthoring/SKILL.md +64 -0
- package/payload/plugins/toolkit/skills/eli5/LICENSE +21 -0
- package/payload/plugins/toolkit/skills/eli5/SKILL.md +18 -0
- package/payload/plugins/toolkit/skills/experience/SKILL.md +71 -0
- package/payload/plugins/toolkit/skills/experience/package.json +13 -0
- package/payload/plugins/toolkit/skills/git-advanced-workflows/SKILL.md +457 -0
- package/payload/plugins/toolkit/skills/github-pr/SKILL.md +109 -0
- package/payload/plugins/toolkit/skills/github-pr/scripts/github-access.mjs +292 -0
- package/payload/plugins/toolkit/skills/github-pr/scripts/preflight.mjs +191 -0
- package/payload/plugins/toolkit/skills/github-pr/scripts/source-worktree.mjs +354 -0
- package/payload/plugins/toolkit/skills/grill-with-docs/SKILL.md +66 -0
- package/payload/plugins/toolkit/skills/grill-with-docs/agents/openai.yaml +6 -0
- package/payload/plugins/toolkit/skills/grilling/SKILL.md +14 -0
- package/payload/plugins/toolkit/skills/handoff/SKILL.md +98 -0
- package/payload/plugins/toolkit/skills/karpathy-guidelines/SKILL.md +73 -0
- package/payload/plugins/toolkit/skills/playwright-cli/SKILL.md +562 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/element-attributes.md +23 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/request-mocking.md +87 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/running-code.md +240 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/session-management.md +226 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/spec-driven-testing.md +312 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/storage-state.md +275 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/test-generation.md +138 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/tracing.md +142 -0
- package/payload/plugins/toolkit/skills/playwright-cli/references/video-recording.md +157 -0
- package/payload/plugins/toolkit/skills/playwright-cli/templates/standalone.config.json +7 -0
- package/payload/plugins/toolkit/skills/product-exploration/SKILL.md +64 -0
- package/payload/plugins/toolkit/skills/product-exploration/agents/openai.yaml +5 -0
- package/payload/plugins/toolkit/skills/prototype-first-development/SKILL.md +134 -0
- package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/README.md +88 -0
- package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/app.js +145 -0
- package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/index.html +229 -0
- package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/mock-state.json +60 -0
- package/payload/plugins/toolkit/skills/prototype-first-development/references/implementation-plan-handoff-template.md +61 -0
- package/payload/plugins/toolkit/skills/prototype-first-development/references/prototype-workflow-checklist.md +64 -0
- package/payload/plugins/toolkit/skills/publish-runweave-server/SKILL.md +64 -0
- package/payload/plugins/toolkit/skills/publish-runweave-server/agents/openai.yaml +4 -0
- package/payload/plugins/toolkit/skills/react-best-practices/AGENTS.md +3227 -0
- package/payload/plugins/toolkit/skills/react-best-practices/README.md +127 -0
- package/payload/plugins/toolkit/skills/react-best-practices/SKILL.md +143 -0
- package/payload/plugins/toolkit/skills/react-best-practices/metadata.json +15 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/advanced/event-handler-refs.md +55 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/advanced/init-once.md +42 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/advanced/use-latest.md +39 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/async/api-routes.md +38 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/async/defer-await.md +80 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/async/dependencies.md +52 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/async/parallel.md +28 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/async/suspense-boundaries.md +99 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/barrel-imports.md +59 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/conditional.md +37 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/defer-third-party.md +49 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/dynamic-imports.md +35 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/bundle/preload.md +46 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/client/event-listeners.md +78 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/client/localstorage-schema.md +77 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/client/passive-event-listeners.md +48 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/client/swr-dedup.md +56 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/batch-dom-css.md +110 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/cache-function-results.md +80 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/cache-property-access.md +28 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/cache-storage.md +70 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/combine-iterations.md +32 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/early-exit.md +50 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/flatmap-filter.md +55 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/hoist-regexp.md +45 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/index-maps.md +37 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/length-check-first.md +50 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/min-max-loop.md +82 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/set-map-lookups.md +24 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/js/tosorted-immutable.md +57 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/meta/sections.md +46 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/meta/template.md +28 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/activity.md +26 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/animate-svg-wrapper.md +38 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/conditional-render.md +32 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/content-visibility.md +38 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/hoist-jsx.md +36 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/hydration-no-flicker.md +72 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/hydration-suppress-warning.md +26 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/resource-hints.md +89 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/script-defer-async.md +71 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/svg-precision.md +28 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rendering/usetransition-loading.md +75 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/defer-reads.md +39 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/dependencies.md +45 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/derived-state-no-effect.md +40 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/derived-state.md +29 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/functional-setstate.md +77 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/lazy-state-init.md +58 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/memo-with-default-value.md +36 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/memo.md +44 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/move-effect-to-event.md +45 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/no-inline-components.md +83 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/simple-expression-in-memo.md +35 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/transitions.md +40 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/rerender/use-ref-transient-values.md +73 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/server/after-nonblocking.md +74 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/server/auth-actions.md +96 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/server/cache-lru.md +41 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/server/cache-react.md +76 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/server/dedup-props.md +65 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/server/hoist-static-io.md +139 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/server/parallel-fetching.md +83 -0
- package/payload/plugins/toolkit/skills/react-best-practices/rules/server/serialization.md +38 -0
- package/payload/plugins/toolkit/skills/recorded-browser-mcp-verification/SKILL.md +8 -0
- package/payload/plugins/toolkit/skills/recorded-browser-mcp-verification/agents/openai.yaml +6 -0
- package/payload/plugins/toolkit/skills/reproduce-before-fix/SKILL.md +93 -0
- package/payload/plugins/toolkit/skills/reproduce-before-fix/agents/openai.yaml +7 -0
- package/payload/plugins/toolkit/skills/review-only/SKILL.md +72 -0
- package/payload/plugins/toolkit/skills/review-with-runtime-evidence/SKILL.md +134 -0
- package/payload/plugins/toolkit/skills/review-with-runtime-evidence/agents/openai.yaml +7 -0
- package/payload/plugins/toolkit/skills/review-with-runtime-evidence/references/contracts.md +114 -0
- package/payload/plugins/toolkit/skills/review-with-runtime-evidence/scripts/classify-runtime-verdict.mjs +140 -0
- package/payload/plugins/toolkit/skills/review-with-runtime-evidence/scripts/run-static-review.mjs +389 -0
- package/payload/plugins/toolkit/skills/review-with-runtime-evidence/scripts/static-review-contract.mjs +243 -0
- package/payload/plugins/toolkit/skills/run-test-cases/SKILL.md +63 -0
- package/payload/plugins/toolkit/skills/runweave-change-validation/SKILL.md +196 -0
- package/payload/plugins/toolkit/skills/runweave-change-validation/agents/openai.yaml +7 -0
- package/payload/plugins/toolkit/skills/runweave-change-validation/scripts/assert-dev-session-status.mjs +181 -0
- package/payload/plugins/toolkit/skills/runweave-dev-session/SKILL.md +126 -0
- package/payload/plugins/toolkit/skills/runweave-dev-session/agents/openai.yaml +7 -0
- package/payload/plugins/toolkit/skills/runweave-management/SKILL.md +47 -0
- package/payload/plugins/toolkit/skills/scheduled-task/SKILL.md +35 -0
- package/payload/plugins/toolkit/skills/shadcn/SKILL.md +245 -0
- package/payload/plugins/toolkit/skills/shadcn/agents/openai.yml +5 -0
- package/payload/plugins/toolkit/skills/shadcn/assets/shadcn-small.png +0 -0
- package/payload/plugins/toolkit/skills/shadcn/assets/shadcn.png +0 -0
- package/payload/plugins/toolkit/skills/shadcn/cli.md +276 -0
- package/payload/plugins/toolkit/skills/shadcn/customization.md +209 -0
- package/payload/plugins/toolkit/skills/shadcn/evals/evals.json +47 -0
- package/payload/plugins/toolkit/skills/shadcn/mcp.md +94 -0
- package/payload/plugins/toolkit/skills/shadcn/rules/base-vs-radix.md +310 -0
- package/payload/plugins/toolkit/skills/shadcn/rules/composition.md +197 -0
- package/payload/plugins/toolkit/skills/shadcn/rules/forms.md +198 -0
- package/payload/plugins/toolkit/skills/shadcn/rules/icons.md +101 -0
- package/payload/plugins/toolkit/skills/shadcn/rules/styling.md +163 -0
- package/payload/plugins/toolkit/skills/suiji/SKILL.md +54 -0
- package/payload/plugins/toolkit/skills/suiji/references/api.md +72 -0
- package/payload/plugins/toolkit/skills/suiji/references/source-adapter.md +40 -0
- package/payload/plugins/toolkit/skills/suiji/references/work-records.md +36 -0
- package/payload/plugins/toolkit/skills/suiji/scripts/source_adapter.py +46 -0
- package/payload/plugins/toolkit/skills/suiji/scripts/suiji.py +358 -0
- package/payload/plugins/toolkit/skills/suiji/scripts/work_records.py +328 -0
- package/payload/plugins/toolkit/skills/suiji/scripts/work_reports.py +75 -0
- package/payload/plugins/toolkit/skills/sync-branch-hard-reset/SKILL.md +59 -0
- package/payload/plugins/toolkit/skills/update-runweave-backend/SKILL.md +90 -0
- package/payload/plugins/toolkit/skills/update-runweave-backend/agents/openai.yaml +4 -0
- package/payload/plugins/toolkit/skills/update-runweave-backend/references/npm-update.md +68 -0
- package/payload/plugins/toolkit/skills/update-runweave-backend/references/systemd.md +34 -0
- package/payload/plugins/toolkit/skills/update-runweave-desktop/SKILL.md +102 -0
- package/payload/plugins/toolkit/skills/update-runweave-ios/SKILL.md +16 -0
- package/payload/plugins/toolkit/skills/update-runweave-ios/references/ios-wireless-recovery.md +54 -0
- package/payload/plugins/toolkit/skills/using-rw/SKILL.md +265 -0
- package/payload/plugins/toolkit/skills/write-plan/SKILL.md +72 -0
- package/payload/plugins/toolkit/skills/write-test-cases/SKILL.md +100 -0
- package/payload/plugins/toolkit/skills/write-test-cases/assets/test-plan-template.yaml +15 -0
- package/payload/plugins/toolkit/skills/write-test-cases/references/coverage-checklist.md +75 -0
- package/payload/plugins/toolkit/skills/write-test-cases/references/design-techniques.md +91 -0
- package/payload/plugins/toolkit/skills/youtube-reading/SKILL.md +35 -0
- package/payload/plugins/toolkit/skills/youtube-reading/agents/openai.yaml +4 -0
- package/payload/plugins/toolkit/skills/youtube-reading/assets/runtime-lock.json +92 -0
- package/payload/plugins/toolkit/skills/youtube-reading/references/content-contract.md +52 -0
- package/payload/plugins/toolkit/skills/youtube-reading/references/setup.md +70 -0
- package/payload/plugins/toolkit/skills/youtube-reading/requirements.lock +9 -0
- package/payload/plugins/toolkit/skills/youtube-reading/scripts/artifacts.py +206 -0
- package/payload/plugins/toolkit/skills/youtube-reading/scripts/runtime.py +424 -0
- package/payload/plugins/toolkit/skills/youtube-reading/scripts/youtube_reading.py +314 -0
- package/payload/plugins/toolkit-release.json +1 -0
- package/payload/scripts/toolkit/codex-state.mjs +75 -0
- package/payload/scripts/toolkit/release.mjs +210 -0
- package/payload/scripts/toolkit/sync-runtime.mjs +108 -0
- package/payload/scripts/toolkit/sync.mjs +585 -0
- package/payload/frontend/dist/assets/channel-CuSisha8.js +0 -1
- package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-ClJkT7PY.js +0 -1
- package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-ClJkT7PY.js +0 -1
- package/payload/frontend/dist/assets/clone-CPcyXi9g.js +0 -1
- package/payload/frontend/dist/assets/connection-BhcgnOMb.js +0 -12
- package/payload/frontend/dist/assets/main-BDBhLSX2.js +0 -696
- package/payload/frontend/dist/assets/main-Cg6Oo1xK.css +0 -33
- package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-DhdOfEAv.js +0 -1
- package/payload/frontend/dist/assets/suiji-DXtfgwxj.js +0 -1
package/payload/plugins/toolkit/skills/debugging-strategies/resources/implementation-playbook.md
ADDED
|
@@ -0,0 +1,520 @@
|
|
|
1
|
+
# Debugging Strategies Implementation Playbook
|
|
2
|
+
|
|
3
|
+
This file contains detailed patterns, checklists, and code samples referenced by the skill.
|
|
4
|
+
|
|
5
|
+
## Core Principles
|
|
6
|
+
|
|
7
|
+
### 1. The Scientific Method
|
|
8
|
+
|
|
9
|
+
**1. Observe**: What's the actual behavior?
|
|
10
|
+
**2. Hypothesize**: What could be causing it?
|
|
11
|
+
**3. Experiment**: Test your hypothesis
|
|
12
|
+
**4. Analyze**: Did it prove/disprove your theory?
|
|
13
|
+
**5. Repeat**: Until you find the root cause
|
|
14
|
+
|
|
15
|
+
### 2. Debugging Mindset
|
|
16
|
+
|
|
17
|
+
**Don't Assume:**
|
|
18
|
+
|
|
19
|
+
- "It can't be X" - Yes it can
|
|
20
|
+
- "I didn't change Y" - Check anyway
|
|
21
|
+
- "It works on my machine" - Find out why
|
|
22
|
+
|
|
23
|
+
**Do:**
|
|
24
|
+
|
|
25
|
+
- Reproduce consistently
|
|
26
|
+
- Isolate the problem
|
|
27
|
+
- Keep detailed notes
|
|
28
|
+
- Question everything
|
|
29
|
+
- Take breaks when stuck
|
|
30
|
+
|
|
31
|
+
### 3. Rubber Duck Debugging
|
|
32
|
+
|
|
33
|
+
Explain your code and problem out loud (to a rubber duck, colleague, or yourself). Often reveals the issue.
|
|
34
|
+
|
|
35
|
+
## Systematic Debugging Process
|
|
36
|
+
|
|
37
|
+
### Phase 1: Reproduce
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
## Reproduction Checklist
|
|
41
|
+
|
|
42
|
+
1. **Can you reproduce it?**
|
|
43
|
+
- Always? Sometimes? Randomly?
|
|
44
|
+
- Specific conditions needed?
|
|
45
|
+
- Can others reproduce it?
|
|
46
|
+
|
|
47
|
+
2. **Create minimal reproduction**
|
|
48
|
+
- Simplify to smallest example
|
|
49
|
+
- Remove unrelated code
|
|
50
|
+
- Isolate the problem
|
|
51
|
+
|
|
52
|
+
3. **Document steps**
|
|
53
|
+
- Write down exact steps
|
|
54
|
+
- Note environment details
|
|
55
|
+
- Capture error messages
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Phase 2: Gather Information
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
## Information Collection
|
|
62
|
+
|
|
63
|
+
1. **Error Messages**
|
|
64
|
+
- Full stack trace
|
|
65
|
+
- Error codes
|
|
66
|
+
- Console/log output
|
|
67
|
+
|
|
68
|
+
2. **Environment**
|
|
69
|
+
- OS version
|
|
70
|
+
- Language/runtime version
|
|
71
|
+
- Dependencies versions
|
|
72
|
+
- Environment variables
|
|
73
|
+
|
|
74
|
+
3. **Recent Changes**
|
|
75
|
+
- Git history
|
|
76
|
+
- Deployment timeline
|
|
77
|
+
- Configuration changes
|
|
78
|
+
|
|
79
|
+
4. **Scope**
|
|
80
|
+
- Affects all users or specific ones?
|
|
81
|
+
- All browsers or specific ones?
|
|
82
|
+
- Production only or also dev?
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Phase 3: Form Hypothesis
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
## Hypothesis Formation
|
|
89
|
+
|
|
90
|
+
Based on gathered info, ask:
|
|
91
|
+
|
|
92
|
+
1. **What changed?**
|
|
93
|
+
- Recent code changes
|
|
94
|
+
- Dependency updates
|
|
95
|
+
- Infrastructure changes
|
|
96
|
+
|
|
97
|
+
2. **What's different?**
|
|
98
|
+
- Working vs broken environment
|
|
99
|
+
- Working vs broken user
|
|
100
|
+
- Before vs after
|
|
101
|
+
|
|
102
|
+
3. **Where could this fail?**
|
|
103
|
+
- Input validation
|
|
104
|
+
- Business logic
|
|
105
|
+
- Data layer
|
|
106
|
+
- External services
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Phase 4: Test & Verify
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
## Testing Strategies
|
|
113
|
+
|
|
114
|
+
1. **Binary Search**
|
|
115
|
+
- Comment out half the code
|
|
116
|
+
- Narrow down problematic section
|
|
117
|
+
- Repeat until found
|
|
118
|
+
|
|
119
|
+
2. **Add Logging**
|
|
120
|
+
- Strategic console.log/print
|
|
121
|
+
- Track variable values
|
|
122
|
+
- Trace execution flow
|
|
123
|
+
|
|
124
|
+
3. **Isolate Components**
|
|
125
|
+
- Test each piece separately
|
|
126
|
+
- Mock dependencies
|
|
127
|
+
- Remove complexity
|
|
128
|
+
|
|
129
|
+
4. **Compare Working vs Broken**
|
|
130
|
+
- Diff configurations
|
|
131
|
+
- Diff environments
|
|
132
|
+
- Diff data
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Debugging Tools
|
|
136
|
+
|
|
137
|
+
### JavaScript/TypeScript Debugging
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
// Chrome DevTools Debugger
|
|
141
|
+
function processOrder(order: Order) {
|
|
142
|
+
debugger; // Execution pauses here
|
|
143
|
+
|
|
144
|
+
const total = calculateTotal(order);
|
|
145
|
+
console.log("Total:", total);
|
|
146
|
+
|
|
147
|
+
// Conditional breakpoint
|
|
148
|
+
if (order.items.length > 10) {
|
|
149
|
+
debugger; // Only breaks if condition true
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
return total;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Console debugging techniques
|
|
156
|
+
console.log("Value:", value); // Basic
|
|
157
|
+
console.table(arrayOfObjects); // Table format
|
|
158
|
+
console.time("operation");
|
|
159
|
+
/* code */ console.timeEnd("operation"); // Timing
|
|
160
|
+
console.trace(); // Stack trace
|
|
161
|
+
console.assert(value > 0, "Value must be positive"); // Assertion
|
|
162
|
+
|
|
163
|
+
// Performance profiling
|
|
164
|
+
performance.mark("start-operation");
|
|
165
|
+
// ... operation code
|
|
166
|
+
performance.mark("end-operation");
|
|
167
|
+
performance.measure("operation", "start-operation", "end-operation");
|
|
168
|
+
console.log(performance.getEntriesByType("measure"));
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**VS Code Debugger Configuration:**
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
// .vscode/launch.json
|
|
175
|
+
{
|
|
176
|
+
"version": "0.2.0",
|
|
177
|
+
"configurations": [
|
|
178
|
+
{
|
|
179
|
+
"type": "node",
|
|
180
|
+
"request": "launch",
|
|
181
|
+
"name": "Debug Program",
|
|
182
|
+
"program": "${workspaceFolder}/src/index.ts",
|
|
183
|
+
"preLaunchTask": "tsc: build - tsconfig.json",
|
|
184
|
+
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
|
|
185
|
+
"skipFiles": ["<node_internals>/**"]
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"type": "node",
|
|
189
|
+
"request": "launch",
|
|
190
|
+
"name": "Debug Tests",
|
|
191
|
+
"program": "${workspaceFolder}/node_modules/jest/bin/jest",
|
|
192
|
+
"args": ["--runInBand", "--no-cache"],
|
|
193
|
+
"console": "integratedTerminal"
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Python Debugging
|
|
200
|
+
|
|
201
|
+
```python
|
|
202
|
+
# Built-in debugger (pdb)
|
|
203
|
+
import pdb
|
|
204
|
+
|
|
205
|
+
def calculate_total(items):
|
|
206
|
+
total = 0
|
|
207
|
+
pdb.set_trace() # Debugger starts here
|
|
208
|
+
|
|
209
|
+
for item in items:
|
|
210
|
+
total += item.price * item.quantity
|
|
211
|
+
|
|
212
|
+
return total
|
|
213
|
+
|
|
214
|
+
# Breakpoint (Python 3.7+)
|
|
215
|
+
def process_order(order):
|
|
216
|
+
breakpoint() # More convenient than pdb.set_trace()
|
|
217
|
+
# ... code
|
|
218
|
+
|
|
219
|
+
# Post-mortem debugging
|
|
220
|
+
try:
|
|
221
|
+
risky_operation()
|
|
222
|
+
except Exception:
|
|
223
|
+
import pdb
|
|
224
|
+
pdb.post_mortem() # Debug at exception point
|
|
225
|
+
|
|
226
|
+
# IPython debugging (ipdb)
|
|
227
|
+
from ipdb import set_trace
|
|
228
|
+
set_trace() # Better interface than pdb
|
|
229
|
+
|
|
230
|
+
# Logging for debugging
|
|
231
|
+
import logging
|
|
232
|
+
logging.basicConfig(level=logging.DEBUG)
|
|
233
|
+
logger = logging.getLogger(__name__)
|
|
234
|
+
|
|
235
|
+
def fetch_user(user_id):
|
|
236
|
+
logger.debug(f'Fetching user: {user_id}')
|
|
237
|
+
user = db.query(User).get(user_id)
|
|
238
|
+
logger.debug(f'Found user: {user}')
|
|
239
|
+
return user
|
|
240
|
+
|
|
241
|
+
# Profile performance
|
|
242
|
+
import cProfile
|
|
243
|
+
import pstats
|
|
244
|
+
|
|
245
|
+
cProfile.run('slow_function()', 'profile_stats')
|
|
246
|
+
stats = pstats.Stats('profile_stats')
|
|
247
|
+
stats.sort_stats('cumulative')
|
|
248
|
+
stats.print_stats(10) # Top 10 slowest
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Go Debugging
|
|
252
|
+
|
|
253
|
+
```go
|
|
254
|
+
// Delve debugger
|
|
255
|
+
// Install: go install github.com/go-delve/delve/cmd/dlv@latest
|
|
256
|
+
// Run: dlv debug main.go
|
|
257
|
+
|
|
258
|
+
import (
|
|
259
|
+
"fmt"
|
|
260
|
+
"runtime"
|
|
261
|
+
"runtime/debug"
|
|
262
|
+
)
|
|
263
|
+
|
|
264
|
+
// Print stack trace
|
|
265
|
+
func debugStack() {
|
|
266
|
+
debug.PrintStack()
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// Panic recovery with debugging
|
|
270
|
+
func processRequest() {
|
|
271
|
+
defer func() {
|
|
272
|
+
if r := recover(); r != nil {
|
|
273
|
+
fmt.Println("Panic:", r)
|
|
274
|
+
debug.PrintStack()
|
|
275
|
+
}
|
|
276
|
+
}()
|
|
277
|
+
|
|
278
|
+
// ... code that might panic
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// Memory profiling
|
|
282
|
+
import _ "net/http/pprof"
|
|
283
|
+
// Visit http://localhost:6060/debug/pprof/
|
|
284
|
+
|
|
285
|
+
// CPU profiling
|
|
286
|
+
import (
|
|
287
|
+
"os"
|
|
288
|
+
"runtime/pprof"
|
|
289
|
+
)
|
|
290
|
+
|
|
291
|
+
f, _ := os.Create("cpu.prof")
|
|
292
|
+
pprof.StartCPUProfile(f)
|
|
293
|
+
defer pprof.StopCPUProfile()
|
|
294
|
+
// ... code to profile
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## Advanced Debugging Techniques
|
|
298
|
+
|
|
299
|
+
### Technique 1: Binary Search Debugging
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
# Git bisect for finding regression
|
|
303
|
+
git bisect start
|
|
304
|
+
git bisect bad # Current commit is bad
|
|
305
|
+
git bisect good v1.0.0 # v1.0.0 was good
|
|
306
|
+
|
|
307
|
+
# Git checks out middle commit
|
|
308
|
+
# Test it, then:
|
|
309
|
+
git bisect good # if it works
|
|
310
|
+
git bisect bad # if it's broken
|
|
311
|
+
|
|
312
|
+
# Continue until bug found
|
|
313
|
+
git bisect reset # when done
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Technique 2: Differential Debugging
|
|
317
|
+
|
|
318
|
+
Compare working vs broken:
|
|
319
|
+
|
|
320
|
+
```markdown
|
|
321
|
+
## What's Different?
|
|
322
|
+
|
|
323
|
+
| Aspect | Working | Broken |
|
|
324
|
+
| ------------ | ----------- | -------------- |
|
|
325
|
+
| Environment | Development | Production |
|
|
326
|
+
| Node version | 18.16.0 | 18.15.0 |
|
|
327
|
+
| Data | Empty DB | 1M records |
|
|
328
|
+
| User | Admin | Regular user |
|
|
329
|
+
| Browser | Chrome | Safari |
|
|
330
|
+
| Time | During day | After midnight |
|
|
331
|
+
|
|
332
|
+
Hypothesis: Time-based issue? Check timezone handling.
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Technique 3: Trace Debugging
|
|
336
|
+
|
|
337
|
+
```typescript
|
|
338
|
+
// Function call tracing
|
|
339
|
+
function trace(
|
|
340
|
+
target: any,
|
|
341
|
+
propertyKey: string,
|
|
342
|
+
descriptor: PropertyDescriptor,
|
|
343
|
+
) {
|
|
344
|
+
const originalMethod = descriptor.value;
|
|
345
|
+
|
|
346
|
+
descriptor.value = function (...args: any[]) {
|
|
347
|
+
console.log(`Calling ${propertyKey} with args:`, args);
|
|
348
|
+
const result = originalMethod.apply(this, args);
|
|
349
|
+
console.log(`${propertyKey} returned:`, result);
|
|
350
|
+
return result;
|
|
351
|
+
};
|
|
352
|
+
|
|
353
|
+
return descriptor;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
class OrderService {
|
|
357
|
+
@trace
|
|
358
|
+
calculateTotal(items: Item[]): number {
|
|
359
|
+
return items.reduce((sum, item) => sum + item.price, 0);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Technique 4: Memory Leak Detection
|
|
365
|
+
|
|
366
|
+
```typescript
|
|
367
|
+
// Chrome DevTools Memory Profiler
|
|
368
|
+
// 1. Take heap snapshot
|
|
369
|
+
// 2. Perform action
|
|
370
|
+
// 3. Take another snapshot
|
|
371
|
+
// 4. Compare snapshots
|
|
372
|
+
|
|
373
|
+
// Node.js memory debugging
|
|
374
|
+
if (process.memoryUsage().heapUsed > 500 * 1024 * 1024) {
|
|
375
|
+
console.warn("High memory usage:", process.memoryUsage());
|
|
376
|
+
|
|
377
|
+
// Generate heap dump
|
|
378
|
+
require("v8").writeHeapSnapshot();
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
// Find memory leaks in tests
|
|
382
|
+
let beforeMemory: number;
|
|
383
|
+
|
|
384
|
+
beforeEach(() => {
|
|
385
|
+
beforeMemory = process.memoryUsage().heapUsed;
|
|
386
|
+
});
|
|
387
|
+
|
|
388
|
+
afterEach(() => {
|
|
389
|
+
const afterMemory = process.memoryUsage().heapUsed;
|
|
390
|
+
const diff = afterMemory - beforeMemory;
|
|
391
|
+
|
|
392
|
+
if (diff > 10 * 1024 * 1024) {
|
|
393
|
+
// 10MB threshold
|
|
394
|
+
console.warn(`Possible memory leak: ${diff / 1024 / 1024}MB`);
|
|
395
|
+
}
|
|
396
|
+
});
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
## Debugging Patterns by Issue Type
|
|
400
|
+
|
|
401
|
+
### Pattern 1: Intermittent Bugs
|
|
402
|
+
|
|
403
|
+
```markdown
|
|
404
|
+
## Strategies for Flaky Bugs
|
|
405
|
+
|
|
406
|
+
1. **Add extensive logging**
|
|
407
|
+
- Log timing information
|
|
408
|
+
- Log all state transitions
|
|
409
|
+
- Log external interactions
|
|
410
|
+
|
|
411
|
+
2. **Look for race conditions**
|
|
412
|
+
- Concurrent access to shared state
|
|
413
|
+
- Async operations completing out of order
|
|
414
|
+
- Missing synchronization
|
|
415
|
+
|
|
416
|
+
3. **Check timing dependencies**
|
|
417
|
+
- setTimeout/setInterval
|
|
418
|
+
- Promise resolution order
|
|
419
|
+
- Animation frame timing
|
|
420
|
+
|
|
421
|
+
4. **Stress test**
|
|
422
|
+
- Run many times
|
|
423
|
+
- Vary timing
|
|
424
|
+
- Simulate load
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
### Pattern 2: Performance Issues
|
|
428
|
+
|
|
429
|
+
```markdown
|
|
430
|
+
## Performance Debugging
|
|
431
|
+
|
|
432
|
+
1. **Profile first**
|
|
433
|
+
- Don't optimize blindly
|
|
434
|
+
- Measure before and after
|
|
435
|
+
- Find bottlenecks
|
|
436
|
+
|
|
437
|
+
2. **Common culprits**
|
|
438
|
+
- N+1 queries
|
|
439
|
+
- Unnecessary re-renders
|
|
440
|
+
- Large data processing
|
|
441
|
+
- Synchronous I/O
|
|
442
|
+
|
|
443
|
+
3. **Tools**
|
|
444
|
+
- Browser DevTools Performance tab
|
|
445
|
+
- Lighthouse
|
|
446
|
+
- Python: cProfile, line_profiler
|
|
447
|
+
- Node: clinic.js, 0x
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
### Pattern 3: Production Bugs
|
|
451
|
+
|
|
452
|
+
```markdown
|
|
453
|
+
## Production Debugging
|
|
454
|
+
|
|
455
|
+
1. **Gather evidence**
|
|
456
|
+
- Error tracking (Sentry, Bugsnag)
|
|
457
|
+
- Application logs
|
|
458
|
+
- User reports
|
|
459
|
+
- Metrics/monitoring
|
|
460
|
+
|
|
461
|
+
2. **Reproduce locally**
|
|
462
|
+
- Use production data (anonymized)
|
|
463
|
+
- Match environment
|
|
464
|
+
- Follow exact steps
|
|
465
|
+
|
|
466
|
+
3. **Safe investigation**
|
|
467
|
+
- Don't change production
|
|
468
|
+
- Use feature flags
|
|
469
|
+
- Add monitoring/logging
|
|
470
|
+
- Test fixes in staging
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
## Best Practices
|
|
474
|
+
|
|
475
|
+
1. **Reproduce First**: Can't fix what you can't reproduce
|
|
476
|
+
2. **Isolate the Problem**: Remove complexity until minimal case
|
|
477
|
+
3. **Read Error Messages**: They're usually helpful
|
|
478
|
+
4. **Check Recent Changes**: Most bugs are recent
|
|
479
|
+
5. **Use Version Control**: Git bisect, blame, history
|
|
480
|
+
6. **Take Breaks**: Fresh eyes see better
|
|
481
|
+
7. **Document Findings**: Help future you
|
|
482
|
+
8. **Fix Root Cause**: Not just symptoms
|
|
483
|
+
|
|
484
|
+
## Common Debugging Mistakes
|
|
485
|
+
|
|
486
|
+
- **Making Multiple Changes**: Change one thing at a time
|
|
487
|
+
- **Not Reading Error Messages**: Read the full stack trace
|
|
488
|
+
- **Assuming It's Complex**: Often it's simple
|
|
489
|
+
- **Debug Logging in Prod**: Remove before shipping
|
|
490
|
+
- **Not Using Debugger**: console.log isn't always best
|
|
491
|
+
- **Giving Up Too Soon**: Persistence pays off
|
|
492
|
+
- **Not Testing the Fix**: Verify it actually works
|
|
493
|
+
|
|
494
|
+
## Quick Debugging Checklist
|
|
495
|
+
|
|
496
|
+
```markdown
|
|
497
|
+
## When Stuck, Check:
|
|
498
|
+
|
|
499
|
+
- [ ] Spelling errors (typos in variable names)
|
|
500
|
+
- [ ] Case sensitivity (fileName vs filename)
|
|
501
|
+
- [ ] Null/undefined values
|
|
502
|
+
- [ ] Array index off-by-one
|
|
503
|
+
- [ ] Async timing (race conditions)
|
|
504
|
+
- [ ] Scope issues (closure, hoisting)
|
|
505
|
+
- [ ] Type mismatches
|
|
506
|
+
- [ ] Missing dependencies
|
|
507
|
+
- [ ] Environment variables
|
|
508
|
+
- [ ] File paths (absolute vs relative)
|
|
509
|
+
- [ ] Cache issues (clear cache)
|
|
510
|
+
- [ ] Stale data (refresh database)
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
## Resources
|
|
514
|
+
|
|
515
|
+
- **references/debugging-tools-guide.md**: Comprehensive tool documentation
|
|
516
|
+
- **references/performance-profiling.md**: Performance debugging guide
|
|
517
|
+
- **references/production-debugging.md**: Debugging live systems
|
|
518
|
+
- **assets/debugging-checklist.md**: Quick reference checklist
|
|
519
|
+
- **assets/common-bugs.md**: Common bug patterns
|
|
520
|
+
- **scripts/debug-helper.ts**: Debugging utility functions
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: diagnostic-log-debugging
|
|
3
|
+
description: Use when 用户明确点名这个 skill,或明确要求通过日志、诊断日志、日志记录、logs、diagnostic logs、log recording 来诊断、复现、debug 或定位问题。不要用于普通调试、常规开发、代码评审或一般 bug 修复。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 诊断日志调试
|
|
7
|
+
|
|
8
|
+
## 默认规则
|
|
9
|
+
|
|
10
|
+
默认不要启用或展示 AI 诊断日志。这个 skill 只能显式启用:
|
|
11
|
+
|
|
12
|
+
- 用户明确点名这个 skill 时,才使用。
|
|
13
|
+
- 用户明确要求通过日志或诊断日志记录来定位、诊断、复现问题时,才使用。
|
|
14
|
+
- 如果用户只是要求普通调试,但没有要求通过日志定位问题,不要使用这个 skill。
|
|
15
|
+
|
|
16
|
+
本技能负责新增、录制和分析 AI 诊断日志,不负责制定“未复现就不修复”的决策门槛。用户显式要求先做真实复现、再决定是否修复时,使用 `$toolkit:reproduce-before-fix`;同时需要诊断日志时组合使用两个技能。只有沿真实产品入口采集的日志才能作为真实复现证据,模拟路径或伪造状态产生的日志不能替代复现。
|
|
17
|
+
|
|
18
|
+
## 怎么记录日志
|
|
19
|
+
|
|
20
|
+
诊断日志不会自动收集普通 `console.log`、stdout、stderr、子进程输出、运行时错误或已有日志文件。只有显式调用 AI 诊断日志工具函数写入的内容,才会进入本轮诊断结果。
|
|
21
|
+
|
|
22
|
+
前端记录方式:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import { aiDiagnosticLog } from "../features/diagnostic-logs/recorder";
|
|
26
|
+
|
|
27
|
+
aiDiagnosticLog("viewer connection state changed", {
|
|
28
|
+
sessionId,
|
|
29
|
+
previousState,
|
|
30
|
+
nextState,
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
后端记录方式:
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
import { aiDiagnosticLog } from "../diagnostic-logs/recorder";
|
|
38
|
+
|
|
39
|
+
aiDiagnosticLog("terminal session restore requested", {
|
|
40
|
+
terminalSessionId,
|
|
41
|
+
runtimeKind,
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
埋点原则:
|
|
46
|
+
|
|
47
|
+
- 只在可疑路径、关键状态流转、请求开始/完成/失败、分支判断处加少量日志。
|
|
48
|
+
- `message` 写稳定事件名;`details` 放结构化字段,例如 id、状态、计数、错误类型和必要错误信息。
|
|
49
|
+
- 不记录 token、cookie、authorization、密码、完整敏感 URL、本地文件内容或大段日志正文。
|
|
50
|
+
- 不要为了收集日志去包裹全局 `console.*`、`process.stdout`、`process.stderr`、子进程输出或错误监听。
|
|
51
|
+
- 工具函数始终会打印到控制台;只有处于“记录中”窗口时,才会额外写入诊断日志收集器。
|
|
52
|
+
- 如果结果里没有预期日志,先确认记录窗口已经开始、用户路径确实执行到了该代码、调用使用的是 `aiDiagnosticLog(...)` 而不是普通 `console.log(...)`。
|
|
53
|
+
|
|
54
|
+
## 工作流程
|
|
55
|
+
|
|
56
|
+
1. 确认触发条件有效。
|
|
57
|
+
如果请求只是普通调试,没有要求基于日志诊断,不要使用这个 skill。
|
|
58
|
+
|
|
59
|
+
2. 添加聚焦的 AI 诊断日志。
|
|
60
|
+
按“怎么记录日志”里的方式,在前端或后端可疑路径中调用 `aiDiagnosticLog(...)`。只添加能解释可疑用户路径或状态流转的日志。不要宽泛包裹 console 输出、stdout、stderr、子进程输出、运行时错误或本地文件内容。
|
|
61
|
+
|
|
62
|
+
3. 通过 UI 录制复现过程。
|
|
63
|
+
在 Web 终端工作区右上角点击 `More actions`,选择 `日志上报`,点击 `开始记录`,执行能复现问题的用户操作,然后点击 `结束并上报`。优先使用 UI 控件,不要优先使用裸 HTTP 调用,这样才能捕获浏览器侧日志。
|
|
64
|
+
|
|
65
|
+
4. 检查诊断结果。
|
|
66
|
+
使用结果弹窗、下载日志,或 `GET /api/diagnostic-logs/result` 查看时间线。在改代码之前,先定位第一个异常状态、请求、响应或状态流转。
|
|
67
|
+
|
|
68
|
+
5. 最小化修复。
|
|
69
|
+
用最小代码改动解决根因,并遵循项目已有模式。对 React `.tsx` 和 UI hooks,不要新增单测;使用诊断日志记录和聚焦的集成检查。对纯 `.ts` 逻辑,必要时新增或更新有针对性的测试。
|
|
70
|
+
|
|
71
|
+
6. 验证修复。
|
|
72
|
+
再次复现同一路径,确认用户可见行为已经修复,并确认诊断结果中包含预期的前端和后端证据。
|
|
73
|
+
|
|
74
|
+
## Runweave 注意事项
|
|
75
|
+
|
|
76
|
+
- 开始新一轮记录会清空上一轮内存中的诊断结果。
|
|
77
|
+
- 不存在 `/api/diagnostic-logs/clear` 接口。不要新增,也不要调用。
|
|
78
|
+
- 如果结束记录失败,先检查浏览器 console 和 Network。连接被拒绝通常意味着 dev server 或后端没有运行。
|
|
79
|
+
- 面向用户的状态消息要足够具体,能说明失败来自后端、网络,还是日志记录状态问题。
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doc-coauthoring
|
|
3
|
+
description: "Co-author documentation, proposals, technical specs, and decision docs from available context, refining the draft with user feedback. Use for substantive writing or revision; simple wording edits do not need this workflow."
|
|
4
|
+
metadata:
|
|
5
|
+
risk: unknown
|
|
6
|
+
source: community
|
|
7
|
+
date_added: "2026-02-27"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Doc Co-Authoring
|
|
11
|
+
|
|
12
|
+
Produce a document that its intended readers can understand and use. Adapt the collaboration to the task: draft directly when context is sufficient; explore decisions with the user when they ask for deeper co-authoring or the content depends on unresolved choices.
|
|
13
|
+
|
|
14
|
+
## Establish the context
|
|
15
|
+
|
|
16
|
+
- Infer the audience, purpose, desired outcome, format, and scope from the request and conversation. Read the existing document, supplied template, and relevant sources before asking for information already available.
|
|
17
|
+
- For technical documents, check relevant code and current project documentation. Distinguish current behavior, proposed changes, and unresolved assumptions.
|
|
18
|
+
- Use available tools to retrieve relevant sources within the task's scope. If a source is inaccessible, identify the specific missing information and continue work that does not depend on it.
|
|
19
|
+
- Ask a focused question only when a missing fact or decision materially affects the document and cannot be resolved from context. Do not require an initial questionnaire or a fixed number of questions.
|
|
20
|
+
- If the user is sharing background, accept rough notes and organize them. Do not ask for exhaustive context unrelated to the intended document.
|
|
21
|
+
|
|
22
|
+
Begin drafting once the purpose and essential content are clear. There is no separate approval step for moving between writing activities.
|
|
23
|
+
|
|
24
|
+
## Draft according to the task
|
|
25
|
+
|
|
26
|
+
For a straightforward request, produce a coherent draft using the user's template or an appropriate structure. Choose section order and depth based on what readers need to understand or decide. Do not create an empty scaffold as a mandatory intermediate deliverable.
|
|
27
|
+
|
|
28
|
+
For substantial co-authoring or an unsettled proposal:
|
|
29
|
+
|
|
30
|
+
- Start with the decision or section whose uncertainty affects the rest of the document.
|
|
31
|
+
- Present alternatives only when they represent meaningful choices; explain the recommended direction and trade-offs. Do not generate options to meet a quota.
|
|
32
|
+
- Ask the user to choose only when the choice depends on their goals or preferences. Select routine organization and wording yourself.
|
|
33
|
+
- Draft the settled content while dependent decisions remain open. Clearly identify unresolved points instead of inventing facts.
|
|
34
|
+
|
|
35
|
+
For example, a request to document an existing API can start from its implementation and a draft. A proposal whose recommendation depends on an unknown rollout constraint needs that decision clarified, while its established background can still be written.
|
|
36
|
+
|
|
37
|
+
## Refine with the user
|
|
38
|
+
|
|
39
|
+
- Accept comments, freeform feedback, or direct user edits. Do not require numbered keep/remove/combine selections or ask the user to avoid editing the document.
|
|
40
|
+
- Apply feedback to the relevant passages and carry established terminology and style into later sections. Preserve unrelated user changes.
|
|
41
|
+
- Re-read the current document before editing when the user may have changed it.
|
|
42
|
+
- Ask follow-up questions only when feedback leaves a consequential ambiguity. Do not require confirmation after each section or another review after a fixed number of iterations.
|
|
43
|
+
- Follow requests to skip discussion, change the structure, or move directly to a finished draft without reconfirming the process.
|
|
44
|
+
|
|
45
|
+
## Check the document as a reader
|
|
46
|
+
|
|
47
|
+
Before delivery, check the whole document for:
|
|
48
|
+
|
|
49
|
+
- A clear purpose, supported claims, and enough context for its intended audience.
|
|
50
|
+
- Consistent terms, decisions, and technical details across sections.
|
|
51
|
+
- Missing prerequisites or unexplained assumptions that could cause a wrong decision.
|
|
52
|
+
- Repetition, contradictions, generic filler, and broken or unsupported references.
|
|
53
|
+
|
|
54
|
+
For instructions and decision documents, consider whether a reader could carry out the intended action or explain the decision from the document alone. Use realistic reader questions where they reveal a gap; do not impose a question count.
|
|
55
|
+
|
|
56
|
+
Independent reader review is optional when requested or when consequential ambiguity warrants it and delegation is permitted. Give the reviewer the document and intended audience without supplying hidden background or expected answers. Revise based on concrete misunderstandings; do not require one agent per question or repeated reviews without new findings. If independent review is unavailable, complete the available checks and state any material limitation instead of requiring the user to open another chat.
|
|
57
|
+
|
|
58
|
+
Only claim independent reader review when it actually occurred. Checking prose does not establish that a described implementation works.
|
|
59
|
+
|
|
60
|
+
## Deliver
|
|
61
|
+
|
|
62
|
+
Use the user's requested destination and format. For repository files, follow the project's documentation placement and validation rules; for a conversational draft, return the text without creating extra files by default. Use the editing tools available in the environment.
|
|
63
|
+
|
|
64
|
+
Deliver once the requested content is complete, relevant checks are done, and material open questions are resolved or explicitly identified. Provide the document or its link and briefly note any remaining decisions or verification gaps. Do not add an automatic final approval round, process appendix, or separate review report.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Thariq Shihipar
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eli5
|
|
3
|
+
description: Explain a topic like I'm a 5 year old. Use when the user types /eli5 followed by a topic or asks for a dead-simple picture explainer of how something works.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: Thariq Shihipar
|
|
7
|
+
source: https://github.com/anthropics/claude-plugins-community/blob/863e70dc7cff21a2facc749e40a7ecd1a5d19833/eli5/skills/eli5/SKILL.md
|
|
8
|
+
adapted_for: Runweave Toolkit
|
|
9
|
+
changes: Removed angle brackets from the discovery description and added a Codex topic fallback; original explanation instruction preserved.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# eli5
|
|
13
|
+
|
|
14
|
+
Explain like I'm someone who knows nothing about this topic, using a HTML artifact with big pictures and few words.
|
|
15
|
+
|
|
16
|
+
Topic: $ARGUMENTS
|
|
17
|
+
|
|
18
|
+
In Codex, use the topic supplied with `$toolkit:eli5` when `$ARGUMENTS` is not substituted.
|