@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 +5 -0
- package/dist/index.js +9 -0
- package/package.json +1 -1
- package/src/index.ts +9 -0
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
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).",
|