@jcode.labs/ragmir 2.7.0 → 2.9.0

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 (101) hide show
  1. package/README.md +9 -103
  2. package/dist/access-log.d.ts.map +1 -1
  3. package/dist/access-log.js +65 -8
  4. package/dist/access-log.js.map +1 -1
  5. package/dist/chunking.d.ts.map +1 -1
  6. package/dist/chunking.js +29 -3
  7. package/dist/chunking.js.map +1 -1
  8. package/dist/cli.js +166 -22
  9. package/dist/cli.js.map +1 -1
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +73 -29
  12. package/dist/config.js.map +1 -1
  13. package/dist/defaults.d.ts +1 -0
  14. package/dist/defaults.d.ts.map +1 -1
  15. package/dist/defaults.js +6 -1
  16. package/dist/defaults.js.map +1 -1
  17. package/dist/destroy.d.ts.map +1 -1
  18. package/dist/destroy.js +23 -1
  19. package/dist/destroy.js.map +1 -1
  20. package/dist/doctor.d.ts.map +1 -1
  21. package/dist/doctor.js +40 -9
  22. package/dist/doctor.js.map +1 -1
  23. package/dist/embeddings.d.ts +4 -1
  24. package/dist/embeddings.d.ts.map +1 -1
  25. package/dist/embeddings.js +62 -14
  26. package/dist/embeddings.js.map +1 -1
  27. package/dist/evaluate.d.ts.map +1 -1
  28. package/dist/evaluate.js +48 -4
  29. package/dist/evaluate.js.map +1 -1
  30. package/dist/files.d.ts +8 -1
  31. package/dist/files.d.ts.map +1 -1
  32. package/dist/files.js +44 -8
  33. package/dist/files.js.map +1 -1
  34. package/dist/index-diagnostics.d.ts +1 -1
  35. package/dist/index-diagnostics.d.ts.map +1 -1
  36. package/dist/index-diagnostics.js +8 -3
  37. package/dist/index-diagnostics.js.map +1 -1
  38. package/dist/index-policy.d.ts +3 -0
  39. package/dist/index-policy.d.ts.map +1 -0
  40. package/dist/index-policy.js +28 -0
  41. package/dist/index-policy.js.map +1 -0
  42. package/dist/index.d.ts +4 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +2 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/ingest.d.ts.map +1 -1
  47. package/dist/ingest.js +112 -54
  48. package/dist/ingest.js.map +1 -1
  49. package/dist/init.d.ts.map +1 -1
  50. package/dist/init.js +15 -3
  51. package/dist/init.js.map +1 -1
  52. package/dist/limits.d.ts +9 -0
  53. package/dist/limits.d.ts.map +1 -0
  54. package/dist/limits.js +25 -0
  55. package/dist/limits.js.map +1 -0
  56. package/dist/mcp.d.ts +3 -1
  57. package/dist/mcp.d.ts.map +1 -1
  58. package/dist/mcp.js +71 -14
  59. package/dist/mcp.js.map +1 -1
  60. package/dist/ocr.d.ts +46 -0
  61. package/dist/ocr.d.ts.map +1 -0
  62. package/dist/ocr.js +340 -0
  63. package/dist/ocr.js.map +1 -0
  64. package/dist/parsing.d.ts.map +1 -1
  65. package/dist/parsing.js +124 -24
  66. package/dist/parsing.js.map +1 -1
  67. package/dist/permissions.d.ts +3 -0
  68. package/dist/permissions.d.ts.map +1 -0
  69. package/dist/permissions.js +13 -0
  70. package/dist/permissions.js.map +1 -0
  71. package/dist/query.d.ts +2 -2
  72. package/dist/query.d.ts.map +1 -1
  73. package/dist/query.js +198 -39
  74. package/dist/query.js.map +1 -1
  75. package/dist/research.d.ts.map +1 -1
  76. package/dist/research.js +33 -4
  77. package/dist/research.js.map +1 -1
  78. package/dist/security.d.ts.map +1 -1
  79. package/dist/security.js +110 -14
  80. package/dist/security.js.map +1 -1
  81. package/dist/store.d.ts +3 -0
  82. package/dist/store.d.ts.map +1 -1
  83. package/dist/store.js +71 -72
  84. package/dist/store.js.map +1 -1
  85. package/dist/text.d.ts.map +1 -1
  86. package/dist/text.js +13 -1
  87. package/dist/text.js.map +1 -1
  88. package/dist/types.d.ts +94 -0
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/version.d.ts +1 -1
  91. package/dist/version.js +1 -1
  92. package/examples/document-evidence-benchmark/.ragmir/config.json +2 -1
  93. package/examples/document-evidence-benchmark/README.md +5 -2
  94. package/examples/document-evidence-benchmark/golden-queries.json +7 -1
  95. package/examples/document-evidence-benchmark/raw/contracts/pdf-control-evidence.pdf +32 -0
  96. package/examples/document-evidence-benchmark/raw/runbooks/incident-response-runbook.md +3 -3
  97. package/examples/sovereign-rag-demo/.ragmir/config.json +2 -1
  98. package/examples/sovereign-rag-demo/README.md +9 -1
  99. package/package.json +3 -3
  100. package/skills/ragmir/SKILL.md +59 -326
  101. package/skills/ragmir-audio-summary/SKILL.md +49 -204
