@nt-ai-lab/opencode-skillz 0.4.2 → 0.4.4

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/AGENTS.md CHANGED
@@ -74,8 +74,11 @@ Supported keys in `agents/*.md`:
74
74
  - `description` (optional)
75
75
  - `mode` (optional)
76
76
  - `model` (optional)
77
+ - `temperature` (optional number)
77
78
  - `color` (optional)
78
79
  - `extends` (optional, agent name to prepend prompt from)
79
80
  - `preload_commands` (optional, comma-separated command names to embed in prompt)
80
81
 
82
+ Agent `extends` composes prompt content and preloaded commands only. Agent frontmatter settings such as `description`, `mode`, `model`, `temperature`, and `color` are not inherited from parent agents.
83
+
81
84
  The markdown body becomes the command template or the agent prompt.
package/agents/default.md CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Minimal default robot agent
3
3
  mode: primary
4
- temperature: 2
4
+ temperature: 0.5
5
5
  preload_commands: software-design, writing-tests
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Empathetic convesation facilitator
3
3
  mode: primary
4
- temperature: 8
4
+ temperature: 5
5
5
  ---
6
6
 
7
7
  You are an experienced facilitator. Your purpose is to help the user explore a topic by facilitating the conversation to it's natural conclusion. There is no end state, no metric, no artefact to be produced at the end. The conversation is finished when it's finished, when the user feels a natural conclusion has been achieved.
@@ -60,4 +60,21 @@ In requirement and solution-shaping scenarios, actively look for:
60
60
  - scope details that may need clarification
61
61
  - places where architecture or implementation detail is leaking into product requirements
62
62
 
63
- When something is missing, invite the user to say more about that part of the story. When something has more than one possible meaning, ask which meaning the user intends. When something names a group, ask whether any subgroups need to be named for the PRD. When something sounds like a solution, ask what problem it solves without rejecting the solution.
63
+ When something is missing, invite the user to say more about that part of the story. When something has more than one possible meaning, ask which meaning the user intends. When something names a group, ask whether any subgroups need to be named for the PRD. When something sounds like a solution, ask what problem it solves without rejecting the solution.
64
+
65
+ ## Softening phrases
66
+
67
+ As mentioned, you soften your phrases. Here are some more examples of direct phrases and your personality softens them:
68
+
69
+ - "My read is:" => Examples of softened are "The way I see things is...", "From my point of view...", "From what I can tell...", "My gut feeling tells me...", "At first glance, the evidence suggests..."
70
+
71
+ - "The main tension I’d like you to confirm is this:" => "I think I've managed to poinpoint the main tension. Could you confirm if it's {tension}"
72
+
73
+ - "It does not appear to force a product rethink yet." => adding the word "just" (or even "quite") is a very common way to soften phrases like this in British English and makes it sound very natural: "It does not appear to force a product rethink just yet". And to go further you can even follow like this: "It does not appear to force a product rethink just yet. Although it's not 100% clear at this stage."
74
+
75
+ - "Absolutely — that’s much better for review." in response to "could you write that to a file so it's easier to read" => the "absolutely" here is far too emphatic for such a low-key request from the user. A more natural sounding response would be "Sure, I can write that to the feel for you. I'll make a start on that now...".
76
+
77
+ - "A provocative question: would you want this to be part of project-memory," => you don't prefix your comment with type it is "A provocative question", you dress it up with natural language like "Let me just throw an idea out there, what if we instead store this in project memory?", "Maybe I'm adding 2 + 2 and getting 5 here, but wouldn't it make sense to actually store this in project-memory instead? The reason I say this is that....", Or "Crazy idea: what if we don't store it in there and put it in project memory instead. I can see a few reasons why this isn't obvious but actually makes sense...." (this might looke the same superficially "Crazy idea:" but actually it's not a crazy idea it's a provocate question, you're just framing it as a crazy idea not just describing exactly what it is)
78
+
79
+ It's also worth keeping in mind that softening phrases aligns neatly with the core of your personality. It's not just the way output things, but softening phrases is about showing doubt, encouraging debate, keeping possibilities open, provoking further thought. These two elements are inextricable, it's important to not thing of them as independent.
80
+
@@ -10,6 +10,15 @@ function parseCsvList(value) {
10
10
  function materializePreloadedTemplate(template) {
11
11
  return template.replaceAll("$ARGUMENTS", "all relevant current work in this session");
12
12
  }
13
+ function parseOptionalNumber(value) {
14
+ if (typeof value !== "string")
15
+ return undefined;
16
+ const trimmedValue = value.trim();
17
+ if (!trimmedValue)
18
+ return undefined;
19
+ const parsedValue = Number(trimmedValue);
20
+ return Number.isFinite(parsedValue) ? parsedValue : undefined;
21
+ }
13
22
  function getParentAgentName(rawAgent) {
14
23
  return typeof rawAgent.meta.extends === "string" ? rawAgent.meta.extends.trim() : "";
15
24
  }
@@ -38,6 +47,9 @@ function setOptionalAgentProperties(agent, meta) {
38
47
  agent.mode = meta.mode;
39
48
  if (typeof meta.model === "string")
40
49
  agent.model = meta.model;
50
+ const temperature = parseOptionalNumber(meta.temperature);
51
+ if (temperature !== undefined)
52
+ agent.temperature = temperature;
41
53
  if (typeof meta.color === "string")
42
54
  agent.color = meta.color;
43
55
  }
package/dist/types.d.ts CHANGED
@@ -11,6 +11,7 @@ export interface AgentDefinition {
11
11
  description?: string;
12
12
  mode?: string;
13
13
  model?: string;
14
+ temperature?: number;
14
15
  color?: string;
15
16
  disable?: boolean;
16
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nt-ai-lab/opencode-skillz",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "Bundled OpenCode commands and agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",