From 032a842e820f0c6a60a4a31d75028aea86245266 Mon Sep 17 00:00:00 2001 From: Steve Beaulac Date: Sat, 27 Jun 2026 17:05:57 -0400 Subject: [PATCH] Remove tea CLI dependency from implement-issue skill Streamline the skill by removing tea-specific command examples. The checks (issue exists, labels, blockers) still need to happen but the exact commands are now at the discretion of the agent. Also update agents-seed.md to fix arg configurations and add missing notes about stdin piping. --- common/engineering/implement-issue/SKILL.md | 34 ++++--------------- .../engineering/setup-skills/agents-seed.md | 23 +++++++------ 2 files changed, 18 insertions(+), 39 deletions(-) diff --git a/common/engineering/implement-issue/SKILL.md b/common/engineering/implement-issue/SKILL.md index b8efc09..587f7f9 100644 --- a/common/engineering/implement-issue/SKILL.md +++ b/common/engineering/implement-issue/SKILL.md @@ -39,17 +39,9 @@ Supported agents and their configurations are defined in `agents-seed.md` in the Stop on any failure and report clearly what needs fixing. Do not proceed. -#### 1a. `tea` CLI - -Confirm `tea` is on PATH. If missing, tell the user to install it and stop. - #### 1b. Issue exists and is open -```bash -tea issue -o json -``` - -If the issue is not found (404) or state is not `open`, report and stop. +If the issue is not found or state is not `open`, report and stop. #### 1c. Issue is labeled `ready-for-agent` @@ -59,10 +51,6 @@ Check that the issue's labels include `ready-for-agent`. If not, report the curr Read the issue body for "Blocked by #M" references. For each referenced issue, check whether it is open: -```bash -tea issue -o json -``` - If any blocker is open, report the blocking issues and stop. #### 1e. Remote exists and base branch is reachable @@ -73,9 +61,7 @@ Default base is the repo's default branch — infer from `git ls-remote --heads git ls-remote --heads origin ``` -If the remote is unreachable or the base branch doesn't exist, report and stop. SSH auth issues (e.g. `Permission denied (publickey)`) are a failure — tell the user which key is needed. - -> **SSH note:** `tea` uses HTTPS and may work when git-over-SSH does not. If the first `git ls-remote` fails with an SSH error, try `export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)` and retry before failing. +If the remote is unreachable or the base branch doesn't exist, report and stop. #### 1f. Branch name is free @@ -131,19 +117,11 @@ Stop. ### 2. Setup -#### 2a. Fetch latest base +#### 2a. Label the issue `in-progress` -```bash -git fetch origin -``` +Apply the `in-progress` triage label. -#### 2b. Label the issue `in-progress` - -```bash -tea issues edit --add-labels "in-progress" --remove-labels "ready-for-agent" -``` - -#### 2c. Create the worktree +#### 2b. Create the worktree ```bash git worktree add -b ../-issue- @@ -244,4 +222,4 @@ After launching, print: - Tmux window name (so the user can find it) - Cleanup command: `git worktree remove && git worktree prune` -The parent's turn ends here. The user can dispatch another issue immediately. \ No newline at end of file +The parent's turn ends here. The user can dispatch another issue immediately. diff --git a/common/engineering/setup-skills/agents-seed.md b/common/engineering/setup-skills/agents-seed.md index 2b16600..2be75fe 100644 --- a/common/engineering/setup-skills/agents-seed.md +++ b/common/engineering/setup-skills/agents-seed.md @@ -8,30 +8,31 @@ This file is the source of truth for all supported CLI agents. It is read by `se agents: - name: pi binary: pi - args: "-p @{prompt}" - description: "My primary agent harness. Accepts prompt file via -p flag." + args: "@{prompt}" + description: "My primary agent harness. Accepts prompt file via @{prompt}." - name: opencode binary: opencode - args: "run -f @{prompt}" - description: "OpenCode agent. Accepts prompt file via -f flag." + args: "" + description: "OpenCode agent. Pipes stdin via cat." + note: "Uses stdin piping: args must be empty, prompt via pipe." - name: goose binary: goose - args: "run -i @{prompt}" + args: "" description: "Goose agent. Accepts prompt file via -i flag." + note: "Uses stdin piping: args must be empty, prompt via pipe." - name: codex binary: codex - args: "" - description: "OpenAI Codex. Pipes stdin via cat." - note: "Uses stdin piping: args must be empty, prompt via pipe." + args: "@{prompt}" + description: "OpenAI Codex. Accepts prompt file via @{prompt}." - name: claude binary: claude - args: "-p" + args: "" description: "Anthropic Claude CLI. Pipes stdin via cat." - note: "Uses stdin piping: args is just the prompt flag, prompt via pipe." + note: "Uses stdin piping: args must be empty, prompt via pipe." ``` ## Field meanings @@ -42,4 +43,4 @@ agents: | `binary` | Command name expected on PATH | | `args` | Static arguments appended after the binary. May include `@{prompt}` which is substituted at invocation time with the absolute path to the prompt file. Empty string means stdin piping (prompt is piped via `cat`). | | `description` | Short human-readable description for the setup menu | -| `note` | Optional additional context | \ No newline at end of file +| `note` | Optional additional context |