@prismer/runtime 2.0.8 → 2.2.55

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.
Files changed (119) hide show
  1. package/CHANGELOG.md +3430 -0
  2. package/README.md +34 -12
  3. package/apc/skills/FIELD-DICTIONARY.md +111 -0
  4. package/apc/skills/bug-reproduce/SKILL.md +150 -0
  5. package/apc/skills/bug-reproduce/skill.json +96 -0
  6. package/apc/skills/code-review/SKILL.md +198 -0
  7. package/apc/skills/code-review/skill.json +124 -0
  8. package/apc/skills/design-review/SKILL.md +122 -0
  9. package/apc/skills/design-review/skill.json +88 -0
  10. package/apc/skills/doc-sync/SKILL.md +168 -0
  11. package/apc/skills/doc-sync/skill.json +81 -0
  12. package/apc/skills/env-doctor/SKILL.md +194 -0
  13. package/apc/skills/env-doctor/skill.json +209 -0
  14. package/apc/skills/git-ops/SKILL.md +189 -0
  15. package/apc/skills/git-ops/skill.json +94 -0
  16. package/apc/skills/impact-trace/SKILL.md +168 -0
  17. package/apc/skills/impact-trace/skill.json +104 -0
  18. package/apc/skills/observability/SKILL.md +195 -0
  19. package/apc/skills/observability/skill.json +116 -0
  20. package/apc/skills/release-db-config-sync/SKILL.md +186 -0
  21. package/apc/skills/release-db-config-sync/skill.json +109 -0
  22. package/apc/skills/release-ota-promote/SKILL.md +195 -0
  23. package/apc/skills/release-ota-promote/skill.json +176 -0
  24. package/apc/skills/release-preflight/SKILL.md +174 -0
  25. package/apc/skills/release-preflight/skill.json +175 -0
  26. package/apc/skills/release-rollback/SKILL.md +214 -0
  27. package/apc/skills/release-rollback/skill.json +230 -0
  28. package/apc/skills/release-tag/SKILL.md +194 -0
  29. package/apc/skills/release-tag/skill.json +94 -0
  30. package/apc/skills/releasing-prod/SKILL.md +49 -0
  31. package/apc/skills/releasing-test/SKILL.md +135 -0
  32. package/apc/skills/sdk-release/SKILL.md +200 -0
  33. package/apc/skills/spec-intake/SKILL.md +169 -0
  34. package/apc/skills/spec-intake/skill.json +93 -0
  35. package/apc/skills/test-result-feedback/SKILL.md +239 -0
  36. package/apc/skills/test-result-feedback/skill.json +193 -0
  37. package/apc/skills/test-runner/SKILL.md +169 -0
  38. package/apc/skills/test-runner/skill.json +103 -0
  39. package/apc/skills/ui-align/SKILL.md +209 -0
  40. package/apc/skills/ui-align/skill.json +114 -0
  41. package/apc/skills/ui-canvas/SKILL.md +148 -0
  42. package/apc/skills/ui-canvas/skill.json +127 -0
  43. package/built-in-skills/agent-coordination/SKILL.md +59 -37
  44. package/built-in-skills/agent-meta/SKILL.md +1 -0
  45. package/built-in-skills/assets/SKILL.md +8 -6
  46. package/built-in-skills/browser-use/SKILL.md +93 -0
  47. package/built-in-skills/canvas-design/SKILL.md +1 -0
  48. package/built-in-skills/claim-agent-ownership/SKILL.md +3 -2
  49. package/built-in-skills/claude-api/SKILL.md +1 -0
  50. package/built-in-skills/codebase-design/DEEPENING.md +37 -0
  51. package/built-in-skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  52. package/built-in-skills/codebase-design/LICENSE +21 -0
  53. package/built-in-skills/codebase-design/SKILL.md +116 -0
  54. package/built-in-skills/conversation-compaction/SKILL.md +114 -0
  55. package/built-in-skills/council-creator/SKILL.md +426 -0
  56. package/built-in-skills/diagnosing-bugs/LICENSE +21 -0
  57. package/built-in-skills/diagnosing-bugs/SKILL.md +136 -0
  58. package/built-in-skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  59. package/built-in-skills/doc-coauthoring/SKILL.md +1 -0
  60. package/built-in-skills/document-generation/SKILL.md +105 -0
  61. package/built-in-skills/domain-modeling/ADR-FORMAT.md +47 -0
  62. package/built-in-skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  63. package/built-in-skills/domain-modeling/LICENSE +21 -0
  64. package/built-in-skills/domain-modeling/SKILL.md +76 -0
  65. package/built-in-skills/frontend-design/SKILL.md +1 -0
  66. package/built-in-skills/human-approval/SKILL.md +17 -2
  67. package/built-in-skills/image-generate/SKILL.md +103 -302
  68. package/built-in-skills/image-generate/scripts/generate-and-deliver.mjs +289 -0
  69. package/built-in-skills/ingest/SKILL.md +13 -45
  70. package/built-in-skills/internal-comms/SKILL.md +1 -0
  71. package/built-in-skills/liteparse/SKILL.md +130 -110
  72. package/built-in-skills/mcp-builder/SKILL.md +1 -0
  73. package/built-in-skills/memory/SKILL.md +420 -55
  74. package/built-in-skills/memory-dream/SKILL.md +339 -0
  75. package/built-in-skills/office-artifacts/SKILL.md +17 -4
  76. package/built-in-skills/okr/SKILL.md +154 -0
  77. package/built-in-skills/persona/SKILL.md +81 -0
  78. package/built-in-skills/persona-generator/SKILL.md +296 -0
  79. package/built-in-skills/pkf-svg/SKILL.md +253 -0
  80. package/built-in-skills/pkf-writing/SKILL.md +236 -0
  81. package/built-in-skills/prismer-im-collab/SKILL.md +26 -6
  82. package/built-in-skills/proactivity/SKILL.md +84 -0
  83. package/built-in-skills/remotion/SKILL.md +431 -0
  84. package/built-in-skills/role-builder/SKILL.md +203 -0
  85. package/built-in-skills/role-builder/scripts/author-role.mjs +334 -0
  86. package/built-in-skills/role-builder/scripts/ingest-role.mjs +223 -0
  87. package/built-in-skills/role-builder/scripts/instantiate-and-run.mjs +290 -0
  88. package/built-in-skills/role-builder/scripts/operation-harness.mjs +267 -0
  89. package/built-in-skills/skill-authoring/SKILL.md +110 -100
  90. package/built-in-skills/skill-authoring/skill.json +3 -3
  91. package/built-in-skills/skill-builder/SKILL.md +171 -0
  92. package/built-in-skills/skill-builder/scripts/ingest.mjs +265 -0
  93. package/built-in-skills/skill-creator/SKILL.md +165 -423
  94. package/built-in-skills/skill-creator/references/external-library-import.md +110 -0
  95. package/built-in-skills/skill-creator/scripts/import-library.mjs +475 -0
  96. package/built-in-skills/slack-gif-creator/SKILL.md +20 -0
  97. package/built-in-skills/tasks/SKILL.md +38 -23
  98. package/built-in-skills/tdd/LICENSE +21 -0
  99. package/built-in-skills/tdd/SKILL.md +110 -0
  100. package/built-in-skills/tdd/mocking.md +59 -0
  101. package/built-in-skills/tdd/refactoring.md +10 -0
  102. package/built-in-skills/tdd/tests.md +61 -0
  103. package/built-in-skills/team/SKILL.md +2 -1
  104. package/built-in-skills/web-artifacts-builder/SKILL.md +1 -0
  105. package/built-in-skills/webapp-testing/SKILL.md +1 -0
  106. package/built-in-skills/wechat-pay/SKILL.md +59 -0
  107. package/dist/cli.cjs +71872 -19960
  108. package/dist/cli.js +71803 -19846
  109. package/dist/index.cjs +72010 -19966
  110. package/dist/index.d.cts +4258 -712
  111. package/dist/index.d.ts +4258 -712
  112. package/dist/index.js +72156 -20118
  113. package/package.json +37 -6
  114. package/plugins/memory/prismer/__init__.py +1211 -0
  115. package/plugins/memory/prismer/plugin.yaml +8 -0
  116. package/plugins/memory/prismer/tool-schemas.generated.json +249 -0
  117. package/plugins/tools/prismer-recall/__init__.py +282 -0
  118. package/plugins/tools/prismer-recall/plugin.yaml +15 -0
  119. package/built-in-skills/memory-curation/SKILL.md +0 -135
