@tintinweb/pi-subagents 0.9.0 → 0.9.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/CHANGELOG.md CHANGED
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.9.1] - 2026-05-30
11
+
12
+ ### Added
13
+ - **`Agent`, `get_subagent_result`, and `steer_subagent` now surface in pi's default system prompt** ([#87](https://github.com/tintinweb/pi-subagents/pull/87) — thanks [@that-yolanda](https://github.com/that-yolanda)). Adds `promptSnippet` to all three (a line in the prompt's `Available tools:` section) and `promptGuidelines` to `Agent` (bullets in `Guidelines:`). The tools were always callable via the tool-call API; this only adds system-prompt reinforcement for prompt-following models. No schema or tool-call changes.
14
+
10
15
  ## [0.9.0] - 2026-05-30
11
16
 
12
17
  > **Heads-up — orchestrator behavior may shift.** This release substantially rewrites the `Agent` tool description and the three default-agent descriptions (`general-purpose`, `Explore`, `Plan`) to mirror Claude Code's upstream wording. No API, schema, or tool-call shape changes — purely a prompt-engineering shift, but a load-bearing one:
package/dist/index.js CHANGED
@@ -617,6 +617,13 @@ Provide clear, detailed prompts so the agent can work autonomously. Brief it lik
617
617
  Terse command-style prompts produce shallow, generic work.
618
618
 
619
619
  **Never delegate understanding.** Don't write "based on your findings, fix the bug" or "based on the research, implement it." Those phrases push synthesis onto the agent instead of doing it yourself. Write prompts that prove you understood: include file paths, line numbers, what specifically to change.`,
620
+ promptSnippet: "Launch autonomous sub-agents for complex multi-step tasks",
621
+ promptGuidelines: [
622
+ "Use Agent with specialized agents when the task matches an agent type's description. Subagents are valuable for parallelizing independent queries or for protecting the main context window from excessive results, but should not be used excessively when not needed. Importantly, avoid duplicating work that subagents are already doing — if you delegate research to a subagent, do not also perform the same searches yourself.",
623
+ "For broad codebase exploration or research, spawn Agent with an appropriate subagent_type (e.g. Explore). Otherwise use direct tools (read, grep, find) when the target is already known.",
624
+ "When an agent runs in the background, you will be notified on completion — do not poll or sleep waiting for it. Continue with other work instead.",
625
+ "Trust but verify: an agent's summary describes intent, not outcome. When an agent writes or edits code, check the actual changes before reporting work as done.",
626
+ ],
620
627
  parameters: Type.Object({
621
628
  prompt: Type.String({
622
629
  description: "The task for the agent to perform.",
@@ -1038,6 +1045,7 @@ Terse command-style prompts produce shallow, generic work.
1038
1045
  name: "get_subagent_result",
1039
1046
  label: "Get Agent Result",
1040
1047
  description: "Check status and retrieve results from a background agent. Use the agent ID returned by Agent with run_in_background.",
1048
+ promptSnippet: "Check status and retrieve results from a background agent",
1041
1049
  parameters: Type.Object({
1042
1050
  agent_id: Type.String({
1043
1051
  description: "The agent ID to check.",
@@ -1108,6 +1116,7 @@ Terse command-style prompts produce shallow, generic work.
1108
1116
  label: "Steer Agent",
1109
1117
  description: "Send a steering message to a running agent. The message will interrupt the agent after its current tool execution " +
1110
1118
  "and be injected into its conversation, allowing you to redirect its work mid-run. Only works on running agents.",
1119
+ promptSnippet: "Send a steering message to redirect a running background agent",
1111
1120
  parameters: Type.Object({
1112
1121
  agent_id: Type.String({
1113
1122
  description: "The agent ID to steer (must be currently running).",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tintinweb/pi-subagents",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "A pi extension extension that brings smart Claude Code-style autonomous sub-agents to pi.",
5
5
  "author": "tintinweb",
6
6
  "license": "MIT",
package/src/index.ts CHANGED
@@ -695,6 +695,13 @@ Provide clear, detailed prompts so the agent can work autonomously. Brief it lik
695
695
  Terse command-style prompts produce shallow, generic work.
696
696
 
697
697
  **Never delegate understanding.** Don't write "based on your findings, fix the bug" or "based on the research, implement it." Those phrases push synthesis onto the agent instead of doing it yourself. Write prompts that prove you understood: include file paths, line numbers, what specifically to change.`,
698
+ promptSnippet: "Launch autonomous sub-agents for complex multi-step tasks",
699
+ promptGuidelines: [
700
+ "Use Agent with specialized agents when the task matches an agent type's description. Subagents are valuable for parallelizing independent queries or for protecting the main context window from excessive results, but should not be used excessively when not needed. Importantly, avoid duplicating work that subagents are already doing — if you delegate research to a subagent, do not also perform the same searches yourself.",
701
+ "For broad codebase exploration or research, spawn Agent with an appropriate subagent_type (e.g. Explore). Otherwise use direct tools (read, grep, find) when the target is already known.",
702
+ "When an agent runs in the background, you will be notified on completion — do not poll or sleep waiting for it. Continue with other work instead.",
703
+ "Trust but verify: an agent's summary describes intent, not outcome. When an agent writes or edits code, check the actual changes before reporting work as done.",
704
+ ],
698
705
  parameters: Type.Object({
699
706
  prompt: Type.String({
700
707
  description: "The task for the agent to perform.",
@@ -1185,6 +1192,7 @@ Terse command-style prompts produce shallow, generic work.
1185
1192
  label: "Get Agent Result",
1186
1193
  description:
1187
1194
  "Check status and retrieve results from a background agent. Use the agent ID returned by Agent with run_in_background.",
1195
+ promptSnippet: "Check status and retrieve results from a background agent",
1188
1196
  parameters: Type.Object({
1189
1197
  agent_id: Type.String({
1190
1198
  description: "The agent ID to check.",
@@ -1265,6 +1273,7 @@ Terse command-style prompts produce shallow, generic work.
1265
1273
  description:
1266
1274
  "Send a steering message to a running agent. The message will interrupt the agent after its current tool execution " +
1267
1275
  "and be injected into its conversation, allowing you to redirect its work mid-run. Only works on running agents.",
1276
+ promptSnippet: "Send a steering message to redirect a running background agent",
1268
1277
  parameters: Type.Object({
1269
1278
  agent_id: Type.String({
1270
1279
  description: "The agent ID to steer (must be currently running).",