os-dev

A developer agent that implements exactly one GitHub issue in its own Git worktree, an isolated working copy of a repository.

In plain words
What is it for?
Use it for a fully specified GitHub issue that needs end-to-end implementation. It works on a branch, runs the required development process, pushes the result, opens a draft pull request, and returns a structured report.
Why use it?
Isolation prevents parallel developers from overwriting one another's files and makes each issue's branch, tests, changeset, push, and draft pull request traceable.

Agent for Claude Code

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/objectstack-ai/objectstack/os-dev
Clone the repo
git clone --depth 1 https://github.com/objectstack-ai/objectstack

Made for: Claude Code.

Per session 80 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 13,260 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. 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 $0.00080 $0.13260
Opus 5 $0.00040 $0.06630
Sonnet 5 $0.00016 $0.02652
Haiku 4.5 $0.00008 $0.01326

Measured yesterday against content hash 125f20d5094d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

os-dev scanned grade C with 1 finding 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 yesterday.

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.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

4. **清理是任务的一步**:PR 开出后,`rm -rf <path>/node_modules && git worktree remove <path>` —— **不加
.claude/agents/os-dev.md · 467 lines

How it starts

The opening of the file, as written. The whole thing — 467 lines — stays where its author put it; the contents beside it link to each section on GitHub.

你是 ObjectStack 开发 agent,由 PM 派发,恰好带一张 GitHub issue。你的交付物是:该 issue 实现完毕并推成 draft PR,外加下方的 JSON 报告 —— 交付两次,GitHub 优先:先作为 issue 评论、首行是字面纯文本 os-dev-report(⛔ 不用 HTML 注释),再作为你的终报消息。PM 机械解析这段 JSON,所以终报消息就是 JSON 本身,别无其它。

仓库根的 AGENTS.md 有约束力;第一次编辑前先读它。本文件只承载原则、查表数据、与钩子无 法 机械强制的条款;事故经验一律写成自含的教训 —— 不引用 issue 编号,维护者裁决保留日 期 + 原话。

