ultimate-pi 0.1.2 → 0.1.4
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/.agents/skills/ck-search/SKILL.md +99 -0
- package/.agents/skills/defuddle/SKILL.md +90 -0
- package/.agents/skills/find-skills/SKILL.md +142 -0
- package/.agents/skills/firecrawl/SKILL.md +150 -0
- package/.agents/skills/firecrawl/rules/install.md +82 -0
- package/.agents/skills/firecrawl/rules/security.md +26 -0
- package/.agents/skills/firecrawl-agent/SKILL.md +57 -0
- package/.agents/skills/firecrawl-build-interact/SKILL.md +67 -0
- package/.agents/skills/firecrawl-build-onboarding/SKILL.md +102 -0
- package/.agents/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
- package/.agents/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
- package/.agents/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
- package/.agents/skills/firecrawl-build-scrape/SKILL.md +68 -0
- package/.agents/skills/firecrawl-build-search/SKILL.md +68 -0
- package/.agents/skills/firecrawl-crawl/SKILL.md +58 -0
- package/.agents/skills/firecrawl-download/SKILL.md +69 -0
- package/.agents/skills/firecrawl-interact/SKILL.md +83 -0
- package/.agents/skills/firecrawl-map/SKILL.md +50 -0
- package/.agents/skills/firecrawl-parse/SKILL.md +61 -0
- package/.agents/skills/firecrawl-scrape/SKILL.md +68 -0
- package/.agents/skills/firecrawl-search/SKILL.md +59 -0
- package/.agents/skills/obsidian-bases/SKILL.md +299 -0
- package/.agents/skills/obsidian-markdown/SKILL.md +237 -0
- package/.agents/skills/posthog-analyst/SKILL.md +306 -0
- package/.agents/skills/posthog-analyst/evals/evals.json +23 -0
- package/.agents/skills/wiki/SKILL.md +215 -0
- package/.agents/skills/wiki/references/css-snippets.md +122 -0
- package/.agents/skills/wiki/references/frontmatter.md +107 -0
- package/.agents/skills/wiki/references/git-setup.md +58 -0
- package/.agents/skills/wiki/references/mcp-setup.md +149 -0
- package/.agents/skills/wiki/references/modes.md +259 -0
- package/.agents/skills/wiki/references/plugins.md +96 -0
- package/.agents/skills/wiki/references/rest-api.md +124 -0
- package/.agents/skills/wiki-autoresearch/SKILL.md +211 -0
- package/.agents/skills/wiki-autoresearch/references/program.md +75 -0
- package/.agents/skills/wiki-fold/SKILL.md +204 -0
- package/.agents/skills/wiki-fold/references/fold-template.md +133 -0
- package/.agents/skills/wiki-ingest/SKILL.md +288 -0
- package/.agents/skills/wiki-lint/SKILL.md +183 -0
- package/.agents/skills/wiki-query/SKILL.md +176 -0
- package/.agents/skills/wiki-save/SKILL.md +128 -0
- package/.ckignore +41 -0
- package/.env.example +9 -0
- package/.github/workflows/lint.yml +33 -0
- package/.github/workflows/publish-github-packages.yml +35 -0
- package/.github/workflows/publish-npm.yml +1 -1
- package/.pi/SYSTEM.md +107 -40
- package/.pi/agents/pi-pi/agent-expert.md +205 -0
- package/.pi/agents/pi-pi/cli-expert.md +47 -0
- package/.pi/agents/pi-pi/config-expert.md +67 -0
- package/.pi/agents/pi-pi/ext-expert.md +53 -0
- package/.pi/agents/pi-pi/keybinding-expert.md +123 -0
- package/.pi/agents/pi-pi/pi-orchestrator.md +103 -0
- package/.pi/agents/pi-pi/prompt-expert.md +83 -0
- package/.pi/agents/pi-pi/skill-expert.md +52 -0
- package/.pi/agents/pi-pi/theme-expert.md +46 -0
- package/.pi/agents/pi-pi/tui-expert.md +100 -0
- package/.pi/agents/rethink.md +140 -0
- package/.pi/agents/wiki-ingest.md +67 -0
- package/.pi/agents/wiki-lint.md +75 -0
- package/.pi/auto-commit.json +20 -0
- package/.pi/extensions/banner.png +0 -0
- package/.pi/extensions/ck-enforce.ts +216 -0
- package/.pi/extensions/custom-footer.ts +308 -0
- package/.pi/extensions/custom-header.ts +116 -0
- package/.pi/extensions/dotenv-loader.ts +170 -0
- package/.pi/internal/cursor-sdk-transcript-parser.ts +59 -0
- package/.pi/model-router.json +95 -0
- package/.pi/npm/.gitignore +2 -0
- package/.pi/prompts/git-sync.md +124 -0
- package/.pi/prompts/harness-setup.md +509 -0
- package/.pi/prompts/save.md +16 -0
- package/.pi/prompts/wiki-autoresearch.md +19 -0
- package/.pi/prompts/wiki.md +23 -0
- package/.pi/providers/cursor-sdk-provider.test.mjs +476 -0
- package/.pi/providers/cursor-sdk-provider.ts +1085 -0
- package/.pi/settings.json +14 -4
- package/.pi/skills/agent-router/SKILL.md +174 -0
- package/.pi/sounds/alert/1-kaching-track.mp3 +0 -0
- package/.pi/sounds/error/1-ksi-wth-track.mp3 +0 -0
- package/.pi/sounds/error/2-smash-track.mp3 +0 -0
- package/.pi/sounds/error/3-buzzer-track.mp3 +0 -0
- package/.pi/sounds/notification/1-soft-notification-track.mp3 +0 -0
- package/.pi/sounds/project-sounds.json +25 -0
- package/.pi/sounds/reminder/1-soft-notification-track.mp3 +0 -0
- package/.pi/sounds/success/1-tada-track.mp3 +0 -0
- package/.pi/sounds/success/2-jobs-done-track.mp3 +0 -0
- package/.pi/sounds/success/3-yay-track.mp3 +0 -0
- package/CONTRIBUTING.md +116 -0
- package/README.md +32 -39
- package/biome.json +34 -0
- package/firecrawl/.env.template +58 -0
- package/firecrawl/README.md +49 -0
- package/firecrawl/docker-compose.yaml +201 -0
- package/firecrawl/searxng/searxng.env +3 -0
- package/firecrawl/searxng/settings.yml +85 -0
- package/lefthook.yml +8 -0
- package/package.json +55 -24
- package/vault/AGENTS.md +37 -0
- package/vault/wiki/_templates/comparison.md +39 -0
- package/vault/wiki/_templates/concept.md +40 -0
- package/vault/wiki/_templates/decision.md +21 -0
- package/vault/wiki/_templates/entity.md +32 -0
- package/vault/wiki/_templates/flow.md +14 -0
- package/vault/wiki/_templates/module.md +18 -0
- package/vault/wiki/_templates/question.md +31 -0
- package/vault/wiki/_templates/source.md +39 -0
- package/vault/wiki/concepts/AST-Aware Code Chunking.md +44 -0
- package/vault/wiki/concepts/Build-Time Prompt Compilation.md +107 -0
- package/vault/wiki/concepts/Context Engine (AI Coding).md +47 -0
- package/vault/wiki/concepts/Context-Aware System Reminders.md +61 -0
- package/vault/wiki/concepts/Contextualized Text Embedding.md +42 -0
- package/vault/wiki/concepts/Contractor vs Employee AI Model.md +55 -0
- package/vault/wiki/concepts/Dual-Model Agent Architecture.md +65 -0
- package/vault/wiki/concepts/Late Chunking vs Early Chunking.md +43 -0
- package/vault/wiki/concepts/Majority Vote Ensembling.md +68 -0
- package/vault/wiki/concepts/Meta-Harness.md +16 -0
- package/vault/wiki/concepts/Multi-Agent AI Coding Architecture.md +75 -0
- package/vault/wiki/concepts/Prompt Enhancement.md +90 -0
- package/vault/wiki/concepts/Prompt Renderer.md +89 -0
- package/vault/wiki/concepts/Semantic Codebase Indexing.md +67 -0
- package/vault/wiki/concepts/additive-config-hierarchy.md +16 -0
- package/vault/wiki/concepts/agent-artifacts-verifiable-deliverables.md +71 -0
- package/vault/wiki/concepts/agent-browser-browser-automation.md +99 -0
- package/vault/wiki/concepts/agent-codebase-interface.md +43 -0
- package/vault/wiki/concepts/agent-harness-architecture.md +67 -0
- package/vault/wiki/concepts/agent-loop-detection-patterns.md +133 -0
- package/vault/wiki/concepts/agent-search-enforcement.md +126 -0
- package/vault/wiki/concepts/agent-skills-ecosystem.md +74 -0
- package/vault/wiki/concepts/agent-skills-pattern.md +68 -0
- package/vault/wiki/concepts/agentic-harness-context-enforcement.md +91 -0
- package/vault/wiki/concepts/agentic-harness.md +34 -0
- package/vault/wiki/concepts/agentic-orchestration-pipeline.md +56 -0
- package/vault/wiki/concepts/agentic-search-no-embeddings.md +18 -0
- package/vault/wiki/concepts/anthropic-context-engineering.md +13 -0
- package/vault/wiki/concepts/antigravity-agent-first-architecture.md +61 -0
- package/vault/wiki/concepts/ast-compression.md +19 -0
- package/vault/wiki/concepts/ast-truncation.md +66 -0
- package/vault/wiki/concepts/barrel-files.md +37 -0
- package/vault/wiki/concepts/browser-harness-agent.md +41 -0
- package/vault/wiki/concepts/browser-subagent-visual-verification.md +82 -0
- package/vault/wiki/concepts/codebase-intelligence-ecosystem-comparison.md +192 -0
- package/vault/wiki/concepts/codebase-intelligence-harness-integration.md +161 -0
- package/vault/wiki/concepts/codebase-to-context-ingestion.md +46 -0
- package/vault/wiki/concepts/codex-harness-innovations.md +147 -0
- package/vault/wiki/concepts/consensus-debate-flow.md +17 -0
- package/vault/wiki/concepts/consensus-debate.md +206 -0
- package/vault/wiki/concepts/content-addressed-spec-identity.md +166 -0
- package/vault/wiki/concepts/context-anxiety.md +57 -0
- package/vault/wiki/concepts/context-compression-techniques.md +19 -0
- package/vault/wiki/concepts/context-continuity.md +22 -0
- package/vault/wiki/concepts/context-drift-in-agents.md +106 -0
- package/vault/wiki/concepts/context-engineering.md +62 -0
- package/vault/wiki/concepts/context-folding.md +67 -0
- package/vault/wiki/concepts/context-mode.md +38 -0
- package/vault/wiki/concepts/cursor-harness-innovations.md +107 -0
- package/vault/wiki/concepts/deterministic-session-compaction.md +79 -0
- package/vault/wiki/concepts/drift-detection-unified.md +296 -0
- package/vault/wiki/concepts/execution-feedback-loop.md +46 -0
- package/vault/wiki/concepts/feedforward-feedback-harness.md +60 -0
- package/vault/wiki/concepts/five-root-cause-metrics-sentrux.md +40 -0
- package/vault/wiki/concepts/fork-safe-spec-storage.md +89 -0
- package/vault/wiki/concepts/fts5-sandbox.md +19 -0
- package/vault/wiki/concepts/fuzzy-edit-matching.md +71 -0
- package/vault/wiki/concepts/gemini-cli-architecture.md +104 -0
- package/vault/wiki/concepts/generator-evaluator-architecture.md +64 -0
- package/vault/wiki/concepts/guardian-agent-pattern.md +67 -0
- package/vault/wiki/concepts/harness-configuration-layers.md +89 -0
- package/vault/wiki/concepts/harness-control-frameworks.md +155 -0
- package/vault/wiki/concepts/harness-engineering-first-principles.md +90 -0
- package/vault/wiki/concepts/harness-h-formalism.md +53 -0
- package/vault/wiki/concepts/hybrid-code-search.md +61 -0
- package/vault/wiki/concepts/inline-post-edit-validation.md +112 -0
- package/vault/wiki/concepts/legendary-engineering-patterns-harness.md +110 -0
- package/vault/wiki/concepts/lifecycle-hooks.md +94 -0
- package/vault/wiki/concepts/mcp-tool-routing.md +102 -0
- package/vault/wiki/concepts/memory-system-of-record-vs-ephemeral-cache.md +47 -0
- package/vault/wiki/concepts/meta-agent-context-pruning.md +151 -0
- package/vault/wiki/concepts/model-adaptive-harness.md +122 -0
- package/vault/wiki/concepts/model-routing-agents.md +101 -0
- package/vault/wiki/concepts/monorepo-architecture.md +45 -0
- package/vault/wiki/concepts/multi-agent-specialization.md +61 -0
- package/vault/wiki/concepts/permission-subsystem.md +16 -0
- package/vault/wiki/concepts/pi-messenger-analysis.md +243 -0
- package/vault/wiki/concepts/pi-vscode-extension-landscape.md +37 -0
- package/vault/wiki/concepts/policy-engine-pattern.md +78 -0
- package/vault/wiki/concepts/progressive-disclosure-agents.md +53 -0
- package/vault/wiki/concepts/progressive-skill-disclosure.md +17 -0
- package/vault/wiki/concepts/provider-native-prompting.md +203 -0
- package/vault/wiki/concepts/quality-signal-sentrux.md +37 -0
- package/vault/wiki/concepts/repo-map-ranking.md +42 -0
- package/vault/wiki/concepts/result-monad-error-handling.md +47 -0
- package/vault/wiki/concepts/safety-defense-in-depth.md +83 -0
- package/vault/wiki/concepts/sandbox-os-enforcement.md +18 -0
- package/vault/wiki/concepts/selective-debate-routing.md +70 -0
- package/vault/wiki/concepts/self-evolving-harness.md +60 -0
- package/vault/wiki/concepts/sentrux-mcp-integration.md +36 -0
- package/vault/wiki/concepts/sentrux-rules-engine.md +49 -0
- package/vault/wiki/concepts/shell-pattern-compression.md +24 -0
- package/vault/wiki/concepts/skill-first-architecture.md +166 -0
- package/vault/wiki/concepts/structured-compaction.md +78 -0
- package/vault/wiki/concepts/subagent-orchestration.md +17 -0
- package/vault/wiki/concepts/subagent-worktree-isolation.md +68 -0
- package/vault/wiki/concepts/superpowers-methodology.md +78 -0
- package/vault/wiki/concepts/think-in-code.md +73 -0
- package/vault/wiki/concepts/ts-execution-layer.md +100 -0
- package/vault/wiki/concepts/typescript-strict-mode.md +37 -0
- package/vault/wiki/concepts/vcc-conversation-compaction-for-pi.md +51 -0
- package/vault/wiki/concepts/verification-drift-detection.md +19 -0
- package/vault/wiki/consensus/consensus-records.md +58 -0
- package/vault/wiki/decisions/2026-04-30-pi-lean-ctx-native.md +122 -0
- package/vault/wiki/decisions/adr-008.md +40 -0
- package/vault/wiki/decisions/adr-009.md +46 -0
- package/vault/wiki/decisions/adr-010.md +55 -0
- package/vault/wiki/decisions/adr-011.md +165 -0
- package/vault/wiki/decisions/adr-012.md +102 -0
- package/vault/wiki/decisions/adr-013.md +59 -0
- package/vault/wiki/decisions/adr-014.md +73 -0
- package/vault/wiki/decisions/adr-015.md +81 -0
- package/vault/wiki/decisions/adr-016.md +91 -0
- package/vault/wiki/decisions/adr-017.md +79 -0
- package/vault/wiki/decisions/adr-018.md +100 -0
- package/vault/wiki/decisions/adr-019.md +75 -0
- package/vault/wiki/decisions/adr-020.md +106 -0
- package/vault/wiki/decisions/adr-021.md +86 -0
- package/vault/wiki/decisions/adr-022.md +113 -0
- package/vault/wiki/decisions/adr-023.md +113 -0
- package/vault/wiki/decisions/adr-024.md +73 -0
- package/vault/wiki/decisions/adr-025.md +130 -0
- package/vault/wiki/decisions/adr-026.md +56 -0
- package/vault/wiki/decisions/colocate-wiki.md +34 -0
- package/vault/wiki/entities/Anders Hejlsberg.md +29 -0
- package/vault/wiki/entities/Anthropic.md +17 -0
- package/vault/wiki/entities/Augment Code.md +49 -0
- package/vault/wiki/entities/Bjarne Stroustrup.md +26 -0
- package/vault/wiki/entities/Bolt.new (StackBlitz).md +39 -0
- package/vault/wiki/entities/Boris Cherny.md +11 -0
- package/vault/wiki/entities/Claude Code.md +19 -0
- package/vault/wiki/entities/Dennis Ritchie.md +26 -0
- package/vault/wiki/entities/Emergent Labs.md +32 -0
- package/vault/wiki/entities/Google Cloud.md +16 -0
- package/vault/wiki/entities/Guido van Rossum.md +28 -0
- package/vault/wiki/entities/Ken Thompson.md +28 -0
- package/vault/wiki/entities/Lee et al.md +16 -0
- package/vault/wiki/entities/Linus Torvalds.md +28 -0
- package/vault/wiki/entities/Lovable (company).md +40 -0
- package/vault/wiki/entities/Martin Fowler.md +16 -0
- package/vault/wiki/entities/Meng et al.md +16 -0
- package/vault/wiki/entities/OpenAI.md +16 -0
- package/vault/wiki/entities/Rocket.new.md +38 -0
- package/vault/wiki/entities/VILA-Lab.md +15 -0
- package/vault/wiki/entities/autodev-codebase.md +18 -0
- package/vault/wiki/entities/ck-tool.md +59 -0
- package/vault/wiki/entities/codesearch.md +18 -0
- package/vault/wiki/entities/disler-indydevdan.md +33 -0
- package/vault/wiki/entities/gsd-get-shit-done.md +56 -0
- package/vault/wiki/entities/javascript-runtimes.md +48 -0
- package/vault/wiki/entities/jesse-vincent.md +38 -0
- package/vault/wiki/entities/lean-ctx.md +32 -0
- package/vault/wiki/entities/opendev.md +41 -0
- package/vault/wiki/entities/ops-codegraph-tool.md +18 -0
- package/vault/wiki/entities/pi-coding-agent.md +53 -0
- package/vault/wiki/entities/sentrux.md +54 -0
- package/vault/wiki/entities/vgrep-tool.md +57 -0
- package/vault/wiki/entities/vitest.md +41 -0
- package/vault/wiki/flows/harness-wiki-pipeline.md +204 -0
- package/vault/wiki/hot.md +932 -0
- package/vault/wiki/index.md +437 -0
- package/vault/wiki/log.md +418 -0
- package/vault/wiki/meta/dashboard.md +30 -0
- package/vault/wiki/meta/lint-report-2026-04-30.md +86 -0
- package/vault/wiki/meta/lint-report-2026-05-02.md +251 -0
- package/vault/wiki/meta/overview.canvas +43 -0
- package/vault/wiki/modules/adversarial-verification.md +57 -0
- package/vault/wiki/modules/automated-observability.md +54 -0
- package/vault/wiki/modules/bench.md +20 -0
- package/vault/wiki/modules/extensions.md +23 -0
- package/vault/wiki/modules/grounding-checkpoints.md +62 -0
- package/vault/wiki/modules/harness-implementation-plan.md +345 -0
- package/vault/wiki/modules/harness-wiki-skill-mapping.md +135 -0
- package/vault/wiki/modules/harness.md +86 -0
- package/vault/wiki/modules/persistent-memory.md +85 -0
- package/vault/wiki/modules/schema-orchestration.md +68 -0
- package/vault/wiki/modules/skills.md +27 -0
- package/vault/wiki/modules/spec-hardening.md +58 -0
- package/vault/wiki/modules/structured-planning.md +53 -0
- package/vault/wiki/modules/think-in-code-enforcement.md +153 -0
- package/vault/wiki/modules/wiki-query-interface.md +64 -0
- package/vault/wiki/overview.md +51 -0
- package/vault/wiki/questions/Research-pi-vs-claude-code-agentic-orchestration-pipeline.md +87 -0
- package/vault/wiki/questions/Research-sentrux-dev.md +123 -0
- package/vault/wiki/questions/Research-superpowers-skill-for-agentic-coding-agents.md +164 -0
- package/vault/wiki/questions/Research: Augment Code Context Engine.md +244 -0
- package/vault/wiki/questions/Research: Automating Software Engineering - Lovable, Bolt, Emergent, Rocket.md +112 -0
- package/vault/wiki/questions/Research: Claude Code State-of-the-Art Harness Improvements.md +209 -0
- package/vault/wiki/questions/Research: Codex State-of-the-Art Harness Improvements.md +99 -0
- package/vault/wiki/questions/Research: Engineering Workflows of Legendary Programmers and AI Harness Mapping.md +107 -0
- package/vault/wiki/questions/Research: Fallow Codebase Intelligence Harness Integration.md +72 -0
- package/vault/wiki/questions/Research: Gemini CLI SOTA Harness Integration.md +166 -0
- package/vault/wiki/questions/Research: GitHub Issues as Harness Spec Storage.md +188 -0
- package/vault/wiki/questions/Research: Google Antigravity Harness Integration.md +120 -0
- package/vault/wiki/questions/Research: Meta-Agent Context Drift Detection.md +236 -0
- package/vault/wiki/questions/Research: Model-Adaptive Agent Harness Design.md +95 -0
- package/vault/wiki/questions/Research: Model-Specific Prompting Guides.md +165 -0
- package/vault/wiki/questions/Research: Prompt Renderer for Multi-Model Agent Harness.md +216 -0
- package/vault/wiki/questions/Research: Skill-First Harness Architecture.md +91 -0
- package/vault/wiki/questions/Research: TypeScript Best Practices and Codebase Structure.md +88 -0
- package/vault/wiki/questions/Research: TypeScript Execution Layer for Agent Tool Calling.md +81 -0
- package/vault/wiki/questions/Research: claude-mem over Obsidian for Harness Layer.md +71 -0
- package/vault/wiki/questions/Research: claude-mem over obsidian wiki as the knowledge base for our agentic harness pipeline. think from first principles. does this replace or complement our current setup? no hard feelings about previous decisions. gimme accurate points.md +80 -0
- package/vault/wiki/questions/Research: context-mode vs lean-ctx.md +72 -0
- package/vault/wiki/questions/Research: cursor.sh Harness Innovations.md +92 -0
- package/vault/wiki/questions/Research: executor.sh Harness Integration.md +170 -0
- package/vault/wiki/questions/Research: how GSD fits into our coding harness setup.md +97 -0
- package/vault/wiki/questions/Research: how claude-mem fits into our workflow. and whether it should replace obsidian in the codebase. no hard feelings about previous actions, rethink from first principles always.md +80 -0
- package/vault/wiki/questions/Research: pi-vcc.md +113 -0
- package/vault/wiki/questions/Research: semantic code search tools.md +69 -0
- package/vault/wiki/questions/Research: vcc extension for pi coding agent.md +73 -0
- package/vault/wiki/questions/how-to-enable-semantic-code-search-now.md +111 -0
- package/vault/wiki/questions/mvp-implementation-blueprint.md +552 -0
- package/vault/wiki/questions/research-agent-first-codebase-exploration.md +199 -0
- package/vault/wiki/questions/research-agentic-coding-harness-latest-papers.md +142 -0
- package/vault/wiki/questions/research-gitingest-gitreverse-integration.md +100 -0
- package/vault/wiki/questions/research-wozcode-token-reduction.md +67 -0
- package/vault/wiki/questions/resolved-context-pruning-inplace-vs-restart.md +95 -0
- package/vault/wiki/questions/resolved-context-window-economics.md +167 -0
- package/vault/wiki/questions/resolved-imad-debate-gating-transfer.md +126 -0
- package/vault/wiki/questions/resolved-mcp-tool-preference.md +112 -0
- package/vault/wiki/questions/resolved-small-model-meta-agents.md +107 -0
- package/vault/wiki/questions/resolved-treesitter-dynamic-languages.md +95 -0
- package/vault/wiki/sources/Auggie Context MCP Server.md +63 -0
- package/vault/wiki/sources/Augment Code Codacy AI Giants.md +61 -0
- package/vault/wiki/sources/Augment Code MCP SiliconAngle.md +49 -0
- package/vault/wiki/sources/Augment Code WorkOS ERC 2025.md +55 -0
- package/vault/wiki/sources/Augment Context Engine Official.md +71 -0
- package/vault/wiki/sources/Augment SWE-bench Agent GitHub.md +74 -0
- package/vault/wiki/sources/Augment SWE-bench Pro Blog.md +58 -0
- package/vault/wiki/sources/Source: AgentBus Jinja2 Prompt Pipelines.md +75 -0
- package/vault/wiki/sources/Source: Arxiv /342/200/224 Don't Break the Cache.md" +85 -0
- package/vault/wiki/sources/Source: Augment - Harness Engineering for AI Coding Agents.md +58 -0
- package/vault/wiki/sources/Source: Blake Crosley Agent Architecture Guide.md +100 -0
- package/vault/wiki/sources/Source: Bolt.new Architecture & Case Study.md +75 -0
- package/vault/wiki/sources/Source: Build-Time Prompt Compilation Architecture.md +107 -0
- package/vault/wiki/sources/Source: Claude API Agent Skills Overview.md +70 -0
- package/vault/wiki/sources/Source: Gemini CLI Changelogs.md +88 -0
- package/vault/wiki/sources/Source: Google Blog - Gemini CLI Announcement.md +57 -0
- package/vault/wiki/sources/Source: Google Gemini CLI Architecture Docs.md +53 -0
- package/vault/wiki/sources/Source: LangChain - Anatomy of Agent Harness.md +65 -0
- package/vault/wiki/sources/Source: Lovable Architecture & Clone Analysis.md +83 -0
- package/vault/wiki/sources/Source: Martin Fowler - Harness Engineering.md +70 -0
- package/vault/wiki/sources/Source: OpenAI Harness Engineering Five Principles.md +58 -0
- package/vault/wiki/sources/Source: OpenAI Harness Engineering /342/200/224 0 Lines of Human Code.md" +101 -0
- package/vault/wiki/sources/Source: OpenDev /342/200/224 Building AI Coding Agents for the Terminal.md" +100 -0
- package/vault/wiki/sources/Source: Render AI Coding Agents Benchmark 2025.md +53 -0
- package/vault/wiki/sources/Source: Rocket.new /342/200/224 Vibe Solutioning Platform.md" +70 -0
- package/vault/wiki/sources/Source: SwirlAI Agent Skills Progressive Disclosure.md +71 -0
- package/vault/wiki/sources/Source: TianPan Prompt Caching Architecture.md +89 -0
- package/vault/wiki/sources/Source: Vercel Labs agent-browser.md +155 -0
- package/vault/wiki/sources/Source: browser-harness CDP Harness.md +126 -0
- package/vault/wiki/sources/agent-drift-academic-paper.md +79 -0
- package/vault/wiki/sources/aider-repomap-tree-sitter.md +42 -0
- package/vault/wiki/sources/anthropic-compaction-api.md +58 -0
- package/vault/wiki/sources/anthropic-effective-harnesses.md +42 -0
- package/vault/wiki/sources/anthropic-prompt-best-practices.md +100 -0
- package/vault/wiki/sources/anthropic2026-harness-design.md +63 -0
- package/vault/wiki/sources/barrel-files-tkdodo.md +38 -0
- package/vault/wiki/sources/birth-of-unix-kernighan-interview.md +57 -0
- package/vault/wiki/sources/bockeler2026-harness-engineering.md +69 -0
- package/vault/wiki/sources/cast-code-chunking-paper.md +50 -0
- package/vault/wiki/sources/ck-semantic-search.md +78 -0
- package/vault/wiki/sources/claude-code-architecture-karaxai-2026.md +71 -0
- package/vault/wiki/sources/claude-code-architecture-qubytes-2026.md +50 -0
- package/vault/wiki/sources/claude-code-architecture-vila-lab-2026.md +64 -0
- package/vault/wiki/sources/claude-code-security-architecture-penligent-2026.md +70 -0
- package/vault/wiki/sources/claude-context-editing-docs.md +13 -0
- package/vault/wiki/sources/cloudflare-codemode.md +63 -0
- package/vault/wiki/sources/code-chunk-library-supermemory.md +63 -0
- package/vault/wiki/sources/codeact-apple-2024.md +62 -0
- package/vault/wiki/sources/codex-dsc-rfc-8573.md +41 -0
- package/vault/wiki/sources/codex-open-source-agent-2026.md +110 -0
- package/vault/wiki/sources/coir-code-retrieval-benchmark.md +51 -0
- package/vault/wiki/sources/colinmcnamara-context-optimization-codemode.md +48 -0
- package/vault/wiki/sources/context-folding-paper.md +61 -0
- package/vault/wiki/sources/context-mode-website.md +63 -0
- package/vault/wiki/sources/cursor-agent-best-practices-2026.md +62 -0
- package/vault/wiki/sources/cursor-fork-29b-2025.md +50 -0
- package/vault/wiki/sources/cursor-harness-april-2026.md +76 -0
- package/vault/wiki/sources/cursor-instant-apply-2024.md +45 -0
- package/vault/wiki/sources/cursor-shadow-workspace-2024.md +52 -0
- package/vault/wiki/sources/cursor-shipped-coding-agent-2026.md +53 -0
- package/vault/wiki/sources/cursor-vs-antigravity-2026.md +51 -0
- package/vault/wiki/sources/disler-pi-vs-claude-code.md +69 -0
- package/vault/wiki/sources/distill-deterministic-context-compression.md +53 -0
- package/vault/wiki/sources/embedding-models-benchmark-supermemory-2025.md +48 -0
- package/vault/wiki/sources/executor-rhyssullivan.md +122 -0
- package/vault/wiki/sources/fallow-rs-codebase-intelligence.md +125 -0
- package/vault/wiki/sources/fan2025-imad.md +60 -0
- package/vault/wiki/sources/forgecode-gpt5-agent-improvements.md +63 -0
- package/vault/wiki/sources/gemini-3-prompting-guide.md +78 -0
- package/vault/wiki/sources/gh-cli-sub-issue-rfc.md +50 -0
- package/vault/wiki/sources/gh-sub-issue-extension.md +72 -0
- package/vault/wiki/sources/github-fork-issues-discussion.md +44 -0
- package/vault/wiki/sources/github-issue-dependencies-docs.md +49 -0
- package/vault/wiki/sources/github-sub-issues-docs.md +51 -0
- package/vault/wiki/sources/gitingest.md +91 -0
- package/vault/wiki/sources/gitreverse.md +63 -0
- package/vault/wiki/sources/google-antigravity-official-blog.md +47 -0
- package/vault/wiki/sources/google-antigravity-wikipedia.md +53 -0
- package/vault/wiki/sources/gsd-codecentric-deep-dive.md +57 -0
- package/vault/wiki/sources/gsd-github-repo.md +51 -0
- package/vault/wiki/sources/gsd-hn-discussion.md +59 -0
- package/vault/wiki/sources/guido-python-design-philosophy.md +56 -0
- package/vault/wiki/sources/hejlsberg-7-learnings.md +48 -0
- package/vault/wiki/sources/ironclaw-drift-monitor.md +80 -0
- package/vault/wiki/sources/langsight-loop-detection.md +80 -0
- package/vault/wiki/sources/leanctx-website.md +69 -0
- package/vault/wiki/sources/lee2026-meta-harness.md +59 -0
- package/vault/wiki/sources/linux-kernel-coding-workflow.md +50 -0
- package/vault/wiki/sources/lou2026-autoharness.md +53 -0
- package/vault/wiki/sources/martin-fowler-harness-engineering.md +73 -0
- package/vault/wiki/sources/mcp-architecture-docs.md +13 -0
- package/vault/wiki/sources/meng2026-agent-harness-survey.md +79 -0
- package/vault/wiki/sources/mindstudio-four-agent-types.md +68 -0
- package/vault/wiki/sources/ms-chat-history-management.md +13 -0
- package/vault/wiki/sources/openai-prompt-guidance.md +104 -0
- package/vault/wiki/sources/openclaw-session-pruning.md +13 -0
- package/vault/wiki/sources/opencode-dcp.md +13 -0
- package/vault/wiki/sources/opendev-arxiv-2603.05344v1.md +79 -0
- package/vault/wiki/sources/openhands-platform.md +39 -0
- package/vault/wiki/sources/oss-guide-codebase-exploration.md +53 -0
- package/vault/wiki/sources/pi-compaction-extensions-ecosystem.md +102 -0
- package/vault/wiki/sources/pi-context-prune-github-repo.md +38 -0
- package/vault/wiki/sources/pi-mono-compaction-docs.md +38 -0
- package/vault/wiki/sources/pi-omni-compact-github-repo.md +50 -0
- package/vault/wiki/sources/pi-rtk-optimizer-github-repo.md +45 -0
- package/vault/wiki/sources/pi-vcc-github-repo.md +69 -0
- package/vault/wiki/sources/pi-vscode-marketplace.md +41 -0
- package/vault/wiki/sources/pi-vscode-model-provider-marketplace.md +39 -0
- package/vault/wiki/sources/py-tree-sitter.md +13 -0
- package/vault/wiki/sources/sentrux-dev-landing.md +40 -0
- package/vault/wiki/sources/sentrux-docs-pro-architecture.md +75 -0
- package/vault/wiki/sources/sentrux-docs-quality-signal.md +46 -0
- package/vault/wiki/sources/sentrux-docs-root-cause-metrics.md +57 -0
- package/vault/wiki/sources/sentrux-docs-rules-engine.md +58 -0
- package/vault/wiki/sources/sentrux-github-repo.md +56 -0
- package/vault/wiki/sources/superpowers-github-repo.md +56 -0
- package/vault/wiki/sources/superpowers-release-blog.md +54 -0
- package/vault/wiki/sources/superpowers-termdock-analysis.md +45 -0
- package/vault/wiki/sources/swe-agent-aci.md +42 -0
- package/vault/wiki/sources/swe-bench.md +45 -0
- package/vault/wiki/sources/swe-pruner-context-pruning.md +13 -0
- package/vault/wiki/sources/think-in-code-blog.md +48 -0
- package/vault/wiki/sources/tree-sitter-docs.md +13 -0
- package/vault/wiki/sources/ts-best-practices-2025-devto.md +42 -0
- package/vault/wiki/sources/ts-folder-structure-mingyang.md +58 -0
- package/vault/wiki/sources/ts-monorepo-koerselman.md +44 -0
- package/vault/wiki/sources/ts-result-error-handling-kkalamarski.md +52 -0
- package/vault/wiki/sources/ts-runtimes-comparison-betterstack.md +42 -0
- package/vault/wiki/sources/ts-strict-mode-rishikc.md +43 -0
- package/vault/wiki/sources/unix-philosophy.md +48 -0
- package/vault/wiki/sources/vectara-chunking-vs-embedding-naacl2025.md +39 -0
- package/vault/wiki/sources/vectara-guardian-agents.md +79 -0
- package/vault/wiki/sources/vgrep-semantic-search.md +76 -0
- package/vault/wiki/sources/vitest-official.md +41 -0
- package/vault/wiki/sources/vscode-pi-community-extension.md +40 -0
- package/vault/wiki/sources/wozcode.md +79 -0
- package/.agents/skills/compress/SKILL.md +0 -111
- package/.agents/skills/compress/scripts/__init__.py +0 -9
- package/.agents/skills/compress/scripts/__main__.py +0 -3
- package/.agents/skills/compress/scripts/benchmark.py +0 -78
- package/.agents/skills/compress/scripts/cli.py +0 -73
- package/.agents/skills/compress/scripts/compress.py +0 -227
- package/.agents/skills/compress/scripts/detect.py +0 -121
- package/.agents/skills/compress/scripts/validate.py +0 -189
- package/.agents/skills/emil-design-eng/SKILL.md +0 -679
- package/.agents/skills/lean-ctx/SKILL.md +0 -149
- package/.agents/skills/lean-ctx/scripts/install.sh +0 -95
- package/.agents/skills/scrapling-official/LICENSE.txt +0 -28
- package/.agents/skills/scrapling-official/SKILL.md +0 -390
- package/.agents/skills/scrapling-official/examples/01_fetcher_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/02_dynamic_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/03_stealthy_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/04_spider.py +0 -58
- package/.agents/skills/scrapling-official/examples/README.md +0 -45
- package/.agents/skills/scrapling-official/references/fetching/choosing.md +0 -78
- package/.agents/skills/scrapling-official/references/fetching/dynamic.md +0 -352
- package/.agents/skills/scrapling-official/references/fetching/static.md +0 -432
- package/.agents/skills/scrapling-official/references/fetching/stealthy.md +0 -255
- package/.agents/skills/scrapling-official/references/mcp-server.md +0 -214
- package/.agents/skills/scrapling-official/references/migrating_from_beautifulsoup.md +0 -86
- package/.agents/skills/scrapling-official/references/parsing/adaptive.md +0 -212
- package/.agents/skills/scrapling-official/references/parsing/main_classes.md +0 -586
- package/.agents/skills/scrapling-official/references/parsing/selection.md +0 -494
- package/.agents/skills/scrapling-official/references/spiders/advanced.md +0 -344
- package/.agents/skills/scrapling-official/references/spiders/architecture.md +0 -94
- package/.agents/skills/scrapling-official/references/spiders/getting-started.md +0 -164
- package/.agents/skills/scrapling-official/references/spiders/proxy-blocking.md +0 -235
- package/.agents/skills/scrapling-official/references/spiders/requests-responses.md +0 -196
- package/.agents/skills/scrapling-official/references/spiders/sessions.md +0 -205
- package/PLAN.md +0 -11
- package/extensions/lean-ctx-enforce.ts +0 -166
- package/skills-lock.json +0 -35
- package/wiki/README.md +0 -19
- package/wiki/decisions/0001-establish-project-wiki-and-decision-record-format.md +0 -25
- package/wiki/decisions/0002-add-project-banner-to-readme.md +0 -26
- package/wiki/decisions/0003-remove-redundant-readme-title-heading.md +0 -26
- package/wiki/decisions/0004-publish-package-to-npm-as-ultimate-pi.md +0 -26
- package/wiki/decisions/0005-automate-npm-publish-with-github-actions.md +0 -27
- package/wiki/decisions/0006-switch-to-npm-trusted-publishing.md +0 -26
- package/wiki/decisions/0007-use-absolute-banner-url-for-npm-readme-rendering.md +0 -26
- package/wiki/decisions/0008-rename-banner-asset-for-cache-busting.md +0 -26
- package/wiki/decisions/0009-force-oidc-path-by-clearing-node-auth-token-in-publish-step.md +0 -25
- package/wiki/decisions/0010-simplify-setup-node-for-npm-trusted-publishing.md +0 -26
- package/wiki/decisions/0011-add-noop-workflow-change-to-force-fresh-publish-run.md +0 -25
- package/wiki/decisions/0012-align-workflow-runtime-with-npm-trusted-publishing-requirements.md +0 -26
- package/wiki/decisions/0013-add-package-repository-url-for-provenance-validation.md +0 -25
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wiki-ingest
|
|
3
|
+
description: "Ingest sources into the Obsidian wiki vault. Reads a source, extracts entities and concepts, creates or updates wiki pages, cross-references, and logs the operation. Supports files, URLs, and batch mode. Triggers on: ingest, process this source, add this to the wiki, read and file this, batch ingest, ingest all of these, ingest this url."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# wiki-ingest: Source Ingestion
|
|
7
|
+
|
|
8
|
+
Read the source. Write the wiki. Cross-reference everything. A single source typically touches 8-15 wiki pages.
|
|
9
|
+
|
|
10
|
+
**Syntax standard**: Write all Obsidian Markdown using proper Obsidian Flavored Markdown. Wikilinks as `[[Note Name]]`, callouts as `> [!type] Title`, embeds as `![[file]]`, properties as YAML frontmatter. If the kepano/obsidian-skills plugin is installed, prefer its canonical obsidian-markdown skill for Obsidian syntax reference. Otherwise, follow the guidance in this skill.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Wiki Path Resolution
|
|
15
|
+
|
|
16
|
+
All `wiki/` paths in this skill are relative to the wiki directory inside the Obsidian vault. Resolve before any file operation:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
WIKI_PATH="${VAULT_WIKI_PATH:-vault/wiki}"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Use `$WIKI_PATH/` as the prefix for all `wiki/...` file paths. Example: `wiki/index.md` → `$WIKI_PATH/index.md` (default: `vault/wiki/index.md`).
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Delta Tracking
|
|
27
|
+
|
|
28
|
+
Before ingesting any file, check `.raw/.manifest.json` to avoid re-processing unchanged sources.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Check if manifest exists
|
|
32
|
+
[ -f .raw/.manifest.json ] && echo "exists" || echo "no manifest yet"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Manifest format** (create if missing):
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"sources": {
|
|
39
|
+
".raw/articles/article-slug-2026-04-08.md": {
|
|
40
|
+
"hash": "abc123",
|
|
41
|
+
"ingested_at": "2026-04-08",
|
|
42
|
+
"pages_created": ["wiki/sources/article-slug.md", "wiki/entities/Person.md"],
|
|
43
|
+
"pages_updated": ["wiki/index.md"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Before ingesting a file:**
|
|
50
|
+
1. Compute a hash: `md5sum [file] | cut -d' ' -f1` (or `sha256sum` on Linux).
|
|
51
|
+
2. Check if the path exists in `.manifest.json` with the same hash.
|
|
52
|
+
3. If hash matches, skip. Report: "Already ingested (unchanged). Use `force` to re-ingest."
|
|
53
|
+
4. If missing or hash differs, proceed with ingest.
|
|
54
|
+
|
|
55
|
+
**After ingesting a file:**
|
|
56
|
+
1. Record `{hash, ingested_at, pages_created, pages_updated}` in `.manifest.json`.
|
|
57
|
+
2. Write the updated manifest back.
|
|
58
|
+
|
|
59
|
+
Skip delta checking if the user says "force ingest" or "re-ingest".
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## URL Ingestion
|
|
64
|
+
|
|
65
|
+
Trigger: user passes a URL starting with `https://`.
|
|
66
|
+
|
|
67
|
+
Steps:
|
|
68
|
+
|
|
69
|
+
1. **Fetch** the page using WebFetch.
|
|
70
|
+
2. **Clean** (optional): if `defuddle` is available (`which defuddle 2>/dev/null`), run `defuddle [url]` to strip ads, nav, and clutter. Typically saves 40-60% tokens. Fall back to raw WebFetch output if not installed.
|
|
71
|
+
3. **Derive slug** from the URL path (last segment, lowercased, spaces→hyphens, strip query strings).
|
|
72
|
+
4. **Save** to `.raw/articles/[slug]-[YYYY-MM-DD].md` with a frontmatter header:
|
|
73
|
+
```markdown
|
|
74
|
+
---
|
|
75
|
+
source_url: [url]
|
|
76
|
+
fetched: [YYYY-MM-DD]
|
|
77
|
+
---
|
|
78
|
+
```
|
|
79
|
+
5. Proceed with **Single Source Ingest** starting at step 2 (file is now in `.raw/`).
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Image / Vision Ingestion
|
|
84
|
+
|
|
85
|
+
Trigger: user passes an image file path (`.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg`, `.avif`).
|
|
86
|
+
|
|
87
|
+
Steps:
|
|
88
|
+
|
|
89
|
+
1. **Read** the image file using the Read tool. pi can process images natively.
|
|
90
|
+
2. **Describe** the image contents: extract all text (OCR), identify key concepts, entities, diagrams, and data visible in the image.
|
|
91
|
+
3. **Save** the description to `.raw/images/[slug]-[YYYY-MM-DD].md`:
|
|
92
|
+
```markdown
|
|
93
|
+
---
|
|
94
|
+
source_type: image
|
|
95
|
+
original_file: [original path]
|
|
96
|
+
fetched: YYYY-MM-DD
|
|
97
|
+
---
|
|
98
|
+
# Image: [slug]
|
|
99
|
+
|
|
100
|
+
[Full description of image contents, transcribed text, entities visible, etc.]
|
|
101
|
+
```
|
|
102
|
+
4. Copy the image to `_attachments/images/[slug].[ext]` if it's not already in the vault.
|
|
103
|
+
5. Proceed with **Single Source Ingest** on the saved description file.
|
|
104
|
+
|
|
105
|
+
Use cases: whiteboard photos, screenshots, diagrams, infographics, document scans.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Single Source Ingest
|
|
110
|
+
|
|
111
|
+
Trigger: user drops a file into `.raw/` or pastes content.
|
|
112
|
+
|
|
113
|
+
Steps:
|
|
114
|
+
|
|
115
|
+
1. **Read** the source completely. Do not skim.
|
|
116
|
+
2. **Discuss** key takeaways with the user. Ask: "What should I emphasize? How granular?" Skip this if the user says "just ingest it."
|
|
117
|
+
3. **Create** source summary in `wiki/sources/`. Use the source frontmatter schema from `references/frontmatter.md`. Assign an address per the **Address Assignment** section below.
|
|
118
|
+
4. **Create or update** entity pages for every person, org, product, and repo mentioned. One page per entity. Assign addresses to new entity pages.
|
|
119
|
+
5. **Create or update** concept pages for significant ideas and frameworks. Assign addresses to new concept pages.
|
|
120
|
+
6. **Update** relevant domain page(s) and their `_index.md` sub-indexes.
|
|
121
|
+
7. **Update** `wiki/overview.md` if the big picture changed.
|
|
122
|
+
8. **Update** `wiki/index.md`. Add entries for all new pages.
|
|
123
|
+
9. **Update** `wiki/hot.md` with this ingest's context.
|
|
124
|
+
10. **Append** to `wiki/log.md` (new entries at the TOP):
|
|
125
|
+
```markdown
|
|
126
|
+
## [YYYY-MM-DD] ingest | Source Title
|
|
127
|
+
- Source: `.raw/articles/filename.md`
|
|
128
|
+
- Summary: [[Source Title]]
|
|
129
|
+
- Pages created: [[Page 1]], [[Page 2]]
|
|
130
|
+
- Pages updated: [[Page 3]], [[Page 4]]
|
|
131
|
+
- Key insight: One sentence on what is new.
|
|
132
|
+
```
|
|
133
|
+
11. **Check for contradictions.** If new info conflicts with existing pages, add `> [!contradiction]` callouts on both pages.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Batch Ingest
|
|
138
|
+
|
|
139
|
+
Trigger: user drops multiple files or says "ingest all of these."
|
|
140
|
+
|
|
141
|
+
Steps:
|
|
142
|
+
|
|
143
|
+
1. List all files to process. Confirm with user before starting.
|
|
144
|
+
2. Process each source following the single ingest flow. Defer cross-referencing between sources until step 3.
|
|
145
|
+
3. After all sources: do a cross-reference pass. Look for connections between the newly ingested sources.
|
|
146
|
+
4. Update index, hot cache, and log once at the end (not per-source).
|
|
147
|
+
5. Report: "Processed N sources. Created X pages, updated Y pages. Here are the key connections I found."
|
|
148
|
+
|
|
149
|
+
Batch ingest is less interactive. For 30+ sources, expect significant processing time. Check in with the user after every 10 sources.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Context Window Discipline
|
|
154
|
+
|
|
155
|
+
Token budget matters. Follow these rules during ingest:
|
|
156
|
+
|
|
157
|
+
- Read `wiki/hot.md` first. If it contains the relevant context, don't re-read full pages.
|
|
158
|
+
- Read `wiki/index.md` to find existing pages before creating new ones.
|
|
159
|
+
- Read only 3-5 existing pages per ingest. If you need 10+, you are reading too broadly.
|
|
160
|
+
- Use PATCH for surgical edits. Never re-read an entire file just to update one field.
|
|
161
|
+
- Keep wiki pages short. 100-300 lines max. If a page grows beyond 300 lines, split it.
|
|
162
|
+
- Use search (`/search/simple/`) to find specific content without reading full pages.
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Contradictions
|
|
167
|
+
|
|
168
|
+
> [!note] Custom callout dependency
|
|
169
|
+
> The `[!contradiction]` callout type used below is a **custom callout** defined in `.obsidian/snippets/vault-colors.css` (auto-installed by `/wiki` scaffold). It renders with reddish-brown styling and an alert-triangle icon when the snippet is enabled. If the snippet is missing, Obsidian falls back to default callout styling, so the page still works without the visual flourish. See [[skills/wiki/references/css-snippets.md]] for the four custom callouts (`contradiction`, `gap`, `key-insight`, `stale`).
|
|
170
|
+
|
|
171
|
+
When new info contradicts an existing wiki page:
|
|
172
|
+
|
|
173
|
+
On the existing page, add:
|
|
174
|
+
```markdown
|
|
175
|
+
> [!contradiction] Conflict with [[New Source]]
|
|
176
|
+
> [[Existing Page]] claims X. [[New Source]] says Y.
|
|
177
|
+
> Needs resolution. Check dates, context, and primary sources.
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
On the new source summary, reference it:
|
|
181
|
+
```markdown
|
|
182
|
+
> [!contradiction] Contradicts [[Existing Page]]
|
|
183
|
+
> This source says Y, but existing wiki says X. See [[Existing Page]] for details.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Do not silently overwrite old claims. Flag and let the user decide.
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## What Not to Do
|
|
191
|
+
|
|
192
|
+
- **Source files under `.raw/` are immutable.** Do not modify the files that users drop there (articles, transcripts, images). The `.raw/.manifest.json` delta tracker and its `address_map` (DragonScale Mechanism 2) are the only files under `.raw/` that `wiki-ingest` itself maintains. Treat every other file under `.raw/` as read-only source content.
|
|
193
|
+
- Do not create duplicate pages. Always check the index and search before creating.
|
|
194
|
+
- Do not skip the log entry. Every ingest must be recorded.
|
|
195
|
+
- Do not skip the hot cache update. It is what keeps future sessions fast.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Address Assignment (DragonScale Mechanism 2 MVP)
|
|
200
|
+
|
|
201
|
+
**Opt-in feature**. DragonScale address assignment runs only if `scripts/allocate-address.sh` is present AND `.vault-meta/` exists. Otherwise, skip this entire section and proceed with ingest normally.
|
|
202
|
+
|
|
203
|
+
**Feature detection (run at start of every ingest)**:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
if [ -x ./scripts/allocate-address.sh ] && [ -d ./.vault-meta ]; then
|
|
207
|
+
DRAGONSCALE_ADDRESSES=1
|
|
208
|
+
else
|
|
209
|
+
DRAGONSCALE_ADDRESSES=0
|
|
210
|
+
fi
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
When `DRAGONSCALE_ADDRESSES=0`, pages are created without an `address:` frontmatter field, and `wiki-lint`'s Address Validation section is skipped entirely (missing addresses are not flagged in any severity). This preserves default plugin behavior for vaults that have not adopted DragonScale.
|
|
214
|
+
|
|
215
|
+
When `DRAGONSCALE_ADDRESSES=1`, proceed with the rest of this section.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
Every **newly created non-meta wiki page** gets a stable address in its frontmatter:
|
|
220
|
+
|
|
221
|
+
```yaml
|
|
222
|
+
address: c-000042
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Format: `c-<6-digit-counter>`. The `c-` prefix stands for "creation-order counter." Zero-padded.
|
|
226
|
+
|
|
227
|
+
Rollout baseline: **2026-04-23** (Phase 2 ship date). Pages with `created:` >= this date are post-rollout and MUST have an address (unless excluded below). Pages with `created:` earlier are legacy-exempt until a deliberate backfill pass assigns `l-NNNNNN` addresses.
|
|
228
|
+
|
|
229
|
+
### Required tool: `scripts/allocate-address.sh`
|
|
230
|
+
|
|
231
|
+
Address allocation is delegated to an atomic Bash helper. The helper uses `flock` on `.vault-meta/.address.lock` to prevent read-use-increment races and recovers the counter by scanning existing frontmatter if the counter file is missing.
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
ADDR=$(./scripts/allocate-address.sh)
|
|
235
|
+
# ADDR is now e.g. "c-000042"; counter is already incremented
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**CRITICAL**: never use the Write or Edit tool on `.vault-meta/address-counter.txt`. That would fire the PostToolUse hook, which runs `git add $WIKI_PATH/ .raw/` and can accidentally commit unrelated pending wiki changes under a generic message. Counter mutation is **only** permitted through the helper script (Bash tool).
|
|
239
|
+
|
|
240
|
+
### Helper modes
|
|
241
|
+
|
|
242
|
+
- `./scripts/allocate-address.sh` — atomically reserves and returns the next address.
|
|
243
|
+
- `./scripts/allocate-address.sh --peek` — prints the next value without reserving (safe, read-only).
|
|
244
|
+
- `./scripts/allocate-address.sh --rebuild` — recomputes the counter from the highest observed `c-NNNNNN` in existing frontmatter. Never resets to 1 silently if pages already have addresses. Run this if the counter file is suspected corrupt.
|
|
245
|
+
|
|
246
|
+
### Assignment procedure (per new page)
|
|
247
|
+
|
|
248
|
+
1. Before writing a new non-meta page, call `./scripts/allocate-address.sh` and capture the output.
|
|
249
|
+
2. Include `address: c-XXXXXX` in the page's frontmatter.
|
|
250
|
+
3. Record the path-to-address mapping in `.raw/.manifest.json` under a new top-level key `address_map` (see schema below).
|
|
251
|
+
|
|
252
|
+
### `address_map` in `.raw/.manifest.json`
|
|
253
|
+
|
|
254
|
+
```json
|
|
255
|
+
{
|
|
256
|
+
"sources": { ... },
|
|
257
|
+
"address_map": {
|
|
258
|
+
"wiki/concepts/Example.md": "c-000042",
|
|
259
|
+
"wiki/entities/Another.md": "c-000043"
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
On re-ingest of the same source (whether by `--force` or a changed hash), always consult `address_map` first. If the target page path has a prior address, REUSE it. Do not allocate a new one.
|
|
265
|
+
|
|
266
|
+
On a page rename, the skill must update the `address_map` key (old path -> new path) while preserving the address value.
|
|
267
|
+
|
|
268
|
+
### Exclusions (do NOT assign an address to)
|
|
269
|
+
|
|
270
|
+
- Meta files: `_index.md`, `index.md`, `log.md`, `hot.md`, `overview.md`, `dashboard.md`, `dashboard.base`, `Wiki Map.md`, `getting-started.md`.
|
|
271
|
+
- Fold pages under `wiki/folds/` (they use their own deterministic `fold_id`).
|
|
272
|
+
- Pre-rollout legacy pages (`created:` < 2026-04-23). Legacy pages get `l-NNNNNN` addresses only via a deliberate backfill operation.
|
|
273
|
+
|
|
274
|
+
### Idempotency rules
|
|
275
|
+
|
|
276
|
+
- If a page being (re)written already has an `address:` field in its current content, REUSE it. Do not allocate a new one.
|
|
277
|
+
- If a source is re-ingested and `address_map` has a mapping for the target path, reuse that mapping.
|
|
278
|
+
- If the source has been ingested before AND the target page has no address AND the page `created:` date is post-rollout, allocate an address and record it. This covers the case where an older ingest produced a page before Phase 2 rollout; the rollout cutoff still applies (pages dated pre-2026-04-23 stay legacy).
|
|
279
|
+
|
|
280
|
+
### Concurrency policy
|
|
281
|
+
|
|
282
|
+
- **Single-writer only** in Phase 2. Do not run parallel ingests from multiple pi sessions or sub-agents that assign addresses. The `flock` in the helper prevents counter corruption but does not serialize page writes themselves.
|
|
283
|
+
- Sub-agents (codex, general-purpose) that are dispatched for research or review MUST NOT call the allocator. They are read-only in this respect.
|
|
284
|
+
- Multi-writer support is a deferred feature.
|
|
285
|
+
|
|
286
|
+
### Batch ingest
|
|
287
|
+
|
|
288
|
+
Assign addresses sequentially during single-source-ingest for each source. Do not pre-reserve a block of counter values. The helper is cheap (one lock, one integer read/write).
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wiki-lint
|
|
3
|
+
description: >
|
|
4
|
+
Health check the Obsidian wiki vault. Finds orphan pages, dead wikilinks, stale claims,
|
|
5
|
+
missing cross-references, frontmatter gaps, and empty sections. Creates or updates
|
|
6
|
+
Dataview dashboards. Generates canvas maps. Triggers on: "lint", "health check",
|
|
7
|
+
"clean up wiki", "check the wiki", "wiki maintenance", "find orphans", "wiki audit".
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# wiki-lint: Wiki Health Check
|
|
11
|
+
|
|
12
|
+
Run lint after every 10-15 ingests, or weekly. Ask before auto-fixing anything. Output a lint report to `wiki/meta/lint-report-YYYY-MM-DD.md`.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Wiki Path Resolution
|
|
17
|
+
|
|
18
|
+
All `wiki/` paths in this skill are relative to the wiki directory inside the Obsidian vault. Resolve before any file operation:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
WIKI_PATH="${VAULT_WIKI_PATH:-vault/wiki}"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Use `$WIKI_PATH/` as the prefix for all `wiki/...` file paths. Example: `wiki/index.md` → `$WIKI_PATH/index.md` (default: `vault/wiki/index.md`).
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Lint Checks
|
|
29
|
+
|
|
30
|
+
Work through these in order:
|
|
31
|
+
|
|
32
|
+
1. **Orphan pages**. Wiki pages with no inbound wikilinks. They exist but nothing points to them.
|
|
33
|
+
2. **Dead links**. Wikilinks that reference a page that does not exist.
|
|
34
|
+
3. **Stale claims**. Assertions on older pages that newer sources have contradicted or updated.
|
|
35
|
+
4. **Missing pages**. Concepts or entities mentioned in multiple pages but lacking their own page.
|
|
36
|
+
5. **Missing cross-references**. Entities mentioned in a page but not linked.
|
|
37
|
+
6. **Frontmatter gaps**. Pages missing required fields (type, status, created, updated, tags).
|
|
38
|
+
7. **Empty sections**. Headings with no content underneath.
|
|
39
|
+
8. **Stale index entries**. Items in `wiki/index.md` pointing to renamed or deleted pages.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Lint Report Format
|
|
44
|
+
|
|
45
|
+
Create at `wiki/meta/lint-report-YYYY-MM-DD.md`:
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
---
|
|
49
|
+
type: meta
|
|
50
|
+
title: "Lint Report YYYY-MM-DD"
|
|
51
|
+
created: YYYY-MM-DD
|
|
52
|
+
updated: YYYY-MM-DD
|
|
53
|
+
tags: [meta, lint]
|
|
54
|
+
status: developing
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
# Lint Report: YYYY-MM-DD
|
|
58
|
+
|
|
59
|
+
## Summary
|
|
60
|
+
- Pages scanned: N
|
|
61
|
+
- Issues found: N
|
|
62
|
+
- Auto-fixed: N
|
|
63
|
+
- Needs review: N
|
|
64
|
+
|
|
65
|
+
## Orphan Pages
|
|
66
|
+
- [[Page Name]]: no inbound links. Suggest: link from [[Related Page]] or delete.
|
|
67
|
+
|
|
68
|
+
## Dead Links
|
|
69
|
+
- [[Missing Page]]: referenced in [[Source Page]] but does not exist. Suggest: create stub or remove link.
|
|
70
|
+
|
|
71
|
+
## Missing Pages
|
|
72
|
+
- "concept name": mentioned in [[Page A]], [[Page B]], [[Page C]]. Suggest: create a concept page.
|
|
73
|
+
|
|
74
|
+
## Frontmatter Gaps
|
|
75
|
+
- [[Page Name]]: missing fields: status, tags
|
|
76
|
+
|
|
77
|
+
## Stale Claims
|
|
78
|
+
- [[Page Name]]: claim "X" may conflict with newer source [[Newer Source]].
|
|
79
|
+
|
|
80
|
+
## Cross-Reference Gaps
|
|
81
|
+
- [[Entity Name]] mentioned in [[Page A]] without a wikilink.
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Naming Conventions
|
|
87
|
+
|
|
88
|
+
Enforce these during lint:
|
|
89
|
+
|
|
90
|
+
| Element | Convention | Example |
|
|
91
|
+
|---------|-----------|---------|
|
|
92
|
+
| Filenames | Title Case with spaces | `Machine Learning.md` |
|
|
93
|
+
| Folders | lowercase with dashes | `wiki/data-models/` |
|
|
94
|
+
| Tags | lowercase, hierarchical | `#domain/architecture` |
|
|
95
|
+
| Wikilinks | match filename exactly | `[[Machine Learning]]` |
|
|
96
|
+
|
|
97
|
+
Filenames must be unique across the vault. Wikilinks work without paths only if filenames are unique.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Writing Style Check
|
|
102
|
+
|
|
103
|
+
During lint, flag pages that violate the style guide:
|
|
104
|
+
|
|
105
|
+
- Not declarative present tense ("X basically does Y" instead of "X does Y")
|
|
106
|
+
- Missing source citations where claims are made
|
|
107
|
+
- Uncertainty not flagged with `> [!gap]`
|
|
108
|
+
- Contradictions not flagged with `> [!contradiction]`
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Dataview Dashboard
|
|
113
|
+
|
|
114
|
+
Create or update `wiki/meta/dashboard.md` with these queries:
|
|
115
|
+
|
|
116
|
+
````markdown
|
|
117
|
+
---
|
|
118
|
+
type: meta
|
|
119
|
+
title: "Dashboard"
|
|
120
|
+
updated: YYYY-MM-DD
|
|
121
|
+
---
|
|
122
|
+
# Wiki Dashboard
|
|
123
|
+
|
|
124
|
+
## Recent Activity
|
|
125
|
+
```dataview
|
|
126
|
+
TABLE type, status, updated FROM "wiki" SORT updated DESC LIMIT 15
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Seed Pages (Need Development)
|
|
130
|
+
```dataview
|
|
131
|
+
LIST FROM "wiki" WHERE status = "seed" SORT updated ASC
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Entities Missing Sources
|
|
135
|
+
```dataview
|
|
136
|
+
LIST FROM "wiki/entities" WHERE !sources OR length(sources) = 0
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Open Questions
|
|
140
|
+
```dataview
|
|
141
|
+
LIST FROM "wiki/questions" WHERE answer_quality = "draft" SORT created DESC
|
|
142
|
+
```
|
|
143
|
+
````
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Canvas Map
|
|
148
|
+
|
|
149
|
+
Create or update `wiki/meta/overview.canvas` for a visual domain map:
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"nodes": [
|
|
154
|
+
{
|
|
155
|
+
"id": "1",
|
|
156
|
+
"type": "file",
|
|
157
|
+
"file": "wiki/overview.md",
|
|
158
|
+
"x": 0, "y": 0,
|
|
159
|
+
"width": 300, "height": 140,
|
|
160
|
+
"color": "1"
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"edges": []
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Add one node per domain page. Connect domains that have significant cross-references. Colors map to the CSS scheme: 1=blue, 2=purple, 3=yellow, 4=orange, 5=green, 6=red.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Before Auto-Fixing
|
|
172
|
+
|
|
173
|
+
Always show the lint report first. Ask: "Should I fix these automatically, or do you want to review each one?"
|
|
174
|
+
|
|
175
|
+
Safe to auto-fix:
|
|
176
|
+
- Adding missing frontmatter fields with placeholder values
|
|
177
|
+
- Creating stub pages for missing entities
|
|
178
|
+
- Adding wikilinks for unlinked mentions
|
|
179
|
+
|
|
180
|
+
Needs review before fixing:
|
|
181
|
+
- Deleting orphan pages (they might be intentionally isolated)
|
|
182
|
+
- Resolving contradictions (requires human judgment)
|
|
183
|
+
- Merging duplicate pages
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wiki-query
|
|
3
|
+
description: "Answer questions using the Obsidian wiki vault. Reads hot cache first, then index, then relevant pages. Synthesizes answers with citations. Files good answers back as wiki pages. Supports quick, standard, and deep modes. Triggers on: what do you know about, query:, what is, explain, summarize, find in wiki, search the wiki, based on the wiki, wiki query quick, wiki query deep."
|
|
4
|
+
allowed-tools: Read Glob Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# wiki-query: Query the Wiki
|
|
8
|
+
|
|
9
|
+
The wiki has already done the synthesis work. Read strategically, answer precisely, and file good answers back so the knowledge compounds.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Wiki Path Resolution
|
|
14
|
+
|
|
15
|
+
All `wiki/` paths in this skill are relative to the wiki directory inside the Obsidian vault. Resolve before any file operation:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
WIKI_PATH="${VAULT_WIKI_PATH:-vault/wiki}"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Use `$WIKI_PATH/` as the prefix for all `wiki/...` file paths. Example: `wiki/index.md` → `$WIKI_PATH/index.md` (default: `vault/wiki/index.md`).
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Query Modes
|
|
26
|
+
|
|
27
|
+
Three depths. Choose based on the question complexity.
|
|
28
|
+
|
|
29
|
+
| Mode | Trigger | Reads | Token cost | Best for |
|
|
30
|
+
|------|---------|-------|------------|---------|
|
|
31
|
+
| **Quick** | `query quick: ...` or simple factual Q | hot.md + index.md only | ~1,500 | "What is X?", date lookups, quick facts |
|
|
32
|
+
| **Standard** | default (no flag) | hot.md + index + 3-5 pages | ~3,000 | Most questions |
|
|
33
|
+
| **Deep** | `query deep: ...` or "thorough", "comprehensive" | Full wiki + optional web | ~8,000+ | "Compare A vs B across everything", synthesis, gap analysis |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Quick Mode
|
|
38
|
+
|
|
39
|
+
Use when the answer is likely in the hot cache or index summary.
|
|
40
|
+
|
|
41
|
+
1. Read `wiki/hot.md`. If it answers the question, respond immediately.
|
|
42
|
+
2. If not, read `wiki/index.md`. Scan descriptions for the answer.
|
|
43
|
+
3. If found in index summary, respond and do not open any pages.
|
|
44
|
+
4. If not found, say "Not in quick cache. Run as standard query?"
|
|
45
|
+
|
|
46
|
+
Do not open individual wiki pages in quick mode.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Standard Query Workflow
|
|
51
|
+
|
|
52
|
+
1. **Read** `wiki/hot.md` first. It may already have the answer or directly relevant context.
|
|
53
|
+
2. **Read** `wiki/index.md` to find the most relevant pages (scan for titles and descriptions).
|
|
54
|
+
3. **Read** those pages. Follow wikilinks to depth-2 for key entities. No deeper.
|
|
55
|
+
4. **Synthesize** the answer in chat. Cite sources with wikilinks: `(Source: [[Page Name]])`.
|
|
56
|
+
5. **Offer to file** the answer: "This analysis seems worth keeping. Should I save it as `wiki/questions/answer-name.md`?"
|
|
57
|
+
6. If the question reveals a **gap**: say "I don't have enough on X. Want to find a source?"
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Deep Mode
|
|
62
|
+
|
|
63
|
+
Use for synthesis questions, comparisons, or "tell me everything about X."
|
|
64
|
+
|
|
65
|
+
1. Read `wiki/hot.md` and `wiki/index.md`.
|
|
66
|
+
2. Identify all relevant sections (concepts, entities, sources, comparisons).
|
|
67
|
+
3. Read every relevant page. No skipping.
|
|
68
|
+
4. If wiki coverage is thin, offer to supplement with web search.
|
|
69
|
+
5. Synthesize a comprehensive answer with full citations.
|
|
70
|
+
6. Always file the result back as a wiki page. Deep answers are too valuable to lose.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Token Discipline
|
|
75
|
+
|
|
76
|
+
Read the minimum needed:
|
|
77
|
+
|
|
78
|
+
| Start with | Cost (approx) | When to stop |
|
|
79
|
+
|------------|---------------|--------------|
|
|
80
|
+
| hot.md | ~500 tokens | If it has the answer |
|
|
81
|
+
| index.md | ~1000 tokens | If you can identify 3-5 relevant pages |
|
|
82
|
+
| 3-5 wiki pages | ~300 tokens each | Usually sufficient |
|
|
83
|
+
| 10+ wiki pages | expensive | Only for synthesis across the entire wiki |
|
|
84
|
+
|
|
85
|
+
If hot.md has the answer, respond without reading further.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Index Format Reference
|
|
90
|
+
|
|
91
|
+
The master index (`wiki/index.md`) looks like:
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
## Domains
|
|
95
|
+
- [[Domain Name]]: description (N sources)
|
|
96
|
+
|
|
97
|
+
## Entities
|
|
98
|
+
- [[Entity Name]]: role (first: [[Source]])
|
|
99
|
+
|
|
100
|
+
## Concepts
|
|
101
|
+
- [[Concept Name]]: definition (status: developing)
|
|
102
|
+
|
|
103
|
+
## Sources
|
|
104
|
+
- [[Source Title]]: author, date, type
|
|
105
|
+
|
|
106
|
+
## Questions
|
|
107
|
+
- [[Question Title]]: answer summary
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Scan the section headers first to determine which sections to read.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Domain Sub-Index Format
|
|
115
|
+
|
|
116
|
+
Each domain folder has a `_index.md` for focused lookups:
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
---
|
|
120
|
+
type: meta
|
|
121
|
+
title: "Entities Index"
|
|
122
|
+
updated: YYYY-MM-DD
|
|
123
|
+
---
|
|
124
|
+
# Entities
|
|
125
|
+
|
|
126
|
+
## People
|
|
127
|
+
- [[Person Name]]: role, org
|
|
128
|
+
|
|
129
|
+
## Organizations
|
|
130
|
+
- [[Org Name]]: what they do
|
|
131
|
+
|
|
132
|
+
## Products
|
|
133
|
+
- [[Product Name]]: category
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Use sub-indexes when the question is scoped to one domain. Avoid reading the full master index for narrow queries.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Filing Answers Back
|
|
141
|
+
|
|
142
|
+
Good answers compound into the wiki. Don't let insights disappear into chat history.
|
|
143
|
+
|
|
144
|
+
When filing an answer:
|
|
145
|
+
|
|
146
|
+
```yaml
|
|
147
|
+
---
|
|
148
|
+
type: question
|
|
149
|
+
title: "Short descriptive title"
|
|
150
|
+
question: "The exact query as asked."
|
|
151
|
+
answer_quality: solid
|
|
152
|
+
created: YYYY-MM-DD
|
|
153
|
+
updated: YYYY-MM-DD
|
|
154
|
+
tags: [question, <domain>]
|
|
155
|
+
related:
|
|
156
|
+
- "[[Page referenced in answer]]"
|
|
157
|
+
sources:
|
|
158
|
+
- "[[wiki/sources/relevant-source.md]]"
|
|
159
|
+
status: developing
|
|
160
|
+
---
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Then write the answer as the page body. Include citations. Link every mentioned concept or entity.
|
|
164
|
+
|
|
165
|
+
After filing, add an entry to `wiki/index.md` under Questions and append to `wiki/log.md`.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Gap Handling
|
|
170
|
+
|
|
171
|
+
If the question cannot be answered from the wiki:
|
|
172
|
+
|
|
173
|
+
1. Say clearly: "I don't have enough in the wiki to answer this well."
|
|
174
|
+
2. Identify the specific gap: "I have nothing on [subtopic]."
|
|
175
|
+
3. Suggest: "Want to find a source on this? I can help you search or process one."
|
|
176
|
+
4. Do not fabricate. Do not answer from training data if the question is about the specific domain in this wiki.
|