@@ -1,245 +1,88 @@
1
1
  ---
2
2
  name: ragmir
3
- description: Use this skill whenever a repository uses or should use Ragmir, local-first RAG, private project knowledge, document ingestion, knowledge-base audit, or MCP access to project documents. Use it before answering from memory when the user asks about facts that may be present in private files, asks to ingest/query/audit documents, or wants Claude Code, Codex, Kimi, OpenCode, Cline, or another AI agent to use the same local knowledge base.
3
+ description: Use Ragmir for local-first retrieval from private project documents, document ingestion, knowledge-base audits, or MCP access to a repository corpus. Prefer it to memory when the answer may be in local documents.
4
4
  ---
5
5
 
6
6
  # Ragmir
7
7
 
8
- Ragmir is a sovereign local RAG knowledge base for confidential project documents and datasets. It
9
- indexes files from the current repository, stores vectors locally, and exposes both a CLI and an MCP
10
- server.
8
+ Ragmir indexes a repository's documents locally and returns cited passages through a CLI and MCP
9
+ server. Treat the target repository and its index as the source of truth.
11
10
 
12
- Use this skill to help an AI agent work with a Ragmir-enabled repository without leaking private documents or relying on stale memory.
11
+ ## Safety
13
12
 
14
- ## Core Rule
13
+ - Do not commit `.ragmir/`, raw documents, generated vectors, or access logs.
14
+ - Treat retrieval output as sensitive. Summarize it with citations instead of pasting long passages.
15
+ - Separate document-backed facts from inference. Ask for missing documents when the index is weak.
15
16
 
16
- Treat the repository where the user is working as the source of truth. Ragmir data belongs to that repository, not to the installed npm package.
17
+ ## Start here
17
18
 
18
- Default project layout:
19
+ From the target repository root:
19
20
 
20
- ```plain text
21
- .ragmir/config.json # local Ragmir config
22
- .ragmir/raw/ # raw documents to ingest
23
- .ragmir/storage/ # generated local index
24
- .ragmir/access.log # metadata-only access log
25
- .ragmir/reports/ # generated local Markdown reports
26
- ```
27
-
28
- ## Data Safety
29
-
30
- - Do not commit raw documents, secrets, tax IDs, scans, bank documents, tokens, or generated vector stores.
31
- - Keep `.ragmir/` ignored by Git.
32
- - Treat `rgr search`, `rgr ask`, `rgr research`, and MCP results as sensitive because they can
33
- contain private source passages even when redaction is enabled.
34
- - Prefer summaries and citations over dumping long private passages into the chat.
35
- - If the user asks for a high-stakes answer, identify which facts came from Ragmir and which still require professional or official verification.
36
-
37
- ## First Checks
38
-
39
- From the repository root:
40
-
41
- ```bash
21
+ ```sh
42
22
  pnpm exec rgr doctor
43
23
  ```
44
24
 
45
- If Ragmir is installed but setup is incomplete or the index is stale:
25
+ If setup or indexing is incomplete:
46
26
 
47
- ```bash
27
+ ```sh
48
28
  pnpm exec rgr doctor --fix
49
29
  ```
50
30
 
51
- If Ragmir is not installed:
31
+ For a new installation:
52
32
 
53
- ```bash
33
+ ```sh
54
34
  pnpm add -D @jcode.labs/ragmir
55
35
  pnpm exec rgr setup