@@ -1,156 +1,176 @@
1
1
  ---
2
2
  name: liteparse
3
- description: Parse documents into LLM-ready content entirely on the local machine — PDF / DOCX / XLSX / PPTX / images → Markdown, structured JSON (with bounding boxes), or page screenshots, via the `lit` CLI. No cloud, no LLM, works offline. Use whenever the user attaches or points to a document that must be read before reasoning, or asks to extract text / tables / page images from a file.
3
+ scope: common
4
+ description: "Parse local document files into LLM-ready content on the daemon itself — PDFs → Markdown / structured JSON (with bounding boxes) / page screenshots via the bundled `lit` CLI. PDF works out of the box, offline, zero external deps (Tesseract + PDFium are bundled): digital PDFs use a near-instant native text path (`--no-ocr`), scanned PDFs fall back to bundled OCR. Image files (PNG/JPG) additionally need ImageMagick, and Office files (DOCX/XLSX/PPTX) need LibreOffice — install those on demand only when required. Use whenever the user attaches or points to a local file that must be read before reasoning, or asks to extract text / tables / page images from a file on disk. For web URLs and search, use the `ingest` skill instead."
4
5
  ---
5
6
 
6
7
  # LiteParse (local-first document parsing)
7
8
 
8
- LiteParse is a standalone OSS parser (Rust core, PDFium + Tesseract +
9
- LibreOffice) that turns documents into text the model can read — **fully
10
- local, zero cloud dependency, works with no network**. It is the
11
- daemon's local-first document-parsing path.
9
+ LiteParse turns document files into text the model can read **on the
10
+ daemon machine, offline, zero cloud dependency**. It ships as the
11
+ `@llamaindex/liteparse` npm package (CLI: `lit`) with **PDFium and
12
+ Tesseract bundled inside the package** — the digital-PDF and scanned-OCR
13
+ paths need no external system dependencies.
12
14
 