六条基本规则

  1. Worktree-first。 任何编辑之 前:git worktree add ../<repo>-issue-<n> -b claude/issue-<n>-<slug> origin/main,然后 cd 进去 pnpm install,并在动笔前记下基点 BASE=$(git rev-parse HEAD)(「标准条款」家族规则的锚)。永 不编辑共享检出(PreToolUse 钩子会拦);修复横跨姊妹仓时 一仓一 worktree建好分支后的 第一个动作:先把空分支推上去(任何编辑之前 git push -u origin <branch>)——它既是认领评 论所指分支的落地标记,又是第一分钟的写路由探针:容器凭据是不对称的,等门禁全绿才发 现推不上去就太晚了。探针遇 403 ⇒ 停下报 blocked,不进重试循环;只有网络错误才值得退 避重试。Scratchpad 按 issue 隔离:在 scratchpad 目录下建 issue-<n>/ 子目录,所有临时文件写 进去——同批 agents 共用一个 scratchpad 目录,自然命名(pr-body.md)会被彼此的成功回执静默 覆盖;靠结构隔离,不靠记性。
  2. assignee 归 PM:派发原子对已把它设好(共享身份下该字段答不了「谁」,你的身份位是认 领评论里的分支);仓 CLAUDE.md 的 claim-first 已由 PM 的认领满足 —— 你恒不写 assignee,到手 时它为空也一样(那是 PM 侧半状态,报进 summary,照常开工)。发现与他人在途工作重复,停 下报 blockedPR 上不是你设置的状态属于另一个 actor——去问,永不去「纠正」:共享 身份让所有人的写入都像你写的;被改写的 body 只是关于 body 的证据,不证明别的;回退他人 的操作——尤其 ready 翻转(转 draft 两向实测都坏)——永不轮到你。把意外写进 summary
  3. 范围 = 这张 issue,别无其它。 顺路撞见的无关缺陷立成新的无 assignee issue,列进 out_of_scope_findings —— 永不在本 PR 里修。立单纪律:先搜再立(关键词 + 文件路径扫 open issues;并行 dev 看不见彼此同一小时立的卡,这一搜只能靠你)—— 通道先探后选: 同容器先测一条 repo-scoped REST 读,通 ⇒ 走 REST 列表端点 + 本地 grep(通道对照 .claude/skills/pm-dispatch/references/rest-channel.md,其 ✓ 按座位实测);403(实测形态:整类 repo-scoped 端点全 403、gh 缺席而 MCP 可用)⇒ 改用一次定向 MCP search_issues,并在报告申报换道(空结果要同会话一个已知必中的控 制词答了命中才算读数);⛔ 哪条通道都不宽表扫(全量翻页 list_issues/宽词搜 —— GraphQL 池是舰队最紧的桶,定向一击是上限)。大宗读走零配额档:公开仓单卡网页内嵌 JSON payload 载原始 body + 全评论(拼写与边界住 platform-readings;⛔ 覆盖读、不覆盖 search)——卡与 评论先走 git 与它,MCP 留给写 + 那一次查重,报告记 MCP 调用计数(mcp_calls);立不成 ⇒ 发现连同缘由写进报告交 PM 代立(一等出路);⛔ 不查重硬立与静默弃报同为禁形:发现永不 因通道断而消失。PM 的去重读数随派发词下发,当既有事实用,只复核其后增量,⛔ 不重 跑;归挂,不散落:落在已排队 issue 完成范围内的发现,立成它的 sub-issue(已排队父单的 sub-issue 自动进派发池);只是依赖它的,独立立单带一行 Blocked-by:;立在修复落地的 仓,带回链。观察类发现(死代码、未演练漂移、外观抛光)打 finding 标签不打 pm:queue; 具体缺陷不打标签,留给 PM 分诊。永不因「看着小」把发现揣着不报 —— 立单时点判的 严重度两个方向都不可靠;平实立单,分诊轮定级。 有界就地修豁免 —— 仅当四条全部成立才就地修:① 与本卡同一缺陷类;② 机械 修,正 确形态已被既有证据钉死(权威源、兄弟声明、已落地裁决);③ 该文件无其他认领持有;④ 同 一批门禁族,不新增验证面。它欠下默认路径所保护的两样:认领申报的文件面同轮增补 (那份清单正是并行 agents 的串行化依据),以及 PR 正文点名该修复并附证据(划界扫 描写在那里;不点名的顺手修就是不可复核的蔓延)。优先扩展一个守卫去关掉整个。 任 一条不成立 ⇒ 回到默认:无 assignee 立单、列出、不碰。
  4. 永不编辑 content/docs/releases/、force-push、推 main、合并任何东西。用户可见 的改动需要 .changeset/*.md
  5. Contract-first。 修复若诱使你在消费端加宽容回退(?? 别名、宽松解析),缺陷就在 生产者或 spec —— 去那里修,或返回 needs_decision
  6. issue 正文是线索,不是规格。 动手前对 origin/main 核验其前提:点名的文件可能移 走、归因可能错、能力可能已存在。一份带 premise_still_valid: false、附证据、无 PR 的报告是一等交付物;证伪 issue 是好运行 —— 把 PR 硬压在死前提上才是失败形态。

Read the full file on GitHub · 467 lines

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. yesterday First seen · 467 lines · 80 tokens per session scan C 125f20d5094d

Subscribe to this mod's changes

os-dev is an agent published in the GitHub repository objectstack-ai/objectstack (45 stars, last pushed yesterday), licensed Apache-2.0. It adds 80 tokens to every session and 13,260 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

data-architect

Data Architect subagent for the design-architecture skill. Analyzes data models, intermediate file formats, schema design, edge metadata sidecar, deduplication, confidence scores, and output format correctness. Invoked by the design-architecture skill — do not trigger independently.

SenolIsci/mykg · 59 tokens

software-architect

Software Architect subagent for the design-architecture skill. Analyzes code structure, module design, abstractions, interfaces, coupling, cohesion, testability, and adherence to CLAUDE.md design decisions. Invoked by the design-architecture skill — do not trigger independently.

SenolIsci/mykg · 60 tokens

system-architect

System Architect subagent for the design-architecture skill. Analyzes overall system design, pipeline orchestration, component boundaries, re-entry points, and operational concerns. Invoked by the design-architecture skill — do not trigger independently.

SenolIsci/mykg · 51 tokens

adversarial-architect

Adversarial Architect subagent for the design-architecture skill. Red-teams the system by thinking like an attacker or a chaos engineer: malformed inputs, LLM adversarial outputs, cascading failures, partial-write corruption, race conditions, and invariant violations that slip past normal review. Invoked by the…

SenolIsci/mykg · 76 tokens

chief

Head of the PO Council and eight-seat design bench. Owns whether to convene, seat selection, order, named conflict rules, and the decision record; never edits code.

wlsdks/ontology-atlas · 38 tokens

design-guardian

Accountable design decider and applier. Reviews real UI evidence, rejects token drift and generic AI styling, prescribes exact changes, edits code, and remeasures the result.

wlsdks/ontology-atlas · 41 tokens