hoomanjs 1.18.1 → 1.19.1

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
@@ -32,7 +32,7 @@ It gives you a practical toolkit to build and run agent workflows:
32
32
  - MCP server support via `stdio`, `streamable-http`, and `sse`
33
33
  - MCP server `instructions` support: server-provided instructions are appended to the agent system prompt
34
34
  - MCP channel notification support through `hooman daemon --channels`
35
- - Skill discovery / install / removal through the integrated configure flow
35
+ - Skill discovery from local `~/.hooman/skills` folders
36
36
  - Bundled prompt harness toggles (`behaviour`, `communication`, `execution`, `engineering`, `guardrails`)
37
37
  - Built-in subagent runner tools (`research`, `plan`) with configurable concurrency
38
38
  - Toolkit-oriented architecture with configurable tools, prompts, memory, and transports
@@ -41,7 +41,7 @@ It gives you a practical toolkit to build and run agent workflows:
41
41
  ## Requirements
42
42
 
43
43
  - [Node.js](https://nodejs.org) `>= 24`
44
- - npm for `npx`, global installs, and public skills catalog installs
44
+ - npm for package installs and JavaScript tooling
45
45
  - Provider credentials or local model runtime depending on the LLM you choose
46
46
 
47
47
  ## Usage
@@ -200,8 +200,8 @@ Runtime tool and prompt switches are controlled from `config.json`:
200
200
  - `tools.sleep.enabled`
201
201
  - `tools.ltm.enabled`
202
202
  - `tools.wiki.enabled`
203
- - `tools.mcp.enabled` (enables MCP management tools + prefixed MCP server tools/instructions)
204
- - `tools.skills.enabled` (enables skills management tools + skills prompt sections)
203
+ - `tools.mcp.enabled` (enables configured MCP server tools/instructions)
204
+ - `tools.skills.enabled` (enables skills prompt guidance)
205
205
  - `tools.agents.enabled` (enables built-in `run_agents` tool)
206
206
  - `tools.agents.concurrency`
207
207
 
@@ -566,6 +566,7 @@ Skills are installed under:
566
566
  ~/.hooman/skills
567
567
  ```
568
568
 
569
+ Skills are discovered by scanning direct child directories for `SKILL.md`.
569
570
  The configure workflow can:
570
571
 
571
572
  - search the public skills catalog
@@ -25,19 +25,10 @@ const KNOWN_TOOL_KINDS = new Map([
25
25
  ["update_todos", "other"],
26
26
  ["get_current_time", "other"],
27
27
  ["convert_time", "other"],
28
- ["list_skills", "read"],
29
- ["search_skills", "search"],
30
- ["install_skill", "edit"],
31
- ["delete_skill", "edit"],
32
28
  ["store_memory", "edit"],
33
29
  ["search_memory", "search"],
34
30
  ["update_memory", "edit"],
35
31
  ["archive_memory", "edit"],
36
- ["list_mcp_servers", "read"],
37
- ["get_mcp_server", "read"],
38
- ["add_mcp_server", "edit"],
39
- ["update_mcp_server", "edit"],
40
- ["delete_mcp_server", "edit"],
41
32
  ]);
42
33
  export { INTERNAL_ALWAYS_ALLOWED };
43
34
  export function inferToolKind(toolName) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-kind.js","sourceRoot":"","sources":["../../../src/acp/utils/tool-kind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAmB;IACjD,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAC/B,CAAC,YAAY,EAAE,MAAM,CAAC;IACtB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAC5B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,cAAc,EAAE,QAAQ,CAAC;IAC1B,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC3B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC3B,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAChC,CAAC,YAAY,EAAE,MAAM,CAAC;IACtB,CAAC,aAAa,EAAE,QAAQ,CAAC;IACzB,CAAC,YAAY,EAAE,QAAQ,CAAC;IACxB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,cAAc,EAAE,OAAO,CAAC;IACzB,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7B,CAAC,cAAc,EAAE,OAAO,CAAC;IACzB,CAAC,aAAa,EAAE,MAAM,CAAC;IACvB,CAAC,eAAe,EAAE,QAAQ,CAAC;IAC3B,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,cAAc,EAAE,MAAM,CAAC;IACxB,CAAC,cAAc,EAAE,MAAM,CAAC;IACxB,CAAC,eAAe,EAAE,QAAQ,CAAC;IAC3B,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAC5B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAC7B,CAAC,mBAAmB,EAAE,MAAM,CAAC;CAC9B,CAAC,CAAC;AAEH,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,IAAsB;IAEtB,MAAM,IAAI,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC/B,OAAO,GAAG,QAAQ,KAAK,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"tool-kind.js","sourceRoot":"","sources":["../../../src/acp/utils/tool-kind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAmB;IACjD,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAC/B,CAAC,YAAY,EAAE,MAAM,CAAC;IACtB,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAC5B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,cAAc,EAAE,QAAQ,CAAC;IAC1B,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC3B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC3B,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAChC,CAAC,YAAY,EAAE,MAAM,CAAC;IACtB,CAAC,aAAa,EAAE,QAAQ,CAAC;IACzB,CAAC,YAAY,EAAE,QAAQ,CAAC;IACxB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,cAAc,EAAE,OAAO,CAAC;IACzB,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7B,CAAC,cAAc,EAAE,OAAO,CAAC;IACzB,CAAC,cAAc,EAAE,MAAM,CAAC;IACxB,CAAC,eAAe,EAAE,QAAQ,CAAC;IAC3B,CAAC,eAAe,EAAE,MAAM,CAAC;IACzB,CAAC,gBAAgB,EAAE,MAAM,CAAC;CAC3B,CAAC,CAAC;AAEH,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,IAAsB;IAEtB,MAAM,IAAI,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC/B,OAAO,GAAG,QAAQ,KAAK,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import { Agent } from "@strands-agents/sdk";
2
2
  import type { Config } from "../config.js";
3
- import { type Config as McpConfig, type Manager as McpManager } from "../mcp/index.js";
3
+ import type { Manager as McpManager } from "../mcp/index.js";
4
4
  import type { System as SystemPrompt } from "../prompts/index.js";
5
- import { type Registry } from "../skills/index.js";
5
+ import type { Registry } from "../skills/index.js";
6
6
  export declare function create(config: Config, system: SystemPrompt, registry: Registry, mcp: {
7
- config: McpConfig;
8
7
  manager: McpManager;
9
8
  }, print: boolean | undefined, meta: {
10
9
  userId?: string;
@@ -1,9 +1,7 @@
1
1
  import { Agent, BeforeInvocationEvent } from "@strands-agents/sdk";
2
2
  import { modelProviders } from "../models/index.js";
3
- import { createMcpTools, } from "../mcp/index.js";
4
3
  import { skills as createSkillsPrompt } from "../prompts/index.js";
5
4
  import { createShortTermMemory, createLongTermMemoryStore, createLongTermMemoryTools, } from "../memory/index.js";
6
- import { createSkillsTools } from "../skills/index.js";
7
5
  import { createRunAgentsTools, loadBuiltInAgentDefinitions, } from "../agents/index.js";
8
6
  import { createTodoTools, createFetchTools, createFilesystemTools, createSleepTools, createShellTools, createThinkingTools, createTimeTools, createWikiTools, createWebSearchTools, } from "../tools/index.js";
9
7
  import { clearTodoState } from "../state/todos.js";
@@ -33,8 +31,6 @@ export async function create(config, system, registry, mcp, print = false, meta)
33
31
  ...(config.tools.shell.enabled ? createShellTools() : []),
34
32
  ...(config.search.enabled ? createWebSearchTools(config) : []),
35
33
  ...(config.tools.wiki.enabled ? createWikiTools(config) : []),
36
- ...(config.tools.mcp.enabled ? createMcpTools(mcp.config) : []),
37
- ...(config.tools.skills.enabled ? createSkillsTools(registry) : []),
38
34
  ...createThinkingTools(),
39
35
  ...prefixed,
40
36
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/agent/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/agent/index.ts"],"names":[],"mappings":"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"}
@@ -33,10 +33,10 @@ export declare class Config {
33
33
  private readJson;
34
34
  /** Reload servers from disk (overwrites unsaved in-memory changes). */
35
35
  reload(): void;
36
- private persist;
37
36
  /** All configured servers, stable sort by name. */
38
37
  list(): NamedMcpTransport[];
39
38
  get(name: string): McpTransport | undefined;
39
+ private persist;
40
40
  add(name: string, transport: McpTransport): void;
41
41
  update(name: string, transport: McpTransport): void;
42
42
  remove(name: string): void;
@@ -27,10 +27,6 @@ export class Config {
27
27
  const parsed = McpServersFileSchema.parse(this.readJson());
28
28
  this.servers = { ...parsed.mcpServers };
29
29
  }
30
- persist() {
31
- const payload = { mcpServers: { ...this.servers } };
32
- writeFileSync(this.path, JSON.stringify(payload, null, 2), "utf8");
33
- }
34
30
  /** All configured servers, stable sort by name. */
35
31
  list() {
36
32
  return Object.entries(this.servers)
@@ -40,25 +36,30 @@ export class Config {
40
36
  get(name) {
41
37
  return this.servers[name];
42
38
  }
39
+ persist() {
40
+ const data = { mcpServers: this.servers };
41
+ writeFileSync(this.path, JSON.stringify(data, null, 2), "utf8");
42
+ }
43
43
  add(name, transport) {
44
- if (Object.hasOwn(this.servers, name)) {
45
- throw new Error(`MCP server "${name}" already exists`);
44
+ if (this.servers[name]) {
45
+ throw new Error(`MCP server "${name}" already exists.`);
46
46
  }
47
- this.servers[name] = transport;
47
+ this.servers = { ...this.servers, [name]: transport };
48
48
  this.persist();
49
49
  }
50
50
  update(name, transport) {
51
- if (!Object.hasOwn(this.servers, name)) {
52
- throw new Error(`MCP server "${name}" not found`);
51
+ if (!this.servers[name]) {
52
+ throw new Error(`MCP server "${name}" does not exist.`);
53
53
  }
54
- this.servers[name] = transport;
54
+ this.servers = { ...this.servers, [name]: transport };
55
55
  this.persist();
56
56
  }
57
57
  remove(name) {
58
- if (!Object.hasOwn(this.servers, name)) {
59
- throw new Error(`MCP server "${name}" not found`);
58
+ if (!this.servers[name]) {
59
+ throw new Error(`MCP server "${name}" does not exist.`);
60
60
  }
61
- delete this.servers[name];
61
+ const { [name]: _removed, ...remaining } = this.servers;
62
+ this.servers = remaining;
62
63
  this.persist();
63
64
  }
64
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/mcp/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/mcp/config.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,5 @@ import { Manager, HOOMAN_CHANNEL, HOOMAN_CHANNEL_PERMISSION, type ChannelMessage
3
3
  export { Config, Manager };
4
4
  export { HOOMAN_CHANNEL, HOOMAN_CHANNEL_PERMISSION };
5
5
  export type { ChannelMessage, ChannelPermissionBehavior, ChannelSubscription, ChannelSubscriptionHandle, NamedMcpTransport, };
6
- export { createMcpTools } from "./tools.js";
7
6
  export declare function createMcpConfig(path: string): Config;
8
7
  export declare function createMcpManager(config: Config, acp?: boolean, mcpServers?: readonly NamedMcpTransport[]): Manager;
@@ -2,7 +2,6 @@ import { Config } from "./config.js";
2
2
  import { Manager, HOOMAN_CHANNEL, HOOMAN_CHANNEL_PERMISSION, } from "./manager.js";
3
3
  export { Config, Manager };
4
4
  export { HOOMAN_CHANNEL, HOOMAN_CHANNEL_PERMISSION };
5
- export { createMcpTools } from "./tools.js";
6
5
  export function createMcpConfig(path) {
7
6
  return new Config(path);
8
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA0B,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,OAAO,EACP,cAAc,EACd,yBAAyB,GAK1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,CAAC;AAQrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,GAAG,GAAG,KAAK,EACX,aAA2C,EAAE;IAE7C,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA0B,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,OAAO,EACP,cAAc,EACd,yBAAyB,GAK1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,CAAC;AASrD,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,GAAG,GAAG,KAAK,EACX,aAA2C,EAAE;IAE7C,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { Registry } from "../skills/registry.js";
2
2
  /**
3
3
  * Builds the dynamic **Available skills** markdown block using
4
- * {@link Registry.list} (same source as the skills CLI), prefixed by a
4
+ * {@link Registry.list}, prefixed by a
5
5
  * static **Built-in skills** section from `src/core/skills/built-in/`.
6
6
  *
7
7
  * Mirrors {@link System}: call {@link reload}, then read {@link content}.
@@ -3,14 +3,18 @@ import { dirname, join } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import { parseSkillFrontmatter } from "../skills/metadata.js";
5
5
  /** Folder names under `src/core/skills/built-in/<id>/SKILL.md` (also copied to `dist/`). */
6
- const BUILTIN_SKILLS = ["hooman-config"];
6
+ const BUILTIN_SKILLS = [
7
+ "hooman-config",
8
+ "hooman-mcp",
9
+ "hooman-skills",
10
+ ];
7
11
  const BUILTIN_ROOT = join(dirname(fileURLToPath(import.meta.url)), "../skills/built-in");
8
12
  /** Markdown for built-in skills; fixed at module load (paths match this install’s `built-in/` tree). */
9
13
  const BUILTIN_SKILLS_SECTION = (() => {
10
14
  const header = [
11
15
  "## Built-in skills",
12
16
  "",
13
- "Shipped with hooman; not removable via skills management tools. When one matches the request, read its `SKILL.md` at the path shown and follow that guidance.",
17
+ "Shipped with hooman. When one matches the request, read its `SKILL.md` at the path shown and follow that guidance.",
14
18
  "",
15
19
  ];
16
20
  let any = false;
@@ -34,7 +38,7 @@ const BUILTIN_SKILLS_SECTION = (() => {
34
38
  })();
35
39
  /**
36
40
  * Builds the dynamic **Available skills** markdown block using
37
- * {@link Registry.list} (same source as the skills CLI), prefixed by a
41
+ * {@link Registry.list}, prefixed by a
38
42
  * static **Built-in skills** section from `src/core/skills/built-in/`.
39
43
  *
40
44
  * Mirrors {@link System}: call {@link reload}, then read {@link content}.
@@ -57,7 +61,7 @@ export class Skills {
57
61
  this.data = [
58
62
  "## Available skills",
59
63
  "",
60
- "The skills list could not be loaded (for example if `npx skills` is unavailable). Skills management tools may still work; try again later.",
64
+ "Installed skills could not be loaded. Check `~/.hooman/skills` and try again later.",
61
65
  "",
62
66
  ].join("\n");
63
67
  return;
@@ -69,7 +73,7 @@ export class Skills {
69
73
  "",
70
74
  ];
71
75
  if (entries.length === 0) {
72
- lines.push("No skills are installed yet. Use the skills management tools to search and install packages, or add them under your agent skills directory.", "");
76
+ lines.push("No skills are installed yet. Add skill folders under `~/.hooman/skills`.", "");
73
77
  this.data = lines.join("\n").trim();
74
78
  return;
75
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/core/prompts/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,4FAA4F;AAC5F,MAAM,cAAc,GAAG,CAAC,eAAe,CAAU,CAAC;AAElD,MAAM,YAAY,GAAG,IAAI,CACvB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,oBAAoB,CACrB,CAAC;AAEF,wGAAwG;AACxG,MAAM,sBAAsB,GAAW,CAAC,GAAG,EAAE;IAC3C,MAAM,MAAM,GAAa;QACvB,oBAAoB;QACpB,EAAE;QACF,+JAA+J;QAC/J,EAAE;KACH,CAAC;IACF,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,qBAAqB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,oBAAoB,WAAW,IAAI,gBAAgB,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,eAAe,MAAM,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC,CAAC,EAAE,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IACA,QAAQ,CAAW;IAC5B,IAAI,GAAG,EAAE,CAAC;IAElB,YAAmB,QAAkB;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,GAAG;gBACV,qBAAqB;gBACrB,EAAE;gBACF,4IAA4I;gBAC5I,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,qBAAqB;YACrB,EAAE;YACF,iOAAiO;YACjO,EAAE;SACH,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CACR,6IAA6I,EAC7I,EAAE,CACH,CAAC;YACF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CACjE,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,IAAI,gBAAgB,EAAE,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/core/prompts/skills.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  ## Identity
2
2
 
3
- You are an agent named **{{ name }}**.
3
+ You are an agent named **{{ name }}**, powered by Hooman.
4
4
  You are a reliable, structured, and thoughtful assistant.
5
5
 
6
6
  ### Behavior
@@ -1,18 +1,18 @@
1
1
  ## Skills
2
2
 
3
- You may have **skills management tools** (install, list, search, delete) and a dynamic **Available skills** section elsewhere in the system prompt listing installed skills (title from the skills CLI) with absolute paths to each `SKILL.md`.
3
+ You may have a dynamic **Available skills** section elsewhere in the system prompt listing installed skills with absolute paths to each `SKILL.md`.
4
4
 
5
5
  ### When to use a skill during this turn
6
6
 
7
7
  - When the user's goal, stack, or workflow clearly matches a listed skill (same product, API, or task family), treat that skill as the preferred playbook before improvising.
8
8
  - When you are unsure but a skill's title plausibly fits the task, open its `SKILL.md` using the **absolute path** from the Available skills list and skim it; if it helps, follow it for the rest of the turn.
9
9
  - Prefer **reading** `SKILL.md` over guessing conventions (naming, CLI flags, safety steps) that the skill is meant to encode.
10
- - Do **not** load or follow skills that are unrelated to the current request, and do not treat the catalog listing as mandatory background reading for every reply.
10
+ - Do **not** load or follow skills that are unrelated to the current request, and do not treat the available-skills listing as mandatory background reading for every reply.
11
11
 
12
12
  ### Coordination with tools
13
13
 
14
14
  - Use **filesystem** tools to read `SKILL.md` at the given path when you need full instructions.
15
- - Use **skills management** tools when the user wants to discover, install, or remove skills from the public catalog or local sources, not for ordinary tasks that do not involve skills.
15
+ - When the user wants to manage Hooman skills, use the built-in `hooman-skills` skill and edit `~/.hooman/skills` directly.
16
16
 
17
17
  ### Goal
18
18