@hasna/skills 0.10.28 → 0.10.31

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 CHANGED
@@ -247,6 +247,21 @@ validates the complete resulting policy before writing configuration or backups;
247
247
  the same limits apply when reading and guarding native context. A rejected plan
248
248
  leaves the previous policy intact.
249
249
 
250
+ Sumi uses its native V2 plugin API, independently of OpenCode. Its managed
251
+ `plugins/skills-cli.js` plugin validates prompt admission and adds selected
252
+ instructions to transient request context. Real native session IDs and parent
253
+ IDs bind exact inherited pins; native agent definitions are not Hasna identities.
254
+ Native payload tool calls and prompt attachments are refused except for the
255
+ `skills-cli` bridge. The supported configuration resolver honors `SUMI_CONFIG_DIR`,
256
+ `XDG_CONFIG_HOME` and `SUMI_HOME` without performing native home adoption.
257
+
258
+ Sumi integration refuses unresolved JSONC, inline/additional config, remote or
259
+ relative skill sources, flat Markdown skills and foreign plugin packages.
260
+ Resolve or review these sources before applying integration. The adapter was
261
+ checked against Sumi 0.2.52. That release watches plugin sources for hot reload;
262
+ installation alone does not prove an existing session adopted the plugin.
263
+ Verify actual prompt consumption on each target after installation.
264
+
250
265
  Hermes 0.20.5 uses `pre_llm_call` to add selected context and `pre_tool_call`
251
266
  with `fail_closed: true` and a small owned supervisor to guard tool calls. The
252
267
  supervisor maps Skills child failures, timeouts and missing/invalid directives
@@ -1214,6 +1229,28 @@ Stable command shapes:
1214
1229
  - MCP registration: `mcp --register <agent> --json` returns
1215
1230
  `{ "registered": number, "results": [...] }`.
1216
1231
 
1232
+ ## Query a caller-owned catalog
1233
+
1234
+ The package root exports category and tag helpers that accept a readonly catalog:
1235
+
1236
+ ```ts
1237
+ import { getSkillsByCategory, getSkillsByTag, getAllTags } from "@hasna/skills";
1238
+
1239
+ const catalog = [
1240
+ { name: "write-brief", category: "Writing", tags: ["Research", "Writing"], credits: 5 },
1241
+ ] as const;
1242
+
1243
+ const writing = getSkillsByCategory("Writing", catalog);
1244
+ const research = getSkillsByTag("search", catalog);
1245
+ const tags = getAllTags(catalog); // ["research", "writing"]
1246
+ ```
1247
+
1248
+ An explicit catalog, including `[]`, is queried without loading local configuration
1249
+ or installed skills. Category matching is exact; tag matching is a case-insensitive
1250
+ substring search. An empty tag query matches records with at least one tag.
1251
+ Filtered arrays keep the original record references, types and extra fields.
1252
+ Omitting the catalog, or passing `undefined`, retains the configured local registry.
1253
+
1217
1254
  ## Remote Registry
1218
1255
 
1219
1256
  The npm package ships no skill corpus. Authenticated discovery reads the