56
- # Optional: one-time model download for higher-quality semantic retrieval.
57
- pnpm exec rgr setup --semantic
58
- ```
59
-
60
- When the repository should expose only specific agent helpers or must launch MCP through a local
61
- wrapper, generate the agent kit explicitly:
62
-
63
- ```bash
64
- pnpm exec rgr setup --agents claude,codex --mcp-command ./scripts/serve-mcp.sh
65
- ```
66
-
67
- If the package manager is npm:
68
-
69
- ```bash
70
- npm install --save-dev @jcode.labs/ragmir
71
- npx rgr setup
72
- # Optional: one-time model download for higher-quality semantic retrieval.
73
- npx rgr setup --semantic
36
+ pnpm exec rgr ingest
74
37
  ```
75
38
 
76
- Use `status`, `audit`, and `security-audit` for deeper checks after `doctor` explains the current
77
- state. Use `audit --unsupported` when files exist but may not have been indexed.
39
+ Use `pnpm exec rgr setup --semantic` only when a one-time local embedding-model download is
40
+ acceptable. Normal confidential indexing keeps remote model loading disabled.
78
41
 
79
- ## Agent Operating Loop
42
+ ## Choose the smallest operation
80
43
 
81
- Prefer the smallest command that answers the user's task:
82
-
83
- | Task | Preferred command or tool |
44
+ | Need | Command or MCP tool |
84
45
  | --- | --- |
85
- | Check whether Ragmir is usable | `rgr doctor` or MCP `ragmir_status` |
86
- | Decide whether a prompt needs Ragmir | `rgr route-prompt "..." --json` or MCP `ragmir_route_prompt` |
87
- | Repair missing setup or stale index | `rgr doctor --fix` |
88
- | Inspect skipped, duplicate, archive-like, or mirror-like sources | `rgr audit --unsupported` |
89
- | Find exact source passages | `rgr search "<query>" --compact` or MCP `ragmir_search` with `compact: true` |
90
- | Prepare a broad implementation, review, or planning answer | `rgr research "<topic>" --compact` or MCP `ragmir_research` |
91
- | Return deterministic cited context for a trusted model | `rgr ask "<question>"` or MCP `ragmir_ask` |
92
- | Check local privacy posture | `rgr security-audit` or MCP `ragmir_security_audit` |
93
- | Validate recall against known expected files | `rgr evaluate --golden <file>` or MCP `ragmir_evaluate` |
94
-
95
- ## Provider Modes
96
-
97
- Default retrieval mode:
46
+ | Readiness | `rgr doctor` or `ragmir_status` |
47
+ | Repair setup or stale data | `rgr doctor --fix` |
48
+ | Check unindexed or unsupported files | `rgr audit --unsupported` |
49
+ | Check privacy posture | `rgr security-audit` |
50
+ | Retrieve exact passages | `rgr search "query" --compact` or `ragmir_search` |
51
+ | Gather broad cited evidence | `rgr research "topic" --compact` or `ragmir_research` |
52
+ | Return deterministic context | `rgr ask "question"` or `ragmir_ask` |
53
+ | Measure retrieval recall | `rgr evaluate --golden <file>` or `ragmir_evaluate` |
98
54
 
99
- ```json
100
- {
101
- "embeddingProvider": "local-hash"
102
- }
103
- ```
55
+ Use `rgr route-prompt "..." --json` or `ragmir_route_prompt` only when it is unclear whether the
56
+ current request needs the local corpus. The router is deterministic and does not retrieve or store
57
+ the prompt.
104
58
 
105
- This supports ingestion, search, MCP retrieval, and `rgr ask` with cited passages without a model
106
- server. It is lexical/hash retrieval, not model-semantic search. Do not present it as equivalent to
107
- semantic embeddings.
59
+ ## Indexing
108
60
 
109
- Optional semantic embedding mode:
61
+ Use `.ragmir/config.json` for sources, with paths, globs, and `!` exclusions:
110
62
 
111
- ```json
112
- {
113
- "embeddingProvider": "transformers",
114
- "embeddingModel": "mixedbread-ai/mxbai-embed-xsmall-v1",
115
- "embeddingModelPath": ".ragmir/models",
116
- "transformersAllowRemoteModels": false
117
- }
63
+ ```sh
64
+ pnpm exec rgr sources add "docs/**/*.md" "specs/**/*.md"
65
+ pnpm exec rgr sources add "!**/node_modules/**"
66
+ pnpm exec rgr ingest
118
67
  ```
119
68
 
120
- This uses Transformers.js for embeddings only. Keep `transformersAllowRemoteModels` false for
121
- air-gapped or confidential work and preload model files under `embeddingModelPath`. Use the
122
- first-run shortcut when a one-time download is acceptable:
69
+ Normal ingestion is incremental. Rebuild only after changing the embedding provider, embedding
70
+ model, or chunking settings:
123
71
 
