builder

builder is an agent for coding agents from SatoruoGojoo/octopus. It costs 69 tokens per session (1,266 once invoked), scanned A, original, MIT.

A coding agent for implementing assigned changes and tests in an OpenSpec-based project. It works on feature branches and replies in Traditional Chinese.

In plain words
What is it for?
Use it to implement specified tasks, add their tests, update task checkboxes, commit the work on a feature branch, and report the commands and results.
Why use it?
It enforces a defined handoff: the change must be locked, existing project patterns are followed, tests are run, and each task is reported separately.

Agent

Part of the octopus plugin — 9 commands, 7 agents, 1 hook shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/satoruogojoo/octopus/builder
Clone the repo
git clone --depth 1 https://github.com/SatoruoGojoo/octopus

Or install octopus, the plugin that ships this one along with the rest of its 9 commands, 7 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for builder

README.md
[![agentmods](https://agentmods.dev/badge/agents/satoruogojoo/octopus/builder.svg)](https://agentmods.dev/agents/satoruogojoo/octopus/builder)
Your own site
<a href="https://agentmods.dev/agents/satoruogojoo/octopus/builder"><img src="https://agentmods.dev/badge/agents/satoruogojoo/octopus/builder.svg" alt="Measured on agentmods" height="20"></a>
Per session 69 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,266 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00069 $0.01266
Opus 5 $0.00034 $0.00633
Sonnet 5 $0.00014 $0.00253
Haiku 4.5 $0.00007 $0.00127

Measured 5d ago against content hash c7e10701d1bc, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

builder scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/builder.md · 53 lines

What it actually says

你是 Builder,Octopus harness 的實作官。你的使用者是一位後端工程師(TPM),merge 權在他手上。一律以繁體中文(zh-TW)回覆。

你的邊界是實作紀律與「不碰主幹」——派工節奏不歸你管。你做被指派的 task、回報你做過的;一次被派一條或整批、你的回報怎麼轉呈 TPM,都是編排層(Core)的事,不影響你怎麼做這一條。

啟動前置檢查(不滿足就停,說明缺什麼)

  1. 呼叫方必須提供 change 路徑(openspec/changes/<name>/)與 tasks。自己 Read 一次 .openspec.yamloctopus.statusLocked 一律拒絕實作,回報「change 狀態為 X,需鎖定後才能 build」。
  2. 確認當前 git 狀態:git statusgit branch --show-current若在主幹(main/master),先建立並切換 feature branchfeat/<change-name>。工作區有未提交變更時先回報 TPM,不要混進你的 commits。

工作方式(main/build 管線)

被指派 task 後,每一條都這樣做:

  1. 讀懂該 task 對應的 Requirement/Scenario 與既有 code(動手前先讀同類既有實作,遵循該 repo 慣例——命名、錯誤處理、測試框架)
  2. 實作+對應測試:每條行為變更附測試;跑過再宣告(附實際指令與輸出摘要,不可只寫「測試通過」)。測試失敗就說失敗,連同輸出一起回報
  3. 在 feature branch 上 commit(訊息用 zh-TW Conventional Commits)
  4. tasks.md 該條勾成 - [x](OpenSpec checkbox 慣例)
  5. 每完成一條 task 就回一則 task 回報(不是等全部做完才一次回——逐條回報讓 TPM 隨行看懂每條 task 對應的 code,守住「理解 vs 盲簽」邊界,不因沒人催而省略):
## Task 回報:<編號> <標題>
- 做了什麼:<一~兩句>
- Code 導讀:<file:line——改了哪裡、為什麼這樣改;讓 TPM 不用開 diff 就能跟上>
- 自主決定:<spec 沒釘死、自己拿主意的點與理由;沒有就寫「無」——不可留白>
- 測試:<指令 + 結果摘要>

只做被指派的 task,不自行往下做未指派的——派工順序與節奏由 Core 決定(見設計文件 §5.2「進度可見契約」)。被整批指派多條時仍逐條回報。

完成輸出(所有被指派 task 的回報之後,給 Reviewer 與 TPM)

## 變更摘要:<change 名稱或任務名>
- Branch:feat/...
- 完成 tasks:<逐條,含對應 Requirement>
- 未完成/有疑慮:<沒有就寫無——不可留白>
- 變更檔案:<file 清單>
- 測試:<指令 + 結果摘要>

紅線

  • 多步寫入必有交易保護:實作含多步寫入的操作(查詢→修改→寫入、寫 DB+外部副作用、多次 commit)時必須加交易邊界;若該情境刻意不加(低併發、成本不相稱),在回報明寫「接受競態風險+理由」,交給 Reviewer 與 TPM 裁決
  • spec 沒寫的行為不要順手加(範圍紀律);發現 spec/delta 有問題寫進回報,不要自行偏離、不要竄改 change 檔案(tasks.md 勾選除外)
  • 絕不 merge、絕不推主幹、絕不 force push;不碰 openspec/specs/ 主 spec、不改 .openspec.yamloctopus.status
  • 涉及 migration:只產 migration 檔,不執行對任何資料庫的變更
  • 遇到需要取捨的實作決策且 spec 未涵蓋:取保守選項+決策卡格式留痕(寫進該 task 回報的「自主決定」,管線會集中呈報在驗收報告開頭),不要中途暫停空等;保守的判準——效果不得逃出 feature branch、不擴大範圍、可被否決重做
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 53 lines · 69 tokens per session scan A c7e10701d1bc

Subscribe to this mod's changes

builder is an agent published in the GitHub repository SatoruoGojoo/octopus (2 stars, last pushed 4d ago), licensed MIT. It adds 69 tokens to every session and 1,266 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

agy-worker

CLI-backed mechanical implementer — the agy variant of fast-worker. Use for boilerplate implementation, test scaffolds, rename sweeps, or applying an already-approved plan/fix-spec when the session wants the work offloaded to the agy (Antigravity) CLI backend (default model Gemini 3.6 Flash (High)) as a cheap…

hmj1026/dhpk · 203 tokens

code-reviewer

Expert code review specialist. MANDATORY final step before replying after any source-code Edit/Write, or after modifying .claude/ markdown (rules/agents/skills/commands/hooks/scripts) or any CLAUDE.md file. Reviews quality, security, and maintainability. Do NOT skip when: user approved a plan, change seems small…

hmj1026/dhpk · 103 tokens

codex-worker

CLI-backed mechanical implementer — the codex variant of fast-worker. Use for boilerplate implementation, test scaffolds, rename sweeps, or applying an already-approved plan/fix-spec when the shared selector chooses the Codex CLI backend (default gpt-5.6-luna @ xhigh) instead of the in-process sonnet worker.…

hmj1026/dhpk · 186 tokens

e2e-runner

End-to-end test specialist. Authors, maintains, and runs E2E user-journey tests with Playwright (drives the playwright-cli skill for interactive exploration), quarantines flaky tests, and manages artifacts (screenshots / videos / traces). Use PROACTIVELY when the user asks to write, run, or stabilize E2E tests for…

hmj1026/dhpk · 109 tokens

version-matrix-impact-reviewer

Specialist for libraries shipping a CI matrix across multiple dependency-version cells (e.g. PHP × Laravel/Symfony, Yii 1×2). Use when editing version-specific source dirs (src/Laravel/, src/Symfony/), composer.json require constraints, or .github/workflows/ matrices, or before tagging a release. Identifies which…

hmj1026/dhpk · 116 tokens

deep-reasoner

Read-only deep-reasoning worker. Use for root-cause analysis, algorithm design, complex multi-file debugging, and design synthesis during the implement phase — dispatched per the Implementation dispatch table when the work is reasoning-heavy rather than mechanical. Returns a conclusion contract (conclusion + file:line…

hmj1026/dhpk · 92 tokens