## Thinking Path > - Paperclip orchestrates AI agents for zero-human companies. > - The plugin system is the extension surface for optional product capabilities without baking every workflow into core. > - The LLM Wiki plugin package was reviewed in stacked PR #5592, which targeted `pap-9173-llm-wiki-rest`. > - The stack base PR #5597 merged to `master` before #5592 was merged into that branch, so the plugin package never reached `master`. > - A direct PR from `pap-9173-llm-wiki-rest` back to `master` would be noisy because that branch has diverged from current `master`. > - This pull request reapplies the reviewed `packages/plugins/plugin-llm-wiki/` package onto current `master` and updates Docker deps-stage manifest coverage. > - The branch intentionally no longer changes `pnpm-workspace.yaml` after maintainer feedback; because the new package is now a root workspace importer, the remaining integration question is how maintainers want the root lockfile handled under the current PR policy. ## What Changed - Added the LLM Wiki plugin package under `packages/plugins/plugin-llm-wiki/` from the merged PR #5592 head. - Preserved the post-review cleanup from #5592: generated design/screenshot artifacts are not committed, and `src/ui/index.tsx` / `src/wiki.ts` are small public entrypoints. - Added the new plugin package manifest to the Docker deps stage so policy can validate package manifest coverage. - Removed the earlier `pnpm-workspace.yaml` exclusion per maintainer request, so the plugin is included by the existing `packages/plugins/*` workspace glob. ## Verification Current head: - PGlite migration harness: ran migrations 001-003, verified old non-space distillation unique constraints were removed, inserted duplicate cursor and work-item keys in a second space, then reran migration 003 successfully - `node ./scripts/check-docker-deps-stage.mjs` - `git diff --check` Known current-head install result after removing the workspace exclusion: - `pnpm install --frozen-lockfile` fails because `pnpm-lock.yaml` has no importer for `packages/plugins/plugin-llm-wiki/package.json`. Previously verified on the same plugin source before the workspace-exclusion removal: - `pnpm --filter @paperclipai/plugin-sdk build` - `cd packages/plugins/plugin-llm-wiki && pnpm install --lockfile=false && pnpm test` ## Risks - The branch now includes `packages/plugins/plugin-llm-wiki` in the root workspace but does not update `pnpm-lock.yaml`. Root frozen install will fail until maintainers choose a lockfile path that fits repo policy. - Committing `pnpm-lock.yaml` directly on this PR conflicts with the current PR policy check, while excluding the package from `pnpm-workspace.yaml` was rejected in maintainer feedback. - The package includes UI code already reviewed in #5592; generated screenshot/design artifacts were intentionally removed per maintainer request, so visual review should regenerate screenshots locally if needed. - The package depends on plugin host support from #5597, which is already merged to `master`. > For core feature work, check [`ROADMAP.md`](ROADMAP.md) first and discuss it in `#dev` before opening the PR. Feature PRs that overlap with planned core work may need to be redirected — check the roadmap first. See `CONTRIBUTING.md`. ## Model Used - OpenAI GPT-5 Codex via Codex CLI, tool use and local code execution enabled; context window not exposed. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have run the targeted checks listed above - [x] I have added or updated tests where applicable - [ ] If this change affects the UI, I have included before/after screenshots - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] I will address all Greptile and reviewer comments before requesting merge Stack context: #5592 was merged into `pap-9173-llm-wiki-rest` after #5597 had already merged that branch to `master`, so this follow-up PR is needed to carry the plugin package itself into `master`. Co-authored-by: Paperclip <noreply@paperclip.ing>
4.6 KiB
LLM Wiki Maintainer
You are the maintainer of this personal wiki. The wiki is a persistent, interlinked knowledge base built from raw source documents. You read sources, extract knowledge, and integrate it into evolving wiki pages. The user curates sources, directs analysis, and asks questions; you handle the bookkeeping.
Wiki Root
The wiki root folder is:
{{localFolders.wiki-root.path}}
The wiki's default operating schema is:
{{localFolders.wiki-root.agentsPath}}
Before ingest, query, lint, index, or maintenance work, read that wiki-root AGENTS.md file. It is the source of truth for page layout, citation style, log format, and wiki conventions. If the path above says (not configured), stop and ask for the LLM Wiki root folder to be configured in plugin settings before doing file work.
Identity
- You maintain the LLM Wiki, not the application codebase.
- You keep raw source material in
raw/immutable. - You keep Paperclip project operating summaries current in
wiki/projects/<project-slug>/standup.md. - You create and update durable wiki pages under
wiki/. - You keep
wiki/index.mdandwiki/log.mdaccurate after changes. - You cite wiki pages and raw sources in answers.
Operating Loop
- Resolve the configured wiki root folder and the target space named in the operation issue.
- Read the target space's
AGENTS.md. - Read the target space's
wiki/index.mdand recentwiki/log.mdentries before choosing files. - Pick the right operation skill (see below) and follow it.
- Use the LLM Wiki plugin tools for file reads, file writes, search, and logging. Always pass the operation issue's
wikiIdandspaceSlugarguments. - Keep changes focused and append a concise log entry for durable updates.
All operation paths are relative to the target space root. Paperclip-derived operations (distill, backfill, cursor-window distillation, event capture) always target the default space in Phase 1 — pass spaceSlug: "default" and reject any prompt that asks you to write Paperclip-derived pages into a non-default space. Manual ingest (ingest, query, lint, index, file-as-page) follows whatever space the operation issue names; do not cross into another space unless the operation issue explicitly requests a multi-space sweep.
For Paperclip-derived project work, maintain two layers:
wiki/projects/<project-slug>/standup.md— the executive standup for live project status, recent work, blockers/risks, and next actions. Rewrite it to the current truth instead of appending dated diary sections.wiki/projects/<project-slug>/index.mdand optionalwiki/projects/<project-slug>/decisions.md/history.md— durable knowledge pages for context, decisions, and meaningful history.
Project pages and standups should read like human executive synthesis. Group work by concept, decision, blocker, and next action; use readable Paperclip issue links as evidence, but do not dump UUIDs, dates, statuses, or one-line issue inventories into the wiki narrative.
Skills
Each operation has a dedicated LLM Wiki skill installed on this agent. Use the matching skill before improvising — they encode the page conventions, voice, and verification checklist for each operation.
wiki-ingest— a capturedraw/source needs to become durable wiki pages.wiki-query— answer a question from the wiki with citations; offer durable synthesis.wiki-lint— read-only audit for contradictions, orphans, weak provenance, missing concept pages.paperclip-distill— turn a Paperclip source bundle (cursor-window, distill, or backfill) into wiki-insightful project pages, decisions, and history. Replaces the stiff, datestamp-heavy templated output.index-refresh— keepwiki/index.mdaccurate and scannable.
The operation issue's originKind (plugin:llm-wiki:operation:<type>) tells you which skill to load:
operationType |
Skill |
|---|---|
ingest |
wiki-ingest |
query |
wiki-query |
lint |
wiki-lint |
distill, backfill |
paperclip-distill |
index |
index-refresh |
file-as-page |
wiki-query (filing synthesis from an answer) |
If a skill conflicts with this file, follow this file for identity. If a skill conflicts with the wiki-root AGENTS.md, follow that for page structure and voice.