@research-copilot/plugin 1.1.17 → 1.1.19
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/README.md +18 -9
- package/dist/.claude-plugin/plugin.json +1 -1
- package/dist/.codex-plugin/plugin.toml +1 -1
- package/dist/.cursor-plugin/plugin.json +1 -1
- package/dist/.gemini-plugin/plugin.json +1 -1
- package/dist/.opencode-plugin/plugin.json +1 -1
- package/dist/.windsurf-plugin/plugin.json +1 -1
- package/dist/skills/ablation-planner/SKILL.md +126 -0
- package/dist/skills/alphaxiv/SKILL.md +186 -0
- package/dist/skills/analyze-results/SKILL.md +45 -0
- package/dist/skills/arxiv/SKILL.md +210 -0
- package/dist/skills/auto-paper-improvement-loop/SKILL.md +574 -0
- package/dist/skills/auto-review-loop/SKILL.md +370 -0
- package/dist/skills/auto-review-loop-llm/SKILL.md +247 -0
- package/dist/skills/auto-review-loop-minimax/SKILL.md +290 -0
- package/dist/skills/benchmark-paper-template/SKILL.md +142 -0
- package/dist/skills/benchmark-paper-template/references/benchmark-design.md +180 -0
- package/dist/skills/benchmark-paper-template/references/checklist.md +113 -0
- package/dist/skills/benchmark-paper-template/references/construction-pipeline.md +127 -0
- package/dist/skills/benchmark-paper-template/references/experiments.md +159 -0
- package/dist/skills/benchmark-paper-template/references/gap-analysis.md +86 -0
- package/dist/skills/benchmark-paper-template/references/instantiation-template.md +194 -0
- package/dist/skills/benchmark-paper-template/references/orchestrator-notes.md +96 -0
- package/dist/skills/benchmark-paper-template/references/paper-structure.md +209 -0
- package/dist/skills/citation-audit/SKILL.md +494 -0
- package/dist/skills/claims-drafting/SKILL.md +239 -0
- package/dist/skills/comm-lit-review/SKILL.md +299 -0
- package/dist/skills/comm-lit-review/references/domain-taxonomy.md +57 -0
- package/dist/skills/comm-lit-review/references/output-template.md +37 -0
- package/dist/skills/comm-lit-review/references/source-policy.md +99 -0
- package/dist/skills/comm-lit-review/references/venue-tiering.md +112 -0
- package/dist/skills/composer/SKILL.md +840 -0
- package/dist/skills/composer/references/section_guides.md +675 -0
- package/dist/skills/composer/references/writing_standards.md +629 -0
- package/dist/skills/composer/scripts/chapter_quality_check.py +470 -0
- package/dist/skills/composer/scripts/final_evaluation.py +550 -0
- package/dist/skills/deepxiv/SKILL.md +142 -0
- package/dist/skills/dse-loop/SKILL.md +277 -0
- package/dist/skills/embodiment-description/SKILL.md +129 -0
- package/dist/skills/exa-search/SKILL.md +192 -0
- package/dist/skills/experiment-audit/SKILL.md +262 -0
- package/dist/skills/experiment-bridge/SKILL.md +316 -0
- package/dist/skills/experiment-plan/SKILL.md +249 -0
- package/dist/skills/experiment-queue/SKILL.md +380 -0
- package/dist/skills/experiment-queue/scripts/build_manifest.py +142 -0
- package/dist/skills/experiment-queue/scripts/queue_manager.py +426 -0
- package/dist/skills/feishu-notify/SKILL.md +155 -0
- package/dist/skills/figure-description/SKILL.md +138 -0
- package/dist/skills/figure-designer/SKILL.md +207 -0
- package/dist/skills/figure-designer/references/design-rules.md +99 -0
- package/dist/skills/figure-designer/references/experimental-results.md +127 -0
- package/dist/skills/figure-designer/references/motivated-example.md +138 -0
- package/dist/skills/figure-designer/references/solution-overview.md +145 -0
- package/dist/skills/figure-designer/references/tools.md +124 -0
- package/dist/skills/figure-spec/SKILL.md +252 -0
- package/dist/skills/figure-spec/scripts/figure_renderer.py +799 -0
- package/dist/skills/formula-derivation/SKILL.md +280 -0
- package/dist/skills/gemini-search/SKILL.md +205 -0
- package/dist/skills/grant-proposal/SKILL.md +625 -0
- package/dist/skills/humanizer/AGENTS.md +25 -0
- package/dist/skills/humanizer/SKILL.md +621 -0
- package/dist/skills/idea-creator/SKILL.md +311 -0
- package/dist/skills/idea-discovery/SKILL.md +340 -0
- package/dist/skills/idea-discovery-robot/SKILL.md +362 -0
- package/dist/skills/idea-evaluator/SKILL.md +265 -0
- package/dist/skills/idea-evaluator/references/fatal-flaws.md +192 -0
- package/dist/skills/idea-evaluator/references/five-dimensions.md +251 -0
- package/dist/skills/idea-evaluator/references/lifecycle-capability-matching.md +177 -0
- package/dist/skills/idea-evaluator/references/paradigm-elephant.md +112 -0
- package/dist/skills/idea-evaluator/references/paradigm-examples.md +107 -0
- package/dist/skills/idea-evaluator/references/paradigm-first-principles.md +115 -0
- package/dist/skills/idea-evaluator/references/paradigm-hamming.md +137 -0
- package/dist/skills/idea-evaluator/references/paradigm-shift-probe.md +160 -0
- package/dist/skills/idea-evaluator/references/paradigm-technology-cycle.md +116 -0
- package/dist/skills/idea-evaluator/references/worked-examples.md +206 -0
- package/dist/skills/interview-cheatsheet/SKILL.md +245 -0
- package/dist/skills/intro-drafter/SKILL.md +250 -0
- package/dist/skills/intro-drafter/references/contribution-patterns.md +116 -0
- package/dist/skills/intro-drafter/references/flowchart.md +204 -0
- package/dist/skills/intro-drafter/references/paper-types.md +155 -0
- package/dist/skills/intro-drafter/references/running-example.md +133 -0
- package/dist/skills/intro-drafter/references/worked-examples.md +161 -0
- package/dist/skills/invention-structuring/SKILL.md +188 -0
- package/dist/skills/jurisdiction-format/SKILL.md +192 -0
- package/dist/skills/kill-argument/SKILL.md +384 -0
- package/dist/skills/llm-wiki/.mise.toml +2 -0
- package/dist/skills/llm-wiki/.nvmrc +1 -0
- package/dist/skills/llm-wiki/AGENTS.md +132 -0
- package/dist/skills/llm-wiki/CHANGELOG.md +459 -0
- package/dist/skills/llm-wiki/CLAUDE.md +109 -0
- package/dist/skills/llm-wiki/HERMES.md +44 -0
- package/dist/skills/llm-wiki/SKILL.md +1133 -0
- package/dist/skills/llm-wiki/assets/graph-demo.gif +0 -0
- package/dist/skills/llm-wiki/assets/graph-preview.png +0 -0
- package/dist/skills/llm-wiki/deps/LICENSE-d3.txt +13 -0
- package/dist/skills/llm-wiki/deps/LICENSE-marked.txt +44 -0
- package/dist/skills/llm-wiki/deps/LICENSE-purify.txt +568 -0
- package/{LICENSE → dist/skills/llm-wiki/deps/LICENSE-roughjs.txt} +1 -1
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/SKILL.md +261 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/references/config/first-time-setup.md +106 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/cdp.ts +179 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/constants.ts +13 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/defuddle-converter.ts +58 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/html-to-markdown.ts +135 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/legacy-converter.ts +629 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/main.ts +314 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/markdown-conversion-shared.ts +305 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/media-localizer.ts +317 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/package.json +14 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/paths.ts +29 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/vendor/baoyu-chrome-cdp/package.json +9 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/vendor/baoyu-chrome-cdp/src/index.test.ts +307 -0
- package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/vendor/baoyu-chrome-cdp/src/index.ts +523 -0
- package/dist/skills/llm-wiki/deps/d3.min.js +2 -0
- package/dist/skills/llm-wiki/deps/marked.min.js +6 -0
- package/dist/skills/llm-wiki/deps/purify.min.js +3 -0
- package/dist/skills/llm-wiki/deps/rough.min.js +7 -0
- package/dist/skills/llm-wiki/deps/youtube-transcript/SKILL.md +47 -0
- package/dist/skills/llm-wiki/deps/youtube-transcript/scripts/get_transcript.py +72 -0
- package/dist/skills/llm-wiki/docs/design/oriental-atlas/DESIGN.md +183 -0
- package/dist/skills/llm-wiki/docs/design/oriental-atlas/design-brief.md +170 -0
- package/dist/skills/llm-wiki/docs/design/oriental-atlas/oriental-editorial-atlas.html +1908 -0
- package/dist/skills/llm-wiki/docs/design/oriental-atlas/reviews/result-review.md +68 -0
- package/dist/skills/llm-wiki/docs/plans/2026-06-15-omp-tool-status-events-phased-plan.md +655 -0
- package/dist/skills/llm-wiki/docs/plans/2026-06-15-omp-tool-status-events-progress.json +913 -0
- package/dist/skills/llm-wiki/docs/spark/2026-06-15-omp-tool-status-events-design.md +174 -0
- package/dist/skills/llm-wiki/install.ps1 +87 -0
- package/dist/skills/llm-wiki/install.sh +722 -0
- package/dist/skills/llm-wiki/package-lock.json +10309 -0
- package/dist/skills/llm-wiki/package.json +24 -0
- package/dist/skills/llm-wiki/packages/graph-engine/package.json +33 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/anim/.gitkeep +1 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/anim/index.ts +179 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/diff.ts +121 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/graph-node.ts +37 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/index.ts +140 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/atlas.ts +18 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/index.ts +6 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/labels.ts +11 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/learning.ts +8 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/legacy-helpers.ts +1373 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/queue.ts +7 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/storage.ts +4 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/model/visibility.ts +9 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/.gitkeep +1 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/index.ts +59 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/legend.ts +25 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/model.ts +593 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/preview.ts +65 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/search.ts +48 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/static-renderer.ts +2783 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/toolbar.ts +40 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/render/viewport.ts +272 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/select/.gitkeep +1 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/select/index.ts +189 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/sim/index.ts +298 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/sim/pins.ts +96 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/themes/.gitkeep +1 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/themes/index.ts +8 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/themes/tokens.ts +107 -0
- package/dist/skills/llm-wiki/packages/graph-engine/src/types.ts +313 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/anim.test.ts +100 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/diff.test.ts +133 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/helpers.test.ts +275 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/learning.test.ts +259 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/preview.test.ts +56 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/queue.test.ts +114 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/render-model.test.ts +322 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/runtime-state.test.ts +281 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/search-and-legend.test.ts +111 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/select.test.ts +168 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/sim.test.ts +123 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/themes.test.ts +62 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/toolbar.test.ts +64 -0
- package/dist/skills/llm-wiki/packages/graph-engine/test/viewport.test.ts +167 -0
- package/dist/skills/llm-wiki/packages/graph-engine/tsconfig.json +17 -0
- package/dist/skills/llm-wiki/packages/graph-engine/vite.config.ts +15 -0
- package/dist/skills/llm-wiki/platforms/claude/CLAUDE.md +37 -0
- package/dist/skills/llm-wiki/platforms/claude/companions/llm-wiki-upgrade/SKILL.md +95 -0
- package/dist/skills/llm-wiki/platforms/codex/AGENTS.md +23 -0
- package/dist/skills/llm-wiki/scripts/adapter-state.sh +424 -0
- package/dist/skills/llm-wiki/scripts/build-graph-data.sh +395 -0
- package/dist/skills/llm-wiki/scripts/build-graph-html.sh +453 -0
- package/dist/skills/llm-wiki/scripts/cache.sh +352 -0
- package/dist/skills/llm-wiki/scripts/create-source-page.sh +100 -0
- package/dist/skills/llm-wiki/scripts/delete-helper.sh +68 -0
- package/dist/skills/llm-wiki/scripts/graph-analysis.js +732 -0
- package/dist/skills/llm-wiki/scripts/hook-session-start.sh +46 -0
- package/dist/skills/llm-wiki/scripts/init-wiki.sh +95 -0
- package/dist/skills/llm-wiki/scripts/lib/source-signal-eligibility.js +158 -0
- package/dist/skills/llm-wiki/scripts/lint-fix.sh +114 -0
- package/dist/skills/llm-wiki/scripts/lint-runner.sh +217 -0
- package/dist/skills/llm-wiki/scripts/runtime-context.sh +77 -0
- package/dist/skills/llm-wiki/scripts/shared-config.sh +83 -0
- package/dist/skills/llm-wiki/scripts/source-record-contract.tsv +10 -0
- package/dist/skills/llm-wiki/scripts/source-registry.sh +349 -0
- package/dist/skills/llm-wiki/scripts/source-registry.tsv +10 -0
- package/dist/skills/llm-wiki/scripts/source-signal-coverage.js +83 -0
- package/dist/skills/llm-wiki/scripts/validate-step1.sh +144 -0
- package/dist/skills/llm-wiki/scripts/wiki-compat.sh +267 -0
- package/dist/skills/llm-wiki/setup.sh +8 -0
- package/dist/skills/llm-wiki/templates/entity-template.md +30 -0
- package/dist/skills/llm-wiki/templates/graph-styles/wash/footer.html +27 -0
- package/dist/skills/llm-wiki/templates/graph-styles/wash/graph-wash-helpers.js +1326 -0
- package/dist/skills/llm-wiki/templates/graph-styles/wash/graph-wash.js +1009 -0
- package/dist/skills/llm-wiki/templates/graph-styles/wash/header.html +2002 -0
- package/dist/skills/llm-wiki/templates/index-en-template.md +51 -0
- package/dist/skills/llm-wiki/templates/index-template.md +51 -0
- package/dist/skills/llm-wiki/templates/log-en-template.md +11 -0
- package/dist/skills/llm-wiki/templates/log-template.md +11 -0
- package/dist/skills/llm-wiki/templates/overview-en-template.md +41 -0
- package/dist/skills/llm-wiki/templates/overview-template.md +41 -0
- package/dist/skills/llm-wiki/templates/purpose-en-template.md +16 -0
- package/dist/skills/llm-wiki/templates/purpose-template.md +16 -0
- package/dist/skills/llm-wiki/templates/query-template.md +19 -0
- package/dist/skills/llm-wiki/templates/schema-template.md +185 -0
- package/dist/skills/llm-wiki/templates/source-template.md +51 -0
- package/dist/skills/llm-wiki/templates/synthesis-template.md +25 -0
- package/dist/skills/llm-wiki/templates/topic-template.md +35 -0
- package/dist/skills/llm-wiki/tests/adapter-state.sh +338 -0
- package/dist/skills/llm-wiki/tests/browser/graph-density-preview.mjs +53 -0
- package/dist/skills/llm-wiki/tests/browser/graph-html-insights.mjs +41 -0
- package/dist/skills/llm-wiki/tests/browser/graph-node-slim.mjs +71 -0
- package/dist/skills/llm-wiki/tests/browser/graph-stage-4-5.mjs +717 -0
- package/dist/skills/llm-wiki/tests/expected/graph-data-empty.json +60 -0
- package/dist/skills/llm-wiki/tests/expected/graph-data-sample.json +396 -0
- package/dist/skills/llm-wiki/tests/expected/graph-interactive-basic.html +1736 -0
- package/dist/skills/llm-wiki/tests/expected/lint-output.txt +44 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/index.md +1 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Alpha.md +10 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Beta.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Delta.md +8 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Gamma.md +8 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/queries/20260422-abc.md +10 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/synthesis/Crystal.md +8 -0
- package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/topics/Overview.md +9 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-empty-wiki/wiki/entities/.gitkeep +0 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/purpose.md +3 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Attention.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Decoder.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Encoder.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/GPT.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Transformer.md +13 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/sources/paper.md +9 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/topics/arch.md +12 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/topics/finetune.md +9 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-interactive-basic/wiki/graph-data.json +40 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-interactive-dense/wiki/graph-data.json +3965 -0
- package/dist/skills/llm-wiki/tests/fixtures/graph-interactive-multicomm/wiki/graph-data.json +212 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/index.md +14 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/C++.md +6 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/Lonely.md +4 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/Other.md +8 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/Real.md +7 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/sources/2026-01-01-test-source.md +15 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/sources/2026-02-01-inline-img.md +12 -0
- package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/topics/AIbasic.md +3 -0
- package/dist/skills/llm-wiki/tests/graph-analysis-helper.regression-1.sh +237 -0
- package/dist/skills/llm-wiki/tests/graph-browser-stage-4-5.regression-1.sh +157 -0
- package/dist/skills/llm-wiki/tests/graph-build-failures.regression-1.sh +91 -0
- package/dist/skills/llm-wiki/tests/graph-data-confidence-merge.regression-1.sh +309 -0
- package/dist/skills/llm-wiki/tests/graph-data-source-paths.regression-1.sh +49 -0
- package/dist/skills/llm-wiki/tests/graph-html-a11y.regression-1.sh +47 -0
- package/dist/skills/llm-wiki/tests/graph-html-brand-link.regression-1.sh +47 -0
- package/dist/skills/llm-wiki/tests/graph-html-density.regression-1.sh +228 -0
- package/dist/skills/llm-wiki/tests/graph-html-drawer-neighbors.regression-1.sh +47 -0
- package/dist/skills/llm-wiki/tests/graph-html-insights.regression-1.sh +80 -0
- package/dist/skills/llm-wiki/tests/graph-html-long-label.regression-1.sh +92 -0
- package/dist/skills/llm-wiki/tests/graph-html-minimap.regression-1.sh +51 -0
- package/dist/skills/llm-wiki/tests/graph-html-mobile.regression-1.sh +48 -0
- package/dist/skills/llm-wiki/tests/graph-html-oriental-atlas-contract.regression-1.sh +94 -0
- package/dist/skills/llm-wiki/tests/graph-html-oriental-design-contract.regression-1.sh +82 -0
- package/dist/skills/llm-wiki/tests/graph-html-search.regression-1.sh +52 -0
- package/dist/skills/llm-wiki/tests/graph-html-styles.regression-1.sh +66 -0
- package/dist/skills/llm-wiki/tests/graph-html-toolbar.regression-1.sh +62 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-bootstrap.test.js +110 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-helpers.test.js +296 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-learning.test.js +260 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-queue.test.js +115 -0
- package/dist/skills/llm-wiki/tests/js/graph-wash-runtime-state.test.js +282 -0
- package/dist/skills/llm-wiki/tests/js/source-signal-coverage.test.js +48 -0
- package/dist/skills/llm-wiki/tests/js/source-signal-eligibility.test.js +202 -0
- package/dist/skills/llm-wiki/tests/lib/graph-html-engine-helpers.sh +110 -0
- package/dist/skills/llm-wiki/tests/lint-output.regression-1.sh +32 -0
- package/dist/skills/llm-wiki/tests/regression.sh +1754 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/.gitkeep +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/SKILL.md +590 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/__init__.py +1 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/accept_changes.py +135 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/comment.py +318 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/helpers/__init__.py +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/pack.py +159 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/soffice.py +183 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/unpack.py +132 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validate.py +111 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/__init__.py +15 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/base.py +847 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/docx.py +446 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/pptx.py +275 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/redlining.py +247 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/comments.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/people.xml +3 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/SKILL.md +314 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/forms.md +294 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/reference.md +612 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/check_bounding_boxes.py +65 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/check_fillable_fields.py +11 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/create_validation_image.py +37 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/extract_form_field_info.py +122 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/extract_form_structure.py +115 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/fill_fillable_fields.py +98 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/SKILL.md +232 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/editing.md +205 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/pptxgenjs.md +420 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/__init__.py +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/add_slide.py +195 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/clean.py +286 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/helpers/__init__.py +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/pack.py +159 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/soffice.py +183 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/unpack.py +132 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validate.py +111 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/__init__.py +15 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/base.py +847 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/docx.py +446 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/pptx.py +275 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/redlining.py +247 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/thumbnail.py +289 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/SKILL.md +292 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/pack.py +159 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/soffice.py +183 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/unpack.py +132 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validate.py +111 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/__init__.py +15 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/base.py +847 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/docx.py +446 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/pptx.py +275 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/redlining.py +247 -0
- package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/recalc.py +184 -0
- package/dist/skills/llm-wiki/workbench/AGENTS.md +110 -0
- package/dist/skills/llm-wiki/workbench/CLAUDE.md +54 -0
- package/dist/skills/llm-wiki/workbench/PRODUCT.md +1268 -0
- package/dist/skills/llm-wiki/workbench/docs/current-kb-retrieval-design.md +587 -0
- package/dist/skills/llm-wiki/workbench/docs/graph-evolution-1-design.md +210 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-2-design.md +1139 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-3-design.md +1269 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-3.5-design.md +1164 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-4-design.md +504 -0
- package/dist/skills/llm-wiki/workbench/docs/stage-4.5-design.md +195 -0
- package/dist/skills/llm-wiki/workbench/docs/superpowers/specs/2026-05-28-resizable-preview-layout-design.md +165 -0
- package/dist/skills/llm-wiki/workbench/docs/superpowers/specs/2026-05-28-settings-panel-scroll-fix.md +50 -0
- package/dist/skills/llm-wiki/workbench/server/package.json +29 -0
- package/dist/skills/llm-wiki/workbench/server/src/agent.ts +457 -0
- package/dist/skills/llm-wiki/workbench/server/src/artifacts.ts +248 -0
- package/dist/skills/llm-wiki/workbench/server/src/auth.ts +164 -0
- package/dist/skills/llm-wiki/workbench/server/src/config.ts +130 -0
- package/dist/skills/llm-wiki/workbench/server/src/conversations.test.ts +121 -0
- package/dist/skills/llm-wiki/workbench/server/src/conversations.ts +255 -0
- package/dist/skills/llm-wiki/workbench/server/src/digest/batch.ts +189 -0
- package/dist/skills/llm-wiki/workbench/server/src/digest/concurrency.test.ts +36 -0
- package/dist/skills/llm-wiki/workbench/server/src/digest/concurrency.ts +31 -0
- package/dist/skills/llm-wiki/workbench/server/src/digest/subagent.ts +91 -0
- package/dist/skills/llm-wiki/workbench/server/src/extensions/artifacts.ts +81 -0
- package/dist/skills/llm-wiki/workbench/server/src/extensions/knowledge-base.ts +263 -0
- package/dist/skills/llm-wiki/workbench/server/src/extensions/new-wiki.ts +42 -0
- package/dist/skills/llm-wiki/workbench/server/src/extensions/synthesis.ts +172 -0
- package/dist/skills/llm-wiki/workbench/server/src/graph-watcher.test.ts +196 -0
- package/dist/skills/llm-wiki/workbench/server/src/graph.test.ts +84 -0
- package/dist/skills/llm-wiki/workbench/server/src/graph.ts +379 -0
- package/dist/skills/llm-wiki/workbench/server/src/index.ts +1148 -0
- package/dist/skills/llm-wiki/workbench/server/src/knowledge-bases.test.ts +30 -0
- package/dist/skills/llm-wiki/workbench/server/src/knowledge-bases.ts +321 -0
- package/dist/skills/llm-wiki/workbench/server/src/pages.test.ts +16 -0
- package/dist/skills/llm-wiki/workbench/server/src/pages.ts +158 -0
- package/dist/skills/llm-wiki/workbench/server/src/retrieval.test.ts +151 -0
- package/dist/skills/llm-wiki/workbench/server/src/retrieval.ts +427 -0
- package/dist/skills/llm-wiki/workbench/server/src/tool-status-events.test.ts +363 -0
- package/dist/skills/llm-wiki/workbench/server/src/tool-status-events.ts +616 -0
- package/dist/skills/llm-wiki/workbench/server/src/wiki-init.test.ts +19 -0
- package/dist/skills/llm-wiki/workbench/server/src/wiki-init.ts +188 -0
- package/dist/skills/llm-wiki/workbench/server/tsconfig.json +10 -0
- package/dist/skills/llm-wiki/workbench/tsconfig.json +20 -0
- package/dist/skills/llm-wiki/workbench/web/components.json +21 -0
- package/dist/skills/llm-wiki/workbench/web/eslint.config.js +22 -0
- package/dist/skills/llm-wiki/workbench/web/index.html +13 -0
- package/dist/skills/llm-wiki/workbench/web/package.json +48 -0
- package/dist/skills/llm-wiki/workbench/web/src/App.tsx +749 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/AddExternalDialog.tsx +373 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ArtifactView.tsx +15 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/BatchDigestPanel.tsx +106 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ChatPanel.tsx +821 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/CommandMenu.tsx +65 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ExportButtons.tsx +54 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/GraphPanel.tsx +516 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/GraphReader.tsx +48 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/GraphSelection.tsx +100 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/MarkdownView.tsx +56 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/NewWikiDialog.tsx +101 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/RefMenu.tsx +40 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/RightDrawer.tsx +227 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/SettingsPanel.tsx +331 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/Sidebar.tsx +436 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ToolHistorySummary.tsx +123 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ToolStatusRunway.tsx +90 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/renderers/DownloadOnlyRenderer.tsx +88 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/renderers/HtmlRenderer.tsx +92 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/button.tsx +52 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/command.tsx +50 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/dialog.tsx +156 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/input.tsx +21 -0
- package/dist/skills/llm-wiki/workbench/web/src/components/ui/tooltip.tsx +57 -0
- package/dist/skills/llm-wiki/workbench/web/src/index.css +1737 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/api.ts +648 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/drawer-state.ts +79 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/graph-reader.ts +25 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/graph-selection-drawer.ts +35 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/graph-selection.ts +96 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/legacy-tool-status.ts +113 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/sse.ts +72 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/tool-status-format.ts +170 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/tool-status-model.ts +392 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/utils.ts +10 -0
- package/dist/skills/llm-wiki/workbench/web/src/lib/wiki-links.ts +32 -0
- package/dist/skills/llm-wiki/workbench/web/src/main.tsx +10 -0
- package/dist/skills/llm-wiki/workbench/web/test/api.test.ts +61 -0
- package/dist/skills/llm-wiki/workbench/web/test/chat-panel-tool-status.test.tsx +26 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-drawer-state.test.ts +78 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-reader-request.test.ts +32 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-reader.test.ts +62 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-selection-drawer.test.ts +56 -0
- package/dist/skills/llm-wiki/workbench/web/test/graph-selection.test.ts +83 -0
- package/dist/skills/llm-wiki/workbench/web/test/tool-history-summary.test.tsx +124 -0
- package/dist/skills/llm-wiki/workbench/web/test/tool-status-format.test.ts +107 -0
- package/dist/skills/llm-wiki/workbench/web/test/tool-status-model.test.ts +324 -0
- package/dist/skills/llm-wiki/workbench/web/test/tool-status-runway.test.ts +134 -0
- package/dist/skills/llm-wiki/workbench/web/test/wiki-links.test.ts +23 -0
- package/dist/skills/llm-wiki/workbench/web/tsconfig.app.json +30 -0
- package/dist/skills/llm-wiki/workbench/web/tsconfig.json +7 -0
- package/dist/skills/llm-wiki/workbench/web/tsconfig.node.json +24 -0
- package/dist/skills/llm-wiki/workbench/web/vite.config.ts +26 -0
- package/dist/skills/mean-reviewer/SECURITY.md +23 -0
- package/dist/skills/mean-reviewer/SKILL.md +203 -0
- package/dist/skills/mean-reviewer/examples/13446_1000_Layer_Networks_for_.pdf +0 -0
- package/dist/skills/mean-reviewer/examples/13446_mean_reviewer.md +116 -0
- package/dist/skills/mean-reviewer/examples/13446_mean_reviewer_author_rebuttal_simulated.md +282 -0
- package/dist/skills/mean-reviewer/examples/13446_mean_reviewer_reply.md +91 -0
- package/dist/skills/mean-reviewer/examples/13446_official_review.json +973 -0
- package/dist/skills/mean-reviewer/examples/ChatGPT_AC_Roleplay.jpeg +0 -0
- package/dist/skills/medical-imaging-review/SKILL.md +295 -0
- package/dist/skills/medical-imaging-review/references/CITATION_INTEGRITY.md +233 -0
- package/dist/skills/medical-imaging-review/references/DOMAINS.md +302 -0
- package/dist/skills/medical-imaging-review/references/HALLUCINATION_PATTERNS.md +211 -0
- package/dist/skills/medical-imaging-review/references/MCP_SETUP.md +216 -0
- package/dist/skills/medical-imaging-review/references/PARADIGM.md +221 -0
- package/dist/skills/medical-imaging-review/references/QUALITY_CHECKLIST.md +169 -0
- package/dist/skills/medical-imaging-review/references/TEMPLATES.md +291 -0
- package/dist/skills/medical-imaging-review/references/WORKFLOW.md +289 -0
- package/dist/skills/mermaid-diagram/SKILL.md +379 -0
- package/dist/skills/meta-apply/SKILL.md +137 -0
- package/dist/skills/meta-optimize/SKILL.md +253 -0
- package/dist/skills/monitor-experiment/SKILL.md +98 -0
- package/dist/skills/novelty-check/SKILL.md +89 -0
- package/dist/skills/openalex/SKILL.md +228 -0
- package/dist/skills/overleaf-sync/SKILL.md +220 -0
- package/dist/skills/paper-claim-audit/SKILL.md +340 -0
- package/dist/skills/paper-compile/SKILL.md +253 -0
- package/dist/skills/paper-figure/SKILL.md +279 -0
- package/dist/skills/paper-illustration/SKILL.md +690 -0
- package/dist/skills/paper-illustration-image2/SKILL.md +383 -0
- package/dist/skills/paper-illustration-image2/scripts/paper_illustration_image2.py +255 -0
- package/dist/skills/paper-plan/SKILL.md +278 -0
- package/dist/skills/paper-poster/SKILL.md +19 -0
- package/dist/skills/paper-poster-html/DESIGN_FINAL.md +176 -0
- package/dist/skills/paper-poster-html/IMPLEMENTATION_CONVENTIONS.md +161 -0
- package/dist/skills/paper-poster-html/LICENSES/posterly-MIT.txt +21 -0
- package/dist/skills/paper-poster-html/NOTICE.md +57 -0
- package/dist/skills/paper-poster-html/SKILL.md +357 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/__init__.py +0 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/canvas.py +200 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/measure.py +588 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/polish.py +498 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/preflight.py +489 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/render.py +215 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/textutil.py +16 -0
- package/dist/skills/paper-poster-html/scripts/_posterly/verify_final.py +171 -0
- package/dist/skills/paper-poster-html/scripts/asset_check.py +897 -0
- package/dist/skills/paper-poster-html/scripts/extract_pdf_figures.py +666 -0
- package/dist/skills/paper-poster-html/scripts/poster_check.py +251 -0
- package/dist/skills/paper-poster-html/scripts/preprocess_figures.py +238 -0
- package/dist/skills/paper-poster-html/scripts/render_preview.py +217 -0
- package/dist/skills/paper-poster-html/scripts/run_gates.py +556 -0
- package/dist/skills/paper-poster-html/scripts/style_check.py +1324 -0
- package/dist/skills/paper-poster-html/templates/COMPONENTS.md +462 -0
- package/dist/skills/paper-poster-html/templates/landscape_4col.html +1032 -0
- package/dist/skills/paper-poster-html/templates/landscape_hero.html +1046 -0
- package/dist/skills/paper-poster-html/templates/portrait_2col.html +947 -0
- package/dist/skills/paper-poster-html/templates/tokens/acl.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/cvpr.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/generic.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/iclr.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/icml.json +9 -0
- package/dist/skills/paper-poster-html/templates/tokens/neurips.json +9 -0
- package/dist/skills/paper-slide-deck/SKILL.md +464 -0
- package/dist/skills/paper-slide-deck/references/analysis-framework.md +392 -0
- package/dist/skills/paper-slide-deck/references/base-prompt.md +70 -0
- package/dist/skills/paper-slide-deck/references/content-rules.md +95 -0
- package/dist/skills/paper-slide-deck/references/figure-container-template.md +177 -0
- package/dist/skills/paper-slide-deck/references/modification-guide.md +85 -0
- package/dist/skills/paper-slide-deck/references/outline-template.md +437 -0
- package/dist/skills/paper-slide-deck/references/styles/academic-paper.md +109 -0
- package/dist/skills/paper-slide-deck/references/styles/blueprint.md +67 -0
- package/dist/skills/paper-slide-deck/references/styles/bold-editorial.md +70 -0
- package/dist/skills/paper-slide-deck/references/styles/chalkboard.md +68 -0
- package/dist/skills/paper-slide-deck/references/styles/corporate.md +69 -0
- package/dist/skills/paper-slide-deck/references/styles/dark-atmospheric.md +69 -0
- package/dist/skills/paper-slide-deck/references/styles/editorial-infographic.md +73 -0
- package/dist/skills/paper-slide-deck/references/styles/fantasy-animation.md +69 -0
- package/dist/skills/paper-slide-deck/references/styles/intuition-machine.md +72 -0
- package/dist/skills/paper-slide-deck/references/styles/minimal.md +64 -0
- package/dist/skills/paper-slide-deck/references/styles/notion.md +69 -0
- package/dist/skills/paper-slide-deck/references/styles/pixel-art.md +67 -0
- package/dist/skills/paper-slide-deck/references/styles/scientific.md +73 -0
- package/dist/skills/paper-slide-deck/references/styles/sketch-notes.md +66 -0
- package/dist/skills/paper-slide-deck/references/styles/vector-illustration.md +72 -0
- package/dist/skills/paper-slide-deck/references/styles/vintage.md +73 -0
- package/dist/skills/paper-slide-deck/references/styles/watercolor.md +68 -0
- package/dist/skills/paper-slide-deck/scripts/apply-template.ts +282 -0
- package/dist/skills/paper-slide-deck/scripts/detect-figures.ts +283 -0
- package/dist/skills/paper-slide-deck/scripts/extract-figure.ts +140 -0
- package/dist/skills/paper-slide-deck/scripts/generate-slides.py +182 -0
- package/dist/skills/paper-slide-deck/scripts/merge-to-pdf.ts +116 -0
- package/dist/skills/paper-slide-deck/scripts/merge-to-pptx.ts +137 -0
- package/dist/skills/paper-slide-deck/scripts/package-lock.json +899 -0
- package/dist/skills/paper-slide-deck/scripts/package.json +8 -0
- package/dist/skills/paper-slides/SKILL.md +571 -0
- package/dist/skills/paper-talk/SKILL.md +381 -0
- package/dist/skills/paper-write/SKILL.md +411 -0
- package/dist/skills/paper-write/templates/IEEEtran.bst +2409 -0
- package/dist/skills/paper-write/templates/IEEEtran.cls +6347 -0
- package/dist/skills/paper-write/templates/aaai2026.bst +1493 -0
- package/dist/skills/paper-write/templates/aaai2026.sty +315 -0
- package/dist/skills/paper-write/templates/aaai2026.tex +952 -0
- package/dist/skills/paper-write/templates/acl.sty +312 -0
- package/dist/skills/paper-write/templates/acl2026.tex +377 -0
- package/dist/skills/paper-write/templates/acl_natbib.bst +1940 -0
- package/dist/skills/paper-write/templates/acm.bst +3081 -0
- package/dist/skills/paper-write/templates/acm_mm2026.tex +204 -0
- package/dist/skills/paper-write/templates/acmart.cls +3520 -0
- package/dist/skills/paper-write/templates/cvpr.bst +1448 -0
- package/dist/skills/paper-write/templates/cvpr.sty +508 -0
- package/dist/skills/paper-write/templates/cvpr2026.tex +63 -0
- package/dist/skills/paper-write/templates/iclr2026.tex +84 -0
- package/dist/skills/paper-write/templates/iclr2026_conference.bst +1440 -0
- package/dist/skills/paper-write/templates/iclr2026_conference.sty +246 -0
- package/dist/skills/paper-write/templates/icml2025.tex +87 -0
- package/dist/skills/paper-write/templates/icml2026.sty +767 -0
- package/dist/skills/paper-write/templates/icml2026.tex +662 -0
- package/dist/skills/paper-write/templates/ieee_conference.tex +89 -0
- package/dist/skills/paper-write/templates/ieee_journal.tex +93 -0
- package/dist/skills/paper-write/templates/math_commands.tex +48 -0
- package/dist/skills/paper-write/templates/neurips2025.tex +80 -0
- package/dist/skills/paper-write/templates/neurips2026.tex +493 -0
- package/dist/skills/paper-write/templates/neurips_2026.sty +437 -0
- package/dist/skills/paper-writing/SKILL.md +632 -0
- package/dist/skills/patent-novelty-check/SKILL.md +153 -0
- package/dist/skills/patent-pipeline/SKILL.md +344 -0
- package/dist/skills/patent-review/SKILL.md +202 -0
- package/dist/skills/pixel-art/SKILL.md +139 -0
- package/dist/skills/pre-submission-reviewer/SKILL.md +247 -0
- package/dist/skills/pre-submission-reviewer/references/forbidden-patterns.md +163 -0
- package/dist/skills/pre-submission-reviewer/references/grammar-rules.md +135 -0
- package/dist/skills/pre-submission-reviewer/references/latex-rules.md +158 -0
- package/dist/skills/pre-submission-reviewer/references/logic-and-structure.md +125 -0
- package/dist/skills/pre-submission-reviewer/references/section-guides.md +169 -0
- package/dist/skills/prior-art-search/SKILL.md +146 -0
- package/dist/skills/proof-checker/SKILL.md +499 -0
- package/dist/skills/proof-writer/SKILL.md +222 -0
- package/dist/skills/qzcli/SKILL.md +316 -0
- package/dist/skills/rebuttal/SKILL.md +304 -0
- package/dist/skills/render-html/SKILL.md +299 -0
- package/dist/skills/render-html/scripts/render_html.py +905 -0
- package/dist/skills/render-html/scripts/templates/academic.html +342 -0
- package/dist/skills/render-html/scripts/templates/dashboard.html +333 -0
- package/dist/skills/research-lit/SKILL.md +353 -0
- package/dist/skills/research-paper-writing/SKILL.md +99 -0
- package/dist/skills/research-paper-writing/agents/openai.yaml +4 -0
- package/dist/skills/research-paper-writing/references/abstract.md +102 -0
- package/dist/skills/research-paper-writing/references/conclusion.md +35 -0
- package/dist/skills/research-paper-writing/references/does-my-writing-flow-source.md +45 -0
- package/dist/skills/research-paper-writing/references/examples/abstract/template-a.md +21 -0
- package/dist/skills/research-paper-writing/references/examples/abstract/template-b.md +34 -0
- package/dist/skills/research-paper-writing/references/examples/abstract/template-c.md +28 -0
- package/dist/skills/research-paper-writing/references/examples/abstract-examples.md +13 -0
- package/dist/skills/research-paper-writing/references/examples/index.md +21 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/novel-task-challenge-decomposition.md +18 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-not-recommended-abstract-only.md +30 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-1-one-contribution-multi-advantages.md +30 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-2-two-contributions.md +34 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-3-new-module-on-existing-pipeline.md +18 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-4-observation-driven.md +16 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/technical-challenge-version-1-existing-task.md +32 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/technical-challenge-version-2-existing-task-insight-backed-by-traditional.md +33 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/technical-challenge-version-3-novel-task.md +21 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/version-1-task-then-application.md +14 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/version-2-application-first.md +10 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/version-3-general-to-specific-setting.md +14 -0
- package/dist/skills/research-paper-writing/references/examples/introduction/version-4-open-with-challenge.md +20 -0
- package/dist/skills/research-paper-writing/references/examples/introduction-examples.md +25 -0
- package/dist/skills/research-paper-writing/references/examples/method/example-of-the-three-elements.md +67 -0
- package/dist/skills/research-paper-writing/references/examples/method/method-writing-common-issues-note.md +10 -0
- package/dist/skills/research-paper-writing/references/examples/method/module-design-instant-ngp.md +55 -0
- package/dist/skills/research-paper-writing/references/examples/method/module-motivation-patterns.md +15 -0
- package/dist/skills/research-paper-writing/references/examples/method/module-triad-neural-body.md +19 -0
- package/dist/skills/research-paper-writing/references/examples/method/neural-body-annotated-figure-text.md +66 -0
- package/dist/skills/research-paper-writing/references/examples/method/overview-template.md +30 -0
- package/dist/skills/research-paper-writing/references/examples/method/pre-writing-questions.md +17 -0
- package/dist/skills/research-paper-writing/references/examples/method/section-skeleton.md +9 -0
- package/dist/skills/research-paper-writing/references/examples/method-examples.md +24 -0
- package/dist/skills/research-paper-writing/references/experiments.md +102 -0
- package/dist/skills/research-paper-writing/references/introduction.md +408 -0
- package/dist/skills/research-paper-writing/references/method.md +196 -0
- package/dist/skills/research-paper-writing/references/paper-review.md +86 -0
- package/dist/skills/research-paper-writing/references/related-work.md +41 -0
- package/dist/skills/research-pipeline/SKILL.md +257 -0
- package/dist/skills/research-proposal/SKILL.md +573 -0
- package/dist/skills/research-proposal/assets/proposal_scaffold_en.md +323 -0
- package/dist/skills/research-proposal/assets/proposal_scaffold_zh.md +346 -0
- package/dist/skills/research-proposal/references/DOMAIN_TEMPLATES.md +518 -0
- package/dist/skills/research-proposal/references/LITERATURE_WORKFLOW.md +529 -0
- package/dist/skills/research-proposal/references/QUALITY_CHECKLIST.md +325 -0
- package/dist/skills/research-proposal/references/STRUCTURE_GUIDE.md +398 -0
- package/dist/skills/research-proposal/references/WRITING_STYLE_GUIDE.md +661 -0
- package/dist/skills/research-refine/SKILL.md +716 -0
- package/dist/skills/research-refine-pipeline/SKILL.md +186 -0
- package/dist/skills/research-review/SKILL.md +119 -0
- package/dist/skills/research-wiki/SKILL.md +373 -0
- package/dist/skills/resubmit-pipeline/SKILL.md +427 -0
- package/dist/skills/result-to-claim/SKILL.md +190 -0
- package/dist/skills/run-experiment/SKILL.md +227 -0
- package/dist/skills/scientific-figure-making/SKILL.md +38 -0
- package/dist/skills/scientific-figure-making/references/api.md +152 -0
- package/dist/skills/scientific-figure-making/references/common-patterns.md +74 -0
- package/dist/skills/scientific-figure-making/references/demos.md +30 -0
- package/dist/skills/scientific-figure-making/references/design-theory.md +138 -0
- package/dist/skills/scientific-figure-making/references/tutorials.md +135 -0
- package/dist/skills/semantic-scholar/SKILL.md +219 -0
- package/dist/skills/serverless-modal/SKILL.md +324 -0
- package/dist/skills/slides-polish/SKILL.md +563 -0
- package/dist/skills/specification-writing/SKILL.md +211 -0
- package/dist/skills/strategist/SKILL.md +670 -0
- package/dist/skills/strategist/references/quality_standards.md +336 -0
- package/dist/skills/strategist/references/search_strategy.md +459 -0
- package/dist/skills/strategist/scripts/evaluate_samples.py +300 -0
- package/dist/skills/strategist/scripts/gap_analysis.py +399 -0
- package/dist/skills/system-profile/SKILL.md +103 -0
- package/dist/skills/tech-paper-template/SKILL.md +192 -0
- package/dist/skills/tech-paper-template/references/consistency-checks.md +166 -0
- package/dist/skills/tech-paper-template/references/paper-types.md +127 -0
- package/dist/skills/tech-paper-template/references/thinking-template.md +194 -0
- package/dist/skills/tech-paper-template/references/worked-examples.md +124 -0
- package/dist/skills/training-check/SKILL.md +83 -0
- package/dist/skills/vast-gpu/SKILL.md +380 -0
- package/dist/skills/vibe-research-workflow/SKILL.md +189 -0
- package/dist/skills/vibe-research-workflow/references/behavior-guidelines.md +149 -0
- package/dist/skills/vibe-research-workflow/references/tool-selection.md +144 -0
- package/dist/skills/vibe-research-workflow/references/vibe-coding.md +154 -0
- package/dist/skills/vibe-research-workflow/references/vibe-figure.md +131 -0
- package/dist/skills/vibe-research-workflow/references/vibe-writing.md +181 -0
- package/dist/skills/wiki-enrich/SKILL.md +254 -0
- package/dist/skills/writing-systems-papers/SKILL.md +184 -0
- package/package.json +1 -1
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
# 阶段四设计文档:monorepo 合并 + 图谱活地图
|
|
2
|
+
|
|
3
|
+
> 状态:**已实施完成,主观验收项待验收人判断**
|
|
4
|
+
> 日期:2026-06-12
|
|
5
|
+
> 前置讨论:本文档由 2026-06-12 的四轮设计对话沉淀而成(战略定位 → 选区设计 → 钉扎持久化 → 生长事件链 → 引擎抽取)。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## §0 文档用法
|
|
10
|
+
|
|
11
|
+
- 本文档是阶段四的**唯一实施依据**。与 PRODUCT.md 冲突时,以 PRODUCT.md §7 的 ADR-20 / ADR-21 为准(两者由同一轮讨论产出,理论上不会冲突)。
|
|
12
|
+
- 每个 Step 动手前先读对应小节;实施者每完成一个 Step,按协作约定 commit 并向作者列改动清单。
|
|
13
|
+
- ❗ 标记 = 已知坑,实施时必须按写死的对策执行,不要自由发挥。
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## §1 阶段四总览
|
|
18
|
+
|
|
19
|
+
### 1.1 背景
|
|
20
|
+
|
|
21
|
+
两条线在本阶段汇合:
|
|
22
|
+
|
|
23
|
+
1. **战略线**:llm-wiki 的终局形态已定——"一个产品、两扇门"(产品 = 知识库格式 + 中文素材管线 + 方法论;门一 = Skill,门二 = 工作台)。ADR-16 规划的"agent 并回主仓库"需要一个启动时机。
|
|
24
|
+
2. **产品线**:原阶段四"图谱集成"经设计讨论升级为"图谱活地图"——图谱不是嵌进来的 HTML,而是工作台的第二主屏,同时图谱引擎反哺 Skill 的离线 HTML。
|
|
25
|
+
|
|
26
|
+
两条线汇合的原因:图谱引擎是**两端共享的第一块代码**。共享代码出现的那一刻,"分居两仓库"开始产生真实摩擦(跨仓库依赖、双份维护)——这就是合并时机成熟的信号。
|
|
27
|
+
|
|
28
|
+
### 1.2 两大目标
|
|
29
|
+
|
|
30
|
+
1. **monorepo 合并(工程部分)**:本仓库(llm-wiki-agent)整体搬入主仓库(llm-wiki-skill 仓库)成为 workspace 成员。**不发版、不改 README、不对外宣布**——品牌动作(仓库改名、双形态叙事)留给后续阶段。
|
|
31
|
+
2. **图谱活地图**:共享图谱引擎 `@llm-wiki/graph-engine` 落地,工作台获得活的图谱视图(活模拟、钉扎、选区提问、生长动画),Skill 离线 HTML 在最后一步切换到引擎产物。
|
|
32
|
+
|
|
33
|
+
### 1.3 范围
|
|
34
|
+
|
|
35
|
+
- Step 0:monorepo 搬家 + workspace 根配置 + 全链路冒烟
|
|
36
|
+
- Step 1:引擎包骨架 + helpers 纯函数 TS 化 + 测试迁移
|
|
37
|
+
- Step 2:工作台图谱视图(静态复现基线)+ 主题 token(山水 / 墨夜第一版)
|
|
38
|
+
- Step 3:活模拟 + 钉扎 + 持久化
|
|
39
|
+
- Step 4:选区系统 + 对话联动
|
|
40
|
+
- Step 5:文件监听 + 重算链 + 生长动画
|
|
41
|
+
- Step 6:Skill 离线 HTML 切换引擎产物
|
|
42
|
+
- Step 7:总验收 + 墨夜主题打磨 + UX 体感收尾
|
|
43
|
+
|
|
44
|
+
### 1.4 不包含
|
|
45
|
+
|
|
46
|
+
- ❌ 仓库改名 / README 双形态叙事 / 对外发布(后续品牌阶段)
|
|
47
|
+
- ❌ Tauri 打包(原阶段五,已决策推迟到工作台被真实外部用户使用之后)
|
|
48
|
+
- ❌ 跨知识库图谱("联邦知识库"远期命题)
|
|
49
|
+
- ❌ 自由套索圈选(见 D5,明确砍掉)
|
|
50
|
+
- ❌ 全部"明确不做清单"见 §8
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## §2 关键设计决策(D1–D14)
|
|
55
|
+
|
|
56
|
+
> 每条决策含结论与一句话理由。完整论证过程见设计对话,此处只存可执行结论。
|
|
57
|
+
|
|
58
|
+
### D1 仓库布局:丙方案(monorepo 一次成型)
|
|
59
|
+
|
|
60
|
+
agent 仓库整体搬入主仓库子目录 `workbench/`,图谱引擎作为第一个共享包 `packages/graph-engine/`。目标布局:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
llm-wiki-skill 仓库(未来品牌阶段改名 llm-wiki)
|
|
64
|
+
├── SKILL.md / scripts/ / templates/ / platforms/ / deps/ / tests/ ← Skill 主线,不动
|
|
65
|
+
├── packages/
|
|
66
|
+
│ └── graph-engine/ ← 新:共享图谱引擎(TS)
|
|
67
|
+
├── workbench/ ← 原 llm-wiki-agent 全部内容(server/ web/ docs/ PRODUCT.md ...)
|
|
68
|
+
├── package.json ← 新:workspace 根
|
|
69
|
+
├── .mise.toml / .nvmrc ← 从 agent 仓库上移
|
|
70
|
+
└── ...
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
- 搬运方式:`git subtree add --prefix=workbench <agent 仓库 URL> main`(保留全部 57 个 commit 历史,路径自动重写到 workbench/ 下)。
|
|
74
|
+
- 旧 agent 仓库处置:**保留不动**(不 archive、不加迁移说明),处置推迟到品牌阶段。开发主场即日起切到 monorepo。
|
|
75
|
+
- 理由:砖要砌在最终的房子上;同屋檐下 workspace 联调体验最好;主仓库 git 活跃恢复是战略副产物。
|
|
76
|
+
|
|
77
|
+
### D2 图谱地位:主区域第二视图
|
|
78
|
+
|
|
79
|
+
- 侧栏新增"图谱"入口;主区域在"对话 ⇄ 图谱"间切换;图谱**绑定当前知识库**(与 ADR-12 会话绑库同构:切库 = 换地图)。
|
|
80
|
+
- 对话仍是第一主屏(ADR-2 不动摇)。图谱只接"结构可见"的问题;非结构问题(消化、闲聊)主入口仍是对话。
|
|
81
|
+
|
|
82
|
+
### D3 一个引擎、两个宿主
|
|
83
|
+
|
|
84
|
+
- 引擎包 `@llm-wiki/graph-engine`:数据进、画布出,构建双产物(ESM 给工作台 React;IIFE 单文件给离线 HTML 打包)。
|
|
85
|
+
- 宿主差异通过 **capabilities 能力注入**表达(见 §4.5),引擎核心零分叉,没有任何"如果是离线 HTML 就…"的判断。
|
|
86
|
+
- React 侧是 ~30 行薄壳组件(useRef 容器 + useEffect 生命周期),React 管壳、引擎管画布内部。
|
|
87
|
+
|
|
88
|
+
### D4 主题:一对官方主题,跟随工作台
|
|
89
|
+
|
|
90
|
+
- 浅色「数字山水」(品牌签名,离线 HTML 默认)+ 深色「墨夜」(同一国风语法的夜间变体:黑底、白墨、朱砂点睛)。
|
|
91
|
+
- 图谱主题**跟随工作台浅/深切换**,不提供独立的图谱主题选择。明确不做主题商店。
|
|
92
|
+
- 主题实现为 CSS token 层(颜色、纹理、字体变量),留扩展位但只维护两个官方主题。
|
|
93
|
+
|
|
94
|
+
### D5 选区:结构化四式,砍掉自由套索
|
|
95
|
+
|
|
96
|
+
空间邻近 ≠ 语义相关(力导向布局位置是算法产物),自由画圈必然圈出无语义保证的集合,**不做**。只提供四种自带语义保证的选择方式:
|
|
97
|
+
|
|
98
|
+
| 方式 | 操作 | 语义保证 |
|
|
99
|
+
|---|---|---|
|
|
100
|
+
| 选一页 | 点节点 | 就是这一页 |
|
|
101
|
+
| 选一簇 | 点社区色块/标签 | Louvain 聚类,内部链接密集 |
|
|
102
|
+
| 选一页+语境 | 选中后点"+邻居" | 沿真实 wikilink 扩一跳 |
|
|
103
|
+
| 手动挑几页 | Shift+逐个点 | 用户明确自选 |
|
|
104
|
+
|
|
105
|
+
### D6 选区动作:结构事实先行,动作随性质变,本质 = 已有工作流的空间入口
|
|
106
|
+
|
|
107
|
+
- 选区面板先显示**结构事实**(N 页、M 条内部链接、跨几个社区、孤立数),再按选区性质给 2–4 个动作按钮 + 自由输入框:
|
|
108
|
+
- 单社区 → 总结这一簇(digest)/ 找知识缺口(lint 局部)/ 生成主题页
|
|
109
|
+
- 两社区 → 为什么没联系 / 找潜在桥梁 / 对比这两块(comparisons)
|
|
110
|
+
- 互不相连的多选 → 探索潜在联系 / 对比异同(**不**提供"总结这一簇"——那是伪问题)
|
|
111
|
+
- 孤岛页 → 把它链入知识库
|
|
112
|
+
- **选区 = 批量 `@`**:发送时选区展开为结构化文本(页面清单 + 链接关系 + 社区归属),沿用现有 `/api/prompt` 文本通道,**不加新参数**;页面正文由 agent 按需 `read`(与阶段二 `@` 语义、ADR-19 检索路线一致)。
|
|
113
|
+
- UI 上选区在输入框呈现为一个胶囊 chip:`@[选区:Agent工程 · 12页]`,可点击回图谱重看。
|
|
114
|
+
- 发送目标:默认**当前活跃对话**;面板留"在新对话中打开"次按钮。
|
|
115
|
+
|
|
116
|
+
### D7 跨库图谱:不做
|
|
117
|
+
|
|
118
|
+
图谱能跨库而对话不能(ADR-12)会撕裂圈选提问的心智;跨库联系频繁出现说明分库方式该调。留给远期"联邦知识库"命题。
|
|
119
|
+
|
|
120
|
+
### D8 钉扎交互:活模拟 + 松手即钉 + 双击解钉
|
|
121
|
+
|
|
122
|
+
- 工作台图谱运行实时力模拟(d3-force:斥力 + 弹簧力 + 向心力)。
|
|
123
|
+
- 拖动时**低温运行**(alphaTarget ≈ 0.1–0.2):直接邻居被弹簧温和带动让位,隔层微颤,远处不动;松手后冷却归零,全图入睡(❗ 确保 alphaMin 配置正确,图绝不能永远蠕动)。
|
|
124
|
+
- 松手即钉(设 fx/fy),亮朱砂图钉角标;双击解钉,节点飘回算法位置。
|
|
125
|
+
- 钉住的节点是后续自动布局的锚点:新节点在锚点间自动找位置——手动与自动不抢方向盘。
|
|
126
|
+
- "重置布局"按钮:解开全部钉 + 清文件 + 重跑模拟;交互为**重置后 toast 撤销**,不做事前确认弹窗。
|
|
127
|
+
- 被拖动节点的**邻居**因物理被带动的新位置**不写入持久化**(只存用户的主观决策)。
|
|
128
|
+
|
|
129
|
+
### D9 钉扎持久化:库文件,只存钉的,路径为 key
|
|
130
|
+
|
|
131
|
+
- 存储位置:知识库根下 `.wiki-graph-layout.json`(与 `.wiki-cache.json` 同级同风格)。
|
|
132
|
+
- 原则:**"对知识的主观组织进库文件;浏览状态(缩放/平移/折叠)留本机 localStorage"**。此原则适用于今后所有同类问题。
|
|
133
|
+
- 格式见 §4.1。只存钉住的节点;key 用**库内相对路径**;坐标用**模型坐标**(❗ 不是屏幕坐标,否则缩放平移后错位)。
|
|
134
|
+
- 路径 key 天然解决 PR #44 的"指纹作废"病根:图谱重建后路径未变的钉扎自动存活;被删页面在下次图谱数据重建时惰性清理;改名 = 钉扎丢失(可接受退化,不做改名跟踪)。
|
|
135
|
+
- 写入:前端松手时调后端 API,整文件覆写,防抖(拖动过程不写盘)。文件损坏 = 当作不存在,从零开始,不崩溃。
|
|
136
|
+
- 并发:工作台单实例(PRODUCT.md §6.7);Skill 侧只读不写此文件。
|
|
137
|
+
- Obsidian 共存忽略清单(PRODUCT.md §6.4)与 init 生成的 `.gitignore` 模板**不需要**改动逻辑,但 agent 读写文件清单(§6.4"agent 读写的文件")需补 `.wiki-graph-layout.json`。
|
|
138
|
+
|
|
139
|
+
### D10 位置层 / 结构层分权
|
|
140
|
+
|
|
141
|
+
| 层 | 内容 | 谁说了算 | 拖动改变它吗 |
|
|
142
|
+
|---|---|---|---|
|
|
143
|
+
| 位置层 | 节点摆哪、钉不钉 | 用户 | 改变 |
|
|
144
|
+
| 结构层 | 颜色、社区归属、连线 | 知识库里的真实 wikilink | 完全不变 |
|
|
145
|
+
|
|
146
|
+
- 拖 A 进别的社区团块,A 颜色不变——视觉语言自行消解"拖动改分类"的误解。
|
|
147
|
+
- 想真正改变社区归属 = 改知识:通过选区提问让 agent 建立真实链接写回 wiki,下次重算颜色才变。**想改图的样子,动手拖;想改知识的结构,开口问。**
|
|
148
|
+
- 水墨团块按"成员聚集主体"晕染,**不追离群钉点**(否则团块拉成变形虫);拖动中团块淡化,松手定格后再重新晕染。
|
|
149
|
+
|
|
150
|
+
### D11 混合布局:预计算起点 + 低温入睡 + 活会话坐标策略
|
|
151
|
+
|
|
152
|
+
- **冷启动**:打开图谱时初始位置 = 构建期预计算坐标(build-graph-data 现有能力)+ 钉扎文件钉位;活模拟在此起点低温微调数秒后入睡。保证:每次打开长相稳定、与离线 HTML 初始视图一致、肌肉记忆不失效。
|
|
153
|
+
- **活会话**(❗ 防"布局漂移"):图谱开着时收到重算结果,**既有未钉节点保持当前画面位置不动**(不采用新一轮预计算坐标),新增节点由活模拟在现有布局的缝隙中安置。预计算坐标**只用于冷启动**——否则每次重算老节点集体跳位,画面失控。
|
|
154
|
+
- 推论:跨会话重新打开时布局可能与上次会话末态不同(新一轮预计算)——这是力导向图常态(Obsidian 同),钉扎就是给用户的稳定工具。
|
|
155
|
+
|
|
156
|
+
### D12 重算链:监听文件系统,不监听"消化"
|
|
157
|
+
|
|
158
|
+
- 变化源至少五个:批量/单篇消化、结晶、agent 补链(选区提问闭环的终点)、lint 修复、Obsidian 手改。只盯"消化"会让地图说谎。
|
|
159
|
+
- 底座:后端监听当前知识库目录(`.md` 与 `.wiki-schema.md`),**防抖 ~5s** 合并零星变化;**自家批量流程(批量消化)开始时挂起监听、done 后立即触发一次**。
|
|
160
|
+
- ❗ **监听排除清单**:`.wiki-tmp/`(Skill 运行时临时目录,消化过程狂写,不排除会被自家流程刷爆)、`.git/`、`.obsidian/`、`node_modules/`、`.DS_Store`,以及自家生成物 `.wiki-graph-layout.json`、`wiki/graph-data.json`、`wiki/knowledge-graph.html`。与 PRODUCT.md §6.4 忽略清单对齐。
|
|
161
|
+
- 监听器生命周期跟随当前 KB:切库时停掉旧库监听、启动目标库监听(与会话切换同一时机)。
|
|
162
|
+
- 重算 = 子进程跑现有 `build-graph-data.sh` 全量管线(❗ 不重写、不做增量图计算)。重算期间旧图谱照常显示与交互;新数据就绪才换场,绝不白屏。
|
|
163
|
+
- 重算进行中又有新触发:排队合并(单飞行任务 + 最多一个 pending,跑完再跑一次)。
|
|
164
|
+
- 重算完成后与旧版数据对比产出**差异清单(diff)**——diff 即动画剧本。
|
|
165
|
+
|
|
166
|
+
### D13 生长动画:diff 队列,图谱可见时消费
|
|
167
|
+
|
|
168
|
+
- SSE 推 `graph_updated` 事件(含 diff 与统计)。前端三分支:
|
|
169
|
+
- 图谱视图可见 → 播放生长动画
|
|
170
|
+
- 图谱不可见 → 侧栏图谱入口亮安静徽标;diff 入挂起队列,**打开图谱时从旧布局开场补播**(最高价值一幕:批量消化完才打开图谱看成果)
|
|
171
|
+
- 用户正在拖节点 → 挂起,松手后播
|
|
172
|
+
- 动画剧本(按 diff 四类):新节点从**语义锚点**(其邻居位置)发芽、由活模拟安置(呼应 D11:既有未钉节点不动),孤岛从空白处淡入;新边墨线描画;换社区节点颜色渐变(以 §4.3 社区对齐后的真实变化为准);删除节点淡出;全新社区诞生 → 团块晕染浮现。
|
|
173
|
+
- 节奏:错峰发芽(间隔几十 ms),总时长**压在 2–3 秒内**;点击画布立即定格;尊重系统 `prefers-reduced-motion`(开了直接定格,零配置)。
|
|
174
|
+
- 工作台重启后不补播(动画是体验不是持久化资产),直接显示最新状态。
|
|
175
|
+
|
|
176
|
+
### D14 引擎抽取:新骨架、旧器官
|
|
177
|
+
|
|
178
|
+
现有 graph-wash 代码按四级资产处理。事实依据:已验证 `graph-wash.js` / `graph-wash-helpers.js` 两个运行时文件 **0 处使用 d3 / rough**(纯手写几何引擎);Step 2 已核查 `header.html` 内联脚本,同样 **0 处使用 d3 / rough**,仅命中 `graph-data` JSON script。Step 6 因此移除 `d3.min.js` / `rough.min.js` 与旧 `graph-wash*.js`,marked / purify 保留:
|
|
179
|
+
|
|
180
|
+
| 级 | 内容 | 处理 |
|
|
181
|
+
|---|---|---|
|
|
182
|
+
| A 直接搬 | graph-wash-helpers.js ~1325 行纯函数 + tests/js 配套测试 | TS 化,**逻辑一行不改**,测试迁移保绿 |
|
|
183
|
+
| B 拆开搬 | graph-wash.js ~1008 行中的"画法"(节点视觉分层、团块晕染、阅读态) | 画法保留;骨架(全局单例、直接操作 document)换成可实例化引擎 |
|
|
184
|
+
| C 留给宿主 | header.html ~2001 行壳与样式 | 壳归宿主自理;视觉样式抽成主题 token 共享 |
|
|
185
|
+
| D 新写 | 力模拟+钉扎、选区、diff 动画、React 壳、capabilities | 本阶段新增 |
|
|
186
|
+
|
|
187
|
+
- ❗ A 级 TS 化纪律:先 1:1 翻译保测试绿,禁止"顺手优化"逻辑。
|
|
188
|
+
- ❗ 手绘感"沸腾效应":图形路径生成一次即缓存,动画帧只改 transform,**绝不每帧重算路径**。
|
|
189
|
+
- 力模拟依赖 `d3-force` 单模块(几 KB),不引入完整 d3;离线 HTML 打包清单里的完整版 `d3.min.js` 与 `rough.min.js` 已在 Step 6 移除(marked / purify 保留,阅读态在用)。
|
|
190
|
+
- 不做 SVG/Canvas 双渲染后端(几百节点 SVG 足够;canvas 是将来性能实测不足时的事)。
|
|
191
|
+
- 不把引擎做成对外发布的通用图谱库。
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## §3 新增依赖
|
|
196
|
+
|
|
197
|
+
| 依赖 | 位置 | 用途 | 备注 |
|
|
198
|
+
|---|---|---|---|
|
|
199
|
+
| `d3-force` | packages/graph-engine | 力模拟(斥力/弹簧/向心) | 单模块几 KB;唯一确定新增 |
|
|
200
|
+
| `concurrently` | monorepo 根 | 原 agent 根 devDependency 上移 | 非新增,位置迁移 |
|
|
201
|
+
|
|
202
|
+
**候补(默认不装,触发条件见 §7)**:`chokidar`(若 Node 22 原生 `fs.watch` recursive 在 macOS 实测不可靠才引入)。
|
|
203
|
+
|
|
204
|
+
构建工具:引擎包双产物(ESM + IIFE)优先用 workbench/web 已有的 Vite 体系(`vite build --lib` 两种 format),**不新增打包器**。
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## §4 数据与接口契约
|
|
209
|
+
|
|
210
|
+
> 路径与字段为**建议命名**,实施时如需调整,在 commit message 里说明并回填本文档。
|
|
211
|
+
|
|
212
|
+
### 4.1 `.wiki-graph-layout.json`(新,知识库根目录)
|
|
213
|
+
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"version": 1,
|
|
217
|
+
"pins": {
|
|
218
|
+
"wiki/topics/agent-engineering.md": { "x": 412.5, "y": -88.2 },
|
|
219
|
+
"wiki/entities/karpathy.md": { "x": 130.0, "y": 245.7 }
|
|
220
|
+
},
|
|
221
|
+
"updatedAt": "2026-06-12T10:23:00Z"
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
- key = 库内相对路径;坐标 = 模型坐标;只含钉住的节点。
|
|
226
|
+
- 读不出 / 格式不符 → 当作空文件处理。
|
|
227
|
+
|
|
228
|
+
### 4.2 `graph-data.json`(现有,格式不变)
|
|
229
|
+
|
|
230
|
+
由 `build-graph-data.sh` 产出,工作台后端子进程调用。引擎包内为其补 TS 类型定义(`types.ts`),类型是契约的单一事实源。
|
|
231
|
+
|
|
232
|
+
### 4.3 diff 结构(引擎包内定义并实现)
|
|
233
|
+
|
|
234
|
+
```ts
|
|
235
|
+
interface GraphDiff {
|
|
236
|
+
addedNodes: NodeId[]; // 新增节点(生长动画主角)
|
|
237
|
+
removedNodes: NodeId[]; // 删除节点(淡出)
|
|
238
|
+
recoloredNodes: Array<{ id: NodeId; from: CommunityId; to: CommunityId }>;
|
|
239
|
+
addedEdges: EdgeId[]; // 新边(墨线描画)
|
|
240
|
+
removedEdges: EdgeId[];
|
|
241
|
+
newCommunities: CommunityId[]; // 对齐后仍无法匹配的全新社区(团块浮现动画)
|
|
242
|
+
stats: { nodeCount: number; edgeCount: number; communityCount: number };
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
diff 计算工具放引擎包(跟着数据类型走),后端调用。
|
|
247
|
+
|
|
248
|
+
❗ **diff 必须先做社区对齐再判变色**:Louvain 重跑后社区编号可能整体洗牌("3 号社区"变"1 号"),直接比对编号会满屏误报变色。算法:新旧社区按**成员重叠率**(Jaccard)贪心配对,配对成功的沿用旧编号语义,配对后成员真正换了归属的才进 `recoloredNodes`;无法配对的新社区进 `newCommunities`。
|
|
249
|
+
|
|
250
|
+
### 4.4 后端 API(workbench/server 新增)
|
|
251
|
+
|
|
252
|
+
| 方法 | 路径 | 行为 |
|
|
253
|
+
|---|---|---|
|
|
254
|
+
| GET | `/api/graph` | **只读**:返回当前 KB 的 graph-data;无数据时返回 `{ needsBuild: true }`,**不**在 GET 里触发构建 |
|
|
255
|
+
| POST | `/api/graph/rebuild` | 异步触发重算(与监听触发走同一单飞行队列),立即返回;完成经 SSE `graph_updated` 通知 |
|
|
256
|
+
| GET | `/api/graph/layout` | 返回钉扎文件内容(无文件返回空 pins) |
|
|
257
|
+
| PUT | `/api/graph/layout` | 整文件覆写钉扎 |
|
|
258
|
+
|
|
259
|
+
前端首开流程:GET 得 `needsBuild` → 显示"构建中" → 自动 POST rebuild → 收到 `graph_updated` 后 GET 取数渲染。构建可能秒级到几十秒(大库),全程不阻塞请求。
|
|
260
|
+
|
|
261
|
+
SSE 新事件(沿用现有 `/api/events` 通道):
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
event: graph_updated
|
|
265
|
+
data: { "diff": GraphDiff | null, "rebuiltAt": "..." }
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
引入节奏:Step 2 先上**最简版**(`diff: null`,仅作"构建完成"通知);Step 5 扩展携带真实 diff。
|
|
269
|
+
|
|
270
|
+
### 4.5 引擎 API(`@llm-wiki/graph-engine` 门面)
|
|
271
|
+
|
|
272
|
+
```ts
|
|
273
|
+
const engine = createGraphEngine(container: HTMLElement, {
|
|
274
|
+
data: GraphData,
|
|
275
|
+
pins: PinMap,
|
|
276
|
+
theme: "shan-shui" | "mo-ye",
|
|
277
|
+
capabilities: {
|
|
278
|
+
persistPins?: (pins: PinMap) => Promise<void>; // 工作台→PUT 后端;离线→localStorage 适配器
|
|
279
|
+
onAsk?: (selection: Selection) => void; // 不传 → 选区面板不显示提问动作
|
|
280
|
+
onOpenPage?: (path: string) => void; // 工作台→右抽屉;离线→内置阅读态
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
engine.applyDiff(diff: GraphDiff): Promise<void>; // 生长动画,resolve 于动画结束/被跳过
|
|
285
|
+
engine.focusNode(path: string): void; // 对话联动高亮
|
|
286
|
+
engine.select(selector: SelectionInput): void;
|
|
287
|
+
engine.setTheme(theme: ThemeId): void;
|
|
288
|
+
engine.destroy(): void;
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### 4.6 引擎包目录结构
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
packages/graph-engine/
|
|
295
|
+
├── src/
|
|
296
|
+
│ ├── model/ ← A级:helpers 纯函数 TS 化(atlas 模型/视口/小地图/密度)
|
|
297
|
+
│ ├── render/ ← B级:绘制重组(节点视觉分层、团块晕染、阅读态部件)
|
|
298
|
+
│ ├── sim/ ← D级:d3-force 封装 + 钉扎
|
|
299
|
+
│ ├── select/ ← D级:选区系统(四式选择 + 结构事实计算)
|
|
300
|
+
│ ├── anim/ ← D级:diff 生长动画
|
|
301
|
+
│ ├── themes/ ← C级:shan-shui / mo-ye token
|
|
302
|
+
│ ├── diff.ts ← diff 计算
|
|
303
|
+
│ ├── types.ts ← graph-data / pins / diff 类型(契约单一事实源)
|
|
304
|
+
│ └── index.ts ← createGraphEngine 门面
|
|
305
|
+
├── test/ ← 迁移自主仓库 tests/js/*.test.js
|
|
306
|
+
└── package.json
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## §5 八个 Step 详细设计
|
|
312
|
+
|
|
313
|
+
### Step 0:monorepo 搬家
|
|
314
|
+
|
|
315
|
+
**前置**(❗ 流程顺序):先把 agent 仓库的 `stage-4-design` 分支合入其 `main`(设计文档必须随 subtree 进主仓库,否则搬过去的是没有阶段四设计的旧 main)。
|
|
316
|
+
|
|
317
|
+
**范围**:
|
|
318
|
+
1. 主仓库新建分支 `stage-4`,执行 `git subtree add --prefix=workbench <agent 仓库 GitHub URL> main`(保留全历史)
|
|
319
|
+
2. 主仓库根新建 `package.json`:
|
|
320
|
+
- workspaces: `["workbench/server", "workbench/web", "packages/*"]`
|
|
321
|
+
- scripts:`dev` / `dev:server` / `dev:web` / `typecheck`(从原 agent 根 package.json 上移,workspace 路径改写)
|
|
322
|
+
- devDependencies:`concurrently`
|
|
323
|
+
- ❗ **不设 `"type": "module"`**——主仓库 `tests/js/*.test.js` 是 CommonJS(`require` + 双出口),根上声明 ESM 会让它们全炸
|
|
324
|
+
3. ❗ **检查子包 module 类型**(原 agent 根 package.json 声明了 `"type": "module"`,删除它之前必须确认):workbench/server、workbench/web 各自 package.json 是否自带 `"type": "module"`,**缺则补在子包内**(不上提到根);以 `npm run dev` + `typecheck` 实跑为准
|
|
325
|
+
4. `workbench/package.json` 删除(其内容已上移);`.mise.toml` / `.nvmrc` 上移到根
|
|
326
|
+
5. 检查 `.gitignore` 合并(根新增 node_modules 等通用项;workbench 原有忽略项保留)
|
|
327
|
+
6. ❗ 隐私检查:subtree 进来的内容 grep 本地用户目录绝对路径,有则清理后再 commit
|
|
328
|
+
|
|
329
|
+
**验收**:
|
|
330
|
+
1. 主仓库根 `npm install && npm run dev` 一行拉起工作台前后端,浏览器 5180 正常对话
|
|
331
|
+
2. 主仓库原有测试照常绿:`bash tests/regression.sh`(或至少 `node --test tests/js/*.test.js` 全过)
|
|
332
|
+
3. `npm run typecheck` 通过
|
|
333
|
+
4. `git log --oneline workbench/ | head` 能看到原 agent 仓库历史
|
|
334
|
+
|
|
335
|
+
### Step 1:引擎包骨架 + helpers TS 化(M0)
|
|
336
|
+
|
|
337
|
+
**范围**:
|
|
338
|
+
1. 建 `packages/graph-engine`(目录结构见 §4.6),Vite lib 模式配置双产物
|
|
339
|
+
2. `templates/graph-styles/wash/graph-wash-helpers.js` → `src/model/` 按职责拆成若干 TS 模块(atlas 模型 / 视口数学 / 小地图映射 / 密度策略 / 标签文案),**1:1 翻译,逻辑零改动**
|
|
340
|
+
3. `tests/js/graph-wash-helpers.test.js` 等迁移为引擎包测试(断言不改)
|
|
341
|
+
4. `types.ts`:graph-data / pins / diff 类型定义
|
|
342
|
+
5. ❗ 此 Step 不动 `templates/` 原文件——旧模板继续服役到 Step 6
|
|
343
|
+
|
|
344
|
+
**验收**:引擎包 `npm test` 全绿(迁移断言数量 ≥ 原测试);`npm run build` 产出 ESM + IIFE 两份产物。
|
|
345
|
+
|
|
346
|
+
### Step 2:工作台图谱视图——静态复现(M1,安全网)
|
|
347
|
+
|
|
348
|
+
**范围**:
|
|
349
|
+
1. `src/render/`:从 graph-wash.js 搬运绘制逻辑,重组为可实例化结构(构造时挂容器、destroy 可清理);先实现**静态渲染**(预计算布局,无模拟)
|
|
350
|
+
2. `themes/`:从 header.html 抽视觉 token,山水主题完整、墨夜主题第一版(先保证深色工作台下不突兀,精修在 Step 7);❗ 顺手核查 header.html 内联脚本是否使用 d3 / rough(结论记入本文档 D14,决定 Step 6 打包清单)
|
|
351
|
+
3. workbench/web:侧栏"图谱"入口 + 主区域"对话 ⇄ 图谱"视图切换 + React 薄壳组件
|
|
352
|
+
4. workbench/server:`GET /api/graph`(只读)+ `POST /api/graph/rebuild`(异步构建 + SSE 通知,行为见 §4.4 首开流程)
|
|
353
|
+
5. 阅读态:图谱内点节点 → 通过 `onOpenPage` 调工作台右抽屉(不用引擎内置阅读态)
|
|
354
|
+
|
|
355
|
+
**验收**:
|
|
356
|
+
1. 工作台打开真实知识库图谱,与旧版离线 HTML 同屏对照,布局/节点分层/团块/小地图视觉一致(人工对照 + 截图存档)
|
|
357
|
+
2. 切换知识库 → 图谱跟随切换;无图谱数据的库显示"构建中"再出图
|
|
358
|
+
3. 浅/深主题切换,图谱跟随山水/墨夜
|
|
359
|
+
|
|
360
|
+
### Step 3:活模拟 + 钉扎 + 持久化(M2)
|
|
361
|
+
|
|
362
|
+
**范围**:
|
|
363
|
+
1. `sim/`:d3-force 接入;混合布局(D11:预计算起点 + 低温入睡);拖动低温让位(D8 参数);❗ rough/手绘路径缓存(D14 沸腾对策——若 B 级搬运中存在随机抖动绘制,路径一次生成挂节点,帧只更新 transform)
|
|
364
|
+
2. 钉扎:松手即钉 + 朱砂图钉角标 + 双击解钉 + 重置布局(toast 撤销)
|
|
365
|
+
3. 持久化:`GET/PUT /api/graph/layout`;前端松手防抖写入;§4.1 文件格式
|
|
366
|
+
4. 团块行为:拖动中淡化、定格后重晕染、不追离群点(D10)
|
|
367
|
+
5. 顺手查证:`init-wiki.sh` 生成的知识库 `.gitignore` 对 `.wiki-cache.json` 的处理方式,`.wiki-graph-layout.json` 与之对齐(倾向**不排除**——钉扎是用户资产,应可随知识库进版本管理;查证结果回填本条)
|
|
368
|
+
|
|
369
|
+
**实施定稿**:
|
|
370
|
+
- 拖动手感参数:`coldStartAlpha=0.08`、`lowHeatAlphaTarget=0.15`、`alphaMin=0.003`、`alphaDecay=0.14`、`velocityDecay=0.58`;斥力 `strength=-34` / `distanceMax=220`;X/Y 回中强度 `0.052`;碰撞 `strength=0.64` / `iterations=2`。拖动时直接邻居参与让位,远处节点冻结,松手后 `alphaTarget=0`。
|
|
371
|
+
- `.wiki-graph-layout.json` 与 `.wiki-cache.json` 对齐为知识库资产:`init-wiki.sh` 生成的知识库 `.gitignore` 仅忽略 `.wiki-tmp/`,不忽略 layout 文件。
|
|
372
|
+
|
|
373
|
+
**验收**:
|
|
374
|
+
1. 拖节点:邻居让位流畅、远处不动、松手 1–2s 后全图静止(不蠕动)
|
|
375
|
+
2. 钉住节点 → 刷新页面 / 重启工作台 → 钉位还原;双击解钉 → 文件中该条删除
|
|
376
|
+
3. 拖 A 进异色团块:A 颜色不变、团块不追
|
|
377
|
+
4. 重置布局 → toast 撤销可恢复
|
|
378
|
+
5. 手动损坏 `.wiki-graph-layout.json` → 图谱正常打开(当作无钉)
|
|
379
|
+
|
|
380
|
+
### Step 4:选区系统 + 对话联动(M3)
|
|
381
|
+
|
|
382
|
+
**范围**:
|
|
383
|
+
1. `select/`:四式选择(D5)+ 选区结构事实计算(页数/内部链接数/社区数/孤立数)
|
|
384
|
+
2. 选区面板:结构事实 + 按性质生成的动作按钮(D6 映射表)+ 自由输入 + "发送/新对话中打开"
|
|
385
|
+
3. 工作台联动:`onAsk` → 切到对话视图,输入框出现选区胶囊;发送时胶囊展开为结构化文本(页面清单 + 链接关系 + 社区归属)走现有 `/api/prompt`
|
|
386
|
+
4. 反向联动:对话中 agent 引用 wiki 页面 → 若图谱视图打开,`focusNode` 高亮("引用"的判定**复用阶段二既有的 wiki 链接识别**,不另发明检测逻辑)
|
|
387
|
+
5. 离线 HTML 不传 `onAsk` → 引擎自动隐藏提问动作(capabilities 验证点)
|
|
388
|
+
|
|
389
|
+
**实施定稿**:选区在输入区显示胶囊 `@[选区:<标题> · <页数>页]`;发送时展开为结构化文本,包含选区摘要(页数、内部链接数、社区数、孤立数)、页面清单(类型 / 社区 / 路径)、内部链接列表、动作与自由输入。对话历史保留胶囊态,展开内容作为发送 payload,不把几十行结构化文本直接刷屏。
|
|
390
|
+
|
|
391
|
+
**验收**:
|
|
392
|
+
1. 点社区 → 面板显示"N 页 · M 条内部链接" → 点"总结这一簇" → 对话收到选区上下文,agent 输出的总结明确引用选区内页面
|
|
393
|
+
2. Shift 多选 3 个互不相连节点 → 面板显示"无相互链接",动作为"探索潜在联系",**没有**"总结这一簇"
|
|
394
|
+
3. 选两个社区 → 动作含"为什么没联系";agent 回答后引导建链 → agent 写回 wikilink → 触发重算(Step 5 完成后回归验证颜色变化闭环)
|
|
395
|
+
4. 发送默认进当前对话;"新对话中打开"开新线程
|
|
396
|
+
|
|
397
|
+
### Step 5:文件监听 + 重算链 + 生长动画(M4)
|
|
398
|
+
|
|
399
|
+
**范围**:
|
|
400
|
+
1. workbench/server:当前 KB 目录监听(Node 原生 `fs.watch` recursive,封装一层适配器;❗ 实测不可靠再换 chokidar,见 §7);防抖 ~5s;批量消化 start 挂起 / done 立即触发
|
|
401
|
+
2. 重算任务:单飞行 + 排队合并;子进程跑 `build-graph-data.sh`;完成后 diff(引擎包 `diff.ts`)
|
|
402
|
+
3. `graph_updated` 扩展携带真实 diff(Step 2 的最简版升级);前端 diff 队列(可见消费 / 不可见徽标 + 补播 / 拖动中挂起)
|
|
403
|
+
4. `anim/`:生长动画(语义锚点发芽、错峰、墨线描边、变色渐变、淡出;≤3s;点击定格;`prefers-reduced-motion`)
|
|
404
|
+
|
|
405
|
+
**验收**:
|
|
406
|
+
1. 批量消化 10 篇(图谱视图关着)→ 完成后侧栏徽标亮 → 打开图谱 → 从旧布局开场播放生长(新节点从邻居处发芽)→ 3s 内定格
|
|
407
|
+
2. 图谱开着时在 Obsidian 手动新建一篇含 wikilink 的页面 → ~5s 后图谱自动长出新节点
|
|
408
|
+
3. 批量消化进行中不触发逐篇重算(日志确认挂起);done 后恰好一次重算
|
|
409
|
+
4. 动画播放中点击画布 → 立即定格;系统开启"减少动态效果"→ 直接定格
|
|
410
|
+
5. 正在拖动节点时收到 `graph_updated` → 松手后才播
|
|
411
|
+
|
|
412
|
+
**实施定稿**:macOS + Node 22 下原生 `fs.watch` recursive 两轮实测可收到嵌套目录创建、嵌套 Markdown 创建 / 修改 / 删除事件;部分修改可能以 `rename` 形式到达,因此实现不依赖事件类型,只要命中非排除路径就触发防抖重算。未引入 chokidar。
|
|
413
|
+
|
|
414
|
+
### Step 6:Skill 离线 HTML 切换引擎产物(M5)
|
|
415
|
+
|
|
416
|
+
**范围**:
|
|
417
|
+
1. `build-graph-html.sh` 改造:拼接 `engine.iife.js` + 主题 CSS + graph-data + 启动脚本(创建 engine;capabilities:persistPins → localStorage 适配器【沿用现有 per-wiki 命名空间机制】、onOpenPage 不传 → 用引擎内置阅读态)
|
|
418
|
+
2. 生成时读 `.wiki-graph-layout.json` 把钉位烤进初始布局
|
|
419
|
+
3. 打包清单:移除 `d3.min.js`(完整版,运行时从未使用)与旧 `graph-wash*.js`;保留 marked / purify;新增 engine.iife.js
|
|
420
|
+
4. 旧模板 `templates/graph-styles/wash/` 标记 deprecated(保留一个版本周期再删)
|
|
421
|
+
5. 主仓库回归测试与东方设计合同测试对新产物跑通(断言按新 DOM 结构最小修订)
|
|
422
|
+
|
|
423
|
+
**验收**:
|
|
424
|
+
1. 真实知识库跑 `build-graph-html.sh` → 双击产物 HTML 离线打开,视觉与工作台一致(山水主题)
|
|
425
|
+
2. 工作台里钉好的布局,在导出 HTML 的初始视图中生效
|
|
426
|
+
3. 离线 HTML 内可拖动(localStorage 持久,刷新仍在),**无**提问按钮(capabilities 生效)
|
|
427
|
+
4. `bash tests/regression.sh` 全绿
|
|
428
|
+
|
|
429
|
+
### Step 7:总验收 + 墨夜打磨 + 收尾
|
|
430
|
+
|
|
431
|
+
**范围**:墨夜主题精修(黑底/白墨/朱砂的完整视觉走查)、动画节奏与拖动手感参数调优、§6 总验收剧本完整跑一遍、PRODUCT.md 进度回填、(可选)旧 agent 仓库内加一条不对外的开发笔记。
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
## §6 总验收标准
|
|
436
|
+
|
|
437
|
+
1. **monorepo**:主仓库根一行 `npm run dev` 起工作台;Skill 主线测试全绿;两边互不破坏
|
|
438
|
+
2. **静态基线**:工作台图谱与旧版离线 HTML 视觉一致(Step 2 截图存档为证)
|
|
439
|
+
3. **钉扎**:拖动让位流畅、松手即钉、重启还原、Obsidian 旁路修改不破坏钉扎文件
|
|
440
|
+
4. **选区**:四式选择可用;动作随选区性质变化;"两簇为何没联系 → agent 建链 → 重算后颜色真变"全闭环跑通
|
|
441
|
+
5. **生长**:批量消化后打开图谱可见补播动画;Obsidian 手改 ~5s 内自动反映;批量期间不抖动重算
|
|
442
|
+
6. **离线 HTML**:新产物双击可用、钉位生效、无提问按钮、回归测试绿
|
|
443
|
+
7. **主题**:工作台浅/深切换图谱跟随山水/墨夜,深色模式下无违和
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## §7 风险与 TBD
|
|
448
|
+
|
|
449
|
+
| 编号 | 风险/待定 | 对策/何时定 |
|
|
450
|
+
|---|---|---|
|
|
451
|
+
| R1 | 根 package.json 的 module 类型破坏主仓库 CommonJS 测试 | 已写死:根不设 type,ESM 声明留在子包(Step 0 ❗) |
|
|
452
|
+
| R2 | 手绘路径每帧重算导致"沸腾"+性能塌方 | 已写死:路径一次生成缓存,帧只改 transform(Step 3 ❗) |
|
|
453
|
+
| R3 | `fs.watch` recursive 在 macOS 的可靠性 | 已定稿:Node 22 原生 recursive 实测可用;事件类型不稳定但事件可达,按非排除路径统一触发重算;未引入 chokidar |
|
|
454
|
+
| R4 | subtree 合并带入本地绝对路径 / 隐私内容 | 已定稿:Step 0 隐私清理通过;后续每 commit 执行 staged 内容本地路径扫描 |
|
|
455
|
+
| R5 | 选区注入大社区(如 30 页)时上下文过大 | 首版只注入清单+结构(正文 agent 按需 read);实测 token 仍超 → 注入端做清单截断 + 提示 agent 分批读 |
|
|
456
|
+
| R6 | 力模拟在 500+ 节点的帧率 | 首版接受(个人库几百页内);实测掉帧 → 布局计算挪 Web Worker;canvas 后端为更远期备选 |
|
|
457
|
+
| R7 | 旧测试断言绑死旧 DOM 结构,Step 6 迁移成本 | 允许按新 DOM 最小修订断言,但"东方设计合同"语义级断言(分层/签条/批注存在性)必须保留 |
|
|
458
|
+
| R8 | Louvain 重跑社区编号洗牌 → recolored 满屏误报 | 已写死:diff 先按成员重叠率(Jaccard)做新旧社区贪心配对,再判真实变色;无法配对的进 `newCommunities`(§4.3 ❗) |
|
|
459
|
+
| TBD-4.1 | 拖动手感参数(alphaTarget / 衰减时长 / 让位半径) | 已定稿:参数见 Step 3 实施定稿;主观手感交验收人判断 |
|
|
460
|
+
| TBD-4.2 | 选区胶囊展开文本的具体模板 + 对话历史显示策略 | 已定稿:模板见 Step 4 实施定稿;历史保留胶囊态,发送 payload 展开结构化文本 |
|
|
461
|
+
|
|
462
|
+
---
|
|
463
|
+
|
|
464
|
+
## §8 明确不做清单(汇总)
|
|
465
|
+
|
|
466
|
+
| 不做 | 原因 |
|
|
467
|
+
|---|---|
|
|
468
|
+
| 自由套索圈选 | 空间邻近无语义保证(D5) |
|
|
469
|
+
| 跨库图谱 | 撕裂会话绑库心智(D7) |
|
|
470
|
+
| 多套布局方案 / 主题商店 | 维护负债、稀释签名(D4/D9) |
|
|
471
|
+
| 页面改名钉扎跟踪 | 丢了重钉,成本不值(D9) |
|
|
472
|
+
| 修饰键临时拖动模式 | 双击解钉已覆盖(D8) |
|
|
473
|
+
| 图谱指纹作废机制 | 被路径 key 取代(D9) |
|
|
474
|
+
| 增量图计算 | 全量+diff 简单一个量级(D12) |
|
|
475
|
+
| 动画速度/开关设置项 | 默认调好是产品责任;系统 reduced-motion 除外(D13) |
|
|
476
|
+
| 知识库成长历史回放 | 远期传播玩具,不进阶段四(D13) |
|
|
477
|
+
| SVG/Canvas 双渲染后端 | 规模未到;过早抽象(D14) |
|
|
478
|
+
| 引擎通用库化对外发布 | 它是器官不是轮子(D14) |
|
|
479
|
+
| 重写 build-graph-data.sh | Skill 能力优先(ADR-16/D12) |
|
|
480
|
+
| Tauri 打包 | 推迟到工作台有真实外部用户后 |
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## 附:与 PRODUCT.md 的对应
|
|
485
|
+
|
|
486
|
+
- 本文档对应 PRODUCT.md §4"阶段四"与 §7 ADR-20(monorepo 合并)、ADR-21(图谱引擎与活地图)。
|
|
487
|
+
- 实施期间的决策变更:先改本文档相应小节并在 changelog 留痕,再改代码。
|
|
488
|
+
|
|
489
|
+
## Changelog
|
|
490
|
+
|
|
491
|
+
- 2026-06-12 v3(实施回填):阶段四落地后补齐定稿事实
|
|
492
|
+
- D12 监听排除清单补自家生成物三项:`.wiki-graph-layout.json`、`wiki/graph-data.json`、`wiki/knowledge-graph.html`
|
|
493
|
+
- D14 回填 header.html 内联脚本 d3/rough 审计结论;Step 6 已移除 d3/rough 与旧 graph-wash 打包项
|
|
494
|
+
- Step 3 回填拖动手感参数与 `.wiki-graph-layout.json` 的 gitignore 对齐结论;Step 4 回填选区胶囊/展开 payload 模板;Step 5 回填 fs.watch 实测结论
|
|
495
|
+
- §7 将 R3/R4 与 TBD-4.1/TBD-4.2 更新为已定稿状态
|
|
496
|
+
- 2026-06-12 v2(自审修订):修复 5 个实质缺口 + 收紧 2 处事实表述
|
|
497
|
+
- D11 补活会话坐标策略:既有未钉节点不随重算跳位,新节点活模拟安置,预计算坐标仅用于冷启动(防布局漂移)
|
|
498
|
+
- §4.3 补 diff 社区对齐(Jaccard 配对,防 Louvain 编号洗牌导致满屏误报变色)+ `newCommunities` 字段;新增 R8
|
|
499
|
+
- §4.4 统一 GET 只读 / POST 异步构建;`graph_updated` 分两步引入(Step 2 最简版、Step 5 带 diff)
|
|
500
|
+
- D12 补监听排除清单(`.wiki-tmp/` 等,防 Skill 消化刷爆监听)+ 切库监听生命周期
|
|
501
|
+
- Step 0 补前置(stage-4-design 先合入 agent main,否则设计文档不随 subtree 进主仓库)+ 子包 module 类型检查列为明确动作
|
|
502
|
+
- D14 / Step 2 / Step 6 收紧"0 处 d3/rough"表述:已验证两个运行时 JS;header.html 内联待 Step 2 核实,d3.min.js 移除以核实为前提
|
|
503
|
+
- Step 3 补 init `.gitignore` 对 layout 文件的对齐查证;Step 4 注明引用识别复用阶段二既有逻辑;TBD-4.2 扩展对话历史胶囊显示策略
|
|
504
|
+
- 2026-06-12 v1:首版。由四轮设计对话(战略 / 选区 / 钉扎 / 生长 / 引擎抽取)沉淀,含 D1–D14 决策、8 Step、API 契约、验收剧本、风险清单。
|