aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-19 12:03:26 +0200
committerDanilo M. <danix@danix.xyz>2026-10-19 12:03:26 +0200
commit702117ef9557503fd67ac17db9e1a89a7c67e0a9 (patch)
tree2201ba83d2ddb1075c85ada070ea9a7a657d9b11
parenta150177a95ab576532559a1d8bf97d1cb17086e4 (diff)
downloaddesktop-assistant-702117ef9557503fd67ac17db9e1a89a7c67e0a9.tar.gz
desktop-assistant-702117ef9557503fd67ac17db9e1a89a7c67e0a9.zip
project tool: end the prompt with a period, plan-friendly opencode prompt
The model sends the description without a final period, so the prompt read "...tool Fill in". opencode now starts in its plan agent, which cannot edit, so its prompt asks for a proposal instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
-rw-r--r--docs/superpowers/plans/2026-10-19-project-tool.md7
-rwxr-xr-xexamples/tools/project.sh7
2 files changed, 10 insertions, 4 deletions
diff --git a/docs/superpowers/plans/2026-10-19-project-tool.md b/docs/superpowers/plans/2026-10-19-project-tool.md
index 9e2b95f..7d10a88 100644
--- a/docs/superpowers/plans/2026-10-19-project-tool.md
+++ b/docs/superpowers/plans/2026-10-19-project-tool.md
@@ -197,8 +197,11 @@ fi
# kitty-{kitty_pid}), else a new window.
# ponytail: focuses some kitty window, not necessarily the one with the new
# tab when several are open; match by kitty's window id if that bites.
-prompt="New project: $desc Fill in AGENTS.md and README.md from this, then wait."
-[ "$agent" = claude ] && run=(claude "$prompt") || run=(opencode --prompt "$prompt")
+prompt="New project: ${desc%.}. Fill in AGENTS.md and README.md from this, then wait."
+# opencode starts in its plan agent (default_agent in its config), which
+# cannot edit: it proposes, the user switches to build to write.
+[ "$agent" = claude ] && run=(claude "$prompt") ||
+ run=(opencode --prompt "New project: ${desc%.}. Read AGENTS.md and README.md and propose what they should say, then wait.")
how=window
for s in $(ls -t "${XDG_RUNTIME_DIR:-/tmp}"/kitty-* 2>/dev/null); do
if "$kitty" @ --to "unix:$s" launch --type=tab --cwd="$dir" "${run[@]}" >/dev/null 2>&1; then
diff --git a/examples/tools/project.sh b/examples/tools/project.sh
index d8f7538..25732d5 100755
--- a/examples/tools/project.sh
+++ b/examples/tools/project.sh
@@ -123,8 +123,11 @@ fi
# kitty-{kitty_pid}), else a new window.
# ponytail: focuses some kitty window, not necessarily the one with the new
# tab when several are open; match by kitty's window id if that bites.
-prompt="New project: $desc Fill in AGENTS.md and README.md from this, then wait."
-[ "$agent" = claude ] && run=(claude "$prompt") || run=(opencode --prompt "$prompt")
+prompt="New project: ${desc%.}. Fill in AGENTS.md and README.md from this, then wait."
+# opencode starts in its plan agent (default_agent in its config), which
+# cannot edit: it proposes, the user switches to build to write.
+[ "$agent" = claude ] && run=(claude "$prompt") ||
+ run=(opencode --prompt "New project: ${desc%.}. Read AGENTS.md and README.md and propose what they should say, then wait.")
how=window
for s in $(ls -t "${XDG_RUNTIME_DIR:-/tmp}"/kitty-* 2>/dev/null); do
if "$kitty" @ --to "unix:$s" launch --type=tab --cwd="$dir" "${run[@]}" >/dev/null 2>&1; then