create-yss-spec 2.1.11 → 2.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/high-fidelity-html-prototype/SKILL.md +1 -18
- package/template/.agents/skills/llm-wiki/SKILL.md +60 -0
- package/template/.agents/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
- package/template/.agents/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
- package/template/.agents/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
- package/template/.agents/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
- package/template/.agents/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
- package/template/.agents/skills/llm-wiki/references/compile.md +126 -0
- package/template/.agents/skills/llm-wiki/references/discover.md +41 -0
- package/template/.agents/skills/llm-wiki/references/ingest.md +36 -0
- package/template/.agents/skills/llm-wiki/references/lint.md +54 -0
- package/template/.agents/skills/llm-wiki/references/query.md +21 -0
- package/template/.agents/skills/llm-wiki/references/schema.md +45 -0
- package/template/.agents/skills/llm-wiki/references/writing.md +35 -0
- package/template/.agents/skills/llm-wiki/scripts/advise.mjs +196 -0
- package/template/.agents/skills/llm-wiki/scripts/advise.test.mjs +91 -0
- package/template/.agents/skills/llm-wiki/scripts/extract.mjs +55 -0
- package/template/.agents/skills/llm-wiki/scripts/extract.test.mjs +34 -0
- package/template/.agents/skills/llm-wiki/scripts/inventory.mjs +174 -0
- package/template/.agents/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
- package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
- package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
- package/template/.agents/skills/yss-antd-design/SKILL.md +34 -0
- package/template/.agents/skills/yss-antd-design/references/boundaries.md +30 -0
- package/template/.agents/skills/yss-antd-design/references/cli-matrix.md +38 -0
- package/template/.agents/skills/yss-antd-design/references/evidence.md +26 -0
- package/template/.agents/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
- package/template/.agents/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
- package/template/.agents/skills/yss-design-system/SKILL.md +9 -5
- package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +64 -0
- package/template/.agents/skills/yss-design-system/references/design-system.md +20 -12
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +3 -1
- package/template/.agents/skills/yss-ui/SKILL.md +1 -1
- package/template/.claude/skills/high-fidelity-html-prototype/SKILL.md +1 -18
- package/template/.claude/skills/llm-wiki/SKILL.md +60 -0
- package/template/.claude/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
- package/template/.claude/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
- package/template/.claude/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
- package/template/.claude/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
- package/template/.claude/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
- package/template/.claude/skills/llm-wiki/references/compile.md +126 -0
- package/template/.claude/skills/llm-wiki/references/discover.md +41 -0
- package/template/.claude/skills/llm-wiki/references/ingest.md +36 -0
- package/template/.claude/skills/llm-wiki/references/lint.md +54 -0
- package/template/.claude/skills/llm-wiki/references/query.md +21 -0
- package/template/.claude/skills/llm-wiki/references/schema.md +45 -0
- package/template/.claude/skills/llm-wiki/references/writing.md +35 -0
- package/template/.claude/skills/llm-wiki/scripts/advise.mjs +196 -0
- package/template/.claude/skills/llm-wiki/scripts/advise.test.mjs +91 -0
- package/template/.claude/skills/llm-wiki/scripts/extract.mjs +55 -0
- package/template/.claude/skills/llm-wiki/scripts/extract.test.mjs +34 -0
- package/template/.claude/skills/llm-wiki/scripts/inventory.mjs +174 -0
- package/template/.claude/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
- package/template/.claude/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
- package/template/.claude/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
- package/template/.claude/skills/yss-antd-design/SKILL.md +34 -0
- package/template/.claude/skills/yss-antd-design/references/boundaries.md +30 -0
- package/template/.claude/skills/yss-antd-design/references/cli-matrix.md +38 -0
- package/template/.claude/skills/yss-antd-design/references/evidence.md +26 -0
- package/template/.claude/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
- package/template/.claude/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
- package/template/.claude/skills/yss-design-system/SKILL.md +9 -5
- package/template/.claude/skills/yss-design-system/references/design-qa-theme.md +64 -0
- package/template/.claude/skills/yss-design-system/references/design-system.md +20 -12
- package/template/.claude/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.claude/skills/yss-prototype-stage/SKILL.md +3 -1
- package/template/.claude/skills/yss-ui/SKILL.md +1 -1
- package/template/.codex/skills/high-fidelity-html-prototype/SKILL.md +1 -18
- package/template/.codex/skills/llm-wiki/SKILL.md +60 -0
- package/template/.codex/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
- package/template/.codex/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
- package/template/.codex/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
- package/template/.codex/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
- package/template/.codex/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
- package/template/.codex/skills/llm-wiki/references/compile.md +126 -0
- package/template/.codex/skills/llm-wiki/references/discover.md +41 -0
- package/template/.codex/skills/llm-wiki/references/ingest.md +36 -0
- package/template/.codex/skills/llm-wiki/references/lint.md +54 -0
- package/template/.codex/skills/llm-wiki/references/query.md +21 -0
- package/template/.codex/skills/llm-wiki/references/schema.md +45 -0
- package/template/.codex/skills/llm-wiki/references/writing.md +35 -0
- package/template/.codex/skills/llm-wiki/scripts/advise.mjs +196 -0
- package/template/.codex/skills/llm-wiki/scripts/advise.test.mjs +91 -0
- package/template/.codex/skills/llm-wiki/scripts/extract.mjs +55 -0
- package/template/.codex/skills/llm-wiki/scripts/extract.test.mjs +34 -0
- package/template/.codex/skills/llm-wiki/scripts/inventory.mjs +174 -0
- package/template/.codex/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
- package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
- package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
- package/template/.codex/skills/yss-antd-design/SKILL.md +34 -0
- package/template/.codex/skills/yss-antd-design/references/boundaries.md +30 -0
- package/template/.codex/skills/yss-antd-design/references/cli-matrix.md +38 -0
- package/template/.codex/skills/yss-antd-design/references/evidence.md +26 -0
- package/template/.codex/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
- package/template/.codex/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
- package/template/.codex/skills/yss-design-system/SKILL.md +9 -5
- package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +64 -0
- package/template/.codex/skills/yss-design-system/references/design-system.md +20 -12
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +3 -1
- package/template/.codex/skills/yss-ui/SKILL.md +1 -1
- package/template/.cursor/skills/high-fidelity-html-prototype/SKILL.md +1 -18
- package/template/.cursor/skills/llm-wiki/SKILL.md +60 -0
- package/template/.cursor/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
- package/template/.cursor/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
- package/template/.cursor/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
- package/template/.cursor/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
- package/template/.cursor/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
- package/template/.cursor/skills/llm-wiki/references/compile.md +126 -0
- package/template/.cursor/skills/llm-wiki/references/discover.md +41 -0
- package/template/.cursor/skills/llm-wiki/references/ingest.md +36 -0
- package/template/.cursor/skills/llm-wiki/references/lint.md +54 -0
- package/template/.cursor/skills/llm-wiki/references/query.md +21 -0
- package/template/.cursor/skills/llm-wiki/references/schema.md +45 -0
- package/template/.cursor/skills/llm-wiki/references/writing.md +35 -0
- package/template/.cursor/skills/llm-wiki/scripts/advise.mjs +196 -0
- package/template/.cursor/skills/llm-wiki/scripts/advise.test.mjs +91 -0
- package/template/.cursor/skills/llm-wiki/scripts/extract.mjs +55 -0
- package/template/.cursor/skills/llm-wiki/scripts/extract.test.mjs +34 -0
- package/template/.cursor/skills/llm-wiki/scripts/inventory.mjs +174 -0
- package/template/.cursor/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
- package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
- package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
- package/template/.cursor/skills/yss-antd-design/SKILL.md +34 -0
- package/template/.cursor/skills/yss-antd-design/references/boundaries.md +30 -0
- package/template/.cursor/skills/yss-antd-design/references/cli-matrix.md +38 -0
- package/template/.cursor/skills/yss-antd-design/references/evidence.md +26 -0
- package/template/.cursor/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
- package/template/.cursor/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
- package/template/.cursor/skills/yss-design-system/SKILL.md +9 -5
- package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +64 -0
- package/template/.cursor/skills/yss-design-system/references/design-system.md +20 -12
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +3 -1
- package/template/.cursor/skills/yss-ui/SKILL.md +1 -1
- package/template/.hermes/skills/high-fidelity-html-prototype/SKILL.md +1 -18
- package/template/.hermes/skills/llm-wiki/SKILL.md +60 -0
- package/template/.hermes/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
- package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
- package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
- package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
- package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
- package/template/.hermes/skills/llm-wiki/references/compile.md +126 -0
- package/template/.hermes/skills/llm-wiki/references/discover.md +41 -0
- package/template/.hermes/skills/llm-wiki/references/ingest.md +36 -0
- package/template/.hermes/skills/llm-wiki/references/lint.md +54 -0
- package/template/.hermes/skills/llm-wiki/references/query.md +21 -0
- package/template/.hermes/skills/llm-wiki/references/schema.md +45 -0
- package/template/.hermes/skills/llm-wiki/references/writing.md +35 -0
- package/template/.hermes/skills/llm-wiki/scripts/advise.mjs +196 -0
- package/template/.hermes/skills/llm-wiki/scripts/advise.test.mjs +91 -0
- package/template/.hermes/skills/llm-wiki/scripts/extract.mjs +55 -0
- package/template/.hermes/skills/llm-wiki/scripts/extract.test.mjs +34 -0
- package/template/.hermes/skills/llm-wiki/scripts/inventory.mjs +174 -0
- package/template/.hermes/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
- package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
- package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
- package/template/.hermes/skills/yss-antd-design/SKILL.md +34 -0
- package/template/.hermes/skills/yss-antd-design/references/boundaries.md +30 -0
- package/template/.hermes/skills/yss-antd-design/references/cli-matrix.md +38 -0
- package/template/.hermes/skills/yss-antd-design/references/evidence.md +26 -0
- package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
- package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
- package/template/.hermes/skills/yss-design-system/SKILL.md +9 -5
- package/template/.hermes/skills/yss-design-system/references/design-qa-theme.md +64 -0
- package/template/.hermes/skills/yss-design-system/references/design-system.md +20 -12
- package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.hermes/skills/yss-prototype-stage/SKILL.md +3 -1
- package/template/.hermes/skills/yss-ui/SKILL.md +1 -1
- package/template/.pi/skills/high-fidelity-html-prototype/SKILL.md +1 -18
- package/template/.pi/skills/llm-wiki/SKILL.md +60 -0
- package/template/.pi/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
- package/template/.pi/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
- package/template/.pi/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
- package/template/.pi/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
- package/template/.pi/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
- package/template/.pi/skills/llm-wiki/references/compile.md +126 -0
- package/template/.pi/skills/llm-wiki/references/discover.md +41 -0
- package/template/.pi/skills/llm-wiki/references/ingest.md +36 -0
- package/template/.pi/skills/llm-wiki/references/lint.md +54 -0
- package/template/.pi/skills/llm-wiki/references/query.md +21 -0
- package/template/.pi/skills/llm-wiki/references/schema.md +45 -0
- package/template/.pi/skills/llm-wiki/references/writing.md +35 -0
- package/template/.pi/skills/llm-wiki/scripts/advise.mjs +196 -0
- package/template/.pi/skills/llm-wiki/scripts/advise.test.mjs +91 -0
- package/template/.pi/skills/llm-wiki/scripts/extract.mjs +55 -0
- package/template/.pi/skills/llm-wiki/scripts/extract.test.mjs +34 -0
- package/template/.pi/skills/llm-wiki/scripts/inventory.mjs +174 -0
- package/template/.pi/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
- package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
- package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
- package/template/.pi/skills/yss-antd-design/SKILL.md +34 -0
- package/template/.pi/skills/yss-antd-design/references/boundaries.md +30 -0
- package/template/.pi/skills/yss-antd-design/references/cli-matrix.md +38 -0
- package/template/.pi/skills/yss-antd-design/references/evidence.md +26 -0
- package/template/.pi/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
- package/template/.pi/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
- package/template/.pi/skills/yss-design-system/SKILL.md +9 -5
- package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +64 -0
- package/template/.pi/skills/yss-design-system/references/design-system.md +20 -12
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +3 -1
- package/template/.pi/skills/yss-ui/SKILL.md +1 -1
- package/template/.qoder/skills/high-fidelity-html-prototype/SKILL.md +1 -18
- package/template/.qoder/skills/llm-wiki/SKILL.md +60 -0
- package/template/.qoder/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
- package/template/.qoder/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
- package/template/.qoder/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
- package/template/.qoder/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
- package/template/.qoder/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
- package/template/.qoder/skills/llm-wiki/references/compile.md +126 -0
- package/template/.qoder/skills/llm-wiki/references/discover.md +41 -0
- package/template/.qoder/skills/llm-wiki/references/ingest.md +36 -0
- package/template/.qoder/skills/llm-wiki/references/lint.md +54 -0
- package/template/.qoder/skills/llm-wiki/references/query.md +21 -0
- package/template/.qoder/skills/llm-wiki/references/schema.md +45 -0
- package/template/.qoder/skills/llm-wiki/references/writing.md +35 -0
- package/template/.qoder/skills/llm-wiki/scripts/advise.mjs +196 -0
- package/template/.qoder/skills/llm-wiki/scripts/advise.test.mjs +91 -0
- package/template/.qoder/skills/llm-wiki/scripts/extract.mjs +55 -0
- package/template/.qoder/skills/llm-wiki/scripts/extract.test.mjs +34 -0
- package/template/.qoder/skills/llm-wiki/scripts/inventory.mjs +174 -0
- package/template/.qoder/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
- package/template/.qoder/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
- package/template/.qoder/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
- package/template/.qoder/skills/yss-antd-design/SKILL.md +34 -0
- package/template/.qoder/skills/yss-antd-design/references/boundaries.md +30 -0
- package/template/.qoder/skills/yss-antd-design/references/cli-matrix.md +38 -0
- package/template/.qoder/skills/yss-antd-design/references/evidence.md +26 -0
- package/template/.qoder/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
- package/template/.qoder/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
- package/template/.qoder/skills/yss-design-system/SKILL.md +9 -5
- package/template/.qoder/skills/yss-design-system/references/design-qa-theme.md +64 -0
- package/template/.qoder/skills/yss-design-system/references/design-system.md +20 -12
- package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.qoder/skills/yss-prototype-stage/SKILL.md +3 -1
- package/template/.qoder/skills/yss-ui/SKILL.md +1 -1
- package/template/.trae/skills/high-fidelity-html-prototype/SKILL.md +1 -18
- package/template/.trae/skills/llm-wiki/SKILL.md +60 -0
- package/template/.trae/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
- package/template/.trae/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
- package/template/.trae/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
- package/template/.trae/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
- package/template/.trae/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
- package/template/.trae/skills/llm-wiki/references/compile.md +126 -0
- package/template/.trae/skills/llm-wiki/references/discover.md +41 -0
- package/template/.trae/skills/llm-wiki/references/ingest.md +36 -0
- package/template/.trae/skills/llm-wiki/references/lint.md +54 -0
- package/template/.trae/skills/llm-wiki/references/query.md +21 -0
- package/template/.trae/skills/llm-wiki/references/schema.md +45 -0
- package/template/.trae/skills/llm-wiki/references/writing.md +35 -0
- package/template/.trae/skills/llm-wiki/scripts/advise.mjs +196 -0
- package/template/.trae/skills/llm-wiki/scripts/advise.test.mjs +91 -0
- package/template/.trae/skills/llm-wiki/scripts/extract.mjs +55 -0
- package/template/.trae/skills/llm-wiki/scripts/extract.test.mjs +34 -0
- package/template/.trae/skills/llm-wiki/scripts/inventory.mjs +174 -0
- package/template/.trae/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
- package/template/.trae/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
- package/template/.trae/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
- package/template/.trae/skills/yss-antd-design/SKILL.md +34 -0
- package/template/.trae/skills/yss-antd-design/references/boundaries.md +30 -0
- package/template/.trae/skills/yss-antd-design/references/cli-matrix.md +38 -0
- package/template/.trae/skills/yss-antd-design/references/evidence.md +26 -0
- package/template/.trae/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
- package/template/.trae/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
- package/template/.trae/skills/yss-design-system/SKILL.md +9 -5
- package/template/.trae/skills/yss-design-system/references/design-qa-theme.md +64 -0
- package/template/.trae/skills/yss-design-system/references/design-system.md +20 -12
- package/template/.trae/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +1 -1
- package/template/.trae/skills/yss-prototype-stage/SKILL.md +3 -1
- package/template/.trae/skills/yss-ui/SKILL.md +1 -1
- package/template/AGENTS.md +4 -2
- package/template/CLAUDE.md +13 -0
- package/template/CONTEXT.md +2 -0
- package/template/docs/agents/yss-skill-registry.yaml +12 -0
- package/template/docs/design/README.md +5 -5
- package/template/docs/design/design.md +94 -29
- package/template/docs/design/templates/prototype-evidence-template.yaml +12 -1
- package/template/docs/design/tokens/theme.json +16 -9
- package/template/docs/design/tokens/tokens.compact.json +35 -32
- package/template/docs/design/tokens/tokens.dark.json +5 -5
- package/template/docs/design/tokens/tokens.default.json +41 -32
- package/template/docs/design/tokens/variables.css +62 -37
- package/template/docs/design/tokens/variables.dark.css +5 -5
- package/template/docs/process/implementation-repo-integration.md +9 -0
- package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +3 -3
- package/template/skills-lock.json +37 -5
- package/template/wiki/.wiki-manifest.json +390 -0
- package/template/wiki/raw/AGENTS.md +42 -61
- package/template/wiki/raw/CONTEXT.md +27 -1
- package/template/wiki/raw/README.md +4 -1
- package/template/wiki/raw/create-yss-spec-repository-mode-contract.md +95 -0
- package/template/wiki/raw/harness-process-tailoring.md +64 -0
- package/template/wiki/raw/implementation-repo-integration.md +62 -0
- package/template/wiki/raw/issue-tracker.md +135 -0
- package/template/wiki/raw/lifecycle-registry.yaml +369 -0
- package/template/wiki/raw/maintenance-intensity.yaml +25 -0
- package/template/wiki/raw/skills-lock-names.md +92 -0
- package/template/wiki/raw/skills-maintenance.md +90 -0
- package/template/wiki/raw/spec-template.md +3 -4
- package/template/wiki/raw/triage-labels.md +15 -0
- package/template/wiki/raw/vertical-slice-ticket-template.md +14 -8
- package/template/wiki/raw/yss-skill-registry.yaml +504 -0
- package/template/wiki/wiki/Agent/345/205/245/345/217/243/350/247/204/345/210/231.md +17 -5
- package/template/wiki/wiki/CLAUDE.md +15 -11
- package/template/wiki/wiki/Fresh/351/252/214/350/257/201/344/270/216/347/213/254/347/253/213/345/256/241/346/237/245.md +15 -5
- package/template/wiki/wiki/LLM Wiki.md +30 -0
- package/template/wiki/wiki/Matt/346/212/200/350/203/275/344/275/223/347/263/273.md +17 -5
- package/template/wiki/wiki/OpenAPI/345/245/221/347/272/246.md +16 -5
- package/template/wiki/wiki/SpecDelta.md +15 -5
- package/template/wiki/wiki/Spec/345/237/272/347/272/277.md +18 -5
- package/template/wiki/wiki/Ticket/344/270/216/346/265/201/347/250/213/347/212/266/346/200/201.md +17 -5
- package/template/wiki/wiki/YSS/345/267/245/347/250/213/346/212/200/350/203/275/344/275/223/347/263/273.md +19 -5
- package/template/wiki/wiki/YSS/350/267/257/347/224/261/344/270/216/345/220/210/345/220/214/347/274/226/350/257/221.md +16 -5
- package/template/wiki/wiki/concept-table.md +9 -0
- package/template/wiki/wiki/index.md +12 -11
- package/template/wiki/wiki/log.md +27 -0
- package/template/wiki/wiki//344/272/247/345/223/201/347/240/224/345/217/221/347/224/237/345/221/275/345/221/250/346/234/237.md +15 -4
- package/template/wiki/wiki//344/272/247/345/223/201/350/256/276/350/256/241/345/275/261/345/223/215/344/270/216/345/216/237/345/236/213.md +14 -4
- package/template/wiki/wiki//344/273/223/345/272/223/350/272/253/344/273/275/344/270/216/350/267/257/347/224/261.md +15 -4
- package/template/wiki/wiki//345/210/207/347/211/207/345/256/236/347/216/260/345/220/210/345/220/214.md +17 -5
- package/template/wiki/wiki//345/236/202/347/233/264/345/210/207/347/211/207Ticket.md +19 -5
- package/template/wiki/wiki//345/244/215/347/233/230/344/270/216/346/235/203/345/250/201/350/265/204/344/272/247/344/277/256/350/256/242.md +15 -4
- package/template/wiki/wiki//345/256/236/347/216/260/344/273/223/345/272/223/344/270/216/350/267/250/344/273/223/345/272/223/345/245/221/347/272/246.md +17 -4
- package/template/wiki/wiki//345/275/261/345/223/215/351/235/242/345/210/206/350/257/212/344/270/216/346/265/201/347/250/213/350/243/201/345/211/252.md +15 -4
- package/template/wiki/wiki//346/212/200/350/203/275/346/212/225/345/275/261/344/270/216/351/224/201/345/256/232.md +18 -4
- package/template/wiki/wiki//346/235/241/344/273/266/345/274/272/345/210/266/351/227/250/347/246/201.md +13 -4
- package/template/wiki/wiki//346/250/241/346/235/277/345/217/221/345/270/203/351/227/250/347/246/201/344/270/216/351/252/214/350/257/201.md +17 -4
- package/template/wiki/wiki//346/250/241/346/235/277/346/200/273/350/247/210.md +16 -5
- package/template/wiki/wiki//346/250/241/346/235/277/347/273/264/346/212/244/346/265/201/347/250/213.md +14 -4
- package/template/yss-public-skills.json +2 -0
- package/template.snapshot.json +4 -4
- package/template/wiki/raw/create-yss-spec-contract.md +0 -59
- package/template/wiki/raw/skills-lock.json +0 -1379
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Design QA 项目主题对照
|
|
2
|
+
|
|
3
|
+
本文件给 Codex `$design-qa` 使用。官方 `design-qa` skill 仍负责截图对比流程和 `final result: passed|blocked`;本文件只提供项目视觉真相,不改上游插件正文。
|
|
4
|
+
|
|
5
|
+
## Source visual truth
|
|
6
|
+
|
|
7
|
+
- 规范:`docs/design/design.md`
|
|
8
|
+
- Token:`docs/design/tokens/theme.json`、`docs/design/tokens/tokens.default.json`、`docs/design/tokens/variables.css`
|
|
9
|
+
- 实现截图:当前原型或页面在同一 viewport / 主题 / 状态下的渲染
|
|
10
|
+
|
|
11
|
+
官方 `https://ant.design/design.md` 只是上游默认。项目覆盖与官方不同时,以项目覆盖为准。
|
|
12
|
+
|
|
13
|
+
## 必查 fidelity surface(项目覆盖)
|
|
14
|
+
|
|
15
|
+
### Colors and visual tokens
|
|
16
|
+
|
|
17
|
+
| 角色 | 必须对照 | 记为 P1 token drift |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| 主色 | `#3371ff` | `#1677ff` 或 `#3177ff` 当默认主色 |
|
|
20
|
+
| 主色 hover / active | `#4096ff` / `#0958d9` | 用算法重算替代 `:root` 显式值且未记录 |
|
|
21
|
+
| 错误色 | `#f5222d` | 官方 `#ff4d4f` 当默认错误色 |
|
|
22
|
+
| 成功 / 警告 | `#52c41a` / `#faad14` | 改成非功能色装饰 |
|
|
23
|
+
| 页面背景 | `#f0f2f5` | `#f5f5f5` 或其它灰底当默认 layout |
|
|
24
|
+
| 容器 / 浮层 | `#ffffff` | 用卡片阴影堆叠替代表面层级 |
|
|
25
|
+
| 主文本 / 次文本 | `rgba(0, 0, 0, 0.88)` / `rgba(0, 0, 0, 0.65)` | `#2e2e2e` / `#646464` 当默认文本 |
|
|
26
|
+
| 边框 / 分割线 | `#d9d9d9` / `#f0f0f0` | `#dbdbdb` / `#f1f1f1` 当默认边框 |
|
|
27
|
+
| 运行时变量 | `--primary-color` 指向 `--brand-color-primary` | 页面另写一套 Less 色值 |
|
|
28
|
+
|
|
29
|
+
`blue` 预设色板里的 `#1677ff` 不是品牌主色,不要据此判定主色漂移。
|
|
30
|
+
|
|
31
|
+
### Fonts and typography
|
|
32
|
+
|
|
33
|
+
| 角色 | 必须对照 | 记为 P1 token drift |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| 默认正文字号 | 14px | 16px 营销字号当正文 |
|
|
36
|
+
| 默认控件高度 | 32px | 明显偏离 32px 且未走 compact algorithm |
|
|
37
|
+
| 字体栈 | 系统栈(`-apple-system, BlinkMacSystemFont, "Segoe UI", ...`) | 强制 `Inter` 或其它未登记品牌字体 |
|
|
38
|
+
| 字重 | 400 / 600 | 用 700+ 表达选中或激活 |
|
|
39
|
+
|
|
40
|
+
### Spacing and layout rhythm
|
|
41
|
+
|
|
42
|
+
| 角色 | 必须对照 | 记为 P1 token drift |
|
|
43
|
+
| --- | --- | --- |
|
|
44
|
+
| 圆角 | 小控件 4px、默认 6px、容器 8px | 历史品牌 8px / 10px,或 Less 前半 4px 当全局默认 |
|
|
45
|
+
| 间距网格 | 4 / 8 / 12 / 16 / 20 / 24 / 32 / 48 | 任意 magic number 撑开中后台密度 |
|
|
46
|
+
| 顶栏 / 侧栏 | 顶栏 64px,深色侧栏 `#001529` | 未说明就改成营销式顶栏 |
|
|
47
|
+
|
|
48
|
+
### Image quality and copy
|
|
49
|
+
|
|
50
|
+
沿用官方 `design-qa` 规则。本主题不引入插画、logo 或营销文案;出现这类素材时按官方 rubric 记 finding,并同时记为偏离中后台定位。
|
|
51
|
+
|
|
52
|
+
## 判定
|
|
53
|
+
|
|
54
|
+
- 仍用官方 `#1677ff`、强制 `Inter` 或 8px 品牌圆角作为默认主题:P1。
|
|
55
|
+
- 只改局部组件、且 `prototype-evidence.yaml` 的 `theme_override` 已记录:按官方 severity 评估,不自动升 P1。
|
|
56
|
+
- 暗色模式:本轮未重派生完整暗色色板;暗色对照前若缺少新的 algorithm 派生证据,`final result: blocked`,写明 blocker。
|
|
57
|
+
|
|
58
|
+
## 报告要求
|
|
59
|
+
|
|
60
|
+
`design-qa.md` 必须写明:
|
|
61
|
+
|
|
62
|
+
- source visual truth path:`docs/design/design.md` 与对应 token 文件
|
|
63
|
+
- 已按本清单核对 Colors/tokens 与 Fonts/typography
|
|
64
|
+
- 与官方默认的差异是否被接受为项目覆盖
|
|
@@ -39,22 +39,22 @@
|
|
|
39
39
|
|
|
40
40
|
| Token | 值 | 用途 |
|
|
41
41
|
| --- | --- | --- |
|
|
42
|
-
| `colorPrimary` | `#
|
|
42
|
+
| `colorPrimary` | `#3371ff` | 主操作、链接、焦点、选中态 |
|
|
43
43
|
| `colorPrimaryHover` | `#4096ff` | 主色 hover |
|
|
44
44
|
| `colorPrimaryActive` | `#0958d9` | 主色 active |
|
|
45
45
|
| `colorSuccess` | `#52c41a` | 成功状态 |
|
|
46
46
|
| `colorWarning` | `#faad14` | 警告状态 |
|
|
47
|
-
| `colorError` | `#
|
|
48
|
-
| `colorInfo` | `#
|
|
49
|
-
| `colorBgLayout` | `#
|
|
47
|
+
| `colorError` | `#f5222d` | 错误状态 |
|
|
48
|
+
| `colorInfo` | `#3371ff` | 信息提示 |
|
|
49
|
+
| `colorBgLayout` | `#f0f2f5` | 页面背景 |
|
|
50
50
|
| `colorBgContainer` | `#ffffff` | 内容容器 |
|
|
51
51
|
| `colorBgElevated` | `#ffffff` | 浮层容器 |
|
|
52
|
-
| `colorText` |
|
|
53
|
-
| `colorTextSecondary` |
|
|
54
|
-
| `colorTextTertiary` | `#
|
|
55
|
-
| `colorTextQuaternary` | `#
|
|
56
|
-
| `colorBorder` | `#
|
|
57
|
-
| `colorBorderSecondary` | `#
|
|
52
|
+
| `colorText` | `rgba(0, 0, 0, 0.88)` | 主文本 |
|
|
53
|
+
| `colorTextSecondary` | `rgba(0, 0, 0, 0.65)` | 次级文本 |
|
|
54
|
+
| `colorTextTertiary` | `#8c8c8c` | 弱说明 |
|
|
55
|
+
| `colorTextQuaternary` | `#bfbfbf` | placeholder / disabled |
|
|
56
|
+
| `colorBorder` | `#d9d9d9` | 主边框 |
|
|
57
|
+
| `colorBorderSecondary` | `#f0f0f0` | 次级分割线 |
|
|
58
58
|
|
|
59
59
|
颜色规则:
|
|
60
60
|
|
|
@@ -63,7 +63,10 @@
|
|
|
63
63
|
- 预设色板只用于 Tag、图表、分类可视化,不用于重新定义主操作。
|
|
64
64
|
- 不硬编码白色、灰色、状态色;优先引用 token、CSS variables 或 Ant Design theme。
|
|
65
65
|
- semantic token 优先于色值:页面先声明背景、容器、浮层、文本、边框、状态等角色,再映射到具体 token。
|
|
66
|
+
- 运行时短名 `--primary-color`、`--text-color`、`--bg-color` 必须指向 `--brand-*`,不要再维护第二套色值。
|
|
67
|
+
- `blue` 等预设色板可以仍含官方 `#1677ff`;色板预设 ≠ 品牌主色。
|
|
66
68
|
- accessibility contrast 不足时,通过 `ConfigProvider` 的 seed token 或组件 token 调整;不要为单个页面制造不可复用的深浅色例外。
|
|
69
|
+
- Codex `$design-qa` 的 token / 字体对照读 `references/design-qa-theme.md`。
|
|
67
70
|
|
|
68
71
|
### 排版
|
|
69
72
|
|
|
@@ -81,6 +84,7 @@
|
|
|
81
84
|
|
|
82
85
|
- UI 默认正文 14px。
|
|
83
86
|
- UI 字重优先 400 / 600。
|
|
87
|
+
- 字体栈使用系统字体,不强制 `Inter`。
|
|
84
88
|
- 不用 700+ 粗体表达选中或激活状态。
|
|
85
89
|
- 选中状态优先使用颜色、边框、下划线、背景表达。
|
|
86
90
|
|
|
@@ -93,8 +97,12 @@
|
|
|
93
97
|
| 小控件高度 | 24px |
|
|
94
98
|
| 大控件高度 | 40px |
|
|
95
99
|
| 默认字号 | 14px |
|
|
96
|
-
|
|
|
97
|
-
|
|
|
100
|
+
| 字体栈 | 系统栈,不强制 `Inter` |
|
|
101
|
+
| 小控件圆角 | 4px |
|
|
102
|
+
| 默认控件圆角 | 6px |
|
|
103
|
+
| 大容器 / 浮层圆角 | 8px |
|
|
104
|
+
| 顶栏高度 | 64px |
|
|
105
|
+
| 深色侧栏 | `#001529` |
|
|
98
106
|
|
|
99
107
|
执行规则:
|
|
100
108
|
|
|
@@ -29,7 +29,7 @@ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为
|
|
|
29
29
|
| 入口分诊 | 身份、影响面、最近可信阶段 | `yss-product-lifecycle` | `yss-project.yaml` 合法且影响面可解释 |
|
|
30
30
|
| 机会调研/需求分析 | Discovery、用户/MVP/非目标/成功标准、测试 seam | `work-unit.discovery-opportunity` + `work-unit.discovery-requirements`;市场/竞品事实用 `competitive-intelligence`,技术/标准事实用 `research`;`grill-with-docs` 为兼容入口 | 未决事实已 research 或 handoff,用户确认,无 runnable blocker |
|
|
31
31
|
| Spec/功能架构 | Spec、产品总体设计、功能架构;必要时 Spec Delta | 原生 `work-unit.spec-synthesis`;`to-spec` 为兼容入口 | 初稿先为 `ready-for-human`;只有 Spec baseline 人工批准后资产才为 `approved` 并进入下游 |
|
|
32
|
-
| 原型设计 | 交互说明、低保真、状态矩阵、高保真 HTML、评审记录 | `yss-design-system` → `yss-prototype-stage` → Codex `product-design:index`(非 Codex
|
|
32
|
+
| 原型设计 | 交互说明、低保真、状态矩阵、高保真 HTML、评审记录 | `yss-design-system` → `yss-prototype-stage` → `yss-antd-design`(仅原型事实)→ Codex `product-design:index`(非 Codex 交付等价合同)。前端落地改用 `yss-ui` | `gate.prototype-reviewed`、`gate.prototype-verified`、`gate.user-confirmation` 均有证据 |
|
|
33
33
|
| 技术分析 | OpenAPI Draft/Freeze、数据架构、工程基线、架构审查 | `yss-openapi-governance` / `yss-openapi-draft-review`、`codebase-design`、`implementation-repo-onboarding`、`yss-router` | API/架构契约冻结;无 API 影响有明确记录;脚手架策略满足 |
|
|
34
34
|
| Ticket 正式化 | 功能父 Ticket、垂直切片、Slice Implementation Contract | 原生 `work-unit.ticket-decomposition`;`to-tickets` 为兼容入口;生命周期复算 | 依赖、验收、测试 seam 可执行;合同已批准、持久化且为当前版本 |
|
|
35
35
|
| 技术实现 | 前端/后端代码、TDD 证据、YSS Skill Execution Result | 原生 `work-unit.slice-implementation`;`implement` 为兼容入口;前端按 `yss-ui` + `yss-page-module-development`,后端按 `yss-router` 最小闭包,业务行为统一 `tdd` | 只写允许路径;业务行为用 `behavior-tdd`;UI 影响必须有还原计划 |
|
package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml
CHANGED
|
@@ -138,7 +138,7 @@ work_unit_routes:
|
|
|
138
138
|
human_gate: spec-baseline
|
|
139
139
|
work-unit.prototype-design:
|
|
140
140
|
native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
|
|
141
|
-
skills: [yss-design-system, yss-prototype-stage, product-design:index]
|
|
141
|
+
skills: [yss-design-system, yss-prototype-stage, yss-antd-design, product-design:index]
|
|
142
142
|
human_gate: prototype-confirmation
|
|
143
143
|
work-unit.technical-analysis:
|
|
144
144
|
native: {source: yss-product-lifecycle, skill: yss-product-lifecycle, invocation_mode: model-invoked}
|
|
@@ -25,7 +25,9 @@ description: Use when a YSS feature has product-design impact on a primary flow,
|
|
|
25
25
|
|
|
26
26
|
优先级固定为:官方 `design.md` 的上游默认 → `docs/design/design.md` 与项目 token 的 `project_design` 项目覆盖 → 当前功能的语义组件映射。不得用上游默认覆盖项目 token。
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
Codex `$design-qa` 仍走官方对比流程;Colors/tokens 与 Fonts/typography 必须以项目覆盖为 source visual truth。对照清单见 `yss-design-system/references/design-qa-theme.md`。仍用官方 `#1677ff`、强制 `Inter` 或历史 8px 品牌圆角当默认主题,视为项目覆盖漂移。
|
|
29
|
+
|
|
30
|
+
Ant Design v6 事实由 `yss-antd-design` 查询并回写证据,不要并列调用官方 `antd` skill,也不要在前端代码落地时继续使用它。进入实现后改走 `yss-ui`。
|
|
29
31
|
|
|
30
32
|
## 验证与回流
|
|
31
33
|
|
|
@@ -30,7 +30,7 @@ pnpm why vue @yss-ui/components @yss-ui/hooks ant-design-vue vxe-table
|
|
|
30
30
|
|
|
31
31
|
记录实际版本、lockfile、验证命令和环境阻塞。完整策略见 `references/antdv-compatibility.md`。
|
|
32
32
|
|
|
33
|
-
产品设计使用的 Ant Design v6 视觉/token 语义,不等于 Vue 生产实现 API。生产代码必须使用项目安装的 Ant Design Vue 4.x API,禁止复制 React hook、props
|
|
33
|
+
产品设计使用的 Ant Design v6 视觉/token 语义,不等于 Vue 生产实现 API。生产代码必须使用项目安装的 Ant Design Vue 4.x API,禁止复制 React hook、props 或组件写法。`yss-antd-design` 与 `@ant-design/cli` 只用于原型设计构建,进入本技能后不得再调用。
|
|
34
34
|
|
|
35
35
|
## 3. 组件选型门禁
|
|
36
36
|
|
|
@@ -24,24 +24,7 @@ If low-fidelity `prototype-review` is blocked or missing, stop and return to `ys
|
|
|
24
24
|
|
|
25
25
|
## Ant Design Official Agent Baseline
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
- Read or reference `https://ant.design/docs/react/for-agents` when the task starts.
|
|
30
|
-
- Use `@ant-design/cli` before choosing unfamiliar components, props, tokens, or migration-sensitive APIs.
|
|
31
|
-
- Prefer direct CLI subcommands because `--help` may fail in some Node environments while subcommands still work.
|
|
32
|
-
|
|
33
|
-
Record the installed CLI version and the target AntD version in `prototype-evidence.yaml`. Use `--format json`; pass the recorded target version to version-sensitive queries:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
antd design.md --format json
|
|
37
|
-
antd info Button --version <target_antd_version> --format json
|
|
38
|
-
antd token Button --version <target_antd_version> --format json
|
|
39
|
-
antd demo Select basic --version <target_antd_version> --format json
|
|
40
|
-
antd semantic Button --version <target_antd_version> --format json
|
|
41
|
-
antd lint <prototype-path> --format json
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Use the project-selected version when one exists; otherwise record the CLI's actual default version before making version-sensitive decisions. Record every queried component in the evidence manifest.
|
|
27
|
+
Ant Design v6 事实由 `yss-antd-design` 执行并回写 `prototype-evidence.yaml`。本兼容入口不并列调用官方 `antd` skill,也不在前端代码落地时使用;实现改走 `yss-ui`。
|
|
45
28
|
|
|
46
29
|
## Core Rules
|
|
47
30
|
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: llm-wiki
|
|
3
|
+
description: >
|
|
4
|
+
Compile and maintain a Karpathy-pattern LLM wiki (raw + wiki + schema) with
|
|
5
|
+
init, incremental refresh, global rebuild, lint, and narrow ingest. Use when
|
|
6
|
+
the user wants a local knowledge wiki, incremental wiki refresh, wiki rebuild,
|
|
7
|
+
compiling a named research note into the wiki, `/llm-wiki`, or an answer from
|
|
8
|
+
an existing wiki.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# llm-wiki
|
|
12
|
+
|
|
13
|
+
Compile a persistent wiki from live documents and code. The wiki is the IR; live sources are the truth. Read [schema](references/schema.md), then the matching mode file.
|
|
14
|
+
|
|
15
|
+
One-off notes are out of scope. Use this skill to compile or lint a persistent wiki (`raw/` + `wiki/` + `.wiki-manifest.json`), or to answer from an existing wiki per [query.md](references/query.md).
|
|
16
|
+
|
|
17
|
+
## Mode
|
|
18
|
+
|
|
19
|
+
| User intent | Mode | Completion |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| 从零构建知识库 | `init` | 三层目录 + schema + index + log + 文章 + `.wiki-manifest.json`,lint 退出 0 |
|
|
22
|
+
| 源变了,更新受影响页 | `refresh` | 只改漂移命中的文章;human-owned 不改;lint 0;log 有 REFRESH |
|
|
23
|
+
| 全局按新源重编译 | `rebuild` | raw 对齐 live;稳定 ID 与 human-owned 保留;LLM 页全量重写;lint 0;log 有 REBUILD |
|
|
24
|
+
| 健康检查 | `lint` | 结构脚本 exit 0 + 已跑 advise 并报告条数;对变更页做 live 源抽查 |
|
|
25
|
+
| 把点名外源或已落盘 research 笔记编进 wiki | `ingest` | raw 登记 + manifest 源 + 四态候选经确认后写页;lint 0;log 有 `INGEST` |
|
|
26
|
+
|
|
27
|
+
Ambiguous → ask. Existing wiki + "构建" → ask refresh vs rebuild, do not init over it.
|
|
28
|
+
|
|
29
|
+
Query is not a mode. Follow [query.md](references/query.md). Query never writes and never ingests.
|
|
30
|
+
|
|
31
|
+
## Layout
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
<wiki-root>/
|
|
35
|
+
raw/ # immutable copies + labelled extracts
|
|
36
|
+
wiki/ # articles + index.md + log.md + CLAUDE.md
|
|
37
|
+
.wiki-manifest.json # compile graph (sources ↔ articles)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Scripts live in this skill's `scripts/` directory (the folder that contains this `SKILL.md`). Run them from the repo root so `--wiki` / `--repo` resolve correctly:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
node <skill-root>/scripts/inventory.mjs hash --wiki <wiki-root>
|
|
44
|
+
node <skill-root>/scripts/inventory.mjs status --wiki <wiki-root>
|
|
45
|
+
node <skill-root>/scripts/lint-wikilinks.mjs <wiki-root>
|
|
46
|
+
node <skill-root>/scripts/advise.mjs <wiki-root>
|
|
47
|
+
node <skill-root>/scripts/extract.mjs skill-names --in <live-lock.json> --out <wiki-root>/<rawPath>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
`status` is a stable alias of `drift`. `<skill-root>` is the canonical skill directory or a projection that points at it. Do not hard-code `.agents/skills/llm-wiki`.
|
|
51
|
+
|
|
52
|
+
## Steps
|
|
53
|
+
|
|
54
|
+
1. Detect: `wiki/index.md` + `CLAUDE.md` (or `AGENTS.md`) means a wiki exists.
|
|
55
|
+
2. If the user is asking a repository question, load [query.md](references/query.md) and stop. Do not lint, ingest, or append `log.md`.
|
|
56
|
+
3. Load the mode algorithm: [compile.md](references/compile.md) for init/refresh/rebuild, [ingest.md](references/ingest.md) for ingest. For init/rebuild corpus choice, load [discover.md](discover.md). For writing, load [writing.md](references/writing.md). For checks, load [lint.md](references/lint.md).
|
|
57
|
+
4. **Fact order:** called code > table comments / config defaults > stale raw copies. After writing, re-read live sources for a sample of claims (`N = min(5, changed pages)`).
|
|
58
|
+
5. Run structural lint and advise. Append `log.md`. Stop.
|
|
59
|
+
|
|
60
|
+
`refresh` without a manifest: stop. Rebuild, or reconstruct the manifest from existing「来源」sections — do not guess `sourceIds`.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# CLAUDE.md — Wiki schema
|
|
2
|
+
|
|
3
|
+
本文档是本 wiki 的 schema(结构契约)。正文语言遵循宿主项目的文档语言规则;英文专有名词、类名、枚举值、表名与 API 路径保持原样。
|
|
4
|
+
|
|
5
|
+
## 三层结构
|
|
6
|
+
|
|
7
|
+
- **`raw/`** — 不可变原始源。从 live 文档拷贝,或从 live 源提取且标明出处的派生摘要。只读,不靠改 raw 来「修正」事实。
|
|
8
|
+
- **文章(`wiki/*.md`)** — LLM 生成的知识文章。文件名(不含 `.md`)即文章 ID,必须全局唯一。使用 `[[wikilink]]` 互引。
|
|
9
|
+
- **`index.md`** — 内容目录。`##` 节标题定义分类;节下列出该分类下的 `[[wikilink]]`。
|
|
10
|
+
|
|
11
|
+
## 文章写作约定
|
|
12
|
+
|
|
13
|
+
- 首行为 `# H1`,随后紧跟首段摘要。
|
|
14
|
+
- 正文使用 `[[目标文章名]]`;目标必须是本 wiki 内存在的文章文件名(不含 `.md`)。
|
|
15
|
+
- 论断必须能追溯到 `raw/` 或 live 代码路径。文末使用 `## 来源`。
|
|
16
|
+
- 分类归属由 `index.md` 决定。
|
|
17
|
+
- 可选 frontmatter:`human-owned: true` 时 refresh / rebuild 不得重写正文。
|
|
18
|
+
- 仅当多个来源冲突,或 live 与旧 raw 不一致时写可选 `## Status`(`Disputed` / `Outdated`)。单一 live 正确则不写。
|
|
19
|
+
|
|
20
|
+
## 基础设施文件
|
|
21
|
+
|
|
22
|
+
`index.md`、`log.md`、`CLAUDE.md`、`AGENTS.md`、`soul.md`、`concept-table.md` 为基础设施文件,不视为文章。
|
|
23
|
+
|
|
24
|
+
## 操作日志
|
|
25
|
+
|
|
26
|
+
`log.md` 只追加。格式:`## [YYYY-MM-DD] OPERATION | 描述`(CREATE / UPDATE / LINK / FIX / REFRESH / REBUILD / RETIRE / LINT / INGEST)。
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# 操作日志
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Compile modes
|
|
2
|
+
|
|
3
|
+
Manifest schema is the incremental-compile graph. The agent fills `id`, `kind`, `livePath`, `rawPath`, `role`, `extract` (derived only), `articles`. Scripts fill `sha256`, `compiledAt`, `gitCommit`.
|
|
4
|
+
|
|
5
|
+
## Manifest
|
|
6
|
+
|
|
7
|
+
Path: `<wiki-root>/.wiki-manifest.json`
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"schemaVersion": 1,
|
|
12
|
+
"wikiRoot": "wiki/example",
|
|
13
|
+
"compiledAt": "ISO-8601",
|
|
14
|
+
"gitCommit": "hex or empty",
|
|
15
|
+
"profile": "mixed",
|
|
16
|
+
"sources": [
|
|
17
|
+
{
|
|
18
|
+
"id": "schema.sql",
|
|
19
|
+
"kind": "document",
|
|
20
|
+
"livePath": "apps/.../schema.sql",
|
|
21
|
+
"rawPath": "raw/schema.sql",
|
|
22
|
+
"sha256": "...",
|
|
23
|
+
"role": "copy"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "skills-lock.json",
|
|
27
|
+
"kind": "derived",
|
|
28
|
+
"livePath": "skills-lock.json",
|
|
29
|
+
"rawPath": "raw/skills-lock-names.md",
|
|
30
|
+
"role": "extract",
|
|
31
|
+
"extract": { "kind": "skill-names" }
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"articles": [
|
|
35
|
+
{
|
|
36
|
+
"id": "连接器管理",
|
|
37
|
+
"file": "wiki/连接器管理.md",
|
|
38
|
+
"sourceIds": ["schema.sql"],
|
|
39
|
+
"humanOwned": false
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
`profile`: `mixed` (docs + code), `documents`, `code`.
|
|
46
|
+
|
|
47
|
+
Source kinds:
|
|
48
|
+
|
|
49
|
+
| kind | raw | when it drifts |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| `document` | copy of `livePath` | sync raw, rewrite articles that list this `id` |
|
|
52
|
+
| `derived` | extract from `livePath` | re-run extract, rewrite dependents |
|
|
53
|
+
| `code-surface` | none (`rawPath` null) | rewrite dependents; do not copy source into raw |
|
|
54
|
+
|
|
55
|
+
`livePath` is repo-relative. `rawPath` is wiki-root-relative. `file` is wiki-root-relative.
|
|
56
|
+
|
|
57
|
+
Article id = basename of `file` without `.md`. Renames are explicit `LINK` / `RETIRE`, never a silent refresh side effect.
|
|
58
|
+
|
|
59
|
+
## Derived extracts
|
|
60
|
+
|
|
61
|
+
Every `kind: derived` source must set `extract.kind` to one of `skill-names`, `heading-list`, or `prose-note`. Refresh and rebuild re-run that recipe into `rawPath`. Do not copy the live file in full.
|
|
62
|
+
|
|
63
|
+
Shared rules:
|
|
64
|
+
|
|
65
|
+
1. Input is `livePath` (or the live files the recipe names).
|
|
66
|
+
2. Output is `rawPath` only.
|
|
67
|
+
3. Sort or section order must be stable and documented for that kind.
|
|
68
|
+
4. The extract must be smaller than the live input and must not include secrets, hashes, or lock metadata unless the recipe says those names are the payload.
|
|
69
|
+
5. Replay the same recipe on drift; do not hand-edit raw to "fix" names.
|
|
70
|
+
|
|
71
|
+
| `extract.kind` | Replay |
|
|
72
|
+
|---|---|
|
|
73
|
+
| `skill-names` | `extract.mjs skill-names --in <livePath> --out <wiki-root>/<rawPath>`. Lists `skills.shared` and `skills.platform` keys, `localeCompare` sorted. No hashes or paths. |
|
|
74
|
+
| `heading-list` | Agent: list headings from the live file in document order, verbatim. No body copy. No script in this skill. |
|
|
75
|
+
| `prose-note` | Agent: short labelled note that cites the live inputs. Stable section order. No full-file copy. No script in this skill. |
|
|
76
|
+
|
|
77
|
+
## init
|
|
78
|
+
|
|
79
|
+
Done when the target is a detectable Karpathy wiki and lint exits 0.
|
|
80
|
+
|
|
81
|
+
1. If `wiki/index.md` already exists: ask refresh vs rebuild. Do not init over it.
|
|
82
|
+
2. Ask: wiki path, corpus roots, coverage, and body language (follow the host project's document-language rule). See [discover.md](discover.md).
|
|
83
|
+
3. Discover corpus with the [discover.md](discover.md) checklist. Do not ingest `docs/` wholesale.
|
|
84
|
+
4. Write raw copies/extracts. Write manifest source list. Run `inventory.mjs hash`.
|
|
85
|
+
5. Write `wiki/CLAUDE.md` from the template, adapted to this corpus — do not hard-code a previous product name.
|
|
86
|
+
6. Write `index.md` categories first, then articles. Categories are index `##` headings.
|
|
87
|
+
7. Orchestrator writes hub pages. Other pages go to subagents with disjoint file lists ([writing.md](writing.md)).
|
|
88
|
+
8. Lint. Sample live-source facts. Append `log.md` `CREATE`.
|
|
89
|
+
|
|
90
|
+
## refresh
|
|
91
|
+
|
|
92
|
+
Done when only drift-hit articles change, human-owned pages are untouched, lint exits 0, and log has a structured `REFRESH`.
|
|
93
|
+
|
|
94
|
+
1. No manifest → stop. Rebuild, or rebuild the manifest from existing「来源」sections. Do not invent `sourceIds`.
|
|
95
|
+
2. `inventory.mjs status` (alias of `drift`) against every `livePath`. Pass each Agent-listed new file as `--candidate <livePath>`. Do not scan the tree. Read the JSON keys `changed`, `missing`, `unchanged`, `articles`, `unmapped`, `humanOwned`. Non-empty `changed` or `missing` is stale. Exit `0` with that JSON is normal, not a failure. Exit `2` is a script error.
|
|
96
|
+
3. Impact set = `articles`. Rewrite those pages except `humanOwned` (wikilinks only).
|
|
97
|
+
4. For `document` / `derived`: update raw first (derived: re-run `extract`), then rewrite hit articles.
|
|
98
|
+
5. Each `unmapped` live path must get one triage: `New` / `Update` / `Disputed` / `No material`. Do not create pages silently. `No material` appends log only.
|
|
99
|
+
6. Deleted sources → mark missing in citing articles; do not delete pages silently.
|
|
100
|
+
7. Unhit articles: zero bytes changed.
|
|
101
|
+
8. Rewrite is not "rewrite the whole wiki and call it refresh".
|
|
102
|
+
9. Lint. Sample facts on hit pages. Append `REFRESH` with machine-readable fields:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
## [YYYY-MM-DD] REFRESH | <summary>
|
|
106
|
+
- changed: <sourceId>, ...
|
|
107
|
+
- missing: <sourceId>, ...
|
|
108
|
+
- articles: <articleId>, ...
|
|
109
|
+
- unmapped: <livePath> (New|Update|Disputed|No material)
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Omit an empty `changed` / `missing` / `articles` line. Repeat `unmapped` once per candidate. `status` / `drift` never fail just because those arrays are non-empty.
|
|
113
|
+
|
|
114
|
+
## rebuild
|
|
115
|
+
|
|
116
|
+
Done when raw matches live, LLM-owned pages are rewritten, stable ids and human-owned pages remain, lint exits 0, and log has `REBUILD`.
|
|
117
|
+
|
|
118
|
+
1. Rediscover corpus with [discover.md](discover.md). Do not trust the old source list as complete.
|
|
119
|
+
2. Recopy / re-extract raw.
|
|
120
|
+
3. Keep article ids that still earn a page. Retired ids: `RETIRE` in log, drop from index.
|
|
121
|
+
4. `humanOwned: true` (frontmatter or manifest): fix wikilinks only.
|
|
122
|
+
5. Rewrite remaining articles. Rebuild index (categories may evolve).
|
|
123
|
+
6. Replace manifest via `inventory.mjs hash`.
|
|
124
|
+
7. Full lint + sample + `REBUILD`.
|
|
125
|
+
|
|
126
|
+
rebuild is not `rm -rf wiki`. Stable ids keep old `[[wikilink]]` and external links valid.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Discover corpus
|
|
2
|
+
|
|
3
|
+
Discovery is an Agent checklist, not a scanner. Use it for `init` and `rebuild`. Confirm the answers, then write sources. Do not silently ingest every markdown file.
|
|
4
|
+
|
|
5
|
+
## Ask first
|
|
6
|
+
|
|
7
|
+
1. Wiki path (`<wiki-root>`).
|
|
8
|
+
2. Corpus roots the user wants covered.
|
|
9
|
+
3. Coverage: `core` (authoritative process / contract files) or `full` (core plus extra docs the user names).
|
|
10
|
+
4. Body language: follow the host project's document-language rule.
|
|
11
|
+
|
|
12
|
+
If any answer is missing, ask. Do not guess from directory names or Git remotes.
|
|
13
|
+
|
|
14
|
+
## Default include (core)
|
|
15
|
+
|
|
16
|
+
Unless the user replaces this list with the host's single source-of-truth table:
|
|
17
|
+
|
|
18
|
+
- Root authoritative files (for example `README`, `AGENTS`, `CONTEXT`, repository-identity manifest)
|
|
19
|
+
- `docs/adr/`
|
|
20
|
+
- `docs/process/`
|
|
21
|
+
- `docs/agents/`
|
|
22
|
+
- `docs/templates/`
|
|
23
|
+
- Frozen contracts the user names
|
|
24
|
+
|
|
25
|
+
`full` adds only roots the user listed. It is not "everything under `docs/`".
|
|
26
|
+
|
|
27
|
+
## Default exclude
|
|
28
|
+
|
|
29
|
+
- `docs/reviews/`
|
|
30
|
+
- `docs/.scratch/`
|
|
31
|
+
- Agent projection directories (copies or symlinks of shared skills)
|
|
32
|
+
- `node_modules`
|
|
33
|
+
- Whole lock files (`package-lock.json`, `pnpm-lock.yaml`, `skills-lock.json` as a document). A lock may appear only as `kind: derived` with an `extract` recipe.
|
|
34
|
+
|
|
35
|
+
## Threshold
|
|
36
|
+
|
|
37
|
+
If the candidate `document` count would exceed 40, list the candidates and stop. Do not write `raw/`, articles, or the manifest until the user confirms the list.
|
|
38
|
+
|
|
39
|
+
## After the list is confirmed
|
|
40
|
+
|
|
41
|
+
Write raw copies or extracts, then fill manifest `sources` per [compile.md](compile.md). Derived sources need `extract`. Code surfaces are not copies.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Ingest
|
|
2
|
+
|
|
3
|
+
Ingest is a compile mode. It adds a user-named external source or an already-written research note to the wiki. It does not replace `refresh`.
|
|
4
|
+
|
|
5
|
+
Query must not ingest. Mapped live sources that changed go to `refresh`.
|
|
6
|
+
|
|
7
|
+
## Allowed inputs
|
|
8
|
+
|
|
9
|
+
- A URL, paste, or file outside the repo that the user named in this turn.
|
|
10
|
+
- An already-written research note on disk (for example under the host's research archive). One-off fact gathering still belongs to the host's research skill; ingest only compiles a note that already exists.
|
|
11
|
+
|
|
12
|
+
Forbidden inputs: `docs/reviews/`, `docs/.scratch/`, agent projection directories, lock files as documents, and any live authoritative file that is already a manifest `livePath`.
|
|
13
|
+
|
|
14
|
+
Do not treat a web search as this skill's `refresh`. Confirm new web material as a named input first.
|
|
15
|
+
|
|
16
|
+
## Done when
|
|
17
|
+
|
|
18
|
+
`raw/` has the copy or labelled extract, the manifest lists the source, triage is recorded, confirmed pages are written (or none if the user declined), structural lint exits 0, advise has been run, and `log.md` has `INGEST`.
|
|
19
|
+
|
|
20
|
+
## Steps
|
|
21
|
+
|
|
22
|
+
1. Detect the wiki. No `wiki/index.md` → suggest `init`. Stop.
|
|
23
|
+
2. If the path is already a manifest `livePath` → stop and use `refresh`.
|
|
24
|
+
3. Write `raw/` as a copy or a labelled extract. Do not invent `extract.kind` values. Do not edit live authoritative files.
|
|
25
|
+
4. Add a manifest source (`kind: document` or `derived`) with `livePath` (repo-relative when the file is in-repo; otherwise leave a labelled extract and record the origin in the extract header). Do not create a second config file (`inbox.md`, YAML sidecars). The pending queue is the new source plus the log.
|
|
26
|
+
5. Run `inventory.mjs status --wiki <wiki-root> --candidate <livePath>` if the input is in-repo. Assign each unmapped path or new source one triage: `New` / `Update` / `Disputed` / `No material`.
|
|
27
|
+
6. Show the candidate article list. **Stop until the user confirms.** Unconfirmed ingest changes zero article bytes. `No material` writes log only.
|
|
28
|
+
7. After confirmation: write or update only the confirmed pages. Use `## Status` when triage is `Disputed`. Follow [writing.md](writing.md).
|
|
29
|
+
8. `inventory.mjs hash`. Structural lint. Advise (report counts). Sample live/raw facts on changed pages. Append:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
## [YYYY-MM-DD] INGEST | <summary>
|
|
33
|
+
- source: <sourceId>
|
|
34
|
+
- disposition: New|Update|Disputed|No material
|
|
35
|
+
- articles: <articleId>, ...
|
|
36
|
+
```
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Lint
|
|
2
|
+
|
|
3
|
+
From the repo root, run this skill's scripts (resolve `<skill-root>` from the directory that contains `SKILL.md`):
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
node <skill-root>/scripts/lint-wikilinks.mjs <wiki-root>
|
|
7
|
+
node <skill-root>/scripts/advise.mjs <wiki-root>
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
`lint-wikilinks.mjs` exit 0 only when every structural check below passes. `advise.mjs` always prints JSON and exits `0` when the report is valid (exit `2` is a script error). Advise never fails lint and never auto-fixes.
|
|
11
|
+
|
|
12
|
+
## Script checks
|
|
13
|
+
|
|
14
|
+
- Every `[[target]]` in articles and `index.md` resolves to `wiki/target.md` (infrastructure filenames are not valid article targets). Cross-path targets such as `[[../other]]` fail; they are not ignored.
|
|
15
|
+
- Every article H1 equals the article id (filename without `.md`).
|
|
16
|
+
- Every `[[wikilink]]` in `index.md` exists on disk.
|
|
17
|
+
- Every article file appears in `index.md`. Orphans fail.
|
|
18
|
+
- Every article has a `## 来源` heading.
|
|
19
|
+
- Infrastructure files are not articles: `index.md`, `log.md`, `CLAUDE.md`, `AGENTS.md`, `soul.md`, `concept-table.md`.
|
|
20
|
+
- Missing `## Status` is not a failure.
|
|
21
|
+
- If `.wiki-manifest.json` exists:
|
|
22
|
+
- each `articles[].file` exists; each `sources[].livePath` exists when set; `sha256` mismatch is stale (fail)
|
|
23
|
+
- every non-infrastructure `wiki/*.md` appears in `articles[]`
|
|
24
|
+
- each `articles[].id` equals the basename of `file` without `.md`
|
|
25
|
+
- each `sourceIds[]` exists in `sources[].id`
|
|
26
|
+
- `profile === "documents"` forbids `kind: code-surface`
|
|
27
|
+
- `kind: document|derived` requires a `rawPath` whose file exists; `code-surface` requires `rawPath == null`
|
|
28
|
+
- `kind: derived` requires `extract.kind` in `skill-names` | `heading-list` | `prose-note`
|
|
29
|
+
|
|
30
|
+
`STALE HASH` during lint means the wiki is being claimed healthy while live files drifted. That is separate from `inventory.mjs status`, which reports the same drift with exit `0`.
|
|
31
|
+
|
|
32
|
+
## Advise (do not repair)
|
|
33
|
+
|
|
34
|
+
After the structural script, run `advise.mjs` and report the counts. JSON keys:
|
|
35
|
+
|
|
36
|
+
- `oneWayLinks`: article A → B and B has no link back to A. `index.md` links do not count as backlinks.
|
|
37
|
+
- `missingTermPages`: backtick identifiers, `**bold**` phrases, or `##` headings that appear at least twice and are not an article id.
|
|
38
|
+
- `unreferencedRaws`: manifest `rawPath` values not cited in any article `## 来源`.
|
|
39
|
+
- `suspects`: high-signal literals (number+suffix such as `42K`, ISO dates, quoted strings of length ≥ 12) in the article body that do not appear in the cited live/raw files.
|
|
40
|
+
|
|
41
|
+
Do not create pages. Do not rewrite numbers. Do not promote `suspects` to lint exit 1.
|
|
42
|
+
|
|
43
|
+
## Agent checks (after scripts)
|
|
44
|
+
|
|
45
|
+
From changed pages, sample `N = min(5, changed page count)` claims against **live** files, not against the wiki text just written.
|
|
46
|
+
|
|
47
|
+
Look for: enum members, HTTP statuses, "persisted vs in-memory", hardcoded vs configured values, freeze coverage vs extra controllers. Advise cannot replace this pass.
|
|
48
|
+
|
|
49
|
+
## Repair
|
|
50
|
+
|
|
51
|
+
- Broken wikilink: add the page, retarget, or remove the link. Do not leave dangling `[[...]]`.
|
|
52
|
+
- Stale hash: run refresh on that source, or `inventory.mjs hash` after a deliberate raw sync.
|
|
53
|
+
- Missing manifest on an otherwise valid wiki: reconstruct from「来源」or rebuild. Do not invent mappings.
|
|
54
|
+
- Advise findings: report only, unless the user asked to act on a specific item.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Query
|
|
2
|
+
|
|
3
|
+
Query is not a compile mode. It reads the wiki; it does not write `raw/`, articles, `index.md`, `log.md`, or `.wiki-manifest.json`.
|
|
4
|
+
|
|
5
|
+
Use this algorithm when the user asks a repository question and a wiki exists, or asks to answer from the wiki. Do not open the whole corpus, and do not treat wiki prose as live fact.
|
|
6
|
+
|
|
7
|
+
## Steps
|
|
8
|
+
|
|
9
|
+
1. **Detect.** If `wiki/index.md` is absent, say the question is outside query: no wiki exists. Suggest `init`. Stop.
|
|
10
|
+
|
|
11
|
+
2. **Freshness.** If `.wiki-manifest.json` exists, run `inventory.mjs status --wiki <wiki-root>` (same JSON as `drift`). Read `changed`, `missing`, `unchanged`, `articles`, `unmapped`, `humanOwned`. Exit `0` is a valid report, not a failure. Exit `2` is a script error. Show that source-status table. Non-empty `changed` or `missing` means stale: name those sources, ask whether to `refresh`, and do not present drifted pages as current fact. If the user still wants an answer, mark every claim that depends on a drifted source as stale.
|
|
12
|
+
|
|
13
|
+
3. **Select pages.** First match proper nouns and distinctive terms against `index.md` category headings (`##`) and `[[wikilink]]` targets. If that set is empty or clearly too narrow for the question, search H1 and the first paragraph of each non-infrastructure `wiki/*.md` with the question's distinctive terms and obvious synonyms (`rg` is enough; do not build an index). Open at most `N = min(8, hit count)` articles. Do not open the whole wiki. Do not answer from one summary paragraph when more hit pages exist.
|
|
14
|
+
|
|
15
|
+
4. **Verify claims.** For each assertion, re-read the live paths in that page's `## 来源` (repo-relative live files, not the wiki sentence). If wiki text conflicts with live, cite live and record wiki drift. Do not rewrite the wiki during query. Do not ingest.
|
|
16
|
+
|
|
17
|
+
5. **Zero hits.** Only after **both** the index/`[[wikilink]]` pass and the H1/summary search are empty may you say the wiki does not cover the question. List the index categories considered and the search terms used. Do not invent article ids, pages, or facts.
|
|
18
|
+
|
|
19
|
+
## Done when
|
|
20
|
+
|
|
21
|
+
The answer cites the pages actually opened and the live sources actually re-read, or it states non-coverage. Query never completes via lint, `CREATE`, `REFRESH`, `REBUILD`, or `INGEST`.
|