13
15
  > Upstream: [`run-llama/liteparse`](https://github.com/run-llama/liteparse)
14
16
  > + skill [`run-llama/llamaparse-agent-skills`](https://github.com/run-llama/llamaparse-agent-skills/blob/main/skills/liteparse/SKILL.md).
15
17
  > Apache-2.0 (core) / MIT (skill), © LlamaIndex. Vendored as a Prismer
16
- > built-in; the CLI (`lit`) self-installs on first use (see below).
18
+ > built-in.
17
19
 
18
- ## Scopeliteparse vs `ingest`
20
+ ## Capability tiers what works where
21
+
22
+ | Tier | Inputs | External dep | Status |
23
+ | --- | --- | --- | --- |
24
+ | **1 — PDF** | digital + scanned PDF | **none** (Tesseract + PDFium bundled) | **Default, out of the box** — `lit` is baked into the daemon image |
25
+ | **2 — Images** | PNG / JPG / TIFF / … | **ImageMagick** | Install on demand |
26
+ | **3 — Office** | DOCX / XLSX / PPTX / ODT | **LibreOffice** (~1GB) | Install on demand |
27
+
28
+ Only Tier 1 is guaranteed present. Tiers 2 and 3 pull large system
29
+ dependencies that are **deliberately not baked into the daemon image** —
30
+ install them yourself, only when the actual input requires it (see
31
+ below). Do not assume they are already installed.
19
32
 
20
- Two document paths coexist; pick by network + fidelity needs:
21
-
22
- - **`liteparse` (this skill) local-first.** Local document files
23
- Markdown / JSON / screenshots, fully offline, zero cost, zero cloud.
24
- Covers PDF, Word, PowerPoint, spreadsheets, images. Built-in
25
- Tesseract OCR for clean scans; LibreOffice for Office formats.
26
- **Default for**: files already on disk, offline / cloud-unreachable
27
- situations, digital PDFs, quick extraction, bounding boxes, page
28
- screenshots.
29
- - **`ingest` (sibling skill) — cloud-backed.** `cloud load` / `cloud
30
- search` for **web URLs** (HQCC compression) and `cloud parse` for
31
- **hi-res OCR** of scans / handwriting / dense tables. **Use when**:
32
- the source is a web page (liteparse can't fetch URLs), or local
33
- parsing quality is insufficient (dense tables, multi-column,
34
- handwriting, low-quality scans).
35
-
36
- Decision rule: **local file → try `liteparse` first** (free, offline,
37
- fast). Escalate to `ingest`'s `cloud parse -m hires` only when local
38
- fidelity falls short. **Web URL / search → `ingest`** (liteparse parses
39
- local files and stdin, not remote pages — if you only have a URL,
40
- `curl -sL <url> -o file` then parse the local copy, or route to
41
- `ingest`).
42
-
43
- When local parsing is low-confidence (empty pages, garbled OCR),
44
- **flag the region** and consider escalating to `ingest`; never invent
45
- content.
46
-
47
- ## First-use install (self-bootstrapping)
48
-
49
- The `lit` CLI ships via npm/pip/cargo (same CLI). Check, then install if
50
- missing. Do this once per environment, quietly.
33
+ ## Tier 1 PDF (default, ready to use)
34
+
35
+ `lit` is available on the daemon. Sanity-check once, quietly:
51
36
 
52
37
  ```bash
53
- # 1. Is it already available? (sandbox image may bake it)
54
- command -v lit && lit --version && echo "lit ready" || {
55
- # 2. Install the CLI
56
- npm i -g @llamaindex/liteparse && lit --version
57
- }
38
+ command -v lit && lit --version # baked into the image
58
39
  ```
59
40
 
60
- System dependencies for Office conversion + image handling (only needed
61
- for non-PDF inputs):
41
+ If (and only if) it is somehow missing, install the package locally — it
42
+ is ~38MB with the OCR/render binaries bundled and installs in a few
43
+ seconds:
62
44
 
63
45
  ```bash
64
- # LibreOffice required for DOCX/XLSX/PPTX/ODT/RTF conversion
65
- brew install --cask libreoffice # macOS
66
- apt-get install -y libreoffice # Debian/Ubuntu (daemon image)
67
-
68
- # ImageMagick — required for some image formats
69
- brew install imagemagick # macOS
70
- apt-get install -y imagemagick # Debian/Ubuntu
46
+ npm i @llamaindex/liteparse && npx lit --version
71
47
  ```
72
48
 
73
- If install fails (no network, no package manager), do **not** fabricate
74
- parsed content report `lit unavailable (<reason>)` and stop.
49
+ > Do **not** rely on the CLI "self-installing on first use" — that path
50
+ > is unreliable (npm permission / cache conflicts). Either it is baked
51
+ > in, or you install the package explicitly as above.
75
52
 
76
- ## CLI reference
53
+ ### Native text path vs OCR — pick deliberately, cost differs ~10×
77
54
 
78
- ### Parse a file
55
+ - **Digital PDF (has an embedded text layer): use `--no-ocr`.** PDFium
56
+ extracts the text directly — **near-instant (~0.35s/page)**, no OCR.
57
+ This is the fast, cheap path; prefer it whenever the PDF is
58
+ computer-generated.
59
+ - **Scanned / image-only PDF: leave OCR on (default).** The bundled
60
+ Tesseract OCRs each page — **~5s/page**, an order of magnitude slower.
61
+ Only pay this when there is no real text layer.
62
+
63
+ If unsure which kind you have, run `--no-ocr` first: empty/garbled output
64
+ means it's a scan → re-run without `--no-ocr` to OCR it.
79
65
 
80
66
  ```bash
81
- lit parse document.pdf # → text on stdout
82
- lit parse document.pdf --format json -o out.json # structured JSON + bounding boxes
83
- lit parse document.pdf --target-pages "1-5,10,15-20" # page subset
84
- lit parse document.pdf --no-ocr # skip OCR (digital PDFs only)
85
- lit parse document.pdf --dpi 300 # higher render DPI
86
- lit parse scan.pdf --ocr-language eng+chi_sim # Tesseract lang codes
87
- lit parse secured.pdf --password '****' # encrypted docs
88
- curl -sL https://example.com/report.pdf | lit parse - # stdin (download-then-parse)
67
+ lit parse report.pdf --no-ocr # digital PDF fast native text
68
+ lit parse scan.pdf # scanned PDF bundled OCR
69
+ lit parse report.pdf --format markdown -o out.md # Markdown output to a file
70
+ lit parse report.pdf --format json -o out.json # structured JSON + bounding boxes
71
+ lit parse report.pdf --target-pages "1-5,10,15-20" # page subset (huge speedup on OCR path)
89
72
  ```
90
73
 
91
- Key `lit parse` options: `-o/--output`, `--format json|text`
92
- (default text), `--no-ocr`, `--ocr-language <lang>`, `--ocr-server-url
93
- <url>` (plug an external OCR HTTP server), `--tessdata-path`,
94
- `--target-pages "1-5,10"`, `--max-pages <n>` (default 1000), `--dpi`
95
- (default 150), `--preserve-small-text`, `--password`, `--num-workers`,
96
- `-q/--quiet`.
74
+ `--format` accepts `markdown` (default) or `json` (adds per-block
75
+ bounding boxes). Other useful flags: `-o/--output`, `--target-pages
76
+ "1-5,10"`, `--dpi <n>` (render DPI, default 150 bump to 300 for small
77
+ scanned text), `--ocr-language eng+chi_sim` (Tesseract lang codes for the
78
+ OCR path), `--password '****'` (encrypted PDFs), `-q/--quiet`.
97
79
 
98
- ### Batch a directory
80
+ ### Page screenshots (for figures/charts text can't capture)
99
81
 
100
82
  ```bash
101
- lit batch-parse ./input-dir ./output-dir
102
- lit batch-parse ./input-dir ./output-dir --recursive --extension .pdf --format json
83
+ lit screenshot report.pdf -o ./shots # all pages → PNG
84
+ lit screenshot report.pdf --target-pages "1,3,5" -o ./shots
85
+ lit screenshot report.pdf --dpi 300 -o ./shots # high-res
103
86
  ```
104
87
 
105
- ### Page screenshots (for visual content text can't capture)
88
+ ## Tier 2 Image files (install ImageMagick on demand)
89
+
90
+ Parsing standalone image files (PNG/JPG/TIFF/…) needs **ImageMagick**,
91
+ which is not in the daemon image. Install it the first time you actually
92
+ have an image input:
106
93
 
107
94
  ```bash
108
- lit screenshot document.pdf -o ./screenshots # all pages → PNG
109
- lit screenshot document.pdf --target-pages "1,3,5" -o ./shots
110
- lit screenshot document.pdf --dpi 300 -o ./shots # high-res
95
+ apt-get update && apt-get install -y imagemagick # Debian/Ubuntu (daemon image)
96
+ brew install imagemagick # macOS (local dev)
97
+ lit parse diagram.png --format markdown
111
98
  ```
112
99
 
113
- Supported formats: PDF · Word (DOC/DOCX/DOCM/ODT/RTF) · PowerPoint
114
- (PPT/PPTX/PPTM/ODP) · Spreadsheets (XLS/XLSX/ODS/CSV/TSV) · Images
115
- (JPG/PNG/GIF/BMP/TIFF/WEBP/SVG).
100
+ If ImageMagick can't be installed (no network / no apt), report
101
+ `ImageMagick unavailable` and stop don't fabricate the image's contents.
102
+
103
+ ## Tier 3 — Office documents (install LibreOffice on demand)
104
+
105
+ DOCX / XLSX / PPTX / ODT conversion needs **LibreOffice (~1GB)**, which is
106
+ **intentionally not baked into the daemon image**. Install it only when
107
+ you genuinely need to parse an Office file (it's a big download — don't do
108
+ it speculatively):
109
+
110
+ ```bash
111
+ apt-get update && apt-get install -y libreoffice # Debian/Ubuntu (daemon image)
112
+ brew install --cask libreoffice # macOS (local dev)
113
+ lit parse deck.pptx --format markdown
114
+ ```
115
+
116
+ If LibreOffice can't be installed, say so and ask the user for a PDF
117
+ export of the document instead of guessing.
118
+
119
+ > A shared **cloud parse service for heavy formats** (offloading Office /
120
+ > hi-res OCR to a hosted backend so agents don't install 1GB deps) is a
121
+ > future TODO — it is **not** running today. Don't route to a cloud OCR
122
+ > endpoint.
123
+
124
+ ## Scope — liteparse vs `ingest`
125
+
126
+ Two skills, clean split by **source location**:
127
+
128
+ - **`liteparse` (this skill)** — **local files on disk.** PDF / image /
129
+ Office files already on the machine → Markdown / JSON / screenshots,
130
+ fully offline. This is the only local document-parsing path.
131
+ - **`ingest` (sibling skill)** — **web URLs and search.** `cloud load` /
132
+ `cloud search` fetch and compress remote pages. `liteparse` cannot
133
+ fetch URLs; if you only have a URL, either `curl -sL <url> -o file`
134
+ then parse the local copy with `liteparse`, or route to `ingest`.
135
+
136
+ Decision rule: **local file → `liteparse`. Web page / search → `ingest`.**
116
137
 
117
138
  ## Workflow
118
139
 
119
- 1. **Locate the file.** If it's a workspace asset, resolve its local
120
- path (see `assets` skill). If it's a URL, `curl -sL <url> -o
121
- <name>` first — `lit` parses local files (and stdin), not remote
122
- pages.
123
- 2. **Pick mode.**
124
- - Digital PDF / clean doc → `lit parse <f>` (add `--no-ocr` to skip
125
- OCR and go faster when the PDF has a real text layer).
126
- - Scan / image / handwriting leave OCR on; set `--ocr-language`
127
- and bump `--dpi 300` if text is small.
128
- - Need spatial structure / tables with coordinates `--format
129
- json` (gives bounding boxes).
130
- - Need to *see* a chart/figure/signature `lit screenshot`, then
131
- read the PNG.
132
- 3. **Read the result as source of truth.** Base extraction/summary
133
- only on what `lit` returned. If a page is empty or low-confidence,
134
- say so; don't guess.
135
- 4. **Deliver products, if the parse output itself is the deliverable.**
136
- Write final files into `$PRISMER_ARTIFACTS_DIR` (the dispatch's
137
- `artifacts/` dir auto-archived as IMAssets by the daemon's
138
- artifacts-watcher and attached to your reply). See `office-artifacts`
139
- SKILL.md §Delivery contract for the full delivery rules.
140
+ 1. **Locate the file.** Workspace asset resolve its local path (see the
141
+ `assets` skill). URL-only `curl -sL <url> -o <name>` first, then
142
+ parse the local copy (or use `ingest`).
143
+ 2. **Pick the path by input type + kind.**
144
+ - PDF, computer-generated → `lit parse <f> --no-ocr` (fast native).
145
+ - PDF, scanned/image-only → `lit parse <f>` (OCR); set
146
+ `--ocr-language`, bump `--dpi 300` for small text, and use
147
+ `--target-pages` to avoid OCR'ing pages you don't need.
148
+ - Need spatial structure / table coordinates → `--format json`.
149
+ - Need to *see* a chart/figure/signature `lit screenshot`, then read
150
+ the PNG.
151
+ - Image file install ImageMagick (Tier 2), then parse.
152
+ - Office file → install LibreOffice (Tier 3), then parse.
153
+ 3. **Read the result as source of truth.** Base extraction/summary only on
154
+ what `lit` returned. Empty or low-confidence page say so; never guess.
155
+ 4. **Deliver products** only when the user requests the parse output as a
156
+ file. Write the requested final file into `$PRISMER_ARTIFACTS_DIR`, then
157
+ explicitly run `cloud deliver <abs-path>` for the current reply or
158
+ `cloud task attach <abs-path>` for a task. Auto-scan is OFF; writing the
159
+ file alone is not delivery. See `office-artifacts` SKILL.md §Delivery contract.
140
160
 
141
161
  ## Output reporting
142
162
 
143
- - After a parse: `Parsed <filename>: <N> pages, format=<text|json>,
144
- ocr=<on|off>` — then proceed with the user's actual question.
145
- - Don't dump the entire parsed body into chat unless asked; summarize
146
- and cite page numbers.
147
- - After screenshots: `Rendered <N> page screenshot(s) → <dir>` and read
163
+ - After a parse: `Parsed <filename>: <N> pages, format=<markdown|json>,
164
+ path=<native|ocr>` — then answer the user's actual question, citing page
165
+ numbers. Don't dump the whole parsed body into chat unless asked.
166
+ - After screenshots: `Rendered <N> page screenshot(s) → <dir>`, then read
148
167
  the relevant ones.
149
168
 
150
169
  ## HARD RULE — never claim a parse you didn't run
151
170
 
152
171
  Forbidden unless `lit` actually ran with exit 0 and produced output:
153
- "parsed the document", "the PDF says…", "extracted the table". If `lit`
154
- is unavailable or the parse failed, completion text must start with
155
- `无法解析文档 (reason)` / `Cannot parse document (reason)` do not
156
- substitute guessed content.
172
+ "parsed the document", "the PDF says…", "extracted the table". If `lit` is
173
+ unavailable, a required dependency (ImageMagick / LibreOffice) can't be
174
+ installed, or the parse failed, completion text must start with `无法解析
175
+ 文档 (reason)` / `Cannot parse document (reason)` — do not substitute
176
+ guessed content.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: mcp-builder
3
+ scope: coding
3
4
  description: Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
4
5
  license: Complete terms in LICENSE.txt
5
6
  ---