124
- ```bash
125
- pnpm exec rgr setup --semantic
72
+ ```sh
126
73
  pnpm exec rgr ingest --rebuild
127
74
  ```
128
75
 
129
- Or enable it later:
76
+ For scanned PDFs, first run `rgr ocr doctor`, then configure a local OCR tool with `rgr ocr setup`.
77
+ OCR stays opt-in and never calls a remote service by default.
130
78
 
131
- ```bash
132
- pnpm exec rgr models pull --enable
133
- pnpm exec rgr ingest --rebuild
134
- ```
79
+ `local-hash` is the default retrieval provider. It supports cited local retrieval but is not
80
+ semantic embeddings. Use the Transformers provider only after an explicit model preload.
135
81
 
136
- ## Ingestion Workflow
137
-
138
- After documents are added or changed:
139
-
140
- ```bash
141
- pnpm exec rgr doctor --fix
142
- pnpm exec rgr audit
143
- pnpm exec rgr audit --unsupported
144
- pnpm exec rgr security-audit
145
- pnpm exec rgr status
146
- ```
147
-
148
- `rgr doctor --fix` updates the index only when supported files are present and the privacy posture
149
- has no warnings. Normal `rgr ingest` reuses unchanged rows; use `rgr ingest --rebuild` after changing
150
- embedding provider/model or chunking settings. `rgr ingest --json` reports `emptyTextFiles` when
151
- supported files, typically scanned PDFs, produce no indexable text. `rgr doctor` should show
152
- `ready=true` before relying on the index. The audit must show no missing or stale supported files, and
153
- the security audit should not show warnings before relying on Ragmir for sensitive work.
154
-
155
- Default retrieval is tuned for broader recall (`topK: 8`, `chunkOverlap: 200`). Keep MCP retrieval
156
- bounded by `mcpMaxTopK`, and raise `--top-k` only when the first results are too narrow.
157
-
158
- For monorepos, keep raw confidential files local and list useful repo docs through the `sources`
159
- array in `.ragmir/config.json`. Entries can be paths or glob patterns relative to the Ragmir project
160
- root, with `!` exclusions:
161
-
162
- ```plain text
163
- ../apps/*/README.md
164
- ../apps/*/docs/**/*.md
165
- !../apps/**/node_modules/**
166
- ```
167
-
168
- Use the CLI when you want agents or setup scripts to update the file without manual editing:
169
-
170
- ```bash
171
- pnpm exec rgr sources add "../apps/*/README.md" "../apps/*/docs/**/*.md"
172
- pnpm exec rgr sources add "!../apps/**/node_modules/**"
173
- pnpm exec rgr sources list
174
- ```
175
-
176
- ## Query Workflow
177
-
178
- Use search when you need exact source passages:
179
-
180
- ```bash
181
- pnpm exec rgr search "your query"
182
- ```
183
-
184
- Use research when the user asks for broad context, implementation planning, review preparation, or a
185
- cross-document audit:
186
-
187
- ```bash
188
- pnpm exec rgr research "your topic" --compact
189
- ```
190
-
191
- `rgr research` runs audit and security checks, generates several related retrieval queries, merges
192
- cited evidence, reports source diagnostics, and performs a lightweight repository code scan unless
193
- `--no-code` is used.
194
-
195
- Use ask when you need cited context for the current agent or an external LLM:
196
-
197
- ```bash
198
- pnpm exec rgr ask "your question"
199
- ```
82
+ ## MCP
200
83
 
201
- Ground answers in returned sources. If search results are weak, say that the current index does not
202
- prove the point and ask for the missing document. `rgr ask` returns cited passages rather than LLM
203
- synthesis. Use those passages as context for the current agent, or tell the user that generative
204
- synthesis needs a trusted external LLM or model runtime.
205
-
206
- ## Prompt Routing
207
-
208
- When the user did not explicitly mention Ragmir, use local judgment first. If the prompt asks about
209
- the current repository, local documents, private specs, architecture, previous decisions, citations,
210
- release readiness, audits, or implementation planning, prefer Ragmir before answering from memory.
211
-
212
- When the runtime supports MCP and you are unsure, call `ragmir_route_prompt` with the prompt text. If
213
- MCP is unavailable, use:
214
-
215
- ```bash
216
- pnpm exec rgr route-prompt "the user prompt" --json
217
- ```
218
-
219
- If the decision returns `shouldUseRagmir: true`, call the suggested `tool` with the returned `query`.
220
- If it returns `false`, answer normally. The router is deterministic and local: it does not store
221
- prompt text, call an LLM, read the vector index, or retrieve passages.
222
-
223
- ## Deep Research Workflow
224
-
225
- For broad summaries, audits, planning, or institutional dossiers, do not rely on one query. Build a
226
- small retrieval plan first:
227
-
228
- - use `rgr research` as the first pass when available;
229
- - check `rgr audit` and `rgr security-audit`;
230
- - query the main topic;
231
- - query names, dates, amounts, obligations, risks, decisions, and missing evidence separately;
232
- - compare the strongest passages across files;
233
- - ask a synthesis question only after search has found enough grounded context;
234
- - cite source paths and chunk numbers in the answer when useful;
235
- - explicitly say when the index does not prove a claim.
236
-
237
- For sensitive work, prefer the smallest useful `topK`; raise it only when the first results are too
238
- thin. Do not dump large raw passages into the chat unless the user explicitly asks for extracts.
239
-
240
- ## MCP Usage
241
-
242
- If the agent supports MCP, configure a server for the repository:
84
+ `rgr setup` writes local MCP helpers under `.ragmir/` for Claude Code, Codex, Kimi, OpenCode, and
85
+ Cline. A generic server configuration is:
243
86
 
244
87
  ```json
