@research-copilot/plugin 1.1.16 → 1.1.18
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/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,1133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: llm-wiki
|
|
3
|
+
version: 3.6.4
|
|
4
|
+
author: sdyckjq-lab
|
|
5
|
+
license: MIT
|
|
6
|
+
description: |
|
|
7
|
+
个人知识库构建系统(基于 Karpathy llm-wiki 方法论)。让 AI 持续构建和维护你的知识库,
|
|
8
|
+
支持多种素材源(网页、推特、公众号、小红书、知乎、YouTube、PDF、本地文件),
|
|
9
|
+
自动整理为结构化的 wiki。
|
|
10
|
+
触发条件:用户明确提到"知识库"、"wiki"、"llm-wiki",或要求对已初始化的知识库执行
|
|
11
|
+
消化、查询、健康检查等操作。不要在用户只是要求"总结这篇文章"时触发——必须是明确的
|
|
12
|
+
知识库相关意图。
|
|
13
|
+
metadata:
|
|
14
|
+
hermes:
|
|
15
|
+
tags:
|
|
16
|
+
- knowledge-base
|
|
17
|
+
- wiki
|
|
18
|
+
- research
|
|
19
|
+
- note-taking
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# llm-wiki — 个人知识库构建系统
|
|
23
|
+
|
|
24
|
+
> 把碎片化的信息变成持续积累、互相链接的知识库。你只需要提供素材,AI 做所有的整理工作。
|
|
25
|
+
|
|
26
|
+
## 这个 skill 做什么
|
|
27
|
+
|
|
28
|
+
llm-wiki 帮你构建一个**持续增长的个人知识库**。它不是传统的笔记软件,而是一个让 AI 帮你维护的 wiki 系统:
|
|
29
|
+
|
|
30
|
+
- 你给素材(链接、文件、文本),AI 提取核心知识并整理成互相链接的 wiki 页面
|
|
31
|
+
- 知识库随着每次使用变得越来越丰富,而不是每次重新开始
|
|
32
|
+
- 所有内容都是本地 markdown 文件,用 Obsidian 或任何编辑器都能查看
|
|
33
|
+
|
|
34
|
+
## 核心理念
|
|
35
|
+
|
|
36
|
+
传统方式(RAG/聊天记录)的问题:每次问问题,AI 都要从头阅读原始文件,没有积累。知识库的价值在于**知识被编译一次,然后持续维护**,而不是每次重新推导。
|
|
37
|
+
|
|
38
|
+
## 快速开始
|
|
39
|
+
|
|
40
|
+
告诉用户这两步就够了:
|
|
41
|
+
|
|
42
|
+
1. **初始化**:说"帮我初始化一个知识库"
|
|
43
|
+
2. **添加素材**:给一个链接或文件,说"帮我消化这篇"
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Script Directory
|
|
48
|
+
|
|
49
|
+
Scripts located in `scripts/` subdirectory.
|
|
50
|
+
|
|
51
|
+
**Path Resolution**:
|
|
52
|
+
1. `SKILL_DIR` = this SKILL.md's directory
|
|
53
|
+
2. Script path = `${SKILL_DIR}/scripts/<script-name>`
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 依赖检查
|
|
58
|
+
|
|
59
|
+
核心主线(本地文件、纯文本、已有知识库操作)默认不需要这些提取依赖。
|
|
60
|
+
|
|
61
|
+
只有当用户给的是 URL 类来源,并且明确要自动提取网页 / X / 微信公众号 / YouTube / 知乎内容时,才检查以下可选依赖。
|
|
62
|
+
|
|
63
|
+
如果缺失,提示用户运行:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
bash ${SKILL_DIR}/install.sh --platform <当前平台> --with-optional-adapters
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
可选依赖 skill / 工具:
|
|
70
|
+
- `baoyu-url-to-markdown` — 普通网页、X/Twitter、部分知乎提取
|
|
71
|
+
- `wechat-article-to-markdown` — 微信公众号提取
|
|
72
|
+
- `youtube-transcript` — YouTube 字幕提取
|
|
73
|
+
|
|
74
|
+
即使这些依赖缺失,skill 仍可工作(用户可以直接提供本地文件、粘贴文本,或改走手动入口)。
|
|
75
|
+
|
|
76
|
+
## 外挂状态模型
|
|
77
|
+
|
|
78
|
+
外挂失败统一分成 `not_installed / env_unavailable / runtime_failed / unsupported / empty_result` 五类。
|
|
79
|
+
|
|
80
|
+
所有需要枚举来源、读取 `source_label`、`raw_dir`、`adapter_name`、`fallback_hint` 的地方,都先读来源总表:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
bash ${SKILL_DIR}/scripts/source-registry.sh list
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
需要拿单个来源的定义时,用:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
bash ${SKILL_DIR}/scripts/source-registry.sh get <source_id>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
对 URL 类来源,先运行:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
bash ${SKILL_DIR}/scripts/adapter-state.sh check <source_id>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
`adapter-state.sh check` 返回 8 列:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
source_id source_label state state_label detail recovery_action install_hint fallback_hint
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
- `not_installed`:提示用户可补安装,同时允许改走手动入口
|
|
105
|
+
- `env_unavailable`:说明缺少的环境条件,同时允许改走手动入口
|
|
106
|
+
- `runtime_failed`:说明本次提取执行失败,允许重试一次,再改走手动入口
|
|
107
|
+
- `unsupported`:直接给出手动入口,不尝试自动提取
|
|
108
|
+
- `empty_result`:说明自动提取没拿到有效内容,请用户手动补全文本
|
|
109
|
+
|
|
110
|
+
当自动提取实际执行后,再运行:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
bash ${SKILL_DIR}/scripts/adapter-state.sh classify-run <source_id> <exit_code> <output_path>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
用返回的 `detail`、`recovery_action`、`install_hint`、`fallback_hint` 生成提示。核心主线不因外挂失败而中断。
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 工作流路由
|
|
121
|
+
|
|
122
|
+
根据用户的意图,路由到对应的工作流:
|
|
123
|
+
|
|
124
|
+
| 用户意图关键词 | 工作流 |
|
|
125
|
+
|---|---|
|
|
126
|
+
| "初始化知识库"、"新建 wiki"、"创建知识库" | → **init** |
|
|
127
|
+
| URL / 文件路径 / "添加素材"、"消化"、"整理" / 直接给链接 | → **ingest** |
|
|
128
|
+
| "批量消化"、"把这些都整理" / 给了文件夹路径 | → **batch-ingest** |
|
|
129
|
+
| "关于 XX"、"查询"、"XX 是什么"、"总结一下" | → **query** |
|
|
130
|
+
| "给我讲讲 XX"、"深度分析 XX"、"综述 XX"、"digest XX" | → **digest** |
|
|
131
|
+
| "对比一下 X 和 Y"、"比较 X 和 Y"、"整理一下时间线"、"按时间排列" | → **digest**(指定格式) |
|
|
132
|
+
| "检查知识库"、"健康检查"、"lint" | → **lint** |
|
|
133
|
+
| "知识库状态"、"现在有什么"、"有多少素材" | → **status** |
|
|
134
|
+
| "画个知识图谱"、"看看关联图"、"graph"、"知识库地图" | → **graph** |
|
|
135
|
+
| "删除素材"、"remove"、"delete source"、"移除" | → **delete** |
|
|
136
|
+
| "结晶化"、"crystallize"、"把这个记进知识库"、"总结这段对话" | → **crystallize** |
|
|
137
|
+
|
|
138
|
+
**重要**:如果用户直接给了一个 URL 或文件,但没有明确说要做什么,默认走 **ingest** 工作流。如果知识库还不存在,先自动走 **init** 再走 **ingest**。
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 通用前置检查
|
|
143
|
+
|
|
144
|
+
除 `init` 外,其他工作流默认先执行这段检查:
|
|
145
|
+
|
|
146
|
+
1. 先检查**当前工作目录**是否包含 `.wiki-schema.md`
|
|
147
|
+
- 如果包含 → 用当前目录作为知识库根路径
|
|
148
|
+
- 如果不包含 → 回退到读取 `~/.llm-wiki-path`
|
|
149
|
+
2. 如果两者都没有:
|
|
150
|
+
- `ingest` / `batch-ingest` → 先运行 `init`
|
|
151
|
+
- `query` / `lint` / `status` / `digest` / `graph` / `delete` → 提示用户先初始化知识库
|
|
152
|
+
3. 读取知识库根目录下的 `.wiki-schema.md`
|
|
153
|
+
4. 从 `.wiki-schema.md` 的"语言"字段判断 `WIKI_LANG`
|
|
154
|
+
- `语言:中文` → `WIKI_LANG=zh`
|
|
155
|
+
- `语言:English` → `WIKI_LANG=en`
|
|
156
|
+
- 字段缺失 → 默认 `WIKI_LANG=zh`
|
|
157
|
+
|
|
158
|
+
## 输出语言规则
|
|
159
|
+
|
|
160
|
+
所有面向用户的输出和新写入的 wiki 内容,都按 `WIKI_LANG` 生成:
|
|
161
|
+
|
|
162
|
+
- `WIKI_LANG=zh` → 使用下文中文示例
|
|
163
|
+
- `WIKI_LANG=en` → 保持与中文示例相同的结构、信息量和顺序,仅改为自然英文措辞
|
|
164
|
+
- 文件路径、wiki 链接、目录名保持现有约定,不因为语言切换而改动
|
|
165
|
+
|
|
166
|
+
**术语对照**:
|
|
167
|
+
- 素材 → Source
|
|
168
|
+
- 实体 → Entity
|
|
169
|
+
- 主题 → Topic
|
|
170
|
+
- 摘要 → Summary
|
|
171
|
+
- 综合 → Synthesis
|
|
172
|
+
- 消化 → Ingest
|
|
173
|
+
- 对比 → Comparison
|
|
174
|
+
- 深度报告 → Deep Dive Report
|
|
175
|
+
- 知识图谱 → Knowledge Graph
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 工作流 1:init(初始化知识库)
|
|
180
|
+
|
|
181
|
+
### 前置检查(含多知识库 CWD 检查)
|
|
182
|
+
|
|
183
|
+
1. 先检查**当前工作目录**是否包含 `.wiki-schema.md`
|
|
184
|
+
- 如果包含 → 当前目录已经是一个知识库,提示用户已存在并询问是否要重新初始化
|
|
185
|
+
2. 如果当前目录没有 → 读取 `~/.llm-wiki-path` 文件
|
|
186
|
+
- 如果存在 → 提示用户已有一个知识库(显示路径),询问是要新建还是切换到那个
|
|
187
|
+
3. 两个都没有 → 进入初始化流程
|
|
188
|
+
|
|
189
|
+
### 步骤
|
|
190
|
+
|
|
191
|
+
1. **询问知识库主题**(先向用户提问):
|
|
192
|
+
- "你的知识库要围绕什么主题?比如'AI 学习笔记'、'产品竞品分析'、'读书笔记'"
|
|
193
|
+
- 如果用户没想法,默认用"我的知识库"
|
|
194
|
+
|
|
195
|
+
2. **询问知识库语言**(先向用户提问):
|
|
196
|
+
- "知识库内容用什么语言?中文 / English(默认中文)"
|
|
197
|
+
- 选项:`zh`(中文)或 `en`(English)
|
|
198
|
+
- 如果用户没有明确说,默认 `zh`
|
|
199
|
+
- 将选择记录为 `WIKI_LANG`(`zh` 或 `en`)
|
|
200
|
+
|
|
201
|
+
3. **询问保存位置**(先向用户提问):
|
|
202
|
+
- 默认:`~/Documents/我的知识库/`(zh)或 `~/Documents/my-wiki/`(en)
|
|
203
|
+
- 用户可以自定义路径
|
|
204
|
+
|
|
205
|
+
4. **运行初始化脚本**:
|
|
206
|
+
```bash
|
|
207
|
+
bash ${SKILL_DIR}/scripts/init-wiki.sh "<路径>" "<主题>"
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
5. **补充初始化结果说明**:
|
|
211
|
+
- `init-wiki.sh` 会同时生成 `purpose.md` 和 `.wiki-cache.json`
|
|
212
|
+
- `purpose.md` 和 `.wiki-schema.md` 同级存放,用来记录研究目标、关键问题和研究范围
|
|
213
|
+
- 提醒用户优先填写核心目标和关键问题;这些内容写在 `purpose.md` 里,后续 ingest 会优先参考这里的方向
|
|
214
|
+
|
|
215
|
+
6. **写入语言配置并本地化种子文件**:
|
|
216
|
+
- 将 `.wiki-schema.md` 中的 `语言:{{LANGUAGE}}` 替换为:
|
|
217
|
+
- `zh` → `语言:中文`(种子文件保持中文,无需额外处理)
|
|
218
|
+
- `en` → `语言:English`,**同时**覆写以下种子文件为英文版:
|
|
219
|
+
- 如果 `WIKI_LANG=en`,读取 `${SKILL_DIR}/templates/index-en-template.md`、`${SKILL_DIR}/templates/overview-en-template.md`、`${SKILL_DIR}/templates/log-en-template.md`,将 `{{DATE}}` 和 `{{TOPIC}}` 替换为实际值后,分别写入 `index.md`、`wiki/overview.md`、`log.md`
|
|
220
|
+
|
|
221
|
+
7. **记录路径**到 `~/.llm-wiki-path`:
|
|
222
|
+
```bash
|
|
223
|
+
echo "<路径>" > ~/.llm-wiki-path
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
8. **输出引导**(根据 `WIKI_LANG` 切换语言):
|
|
227
|
+
|
|
228
|
+
**中文(zh)**:
|
|
229
|
+
```
|
|
230
|
+
知识库已创建!路径:<路径>
|
|
231
|
+
|
|
232
|
+
接下来你可以:
|
|
233
|
+
- 给我一个链接,我会自动提取并整理(网页、X/Twitter、公众号、知乎等)
|
|
234
|
+
- 小红书内容请直接粘贴文本给我(暂不支持自动提取)
|
|
235
|
+
- 给我一个本地文件路径(PDF、Markdown 等)
|
|
236
|
+
- 直接粘贴文本内容
|
|
237
|
+
- 批量消化:给我一个文件夹路径
|
|
238
|
+
|
|
239
|
+
推荐:用 Obsidian 打开这个文件夹,可以实时看到知识库的构建效果。
|
|
240
|
+
```
|
|
241
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## 工作流 2:ingest(消化素材)
|
|
246
|
+
|
|
247
|
+
这是最核心的工作流。用户给一个素材进来,AI 做所有的整理工作。
|
|
248
|
+
|
|
249
|
+
### 前置检查
|
|
250
|
+
|
|
251
|
+
执行**通用前置检查**(见上方定义)。
|
|
252
|
+
|
|
253
|
+
### 隐私自查提示(首次进入 ingest 必须执行)
|
|
254
|
+
|
|
255
|
+
在开始提取或分析任何内容之前,AI **必须**先对用户说下面这句话,然后等待确认:
|
|
256
|
+
|
|
257
|
+
> 在开始分析这份素材前,请先快速确认里面**不**包含这些敏感内容:
|
|
258
|
+
>
|
|
259
|
+
> - 手机号码(如 138xxxxxxxx)
|
|
260
|
+
> - 身份证号(18 位数字)
|
|
261
|
+
> - API 密钥(`sk-...`、`AIzaSy...`、`OPENAI_API_KEY=`、`ANTHROPIC_API_KEY=`、`Bearer ...`)
|
|
262
|
+
> - 明文密码(`password=`、`passwd=`)
|
|
263
|
+
> - 其他你不希望进入知识库的个人信息
|
|
264
|
+
>
|
|
265
|
+
> 如果素材里有上面任何一项,请先用文本编辑器删除或脱敏后再继续。
|
|
266
|
+
> llm-wiki **不会**自动过滤这些内容,处理后的内容会进入你的知识库。
|
|
267
|
+
>
|
|
268
|
+
> 确认无上述内容请回复 `y`,要中止请回复 `n`。
|
|
269
|
+
|
|
270
|
+
**流程规则**:
|
|
271
|
+
|
|
272
|
+
- 用户回复 `y`(或"可以"、"继续"、"没有"等明确肯定)→ 继续执行后续步骤
|
|
273
|
+
- 用户回复 `n`(或"停"、"取消"等明确否定)→ 终止本次 ingest,提示用户清理后再来
|
|
274
|
+
- 其他不明确的回复 → 再问一次,最多两次;两次都不是明确 y/n 则终止
|
|
275
|
+
- **绕过规则**:如果用户在当前对话里已经明确说过"素材里没有敏感信息,直接开始",
|
|
276
|
+
或者用户是在 `batch-ingest` 流程中(已经在顶层确认过一次),AI 可以跳过这一步
|
|
277
|
+
|
|
278
|
+
**为什么是自查清单而不是脚本**:
|
|
279
|
+
- 正则在非结构化文本(聊天记录、笔记)里误报率很高,错过真的敏感词,误报无害的普通词
|
|
280
|
+
- 把判断权还给用户,比让脚本决定更可靠
|
|
281
|
+
- 对新手更友好,不会遇到看不懂的脚本报错
|
|
282
|
+
|
|
283
|
+
### 素材提取路由
|
|
284
|
+
|
|
285
|
+
根据素材类型自动路由到最佳提取方式:
|
|
286
|
+
|
|
287
|
+
**外挂前置判断**:
|
|
288
|
+
|
|
289
|
+
- URL 先调用 `bash ${SKILL_DIR}/scripts/source-registry.sh match-url "<url>"`
|
|
290
|
+
- 本地文件先调用 `bash ${SKILL_DIR}/scripts/source-registry.sh match-file "<path>"`
|
|
291
|
+
- 纯文本粘贴直接调用 `bash ${SKILL_DIR}/scripts/source-registry.sh get plain_text`
|
|
292
|
+
- `source-registry.sh` 返回 10 列:`source_id`、`source_label`、`source_category`、`input_mode`、`match_rule`、`raw_dir`、`adapter_name`、`dependency_name`、`dependency_type`、`fallback_hint`
|
|
293
|
+
- 调用 `bash ${SKILL_DIR}/scripts/adapter-state.sh check <source_id>`
|
|
294
|
+
- 从 `adapter-state.sh check` 的 8 列结果里读取 `state`、`detail`、`recovery_action`、`install_hint`、`fallback_hint`
|
|
295
|
+
- 如果 `state=not_installed` / `env_unavailable` / `unsupported` → 不调用外挂,直接按 `detail`、`recovery_action`、`install_hint`、`fallback_hint` 告诉用户下一步
|
|
296
|
+
- 只有返回 `available` 时,才继续自动提取
|
|
297
|
+
|
|
298
|
+
**URL 类素材**(统一走来源总表,不手写域名表):
|
|
299
|
+
|
|
300
|
+
> **Chrome 提示**(仅当 `adapter_name=baoyu-url-to-markdown` 时):
|
|
301
|
+
> adapter-state.sh check 会把“提取器可用”与“是否存在 9222 可复用会话”分开表达。
|
|
302
|
+
> 如果 check 返回 `available`,正常调用外挂;即使 detail 提示未检测到 9222,也继续执行。baoyu-url-to-markdown 会自己处理 Chrome 启动,**继续执行,不要等待用户确认**。
|
|
303
|
+
> 只有在你想复用当前已登录的 Chrome 会话时,才需要手动开启 9222。
|
|
304
|
+
> 如果提取仍然失败(通常是页面需要登录态,如 X/Twitter、知乎等),可提示用户开启调试端口复用已登录会话:`open -na "Google Chrome" --args --remote-debugging-port=9222`
|
|
305
|
+
|
|
306
|
+
- 如果 `source_category=manual_only` → 不调用外挂,直接使用 `fallback_hint`
|
|
307
|
+
- 如果 `adapter_name=wechat-article-to-markdown` → 执行 `wechat-article-to-markdown "<URL>"`
|
|
308
|
+
- 如果 `adapter_name=youtube-transcript` → 调用 `youtube-transcript`
|
|
309
|
+
- 如果 `adapter_name=baoyu-url-to-markdown` → 调用 `baoyu-url-to-markdown`
|
|
310
|
+
|
|
311
|
+
**本地文件**:
|
|
312
|
+
- 统一走 `bash ${SKILL_DIR}/scripts/source-registry.sh match-file "<path>"`
|
|
313
|
+
- 命中后直接读取,不调用外挂
|
|
314
|
+
|
|
315
|
+
**纯文本粘贴**:
|
|
316
|
+
- 统一视为 `plain_text`
|
|
317
|
+
- 直接使用用户提供的文本
|
|
318
|
+
|
|
319
|
+
**统一回退规则**:
|
|
320
|
+
|
|
321
|
+
- 对自动提取结果,统一运行 `bash ${SKILL_DIR}/scripts/adapter-state.sh classify-run <source_id> <exit_code> <output_path>`
|
|
322
|
+
- 从 `classify-run` 返回的 8 列结果里读取 `state`、`detail`、`recovery_action`、`fallback_hint`
|
|
323
|
+
- 如果返回 `runtime_failed` → 按 `detail`、`recovery_action`、`fallback_hint` 告诉用户“这次自动提取失败,可以先重试一次;如果还不行,就改走手动入口”
|
|
324
|
+
- 如果返回 `empty_result` → 按 `detail`、`recovery_action`、`fallback_hint` 告诉用户“自动提取没有拿到有效正文,请手动补全文本后继续”
|
|
325
|
+
- 其他状态也使用同一份返回结果,不再手写第二套回退文案
|
|
326
|
+
|
|
327
|
+
### 内容分级处理
|
|
328
|
+
|
|
329
|
+
根据素材长度和信息密度自动选择处理级别:
|
|
330
|
+
|
|
331
|
+
**判断标准**:
|
|
332
|
+
- 素材内容 > 1000 字 → **完整处理**
|
|
333
|
+
- 素材内容 <= 1000 字(短推文、小红书笔记等)→ **简化处理**
|
|
334
|
+
|
|
335
|
+
### 完整处理流程(长素材 > 1000 字)
|
|
336
|
+
|
|
337
|
+
1. **提取素材内容**:按上面的路由获取素材文本
|
|
338
|
+
|
|
339
|
+
2. **保存原始素材**到 `raw/` 对应目录:
|
|
340
|
+
- 根据素材类型保存到对应目录(articles/、tweets/、wechat/、xiaohongshu/、zhihu/ 等)
|
|
341
|
+
- 文件名格式:`{日期}-{短标题}.md`
|
|
342
|
+
- 如果是 URL 类素材,在文件头部记录原始 URL
|
|
343
|
+
|
|
344
|
+
**图片检测与追踪**:保存素材后,扫描内容中是否包含图片引用(`![` 或 `<img` 或 `.png`/`.jpg`/`.gif`/`.svg` URL)。如果检测到图片:
|
|
345
|
+
- 告诉用户:"素材包含 {N} 张图片引用。图片链接可能失效,建议手动下载到 `raw/assets/`(Obsidian 用户可在设置中绑定快捷键一键下载附件)"
|
|
346
|
+
- 在后续 source 页面的 frontmatter 中:
|
|
347
|
+
- `images`:记录检测到的图片引用数量
|
|
348
|
+
- `image_paths`:如果用户已将图片下载到 `raw/assets/`,用 YAML block list 格式记录路径;如果尚未下载,保持为空数组 `[]`。示例:
|
|
349
|
+
```yaml
|
|
350
|
+
image_paths:
|
|
351
|
+
- raw/assets/2026-01-15-fig1.png
|
|
352
|
+
- raw/assets/2026-01-15-fig2.jpg
|
|
353
|
+
```
|
|
354
|
+
- 不阻塞 ingest 流程,仅做提醒
|
|
355
|
+
- 用户后续下载图片后,可以手动更新 source 页面的 `image_paths`,或在下次 lint 时由 AI 辅助补全
|
|
356
|
+
|
|
357
|
+
3. **读取上下文**:
|
|
358
|
+
- 优先顺序:`purpose.md` > `.wiki-schema.md` > `index.md`
|
|
359
|
+
- 如果 `purpose.md` 存在,先读取其中的核心目标、关键问题和研究范围
|
|
360
|
+
- 用 `purpose.md` 指导后续实体、主题、关联的取舍和权重
|
|
361
|
+
|
|
362
|
+
4. **缓存检查**:
|
|
363
|
+
- 在进入 LLM 处理前,先运行:
|
|
364
|
+
```bash
|
|
365
|
+
bash ${SKILL_DIR}/scripts/cache.sh check “<raw 文件路径>”
|
|
366
|
+
```
|
|
367
|
+
- 如果返回 `HIT` 或 `HIT(repaired)` → 跳过本次 LLM 调用,直接读取已有 wiki 页面,并告诉用户这是”无变化,直接复用已有结果”
|
|
368
|
+
- `HIT(repaired)` 表示缓存自愈修复成功(上次 update 被跳过但 source 页面存在且 source_path 匹配)
|
|
369
|
+
- 如果返回 `MISS:<reason>` → 继续执行下面的两步流程
|
|
370
|
+
- `MISS:no_entry` — 首次处理此素材(正常情况)
|
|
371
|
+
- `MISS:hash_changed` — 素材内容有变化,需要重新处理
|
|
372
|
+
- `MISS:no_source` — 有缓存记录但 source 页面被删除了
|
|
373
|
+
- `MISS:repaired_needs_verify` — 找到同名 source 页面但 source_path 不匹配,需要重新处理以确认关联正确
|
|
374
|
+
|
|
375
|
+
5. **Step 1:结构化分析**:
|
|
376
|
+
- 输入:原始内容 + `purpose.md` + 现有 wiki 结构(至少读取 `index.md` 概要)
|
|
377
|
+
- 输出:JSON 格式的分析结果,不持久化,只在当前 ingest 流程里临时传递
|
|
378
|
+
- JSON 至少包含 `entities`、`topics`、`connections`
|
|
379
|
+
- `confidence` 是必需字段,缺失就视为格式异常并触发单步回退
|
|
380
|
+
|
|
381
|
+
```json
|
|
382
|
+
{
|
|
383
|
+
"source_summary": "一句话概括",
|
|
384
|
+
"entities": [{"name": "xxx", "type": "concept", "relevance": "high", "confidence": "EXTRACTED", "evidence": "原文摘录或推理依据"}],
|
|
385
|
+
"topics": [{"name": "xxx", "importance": "high"}],
|
|
386
|
+
"connections": [{"from": "A", "to": "B", "type": "因果", "confidence": "INFERRED", "evidence": "推理依据"}],
|
|
387
|
+
"contradictions": [{"claim_a": "...", "claim_b": "...", "context": "..."}],
|
|
388
|
+
"new_vs_existing": {"new_entities": [], "updates": []}
|
|
389
|
+
}
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
置信度赋值规则(Claude 必须遵守):
|
|
393
|
+
- EXTRACTED:信息直接出现在原文里,字面可以找到。**应在 `evidence` 字段提供原文摘录**(建议 ≤50 字);缺失时脚本会发出 WARN 但不阻塞
|
|
394
|
+
- INFERRED:信息是从多处原文推断出来的,原文没有直接说。**应在 `evidence` 字段说明推理依据**;缺失时脚本会发出 WARN 但不阻塞
|
|
395
|
+
- AMBIGUOUS:原文说法不清楚,或者有歧义。`evidence` 可选
|
|
396
|
+
- UNVERIFIED:信息来自 Claude 的背景知识,原文没有证据。`evidence` 可选
|
|
397
|
+
|
|
398
|
+
Step 1 完成后,必须执行验证:
|
|
399
|
+
1. mkdir -p {wiki_root}/.wiki-tmp
|
|
400
|
+
2. 将 Step 1 JSON 写入 {wiki_root}/.wiki-tmp/step1-latest.json
|
|
401
|
+
3. 调用 bash ${SKILL_DIR}/scripts/validate-step1.sh {wiki_root}/.wiki-tmp/step1-latest.json
|
|
402
|
+
4. 验证完成后删除 {wiki_root}/.wiki-tmp/step1-latest.json
|
|
403
|
+
|
|
404
|
+
如果脚本返回非 0,自动回退到单步 ingest(不进行 Step 2)。
|
|
405
|
+
|
|
406
|
+
6. **Step 2:页面生成**:
|
|
407
|
+
- 输入:原始内容 + `purpose.md` + Step 1 的分析结果 + 现有相关 wiki 页面
|
|
408
|
+
- **上下文加载规则**:只读取 Step 1 中 `new_vs_existing.updates` 列出的已有页面;如果某页超过 2000 字,只读取 frontmatter + 需要更新的章节
|
|
409
|
+
- 输出:所有需要创建或更新的 wiki 页面内容
|
|
410
|
+
- Step 2 负责完成原流程中的素材摘要、实体页、主题页、index、log 更新
|
|
411
|
+
|
|
412
|
+
7. **容错回退**:
|
|
413
|
+
- 如果 Step 1 不是有效 JSON,或者缺少 `entities`、`topics`、`confidence` 等必需字段,自动回退到原来的单步流程
|
|
414
|
+
- 回退时,所有本次新生成内容统一加上:
|
|
415
|
+
```markdown
|
|
416
|
+
<!-- confidence: UNVERIFIED -->
|
|
417
|
+
```
|
|
418
|
+
- 同时在页面顶部加注释说明本次处理因格式问题降级,避免出现“部分标注、部分没标注”的状态
|
|
419
|
+
|
|
420
|
+
8. **生成素材摘要页**(`wiki/sources/{日期}-{短标题}.md`):
|
|
421
|
+
- 参考 `templates/source-template.md` 的格式
|
|
422
|
+
- frontmatter 里保留 `sources: []` 字段;如果这次 ingest 有明确来源,按实际 raw/source 引用填入
|
|
423
|
+
- 包含:基本信息、核心观点、关键概念、与其他素材的关联、原文精彩摘录
|
|
424
|
+
- 对 Step 1 中标记为 `INFERRED` 或 `AMBIGUOUS` 的关系,用 HTML 注释保留置信度:
|
|
425
|
+
```markdown
|
|
426
|
+
<!-- confidence: INFERRED -->
|
|
427
|
+
<!-- confidence: AMBIGUOUS -->
|
|
428
|
+
```
|
|
429
|
+
- **写入 source 页面时,必须使用 `create-source-page.sh`**(自动更新缓存):
|
|
430
|
+
```bash
|
|
431
|
+
# 先把页面内容写到临时文件
|
|
432
|
+
echo "<页面内容>" > /tmp/source-content.tmp
|
|
433
|
+
# 调用脚本原子写入 + 缓存更新
|
|
434
|
+
bash ${SKILL_DIR}/scripts/create-source-page.sh "<raw 文件路径>" "wiki/sources/{日期}-{短标题}.md" /tmp/source-content.tmp
|
|
435
|
+
```
|
|
436
|
+
- 如果脚本返回 `SUCCESS` → 写入和缓存都已更新
|
|
437
|
+
- 如果脚本返回 `ERROR` → 写入或缓存失败,检查报错信息后重试
|
|
438
|
+
|
|
439
|
+
9. **更新或创建实体页**(`wiki/entities/`):
|
|
440
|
+
- 对每个关键概念,检查 `wiki/entities/` 下是否已有对应页面
|
|
441
|
+
- 如果已有 → 追加新信息,更新"不同素材中的观点"部分
|
|
442
|
+
- 如果没有 → 创建新实体页,参考 `templates/entity-template.md`
|
|
443
|
+
- 使用 `[[实体名]]` 语法做双向链接
|
|
444
|
+
|
|
445
|
+
10. **更新或创建主题页**(`wiki/topics/`):
|
|
446
|
+
- 识别素材涉及的主要研究主题
|
|
447
|
+
- 如果已有对应主题页 → 更新素材汇总表和核心观点
|
|
448
|
+
- 如果没有 → 创建新主题页,参考 `templates/topic-template.md`
|
|
449
|
+
|
|
450
|
+
11. **更新 index.md**:
|
|
451
|
+
- 在对应分类下添加新条目
|
|
452
|
+
- 更新概览统计数字
|
|
453
|
+
|
|
454
|
+
12. **更新 log.md**:
|
|
455
|
+
- log.md 追加格式:`## {日期} ingest | {素材标题}`
|
|
456
|
+
- 记录新增和更新的页面列表
|
|
457
|
+
- 注意:缓存更新已在 Step 8 通过 `create-source-page.sh` 自动完成,此处无需再调用 `cache.sh update`
|
|
458
|
+
|
|
459
|
+
13. **向用户展示结果**(按 `WIKI_LANG` 切换语言):
|
|
460
|
+
|
|
461
|
+
**中文(zh)**:
|
|
462
|
+
```
|
|
463
|
+
已消化:{素材标题}
|
|
464
|
+
|
|
465
|
+
新增页面:
|
|
466
|
+
- {素材摘要页}
|
|
467
|
+
- {新实体页1}
|
|
468
|
+
- {新主题页1}
|
|
469
|
+
|
|
470
|
+
更新页面:
|
|
471
|
+
- {已有实体页2}(追加了新信息)
|
|
472
|
+
|
|
473
|
+
发现关联:
|
|
474
|
+
- 这篇素材和 [[已有素材]] 在 {某概念} 上有联系
|
|
475
|
+
|
|
476
|
+
别名建议:(仅当发现新的同义词关系时显示)
|
|
477
|
+
- 建议添加到别名词表:{术语A} = {术语B}
|
|
478
|
+
```
|
|
479
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
480
|
+
|
|
481
|
+
### 简化处理流程(短素材 <= 1000 字)
|
|
482
|
+
|
|
483
|
+
适用于短推文、小红书笔记、简短评论等。
|
|
484
|
+
|
|
485
|
+
1. **保存原始素材**到对应 `raw/` 目录
|
|
486
|
+
- **图片检测与追踪**:同完整处理流程,扫描图片引用并提醒用户;在 source 页面 `images` 和 `image_paths` frontmatter 字段记录数量和路径
|
|
487
|
+
2. **读取上下文并检查缓存**:
|
|
488
|
+
- 仍然优先读取 `purpose.md`
|
|
489
|
+
- 仍然先运行 `bash ${SKILL_DIR}/scripts/cache.sh check "<raw 文件路径>"`
|
|
490
|
+
- 如果缓存命中(`HIT` 或 `HIT(repaired)`),直接复用已有结果
|
|
491
|
+
3. **生成简化摘要页**(`wiki/sources/`):
|
|
492
|
+
- frontmatter 里写入 `sources: []`
|
|
493
|
+
- 只包含基本信息和核心观点
|
|
494
|
+
- 不写"原文精彩摘录"部分
|
|
495
|
+
- **写入 source 页面时同样使用 `create-source-page.sh`**(自动更新缓存)
|
|
496
|
+
4. **提取 1-3 个关键概念**:
|
|
497
|
+
- 如果对应实体页已存在 → 追加一句话说明
|
|
498
|
+
- 如果不存在 → 在摘要页中用 `[待创建: [[概念名]]]` 标记
|
|
499
|
+
5. **更新 index.md 和 log.md**(缓存已由 `create-source-page.sh` 自动更新)
|
|
500
|
+
6. **跳过**:主题页创建/更新、overview 更新
|
|
501
|
+
|
|
502
|
+
7. **向用户展示简化结果**(按 `WIKI_LANG` 切换语言):
|
|
503
|
+
|
|
504
|
+
**中文(zh)**:
|
|
505
|
+
```
|
|
506
|
+
已消化:{素材标题}(短内容,简化处理)
|
|
507
|
+
|
|
508
|
+
新增:
|
|
509
|
+
- 素材摘要页
|
|
510
|
+
|
|
511
|
+
待完善:
|
|
512
|
+
- [待创建: [[概念名]]](积累更多素材后整理)
|
|
513
|
+
```
|
|
514
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
515
|
+
|
|
516
|
+
---
|
|
517
|
+
|
|
518
|
+
## 工作流 3:batch-ingest(批量消化)
|
|
519
|
+
|
|
520
|
+
当用户给了一个文件夹路径,或者说"把这些都整理一下"。
|
|
521
|
+
|
|
522
|
+
### 步骤
|
|
523
|
+
|
|
524
|
+
1. **确认知识库路径**:
|
|
525
|
+
- 执行**通用前置检查**(见上方定义),获取知识库根路径和 `WIKI_LANG`
|
|
526
|
+
|
|
527
|
+
2. **列出所有可处理文件**:
|
|
528
|
+
- 支持的格式:`.md`, `.txt`, `.pdf`, `.html`
|
|
529
|
+
- 忽略:隐藏文件、`.git` 目录、`node_modules` 等
|
|
530
|
+
|
|
531
|
+
3. **展示文件列表**,确认处理范围(按 `WIKI_LANG` 切换语言):
|
|
532
|
+
|
|
533
|
+
**zh**:
|
|
534
|
+
```
|
|
535
|
+
发现 {N} 个文件待处理:
|
|
536
|
+
1. file1.pdf
|
|
537
|
+
2. file2.md
|
|
538
|
+
3. file3.txt
|
|
539
|
+
|
|
540
|
+
预计需要 {N} 轮处理。是否开始?
|
|
541
|
+
```
|
|
542
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
543
|
+
|
|
544
|
+
4. **逐个处理**:对每个文件执行 ingest 工作流
|
|
545
|
+
- 每个文件先 `cache check`
|
|
546
|
+
- 命中缓存的文件直接跳过,不再进入 LLM 处理
|
|
547
|
+
- 只有 `MISS` 的文件才继续执行完整或简化处理
|
|
548
|
+
|
|
549
|
+
5. **每 5 个文件后暂停**,展示进度并询问是否继续(按 `WIKI_LANG` 切换语言):
|
|
550
|
+
|
|
551
|
+
**zh**:
|
|
552
|
+
```
|
|
553
|
+
进度:5/{N} 已完成
|
|
554
|
+
|
|
555
|
+
本批处理结果:
|
|
556
|
+
- 新增素材摘要:5
|
|
557
|
+
- 新增实体页:3
|
|
558
|
+
- 更新已有页面:7
|
|
559
|
+
|
|
560
|
+
继续处理剩余 {M} 个文件?
|
|
561
|
+
```
|
|
562
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
563
|
+
|
|
564
|
+
6. **全部完成后**:
|
|
565
|
+
- 运行一次 index.md 全量更新
|
|
566
|
+
- 输出总结报告(按 `WIKI_LANG` 切换语言):
|
|
567
|
+
|
|
568
|
+
**zh**:
|
|
569
|
+
```
|
|
570
|
+
批量消化完成!
|
|
571
|
+
|
|
572
|
+
处理了 {N} 个文件:
|
|
573
|
+
- 已跳过 N 个(无变化),处理 M 个(新增/更新)
|
|
574
|
+
- 成功:{S}
|
|
575
|
+
- 跳过(内容为空/格式不支持):{K}
|
|
576
|
+
- 失败:{F}
|
|
577
|
+
|
|
578
|
+
新增页面:{total_new}
|
|
579
|
+
更新页面:{total_updated}
|
|
580
|
+
```
|
|
581
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
582
|
+
|
|
583
|
+
---
|
|
584
|
+
|
|
585
|
+
## 工作流 4:query(查询知识库)
|
|
586
|
+
|
|
587
|
+
### 步骤
|
|
588
|
+
|
|
589
|
+
1. **确认知识库路径**:
|
|
590
|
+
- 执行**通用前置检查**(见上方定义),获取知识库根路径和 `WIKI_LANG`
|
|
591
|
+
- 如果没有可用知识库,提示用户先初始化
|
|
592
|
+
2. **读取 index.md** 了解知识库全貌
|
|
593
|
+
3. **搜索相关页面**:
|
|
594
|
+
- **别名展开**:先读取 `.wiki-schema.md` 中的"别名词表",如果用户的查询关键词命中了某一组别名,则将该组所有同义词都纳入搜索(如搜"LLM"时同时搜"大语言模型"和"大模型")
|
|
595
|
+
- 展开规则:只在命中的那一组内展开,不跨组传递(A=B 和 B=C 是两组时,搜 A 只展开第一组,不合并第二组)
|
|
596
|
+
- 去重:展开后的关键词列表自动去重,忽略空项和纯空格项
|
|
597
|
+
- 在 index.md 中定位相关分类和条目(用展开后的全部关键词)
|
|
598
|
+
- 再用 Grep 在 `wiki/` 目录下搜索所有关键词(原始 + 别名展开)
|
|
599
|
+
- 按相关性排序:文件名精确命中 > index.md 条目命中 > 正文关键词命中次数(同一别名组的多个词命中同一页面时只计一次,避免别名密集的页面分数虚高)
|
|
600
|
+
- **段落上限**:展开后每个关键词最多取 3 个命中段落,总段落数不超过 15 个
|
|
601
|
+
- 读取最相关的 3-5 个页面
|
|
602
|
+
- **单页长度上限**:如果某页超过 2000 字,只读取 frontmatter + 前 500 字 + Grep 命中段落(前后各 3 行),避免长页面消耗过多上下文
|
|
603
|
+
4. **综合回答**:
|
|
604
|
+
- 按 `WIKI_LANG` 用对应语言回答用户的问题
|
|
605
|
+
- 标注信息来源(引用 wiki 页面,用 `[[页面名]]` 格式)
|
|
606
|
+
- 如果多个素材有不同观点,分别列出并标注来源
|
|
607
|
+
5. **判断是否值得持久化**:
|
|
608
|
+
- 如果回答引用了 3 个及以上来源的综合分析,提示用户:"是否保存此回答到知识库?"
|
|
609
|
+
- 少于 3 个来源时,默认只做即时回答,不主动建议持久化
|
|
610
|
+
|
|
611
|
+
6. **重复检测**:
|
|
612
|
+
- 持久化前,先在 `wiki/queries/` 下搜索同主题页面
|
|
613
|
+
- 通过 frontmatter tags 和 title 匹配,判断是否已有同主题 query 页面
|
|
614
|
+
- 如果已有,提示用户是“更新现有页面”还是“新建一页”
|
|
615
|
+
- 如果用户选择更新旧页面,旧版页面增加 `superseded-by` 标记
|
|
616
|
+
|
|
617
|
+
7. **保存 query 页面**:
|
|
618
|
+
- 用 `templates/query-template.md` 生成页面
|
|
619
|
+
- 保存路径使用 `wiki/queries/{date}-{short-hash}.md`,避免同主题命名冲突
|
|
620
|
+
- frontmatter 必须包含 `type: query` 和 `derived: true`
|
|
621
|
+
- `derived: true` 表示这是衍生内容,不是一手素材
|
|
622
|
+
|
|
623
|
+
8. **自引用防护**:
|
|
624
|
+
- query 页面在后续 ingest 分析里视为二级来源,不作为主要知识来源
|
|
625
|
+
- 如果后续页面引用 query 页面里的信息,相关关系统一按 `INFERRED` 处理
|
|
626
|
+
- ingest 不主动扫描 `wiki/queries/`;只有当前问题确实需要时,才把 query 页面作为补充材料读取
|
|
627
|
+
|
|
628
|
+
9. **更新索引和日志**:
|
|
629
|
+
- 保存成功后,在 index.md 中加入 query 条目
|
|
630
|
+
- 同时在 log.md 中追加一条 query 保存记录
|
|
631
|
+
|
|
632
|
+
---
|
|
633
|
+
|
|
634
|
+
## 工作流 5:lint(健康检查)
|
|
635
|
+
|
|
636
|
+
### 触发时机
|
|
637
|
+
|
|
638
|
+
- 用户主动说"检查知识库"
|
|
639
|
+
- 每次 ingest 后,如果素材总数是 10 的倍数,主动建议运行 lint
|
|
640
|
+
|
|
641
|
+
### 前置检查
|
|
642
|
+
|
|
643
|
+
执行**通用前置检查**(见上方定义)。如果没有可用知识库,提示用户先初始化。
|
|
644
|
+
|
|
645
|
+
1. **确定检查范围**:
|
|
646
|
+
- 最近更新的 10 个页面(按文件修改时间排序)
|
|
647
|
+
- 随机抽查的 10 个页面(避免遗漏旧页面的问题)
|
|
648
|
+
- 如果页面总数 <= 20,检查全部
|
|
649
|
+
|
|
650
|
+
2. **Step 0:调用脚本做机械检查**(必须先做,不要跳过):
|
|
651
|
+
|
|
652
|
+
```bash
|
|
653
|
+
bash ${SKILL_DIR}/scripts/lint-runner.sh <wiki_root>
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
脚本负责三项**机械检查**(只需要精确匹配,不需要判断):
|
|
657
|
+
- 孤立页面(`entities/` 下没有被其他页面引用的实体)
|
|
658
|
+
- 断链(`[[X]]` 链接指向的 `X.md` 不存在,支持 `[[X|别名]]` 语法)
|
|
659
|
+
- index 一致性(index.md 里有记录但文件缺失的条目)
|
|
660
|
+
|
|
661
|
+
退出码:`0` = 运行完成,`1` = 脚本自身错误(路径不存在、index.md 缺失)。
|
|
662
|
+
如果 exit 1,向用户报告错误,不要继续。
|
|
663
|
+
如果 exit 0,把脚本 stdout 读进上下文,作为后续 AI 判断类检查的基础素材。
|
|
664
|
+
|
|
665
|
+
3. **逐项检查**(AI 判断类,脚本做不了):
|
|
666
|
+
|
|
667
|
+
**矛盾信息**(阅读相关页面,检查是否有互相矛盾的说法):
|
|
668
|
+
- 列出发现的矛盾
|
|
669
|
+
- 标注每处矛盾的来源页面
|
|
670
|
+
|
|
671
|
+
**交叉引用缺失**(检查相关主题的页面之间是否应该互相链接但没链):
|
|
672
|
+
- 建议添加的交叉引用
|
|
673
|
+
|
|
674
|
+
**置信度报告**(统计 `EXTRACTED` / `INFERRED` / `AMBIGUOUS` / `UNVERIFIED`):
|
|
675
|
+
- 高亮 `AMBIGUOUS` 条目,提醒用户优先验证
|
|
676
|
+
- 抽查标注为 EXTRACTED 的条目,检查是否能在原始素材里找到对应原文
|
|
677
|
+
- 如果发现 EXTRACTED 无法回溯到原文,提示用户回退为更低置信度或重新整理
|
|
678
|
+
|
|
679
|
+
**补充建议**:基于 Step 0 脚本的孤立页/断链输出,给出修复建议(脚本只列问题,不给方案)
|
|
680
|
+
- 孤立页面 → 建议从哪些相关页面添加 `[[链接]]`
|
|
681
|
+
- 断链 → 建议为哪些概念创建新页面,或改写引用为已有页面
|
|
682
|
+
|
|
683
|
+
4. **输出报告**(按 `WIKI_LANG` 切换语言,整合 Step 0 脚本输出 + Step 3 AI 判断结果):
|
|
684
|
+
|
|
685
|
+
**zh**:
|
|
686
|
+
```
|
|
687
|
+
知识库健康检查报告
|
|
688
|
+
|
|
689
|
+
检查范围:最近更新 10 页 + 随机抽查 10 页(共 {N} 页)
|
|
690
|
+
|
|
691
|
+
孤立页面(没有其他页面链接到它):
|
|
692
|
+
- [[某页面]] → 建议从 [[相关页面]] 添加链接
|
|
693
|
+
|
|
694
|
+
断链(被链接但不存在):
|
|
695
|
+
- [[某概念]] → 建议创建新页面
|
|
696
|
+
|
|
697
|
+
矛盾信息:
|
|
698
|
+
- 关于"XX",[[页面A]] 说是 Y,但 [[页面B]] 说是 Z
|
|
699
|
+
|
|
700
|
+
缺失索引:
|
|
701
|
+
- {文件名} 存在但未记录在 index.md 中
|
|
702
|
+
|
|
703
|
+
置信度报告:
|
|
704
|
+
- EXTRACTED:{N}
|
|
705
|
+
- INFERRED:{N}
|
|
706
|
+
- AMBIGUOUS:{N}
|
|
707
|
+
- UNVERIFIED:{N}
|
|
708
|
+
```
|
|
709
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
710
|
+
|
|
711
|
+
5. **询问用户**:要自动修复哪些问题?(按 `WIKI_LANG` 用对应语言提问)
|
|
712
|
+
|
|
713
|
+
---
|
|
714
|
+
|
|
715
|
+
## 工作流 6:status(查看状态)
|
|
716
|
+
|
|
717
|
+
### 前置检查
|
|
718
|
+
|
|
719
|
+
执行**通用前置检查**(见上方定义)。如果没有可用知识库,提示用户先初始化。
|
|
720
|
+
|
|
721
|
+
### 步骤
|
|
722
|
+
|
|
723
|
+
1. 先运行 `bash ${SKILL_DIR}/scripts/source-registry.sh list` 读取来源总表
|
|
724
|
+
2. 获取知识库路径(按上面的 CWD 检查逻辑)
|
|
725
|
+
3. 统计:
|
|
726
|
+
- 按来源总表中的 `source_label` 和 `raw_dir` 逐项统计 `raw/` 文件数
|
|
727
|
+
- `wiki/entities/` 下的页面数
|
|
728
|
+
- `wiki/topics/` 下的页面数
|
|
729
|
+
- `wiki/sources/` 下的页面数
|
|
730
|
+
- `wiki/comparisons/` 和 `wiki/synthesis/` 下的页面数
|
|
731
|
+
- `purpose.md 是否存在`
|
|
732
|
+
4. 读取 `log.md` 最后 5 条记录
|
|
733
|
+
5. 读取 `index.md` 获取主题概览
|
|
734
|
+
6. 运行 `bash ${SKILL_DIR}/scripts/adapter-state.sh summary-human` 获取外挂状态
|
|
735
|
+
7. 运行 `node ${SKILL_DIR}/scripts/source-signal-coverage.js <wiki_root>` 获取来源信号覆盖数据,从返回 JSON 的 `summary` 中读取:
|
|
736
|
+
- `ok`(已参与)、`missing_sources`(缺少 sources)、`empty_sources`(sources 为空)、`invalid_sources`(格式无效)、`not_applicable`(当前不参与)
|
|
737
|
+
8. **输出报告**(按 `WIKI_LANG` 切换语言):
|
|
738
|
+
|
|
739
|
+
**zh**:
|
|
740
|
+
```
|
|
741
|
+
知识库状态:{主题}
|
|
742
|
+
|
|
743
|
+
素材分布(按来源总表):
|
|
744
|
+
- {source_label}:{N}
|
|
745
|
+
- {source_label}:{N}
|
|
746
|
+
...
|
|
747
|
+
|
|
748
|
+
Wiki 页面:{总数} 页
|
|
749
|
+
- 实体页:{N}
|
|
750
|
+
- 主题页:{N}
|
|
751
|
+
- 素材摘要:{N}
|
|
752
|
+
- 对比分析:{N}
|
|
753
|
+
- 综合分析:{N}
|
|
754
|
+
|
|
755
|
+
图谱来源信号覆盖:
|
|
756
|
+
- 已参与:{ok}
|
|
757
|
+
- 缺少 sources:{missing_sources}
|
|
758
|
+
- sources 为空:{empty_sources}
|
|
759
|
+
- 格式无效:{invalid_sources}
|
|
760
|
+
- 当前不参与:{not_applicable}
|
|
761
|
+
|
|
762
|
+
研究方向:
|
|
763
|
+
- purpose.md 是否存在:{是/否}
|
|
764
|
+
|
|
765
|
+
最近活动:
|
|
766
|
+
- {日期} ingest | {素材标题}
|
|
767
|
+
- {日期} ingest | {素材标题}
|
|
768
|
+
...
|
|
769
|
+
|
|
770
|
+
外挂状态:
|
|
771
|
+
{summary-human 原文}
|
|
772
|
+
|
|
773
|
+
建议:
|
|
774
|
+
- 你可能想深入了解 {某主题},已有 {N} 篇相关素材
|
|
775
|
+
- {某实体} 被 {N} 篇素材提到,值得整理成独立页面
|
|
776
|
+
```
|
|
777
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
778
|
+
|
|
779
|
+
外挂状态直接使用 `bash ${SKILL_DIR}/scripts/adapter-state.sh summary-human` 的输出,不要自己再重写一套来源清单。
|
|
780
|
+
|
|
781
|
+
---
|
|
782
|
+
|
|
783
|
+
## 工作流 7:digest(深度综合报告)
|
|
784
|
+
|
|
785
|
+
**区别于 query**:query 是快速问答,不生成新页面;digest 是跨素材深度综合,生成持久化报告。
|
|
786
|
+
|
|
787
|
+
### 触发关键词
|
|
788
|
+
|
|
789
|
+
- 默认深度报告格式:`"给我讲讲 XX"、"深度分析 XX"、"综述 XX"、"digest XX"、"全面总结一下 XX"`
|
|
790
|
+
- 对比表格式:`"对比一下 X 和 Y"、"比较 X 和 Y"、"X 和 Y 有什么区别"`
|
|
791
|
+
- 时间线格式:`"整理一下时间线"、"按时间排列"、"时间顺序"`
|
|
792
|
+
|
|
793
|
+
### 前置检查
|
|
794
|
+
|
|
795
|
+
执行**通用前置检查**(见上方定义)。如果没有可用知识库,提示用户先初始化。
|
|
796
|
+
|
|
797
|
+
1. **搜索相关页面**:
|
|
798
|
+
- **别名展开**:同 query 工作流,先读取 `.wiki-schema.md` 中的"别名词表"展开同义词(不跨组传递,自动去重)
|
|
799
|
+
- 用 Grep 在 `wiki/` 下搜索所有关键词(原始 + 别名展开),同一别名组命中同一页面只计一次
|
|
800
|
+
- 列出将要综合的页面(让用户了解报告覆盖范围)
|
|
801
|
+
|
|
802
|
+
2. **深度阅读所有相关页面 + 选择输出格式**:
|
|
803
|
+
- 读取找到的所有相关 wiki 页面(sources/、entities/、topics/)
|
|
804
|
+
- **单页长度上限**:如果某页超过 3000 字,优先读取 frontmatter + 核心观点章节 + 与主题直接相关的段落,跳过"原文精彩摘录"等冗长引用部分
|
|
805
|
+
- 归纳每个页面的核心观点和来源信息
|
|
806
|
+
- **根据触发关键词决定输出格式**:
|
|
807
|
+
- 用户说"对比"/"比较"类 → 使用**对比表格式**(见下方模板 B)
|
|
808
|
+
- 用户说"时间线"/"按时间"类 → 使用**时间线格式**(见下方模板 C)
|
|
809
|
+
- 其他默认 → 使用**深度报告格式**(见下方模板 A)
|
|
810
|
+
|
|
811
|
+
3. **生成结构化深度报告**,保存到 `wiki/synthesis/{主题}-{格式}.md`(按 `WIKI_LANG` 切换语言):
|
|
812
|
+
|
|
813
|
+
> 文件名规则:默认格式用 `{主题}-深度报告.md`,对比表用 `{主题}-对比.md`,时间线用 `{主题}-时间线.md`
|
|
814
|
+
|
|
815
|
+
**模板 A:深度报告格式(默认)**
|
|
816
|
+
|
|
817
|
+
**zh**:
|
|
818
|
+
```markdown
|
|
819
|
+
# {主题} 深度报告
|
|
820
|
+
|
|
821
|
+
> 综合自 {N} 篇素材 | 生成日期:{日期}
|
|
822
|
+
|
|
823
|
+
## 背景概述
|
|
824
|
+
(简要说明这个主题的背景和重要性)
|
|
825
|
+
|
|
826
|
+
## 核心观点
|
|
827
|
+
(按重要性排列,每个观点标注来源)
|
|
828
|
+
- 观点一(来源:[[素材A]]、[[素材B]])
|
|
829
|
+
- 观点二(来源:[[素材C]])
|
|
830
|
+
|
|
831
|
+
## 不同视角对比
|
|
832
|
+
(如有多个素材观点不同,在此对比)
|
|
833
|
+
| 维度 | 来源A的观点 | 来源B的观点 |
|
|
834
|
+
|------|------------|------------|
|
|
835
|
+
|
|
836
|
+
## 知识脉络
|
|
837
|
+
(按时间或逻辑顺序梳理该主题的发展)
|
|
838
|
+
|
|
839
|
+
## 尚待解决的问题
|
|
840
|
+
(现有素材中尚未回答的问题,可作为下次搜集素材的方向)
|
|
841
|
+
|
|
842
|
+
## 相关页面
|
|
843
|
+
(列出所有综合来源的链接)
|
|
844
|
+
```
|
|
845
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
846
|
+
|
|
847
|
+
**模板 B:对比表格式**(触发词:对比 / 比较)
|
|
848
|
+
|
|
849
|
+
```markdown
|
|
850
|
+
# {对比主题} 对比分析
|
|
851
|
+
|
|
852
|
+
> 对比 {N} 个对象 | 生成日期:{日期}
|
|
853
|
+
|
|
854
|
+
## 对比对象
|
|
855
|
+
- [[对象 A]]
|
|
856
|
+
- [[对象 B]]
|
|
857
|
+
- [[对象 C]](如有)
|
|
858
|
+
|
|
859
|
+
## 对比表
|
|
860
|
+
|
|
861
|
+
| 维度 | [[对象 A]] | [[对象 B]] | [[对象 C]] |
|
|
862
|
+
|-----------|-----------|-----------|-----------|
|
|
863
|
+
| 核心观点 | ... | ... | ... |
|
|
864
|
+
| 适用场景 | ... | ... | ... |
|
|
865
|
+
| 优点 | ... | ... | ... |
|
|
866
|
+
| 缺点 / 限制 | ... | ... | ... |
|
|
867
|
+
| 来源素材 | [[素材1]] | [[素材2]] | [[素材3]] |
|
|
868
|
+
|
|
869
|
+
## 关键差异
|
|
870
|
+
(用 1-2 句话说清最重要的差异点)
|
|
871
|
+
|
|
872
|
+
## 相关页面
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
**模板 C:时间线格式**(触发词:时间线 / 按时间)
|
|
876
|
+
|
|
877
|
+
```markdown
|
|
878
|
+
# {主题} 时间线
|
|
879
|
+
|
|
880
|
+
> 时间跨度:{起始年} ~ {结束年} | 生成日期:{日期}
|
|
881
|
+
|
|
882
|
+
```mermaid
|
|
883
|
+
gantt
|
|
884
|
+
title {主题} 时间线
|
|
885
|
+
dateFormat YYYY-MM-DD
|
|
886
|
+
section 主要事件
|
|
887
|
+
事件 A : 2023-01-01, 1d
|
|
888
|
+
事件 B : 2024-03-15, 1d
|
|
889
|
+
事件 C : 2025-06-20, 1d
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
## 事件说明
|
|
893
|
+
- **2023-01-01 — 事件 A**:简要说明(来源:[[素材A]])
|
|
894
|
+
- **2024-03-15 — 事件 B**:简要说明(来源:[[素材B]])
|
|
895
|
+
- **2025-06-20 — 事件 C**:简要说明(来源:[[素材C]])
|
|
896
|
+
|
|
897
|
+
## 相关页面
|
|
898
|
+
```
|
|
899
|
+
|
|
900
|
+
> **时间线格式注意事项**:
|
|
901
|
+
> - `gantt` 要求 `YYYY-MM-DD` 精度
|
|
902
|
+
> - 如果素材只有年份(如 "2023 年"),把日期补为该年第一天(`2023-01-01`)
|
|
903
|
+
> - 如果连年份都不确定,改用**纯文字时间线**(无序列表按时间排序),不用 Mermaid gantt
|
|
904
|
+
> - 如果事件超过 15 个,建议按 section 分组,避免图太长
|
|
905
|
+
|
|
906
|
+
4. **更新 index.md 和 log.md**:
|
|
907
|
+
- index.md 的"综合分析"分类下添加新报告条目
|
|
908
|
+
- log.md 追加:`## {日期} digest | {主题}`
|
|
909
|
+
|
|
910
|
+
5. **向用户展示结果**(按 `WIKI_LANG` 切换语言):
|
|
911
|
+
|
|
912
|
+
**zh**:
|
|
913
|
+
```
|
|
914
|
+
已生成深度报告:{主题}
|
|
915
|
+
|
|
916
|
+
综合了 {N} 篇素材:
|
|
917
|
+
- [[素材1]]、[[素材2]]...
|
|
918
|
+
|
|
919
|
+
报告已保存:wiki/synthesis/{主题}-深度报告.md
|
|
920
|
+
|
|
921
|
+
发现这些待解决问题,可以继续搜集素材:
|
|
922
|
+
- {问题1}
|
|
923
|
+
- {问题2}
|
|
924
|
+
```
|
|
925
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
926
|
+
|
|
927
|
+
---
|
|
928
|
+
|
|
929
|
+
## 工作流 8:graph(知识图谱 · Mermaid + 交互式 HTML)
|
|
930
|
+
|
|
931
|
+
### 触发关键词
|
|
932
|
+
|
|
933
|
+
"画个知识图谱"、"看看关联图"、"graph"、"知识库地图"、"展示知识关联"
|
|
934
|
+
|
|
935
|
+
### 前置检查
|
|
936
|
+
|
|
937
|
+
执行**通用前置检查**(见上方定义)。如果没有可用知识库,提示用户先初始化。
|
|
938
|
+
|
|
939
|
+
1. **扫描双向链接**:
|
|
940
|
+
- 遍历 `wiki/` 下所有 `.md` 文件
|
|
941
|
+
- 提取每个文件中的 `[[链接]]` 语法,建立关系列表:`页面A → 页面B`
|
|
942
|
+
|
|
943
|
+
2. **生成 Mermaid 图表文件** `wiki/knowledge-graph.md`:
|
|
944
|
+
````markdown
|
|
945
|
+
# 知识图谱
|
|
946
|
+
|
|
947
|
+
> 自动生成 | {日期} | 共 {N} 个节点,{M} 条关联
|
|
948
|
+
|
|
949
|
+
```mermaid
|
|
950
|
+
graph LR
|
|
951
|
+
A[概念1] --> B[概念2]
|
|
952
|
+
A --> C[素材1]
|
|
953
|
+
D[主题1] --> A
|
|
954
|
+
D --> E[概念3]
|
|
955
|
+
```
|
|
956
|
+
|
|
957
|
+
查看方式:用 Typora、VS Code(Markdown Preview Enhanced)、或直接在 GitHub 上查看。
|
|
958
|
+
````
|
|
959
|
+
|
|
960
|
+
**生成规则**:
|
|
961
|
+
- 节点名用中括号 `[名称]`,名称太长则截断到 10 字
|
|
962
|
+
- 只展示有双向链接关系的节点(孤立节点不纳入图谱)
|
|
963
|
+
- 如果关系超过 50 条,只保留被引用次数最多的 30 个节点,避免图谱过于密集
|
|
964
|
+
- **默认全部使用 `A --> B` 无标注箭头**,不自动判断关系类型
|
|
965
|
+
|
|
966
|
+
**可选:手动美化图谱**(生成后由用户自己做,AI 不自动处理):
|
|
967
|
+
|
|
968
|
+
生成的 `wiki/knowledge-graph.md` 默认只有 `-->` 箭头。如果用户希望图谱更清楚地
|
|
969
|
+
表达关系类型,可以:
|
|
970
|
+
|
|
971
|
+
1. 用编辑器打开 `wiki/knowledge-graph.md`
|
|
972
|
+
2. 参考 `.wiki-schema.md` 里的"关系类型词汇表"(实现 / 依赖 / 对比 / 矛盾 / 衍生)
|
|
973
|
+
3. 把最重要的 3-5 条箭头改写成 `A -->|实现| B` 之类的带标注写法
|
|
974
|
+
4. 保存后用 Obsidian / VS Code / Typora 重新渲染
|
|
975
|
+
|
|
976
|
+
AI 在 graph 工作流里**不自动打标**——因为自动判断关系类型需要额外阅读整段上下文,
|
|
977
|
+
成本高且准确率难保证。人类对"哪些关系最值得打标"的判断更可靠。
|
|
978
|
+
用户如果明确要求 AI 给某几条边打标,可以单独说"把 A 和 B 之间的关系标成'实现'",
|
|
979
|
+
AI 再手动修改 `wiki/knowledge-graph.md` 对应的那一行。
|
|
980
|
+
|
|
981
|
+
2b. **生成交互式图谱数据**(`wiki/graph-data.json`):
|
|
982
|
+
|
|
983
|
+
```bash
|
|
984
|
+
bash scripts/build-graph-data.sh "$WIKI_ROOT"
|
|
985
|
+
```
|
|
986
|
+
|
|
987
|
+
脚本会扫描 `wiki/{entities,topics,sources,comparisons,synthesis,queries}/*.md`,
|
|
988
|
+
解析同行 `[[双向链接]]` 与 `<!-- confidence: EXTRACTED|INFERRED|AMBIGUOUS -->` 注释,
|
|
989
|
+
调用本地 Node helper 计算 3 信号边权重(共引强度 / 来源重叠 / 类型亲和度)、Louvain 社区和规则 insights,
|
|
990
|
+
并写入 `wiki/graph-data.json`(内容 >2MB 自动降级,单节点只留 500 行;图规模超预算时 insights 自动降级)。
|
|
991
|
+
依赖 `jq` + `node`(如缺失可运行 `brew install jq node`)。
|
|
992
|
+
|
|
993
|
+
2c. **图谱运行时说明**:
|
|
994
|
+
- 图谱基础构建现在依赖 `jq` + `node`
|
|
995
|
+
- 不需要额外 `npm install`
|
|
996
|
+
- `node` 只用于运行随仓库分发的本地预构建 helper
|
|
997
|
+
|
|
998
|
+
2d. **生成交互式图谱 HTML**(东方编辑部 × 数字山水风):
|
|
999
|
+
|
|
1000
|
+
```bash
|
|
1001
|
+
bash scripts/build-graph-html.sh "$WIKI_ROOT"
|
|
1002
|
+
```
|
|
1003
|
+
|
|
1004
|
+
生成 `wiki/knowledge-graph.html`。脚本把 `graph-data.json`(已做 `</script>` 转义)
|
|
1005
|
+
内嵌进 `<script id="graph-data" type="application/json">`,离线双击即可打开。
|
|
1006
|
+
页面保持三栏国风布局:左侧文献索引,中间数字山水图谱,右侧常驻节点详情。
|
|
1007
|
+
包含搜索、社区筛选、节点视觉分层、首屏推荐预览、摘要、正文、相邻节点、洞察、小地图和关系置信度图例。
|
|
1008
|
+
|
|
1009
|
+
3. **读取 insights 并向用户展示结果**(按 `WIKI_LANG` 切换语言):
|
|
1010
|
+
|
|
1011
|
+
先读取 insights:
|
|
1012
|
+
```bash
|
|
1013
|
+
jq '.insights' "$WIKI_ROOT/wiki/graph-data.json"
|
|
1014
|
+
```
|
|
1015
|
+
|
|
1016
|
+
**zh**:
|
|
1017
|
+
```
|
|
1018
|
+
知识图谱已生成!
|
|
1019
|
+
|
|
1020
|
+
共 {N} 个节点,{M} 条关联
|
|
1021
|
+
|
|
1022
|
+
图谱洞察:
|
|
1023
|
+
- 惊人连接:{from} ↔ {to}(跨社区,权重 {weight}){如有}
|
|
1024
|
+
- 桥节点:{node}(连接 {count} 个社区){如有}
|
|
1025
|
+
- 知识缺口:{node}(度数 {degree},建议补充素材){如有}
|
|
1026
|
+
- 稀疏社区:{community}(密度 {density}){如有}
|
|
1027
|
+
|
|
1028
|
+
查看方式:
|
|
1029
|
+
- 交互式(推荐):双击 wiki/knowledge-graph.html
|
|
1030
|
+
(建议 Chrome / Firefox;Safari 若提示"已阻止脚本",
|
|
1031
|
+
可在 wiki/ 下跑 `python3 -m http.server 8000` 再访问)
|
|
1032
|
+
- Mermaid 静态图:wiki/knowledge-graph.md
|
|
1033
|
+
(Obsidian / VS Code Markdown Preview Enhanced / GitHub / Typora 均可渲染)
|
|
1034
|
+
|
|
1035
|
+
孤立页面(未纳入图谱):
|
|
1036
|
+
- [[某页面]](建议添加到相关实体页或主题页)
|
|
1037
|
+
```
|
|
1038
|
+
|
|
1039
|
+
(英文版按「输出语言规则」生成,结构相同。各洞察类别为空时省略该行。)
|
|
1040
|
+
|
|
1041
|
+
---
|
|
1042
|
+
|
|
1043
|
+
## 工作流 9:delete(删除素材)
|
|
1044
|
+
|
|
1045
|
+
### 触发关键词
|
|
1046
|
+
|
|
1047
|
+
"删除素材"、"remove"、"delete source"、"移除"
|
|
1048
|
+
|
|
1049
|
+
### 前置检查
|
|
1050
|
+
|
|
1051
|
+
执行**通用前置检查**(见上方定义)。如果没有可用知识库,提示用户先初始化。
|
|
1052
|
+
|
|
1053
|
+
### 步骤
|
|
1054
|
+
|
|
1055
|
+
1. **识别目标素材**:
|
|
1056
|
+
- 在 `raw/` 下搜索用户提到的素材名
|
|
1057
|
+
- 如果匹配到多个候选,先列出候选文件让用户确认
|
|
1058
|
+
|
|
1059
|
+
2. **扫描影响范围**:
|
|
1060
|
+
- 先运行:
|
|
1061
|
+
```bash
|
|
1062
|
+
bash ${SKILL_DIR}/scripts/delete-helper.sh scan-refs "<wiki 根目录>" "<素材文件名>"
|
|
1063
|
+
```
|
|
1064
|
+
- 用脚本返回的页面列表作为引用扫描结果
|
|
1065
|
+
- 逐页判断是“删除整页”还是“保留页面但移除该素材引用”
|
|
1066
|
+
|
|
1067
|
+
3. **安全确认**:
|
|
1068
|
+
- 如果影响超过 5 个页面时,先把受影响页面完整列给用户,再做二次确认
|
|
1069
|
+
- 如果某个实体或主题只被这个素材引用,提示用户是否连同页面一起删除
|
|
1070
|
+
|
|
1071
|
+
4. **执行级联清理**:
|
|
1072
|
+
- 删除 `raw/` 下对应原始文件
|
|
1073
|
+
- 删除 `wiki/sources/` 下对应素材摘要页
|
|
1074
|
+
- 对 `wiki/entities/`、`wiki/topics/`、`wiki/comparisons/`、`wiki/synthesis/` 中仍需保留的页面,只移除该素材相关的引用段落
|
|
1075
|
+
- 更新 `index.md`
|
|
1076
|
+
- 在 `log.md` 追加删除记录
|
|
1077
|
+
- 标记 `wiki/overview.md` 需要重新生成
|
|
1078
|
+
|
|
1079
|
+
5. **清理缓存**:
|
|
1080
|
+
- 删除完成后,对对应 raw 文件运行:
|
|
1081
|
+
```bash
|
|
1082
|
+
bash ${SKILL_DIR}/scripts/cache.sh invalidate "<raw 文件路径>"
|
|
1083
|
+
```
|
|
1084
|
+
|
|
1085
|
+
6. **断链检查**:
|
|
1086
|
+
- 用 grep 或 `delete-helper.sh` 再扫一遍指向已删除页面的链接
|
|
1087
|
+
- 清理明确可判定的断链;如果归属不清,保留原文并提示用户后续人工确认
|
|
1088
|
+
|
|
1089
|
+
7. **向用户报告结果**:
|
|
1090
|
+
|
|
1091
|
+
**zh**:
|
|
1092
|
+
```
|
|
1093
|
+
已删除:
|
|
1094
|
+
- raw/articles/2024-01-15-ai-article.md
|
|
1095
|
+
- wiki/sources/2024-01-15-ai-article.md
|
|
1096
|
+
已更新(移除引用):
|
|
1097
|
+
- wiki/entities/AI-Agent.md
|
|
1098
|
+
- wiki/topics/大语言模型.md
|
|
1099
|
+
需要重新生成:
|
|
1100
|
+
- wiki/overview.md
|
|
1101
|
+
```
|
|
1102
|
+
(英文版按「输出语言规则」生成,结构相同。)
|
|
1103
|
+
|
|
1104
|
+
---
|
|
1105
|
+
|
|
1106
|
+
## 工作流 10:crystallize(结晶化)
|
|
1107
|
+
|
|
1108
|
+
**触发条件**:
|
|
1109
|
+
用户说"结晶化"、"crystallize"、"把这个记进知识库"、"这段对话很有价值"
|
|
1110
|
+
|
|
1111
|
+
**输入**:
|
|
1112
|
+
用户主动提供的内容(文字粘贴进对话,或明确引用某段上下文)。
|
|
1113
|
+
用户必须主动提供内容,Claude 不自动提取当前会话。
|
|
1114
|
+
|
|
1115
|
+
**处理步骤(MVP)**:
|
|
1116
|
+
|
|
1117
|
+
1. 用户提供内容(文字粘贴进对话)
|
|
1118
|
+
2. Claude 从内容中提取:
|
|
1119
|
+
- 核心洞见(3-5 条)
|
|
1120
|
+
- 关键决策和原因
|
|
1121
|
+
- 值得记录的结论
|
|
1122
|
+
3. 生成 `wiki/synthesis/sessions/{主题}-{日期}.md`,格式参考 `templates/synthesis-template.md`
|
|
1123
|
+
- 本轮不要求 crystallize 页面补 `sources`,默认不参与 graph source overlap
|
|
1124
|
+
4. 更新 `log.md`(记录本次结晶化操作)
|
|
1125
|
+
|
|
1126
|
+
> MVP 版本不自动创建 entity 页面,不自动更新 index.md。
|
|
1127
|
+
|
|
1128
|
+
**confidence 规则**:
|
|
1129
|
+
结晶化来源的内容默认标记为 `INFERRED`(来自推断/对话,非原始文档)。
|
|
1130
|
+
|
|
1131
|
+
**输出示例**:
|
|
1132
|
+
已创建 wiki/synthesis/sessions/AI-agent-设计决策-20260413.md
|
|
1133
|
+
已更新 log.md
|