@hasna/skills 0.8.11 → 0.8.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/bin/index.js +672 -435
- package/bin/mcp.js +62 -2
- package/bin/migrate.js +1 -1
- package/bin/server.js +1 -1
- package/bin/worker.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +412 -177
- package/dist/lib/agent-discovery.d.ts +1 -1
- package/dist/lib/claude-settings-witness.d.ts +19 -0
- package/dist/sdk/index.js +499 -265
- package/docs/plugin-admission.md +67 -0
- package/package.json +1 -1
package/docs/plugin-admission.md
CHANGED
|
@@ -196,6 +196,73 @@ not proof of a timestamp-only change: review the complete current registration
|
|
|
196
196
|
and its complementary sources before explicitly replacing an old witness.
|
|
197
197
|
Capturing this witness does not write a policy or approve native registration.
|
|
198
198
|
|
|
199
|
+
## Claude settings preferences
|
|
200
|
+
|
|
201
|
+
`captureClaudeSettings(canonicalSettingsPath)` returns a versioned
|
|
202
|
+
`claude-settings-v1` discovery source for the configured Claude user
|
|
203
|
+
`settings.json`. Use the canonical target when a reviewed home root alias is
|
|
204
|
+
present. The mode is accepted only in explicit reviewed Claude discovery; it
|
|
205
|
+
cannot stand in for a plugin manifest, executable, project settings review or
|
|
206
|
+
another agent's configuration.
|
|
207
|
+
|
|
208
|
+
The digest canonicalizes JSON object key order, preserves array order and
|
|
209
|
+
unknown numeric values without rounding, and excludes only these top-level
|
|
210
|
+
preferences and model selections with valid documented types:
|
|
211
|
+
|
|
212
|
+
- Booleans: `autoScrollEnabled`, `axScreenReader`, `emojiCompletionEnabled`,
|
|
213
|
+
`prefersReducedMotion`, `showTurnDuration`, `spinnerTipsEnabled`,
|
|
214
|
+
`syntaxHighlightingDisabled`, `terminalProgressBarEnabled`,
|
|
215
|
+
`terminalTitleFromRename`, `verbose`, `wheelScrollAccelerationEnabled`.
|
|
216
|
+
- Exact strings: `editorMode` (`normal`, `vim`), `tui` (`default`, `fullscreen`),
|
|
217
|
+
`viewMode` (`default`, `verbose`, `focus`).
|
|
218
|
+
- Built-in `model` values: `default`, `best`, `fable`, `fable[1m]`, `sonnet`,
|
|
219
|
+
`sonnet[1m]`, `opus`, `opus[1m]`, `haiku`, `opusplan`; exact model IDs
|
|
220
|
+
`claude-fable-5-1`, `claude-fable-5`, `claude-fable-5[1m]`, `claude-opus-5`,
|
|
221
|
+
`claude-sonnet-5`, `claude-haiku-4-5-20251001`, `claude-opus-4-6`,
|
|
222
|
+
`claude-sonnet-4-5`, `claude-sonnet-4-5-20250929`, `claude-opus-4-8`,
|
|
223
|
+
`claude-opus-4-8[1m]`, `claude-opus-4-7`, `claude-sonnet-4-6`,
|
|
224
|
+
`claude-opus-4-5-20251101`, `claude-opus-4-5`, `claude-haiku-4-5`,
|
|
225
|
+
`claude-fable-5-1[1m]`, `claude-opus-5[1m]`, `claude-opus-4-7[1m]`,
|
|
226
|
+
`claude-opus-4-6[1m]`, `claude-sonnet-4-6[1m]`.
|
|
227
|
+
|
|
228
|
+
The model exception follows the documented [model picker](https://code.claude.com/docs/en/model-config#setting-your-model)
|
|
229
|
+
and [model IDs](https://platform.claude.com/docs/en/models/overview), including
|
|
230
|
+
the documented [extended-context model-name suffix](https://code.claude.com/docs/en/model-config#extended-context)
|
|
231
|
+
only for the listed supported combinations. It permits
|
|
232
|
+
inference selection among this fixed list, including clearing the override. It
|
|
233
|
+
does not exempt provider or alias mappings, `modelOverrides`, `modelPicker`,
|
|
234
|
+
`modelSettings`, `availableModels`, environment or model-switch hooks. Arbitrary
|
|
235
|
+
custom, provider-specific, future or path-like model strings stay bound; there
|
|
236
|
+
is no prefix wildcard or dynamic model lookup. Non-string model values refuse.
|
|
237
|
+
|
|
238
|
+
Invalid values for the display preferences refuse capture and verification. Every
|
|
239
|
+
other field remains bound, including unknown future fields, hooks and their
|
|
240
|
+
exact commands, permissions, native skill suppression and synchronization,
|
|
241
|
+
plugin roots, marketplaces, environment and configuration precedence. Language,
|
|
242
|
+
output style, theme, and command-bearing status or file suggestion settings are
|
|
243
|
+
intentionally retained. These are narrow preference and inference-selection
|
|
244
|
+
exceptions, not general permission to change Claude configuration. The native
|
|
245
|
+
bridge guard continues to check its exact commands and native Skill policy.
|
|
246
|
+
|
|
247
|
+
Migration requires reviewing the current complete settings and complementary
|
|
248
|
+
plugin/loader sources, replacing the settings raw source with the captured
|
|
249
|
+
typed source in a reviewed discovery-input file, and using the normal hook
|
|
250
|
+
installation plan/apply operation. A stale prior raw hash is not evidence that
|
|
251
|
+
only preferences changed. Capture performs no write or automatic refresh; old
|
|
252
|
+
raw witnesses remain exact. Concurrent changes during an installation still
|
|
253
|
+
face full-byte preconditions so a preference edit cannot be overwritten.
|
|
254
|
+
|
|
255
|
+
The source must be a stable normalized regular file named `settings.json` with
|
|
256
|
+
strict UTF-8, no duplicate JSON keys and no trailing content. Limits are 1 MiB,
|
|
257
|
+
1,024 top-level fields, depth 32, 65,536 nodes and 16,384 characters per string;
|
|
258
|
+
capture also consumes the shared discovery byte budget. Symlinks, special
|
|
259
|
+
nodes and changes during a read refuse. This witness covers the configured
|
|
260
|
+
user file; existing checks on project settings, root aliases and plugin sources
|
|
261
|
+
remain separate. It does not certify arbitrary command-line settings overrides
|
|
262
|
+
or guarantee when a running native client adopts a settings edit.
|
|
263
|
+
Those complementary checks retain their existing exact registration and hook
|
|
264
|
+
entry comparisons; this mode does not relax them for property-order changes.
|
|
265
|
+
|
|
199
266
|
## Verification and limits
|
|
200
267
|
|
|
201
268
|
Unit tests cover provenance and mapping failures, offline/revoked authorities,
|