245
88
  {
@@ -247,138 +90,28 @@ If the agent supports MCP, configure a server for the repository:
247
90
  "ragmir": {
248
91
  "command": "pnpm",
249
92
  "args": ["exec", "rgr", "serve-mcp"],
250
- "cwd": "/absolute/path/to/the/repository"
93
+ "cwd": "/absolute/path/to/repository"
251
94
  }
252
95
  }
253
96
  }
254
97
  ```
255
98
 
256
- Generated MCP helpers use the `ragmir` server name by default. Use `rgr setup --mcp-name <name>`
257
- or `rgr install-skill --mcp-name <name>` only when the repository needs a different stable MCP
258
- key.
259
-
260
- For Claude Code, run this from the target repository root after `pnpm exec rgr setup`:
261
-
262
- ```bash
263
- claude mcp add-json --scope local ragmir "$(cat .ragmir/claude-mcp-server.json)"
264
- ```
265
-
266
- For Codex, copy `.ragmir/codex-mcp.toml` into `~/.codex/config.toml` or another trusted Codex config
267
- layer. It includes both the Ragmir MCP server and `skills.config` entries.
268
-
269
- For Kimi Code CLI, run from the target repository root:
270
-
271
- ```bash
272
- kimi --mcp-config-file .ragmir/kimi-mcp.json
273
- ```
274
-
275
- For OpenCode, merge `.ragmir/opencode.jsonc` into the OpenCode config layer used by the project.
276
-
277
- For Cline, add `.ragmir/cline-mcp.json` under `mcpServers` in Cline's MCP configuration.
278
-
279
- For other MCP clients that cannot set `cwd`, set `RAGMIR_PROJECT_ROOT=/absolute/path/to/repository`
280
- when launching `rgr serve-mcp`. `RAGMIR_PROJECT_ROOT` is the strongest signal; otherwise a
281
- configured current working directory wins before agent-provided project environment variables.
282
-
283
- Available MCP tools:
284
-
285
- - `ragmir_status`: show config and chunk count.
286
- - `ragmir_route_prompt`: classify a prompt and suggest whether local Ragmir context is needed.
287
- - `ragmir_search`: retrieve source passages; set `compact: true` when the agent context is tight.
288
- - `ragmir_ask`: return cited retrieval context.
289
- - `ragmir_research`: run audit-backed multi-query retrieval with source diagnostics and optional code matches.
290
- - `ragmir_audit`: compare source files with the current index.
291
- - `ragmir_evaluate`: measure retrieval recall against a local golden query file.
292
- - `ragmir_usage_report`: summarize metadata-only local access-log activity without query text or local paths.
293
- - `ragmir_security_audit`: inspect local privacy, provider, redaction, MCP, and gitignore posture.
294
-
295
- Prefer MCP tools over shell commands when the agent runtime provides them. Use shell commands when MCP is unavailable.
296
-
297
- MCP is read-focused and intentionally does not expose index deletion. Use `pnpm exec rgr
298
- destroy-index --yes` from the shell when the user explicitly wants to remove the generated index.
299
-
300
- ## Optional Audio Summaries
301
-
302
- If the user asks for a listenable or TTS summary, load the optional
303
- `.ragmir/skills/ragmir-audio-summary/` skill installed by `pnpm exec rgr setup`.
304
-
305
- The audio skill should:
306
-
307
- - gather evidence through Ragmir first;
308
- - write narration text only to a temp file outside the repository;
309
- - render generated audio under `.ragmir/audio/` by default;
310
- - prefer offline TTS engines for confidential content.
311
-
312
- ## Optional Markdown Reports
313
-
314
- If the user asks for a Markdown report, dossier, audit memo, planning note, or decision brief, load
315
- the optional `.ragmir/skills/ragmir-markdown-report/` skill installed by `pnpm exec rgr setup`.
316
-
317
- The report skill should:
318
-
319
- - gather evidence through multiple Ragmir searches first;
320
- - cite source paths and chunk numbers;
321
- - separate facts, inference, uncertainty, and missing evidence;
322
- - write reports under `.ragmir/reports/` by default;
323
- - keep generated reports uncommitted unless the user explicitly wants a sanitized tracked report.
324
-
325
- ## Installing This Skill Into A Repository
326
-
327
- Most repositories should run the full setup command:
328
-
329
- ```bash
330
- pnpm exec rgr setup
331
- ```
332
-
333
- Use the lower-level skill installer only when Ragmir is already initialized and you want to refresh
334
- the local agent kit:
99
+ When a client cannot set `cwd`, set `RAGMIR_PROJECT_ROOT` for the server process. Prefer MCP tools
100
+ when available. Use CLI commands when they are not.
335
101
 
336
- ```bash
337
- pnpm exec rgr install-skill
338
- pnpm exec rgr install-skill --agents claude,codex --mcp-command ./scripts/serve-mcp.sh
339
- ```
102
+ MCP is read-focused. Only remove an index with the explicit shell command:
340
103
 
341
- This creates:
342
-
343
- ```plain text
344
- .ragmir/skills/ragmir/SKILL.md
345
- .ragmir/skills/ragmir-audio-summary/SKILL.md
346
- .ragmir/skills/ragmir-markdown-report/SKILL.md
347
- .ragmir/skills/ragmir-legal-dossier/SKILL.md
348
- .ragmir/mcp.json
349
- .ragmir/claude-mcp-server.json
350
- .ragmir/codex-mcp.toml
351
- .ragmir/kimi-mcp.json
352
- .ragmir/opencode.jsonc
353
- .ragmir/cline-mcp.json
354
- .ragmir/agent-setup.md
355
- .ragmir/README.md
104
+ ```sh
105
+ pnpm exec rgr destroy-index --yes
356
106
  ```
357
107
 
358
- When `--agents` is used, only the selected agent-specific MCP helpers are written, and stale
359
- unselected helpers in `.ragmir/` are removed.
360
-
361
- For native discovery, install only the agent the user uses:
362
-
363
- ```bash
364
- pnpm exec rgr install-agent --agents claude
365
- pnpm exec rgr install-agent --agents kimi
366
- pnpm exec rgr install-agent --agents claude,codex,kimi,opencode,cline
367
- ```
368
-
369
- By default this writes project-scope skill folders such as `.claude/skills/`, `.kimi/skills/`,
370
- `.opencode/skills/`, or `.cline/skills/` as links back to `.ragmir/skills/`. That keeps one original
371
- skill source. Add `--scope user` for global installs, or `--mode copy` only when an agent/runtime
372
- cannot follow symlinked skill directories.
373
-
374
- Agents that understand skill folders can load `.ragmir/skills/ragmir/` directly when native discovery
375
- is not installed. Other agents can read `.ragmir/README.md` and `.ragmir/mcp.json`.
108
+ ## Optional outputs
376
109
 
377
- ## Answer Style
110
+ For audio narration, load the installed `ragmir-audio-summary` skill. For a cited Markdown memo,
111
+ load `ragmir-markdown-report`. Both should write generated output under ignored `.ragmir/` state.
378
112
 
379
- When answering from Ragmir:
113
+ ## Answer standard
380
114
 
381
- - mention the source file paths and chunk/source labels when useful;
382
- - distinguish facts found in documents from inference;
383
- - keep operational/legal/financial claims conservative;
384
- - recommend ingesting or providing missing documents when the index is incomplete.
115
+ - Cite file paths and source labels when useful.
116
+ - State uncertainty when retrieval does not prove a claim.
117
+ - Keep legal, security, and financial conclusions conservative and recommend appropriate review.