agy-staff

keli-wenMIT活跃维护

把 Google Antigravity CLI 包装成 Claude Code 和 OpenAI Codex 的插件,让它们能调用 Gemini 作为快速子代理,用于代码审查和基准评测。

Hire Google's Antigravity CLI (agy) as a fast Gemini staffer for Claude Code, OpenAI Codex, and DeepSeek Harness.

v0.9.1发布于 2026-11-10 18:33 UTC848star +29 / 7 天56fork同步于 2026-11-11 05:50 UTC

怎么上手

由 README 提炼,执行前请确认
curl -fsSL https://antigravity.google/cli/install.sh | bash
claude plugin marketplace add keli-wen/agy-staff
claude plugin install agy@agy-staff
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

把 Google Antigravity CLI 接入 Claude Code 和 Codex,让 Gemini 帮你分担调研、评审和实现

把 Google Antigravity CLI 包装成 Claude Code 和 OpenAI Codex 的插件,让它们能调用 Gemini 作为快速子代理,用于代码审查和基准评测。

核心能力

  • 提供 lead 和 brain 两种编排模式
  • 内置 staffer、researcher、reviewer、implementer、ask 五种角色
  • Claude Code 用 /agy: 调用,Codex 用 $agy 调用
  • 附带 jobs 技能管理后台任务
  • Bench v1 在三个基准上对比单独运行、自带子代理和接入 agy 三种方式

容易踩的坑

需先安装 Antigravity CLI 并用 agy --version 验证,同时需要 Node.js;staffer、researcher、reviewer、implementer 默认无限制运行,agy 可检查仓库、执行命令和改文件;OpenCode 会缓存完整包规格,升级需指定新 tag 或 commit 并加 --force 后重启

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.9.1
  1. v0.9.1v0.9.1 — Gemini 4 Carbon in!最新正式版2026-11-10 · 2026-11-10 18:33 UTC

    agy-staff 0.9.1 — Gemini 4 Carbon in!

    agy-staff 0.9.1 overview

    Highlights

    agy-staff 0.9.1 brings Gemini 4 Carbon (gemini-4-carbon-{low,medium,high}) into the companion model catalog and promotes it to the default external reasoning lead for brain (#57 / #58), paired with Gemini 4 Carbon / Argon second-brain workflows, first-class --model and --effort selection across skills and DeepSeek Harness, quick [Carbon] / [Argon] model chips in the visual sidebar, and bespoke pixel-art icons and badges for Carbon and Argon.

    1. Gemini 4 Carbon & expanded model catalog (companion/agy-companion.mjs)

    • Expanded model catalog & family aliases: Added gemini-4-carbon-{low,medium,high}, gemini-4-argon-{low,medium,high}, claude-opus-5-5-{low,medium,high}, and claude-sonnet-5-5-{low,medium,high} to KNOWN_MODELS and MODEL_FAMILIES, plus short family aliases carbon (gemini-4-carbon) and argon (gemini-4-argon) alongside flash (gemini-3.8-flash) and pro (gemini-3.1-pro).
    • Gemini 4 Carbon / Argon second brain: staffer --brain now defaults to gemini-4-carbon-medium while keeping gemini-4-argon-* a first-class peer option (--model argon). Continuation (continue --job <id>) and restart preserve the conversation's resolved model unless explicitly overridden.
    • Strict explicit overrides: Passing an explicit --model (such as --model carbon or --model argon) never switches models silently; if an explicitly requested model is unavailable, the companion surfaces the diagnostic and compatible recommendations directly.

    2. First-class --model & --effort across skills & DeepSeek Harness (skills/, dsh/index.mjs)

    • Canonical & generated skills: Updated skills/brain/SKILL.md (argument-hint: '[--model carbon|argon|flash|<id>] [--effort low|medium|high] [task]') and persona skill references (staffer, researcher, reviewer, implementer, ask), regenerating pi-skills/ and opencode-skills/ with zero drift.
    • Cordis tool schema: Added optional model and effort parameters to both agy_brain and agy_worker in dsh/index.mjs, forwarding --model and --effort on fresh launches and continue --job follow-ups.

    3. Elemental pixel icons, README badges & DSH sidebar model UI (assets/, dsh/client.js)

    • Standalone SVG icons & pixel badges: Added assets/icons/carbon.svg (cut diamond allotrope, Z=6) and assets/icons/argon.svg (3s² 3p⁶ octet shell, Z=18), generated assets/badges/model-gemini-4-carbon.svg and updated assets/badges/model-gemini-4-argon.svg via scripts/gen_badges.py, arranged the README header badges in a symmetric 1 - 3 - 3 pyramid, and refreshed assets/design.svg / assets/design.png.
    • DeepSeek Harness sidebar upgrades: Added interactive [Carbon] and [Argon] quick-chips on /agy-brain in the capability picker (inserting /agy-brain --model carbon or /agy-brain --model argon directly into the input box), plus PixelIconCarbon, PixelIconArgon, and shortModelTag so brain and worker cards render model-accurate pixel icons and labels (brain · Carbon, brain · Argon, staffer · Argon, researcher · Carbon) and surface per-turn model tags in multi-turn threads when a turn's model differs from the thread lead.

    Validation

    • Passed npm run check:skills (Pi & OpenCode generated skills verified, 0 drift) and npm run pack:checked (62 packaged files verified).
    • Passed all 250 offline tests across 30 suites (npm test), covering model catalog normalization, brain model resolution and Pro/Ultra account compatibility, explicit --model non-substitution invariants, sandbox/auth/entitlement diagnostic boundaries, and DeepSeek Harness model/effort forwarding, q
  2. v0.9.0v0.9.0 — DeepSeek Harness plugin & visual subagent sidebar2026-11-10 · 2026-11-10 08:42 UTC
    查看更新说明

    agy-staff 0.9.0 — DeepSeek Harness plugin & visual subagent sidebar

    agy-staff 0.9.0 overview

    Highlights

    agy-staff 0.9.0 adds native support for DeepSeek Harness (dsh) (#54 / #55), pairing DeepSeek Harness sessions with Google's Antigravity CLI (agy) through three coordinated layers: a visual right-sidebar subagent companion, native Cordis lifecycle tools, and hydrated /agy-* skills.

    1. Visual subagent right-sidebar (dsh/client.js)

    • Role capability picker: Quick-insert cards for /agy-brain (Argon), /agy-lead, /agy-staffer, /agy-researcher, /agy-reviewer, and /agy-implementer (3.8 Flash) with crispEdges pixel-art SVG icons and a persistent 中 / EN language toggle.
    • Multi-turn conversation cards: Groups linked continue --job <id> runs into a single expandable thread card with per-turn Query and Reply viewports, distinct pixel status badges (done, running, error/crashed, canceled, attention), and one-click continuation / progress check insertion into the session input box.
    • Locked single-line live activity strip: While a subagent is running, .agy-live-strip stays mounted at a fixed 20px single-row height above Query / Reply, collapsing consecutive identical tool steps into ×N counts (newest step first) so the cards below never shift on 5-second polls.
    • Automatic completion transition & low-overhead polling: Expanding a running card never locks turnDetails[id].loaded early; when the turn transitions to a terminal state, the sidebar automatically loads <id>.result.md. Idle polling reads only state.json (1 read/5s), caching .spec.json per job ID and reading .progress.json exclusively for running / queued jobs.

    2. Native Cordis lifecycle tools (dsh/index.mjs)

    DeepSeek Harness's command sandbox blocks agy from binding its localhost language-server port and reading its OAuth keychain credentials. The server plugin registers three native Cordis tools that invoke companion/agy-companion.mjs outside the command sandbox with array arguments (spawn(process.execPath, [...])):

    • agy_brain: Starts a staffer --brain job (defaulting to gemini-4-argon-medium) or continues an existing brain thread via job_id, returning { ok, job_id, status, output }.
    • agy_worker: Dispatches research, review, implement, staffer, or synchronous ask workers (or continues a thread via job_id). Passing restricted: true opts into --restricted; omitting or passing false defers to .agy-staff/config.json.
    • agy_job: Full background job lifecycle tool supporting wait (60-second soft timeout with timeoutMs: 75000, treating exit code 0 as done and exit code 2 as running with ok: true), observe, result, cancel, and status.

    3. Single-source /agy-* skills & isolated bundle packaging (dsh/, package.json)

    • Isolated dsh/ subpackage: Root package.json declares dsh.bundle.patch (./dsh/cordis.patch.yml) and exports . (./opencode.mjs), ./icon (./dsh/icon.svg), and ./package.json, keeping the OpenCode V1 and Pi entrypoints untouched while displaying the custom pixel rainbow arch icon in DeepSeek Harness's Installed plugins list.
    • Hydrated skills from opencode-skills/: dsh/index.mjs registers all eight agy-* skills directly from opencode-skills/, replacing <skill-dir> and <plugin-root> at registration time and prepending a DeepSeek Harness note directing models to use agy_brain, agy_worker, and agy_job.

    Validation

    • Passed npm run check:skills (Pi & OpenCode generated skills verified, 0 drift).
    • Passed all 243 offline tests across 30 suites (npm test), including tests/dsh-plugin.test.mjs (covering bundle manifest exports,
  3. v0.8.2v0.8.2 — First proposal from an external brain2026-11-07 · 2026-11-07 08:23 UTC
    查看更新说明

    agy-staff 0.8.2 — First proposal from an external brain

    agy-staff 0.8.2: the host gives Argon the goal and evidence; Argon returns the first proposal.

    Use agy:brain when you want Argon to frame the problem before the host settles on an approach. The host supplies the goal, constraints and existing evidence, tests the proposal's assumptions, and owns execution and delivery. For example, if a migration proposal assumes every historical job has a conversation ID, check the old records and return any counterexample to the same brain conversation before implementing it.

    The brain skill starts a background staffer --brain job. It uses an advisory prompt and defaults to gemini-4-argon-medium; an explicit model selection is supported. A native Flash research child may gather read-only evidence. Regular workers keep their no-delegation rule. Follow-ups use continue --job <id> as in 0.8.1.

    This first iteration makes no comparative cost or quality claim. For the mechanism probe and its limits, see #50 and #53.

    Live acceptance check

    On November 6, 2026, a host ran the shipping staffer --brain path in a disposable repository using authenticated AGY 1.5.2, without a model override. The first brief requested a design for migrating job history and supplied only the one-to-one pattern seen in standalone runs. Argon Medium recommended keying reports by job ID, but proposed mapping historical link keys to a single report, and asked the host to check cardinality.

    The host found four real, linked jobs with separate reports sharing one conversation ID; 15 completed jobs with no conversation ID; and a 0.8.0 foreground path that could record a conversation without a job. It sent those observations through continue --job. Argon retained the job ID as the report address, dropped the single-report conversation alias, separated jobless pointers from reports, and deferred URL rules pending an inventory. The host accepted the changed identity policy but treated the suggested leaf-job handle as a UI default, not a CLI requirement: the companion looks up the explicitly selected job and checks its conversation and running status.

    Both job records show brain: true, gemini-4-argon-medium, and native success; the second has the first as parent and the same AGY conversation ID. This was one real two-turn design task, not a model comparison, a Flash delegation test, or a migration implementation.

  4. v0.8.1v0.8.1 — Clearer diagnostics. Better continuity.2026-11-06 · 2026-11-06 09:11 UTC
    查看更新说明

    agy-staff 0.8.1 — Clearer diagnostics. Better continuity.

    agy-staff 0.8.1 overview

    Changes since 0.8.0

    Two quality improvements: #48 / #49 preserve AGY's native diagnostics, and #51 / #52 give every direct persona shared dispatch guidance and an explicit job-based continuation interface.

    Clearer diagnostics. The companion retains native termination reasons and bounded typed error metadata alongside delivered responses, including partial answers. Hosts can distinguish normal completion, print timeout, interruption and API failure without inferring the cause from prose. Normal warning-free runs keep their low-noise output and intermediate-file cleanup. CLI version checks run only when an option or output format is rejected without a structured API error; plugin updates do not update the separate AGY binary. Errors never trigger an automatic retry or update.

    One source for persona rules. templates/persona-skill-rules.md maintains four short host-facing rules: reuse helpful context for related follow-ups, start fresh when the task or role changes or an independent opinion is needed, pass new host-chat decisions without expanding authorization, and follow the existing execution and recovery boundaries. npm run generate:skills embeds them into all five canonical persona skills before generating Pi and OpenCode adapters. Claude Code and Codex load the canonical files directly. npm run check:skills and CI detect stale output or malformed shared blocks. Host dispatch guidance remains separate from worker prompts and guardrails.

    Continue the right job. Natural follow-ups should reuse the matching completed job when its context helps, even if the user does not say “continue.” The host retains each job ID with its assignment and sends intervening decisions in the follow-up brief. This is guidance for the host agent, not an automatic topic-matching system. New topics, different personas, independent reviews and explicit fresh starts use new sessions.

    The single continuation entry point is continue --job <id>. It retains the original persona and execution style, inherits the recorded model, permission profile and working directory unless a supported explicit override is supplied, and creates a linked invocation. Synchronous ask now records a job ID too: its answer remains on stdout, while stderr carries the job ID. Continuing an ask stays synchronous. Interleaved ask calls do not redirect default background result collection.

    Continuation migration

    Use the job ID returned by the earlier invocation:

    node "<plugin-root>/companion/agy-companion.mjs" continue --job <id> --prompt "Check the alternative discussed above"
    
    • Persona --continue, --conversation <id>, persona --job <id>, and bare continue are rejected before invoking AGY. Errors provide a job-based migration command when a matching record exists.
    • A conversation ID is not a job ID. Use status to inspect recorded jobs; a continued job keeps its original persona. To change roles, start the target persona with the relevant findings in its brief.
    • Pre-0.8.1 ask conversations without a job record cannot be resumed through the new interface. Start a fresh ask to obtain a job ID; other existing jobs with recorded conversation IDs can be continued.
    • A running job still must finish or be canceled before continuation. Execution-timeout recovery still requires explicit confirmation; a wait soft expiry only requires collecting the same job again.

    Validation

    • The implementation passed 233 offline tests, including job-ID-only continuation, synchronous ask records, legacy-selector migration, shared-source generation and packag
  5. v0.8.0v0.8.0 — Bench v1 findings in the lead, jobs and worker instructions2026-11-02 · 2026-11-02 04:51 UTC
    查看更新说明

    agy-staff 0.8.0 — Bench v1 findings in the lead, jobs and worker instructions

    agy-staff 0.8.0 overview

    Changes since 0.7.4

    agy-staff Bench v1 ran 0.7.3 on Claude Code and Codex over SWE-bench Verified, SWE-Atlas QnA and DeepSearchQA. Its trajectories showed where delegation lost time, tokens or correctness. #43 moves those findings into the instructions and adds the 20-task Codex 0.8.0 validation to Bench v1. The companion runtime and the job lifecycle are unchanged.

    Waiting. Every wake-up rereads the host's whole context, so the jobs skill now asks the host to wake as rarely as it can. When the host is known to wake the model on a background command's completion (such as Claude Code), the host ends its turn after launching the wait instead of sleeping or polling. Otherwise it stays in its turn and sets the longest supported block explicitly (5–10 minutes, or the tool's maximum such as 300,000 ms in Codex write_stdin / // @exec, or a foreground wait <id> --timeout 10m in synchronous-shell hosts like Pi and OpenCode). In v1, Codex made 872 collection calls over 20 trials, most returning after the default of about 30 seconds; the skill now names the Codex parameters (write_stdin yield_time_ms: 300000, or the code-mode // @exec pragma).

    Briefs. The host copies the user's constraints and prohibitions into the brief verbatim, in their own section, and keeps orchestration instructions such as "use $agy:lead" out of it. In v1, paraphrased briefs dropped a benchmark rule 7 times in 20, and forwarded orchestration instructions led one worker to launch a nested agy job in the same worktree. Briefs now separate settled decisions from open ones after the host checks the facts they rest on, and a deadline sets the job's --timeout and appears in the brief.

    Delegation and acceptance. Lead still delegates substantive work by default and now states the trade-off: delegation saves the host's context and quota, not total time or tokens. A tightly coupled change stays in one assignment with its investigation and verification. Acceptance reads the worker's status and reported conflicts first, checks interface choices, departures from the brief and figures reported as verified, and stays well below the cost of redoing the work. The host fixes small, understood defects directly and sends larger gaps back with continue.

    Workers. The staffer, research and implement templates share a short set of working rules:

    • do the assignment without delegating further;
    • follow the brief's scope and decisions, and report confirmed contradictions between the brief's factual premises and what the worker observed under ## Conflicts with the task instead of building on a false premise;
    • respect a stated deadline and prefer a partial report with named gaps;
    • write the final message only after all work has finished, beginning with Status: DONE, DONE_WITH_CONCERNS or BLOCKED.

    The review template gains the delegation, deadline and final-message rules. The research template drops its defensive framing, asks for full source documents once a search finds them, never repeats a query, and stops searching after two similar results; in v1, timed-out research jobs spent up to 93 searches on snippets. The implement and research templates ask for whole reads of small files, searches with context lines, an exploration stop once the change can be named, and reusable probe scripts; in v1 the worker took a median of 104.5 steps per SWE-bench job, one tool call per step.

    docs/DESIGN.md records the shared worker rules, the brief boundary for orchestration instructions, the cost of each wake-up, and the revised lead defaults. Package, Claude Code, and Codex manifests are versioned at 0.8.0.

    Validati

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Hire Google's Antigravity CLI (agy) as a staffer for Claude Code, OpenAI Codex, Pi, and OpenCode.

    With lead, the host directs workers; with brain, Argon proposes and the host verifies.

    Bench · Install · Examples · Core design · Build your own · Upgrade

    What & Why

    agy-staff pairs your senior agents with agy, which ships Gemini 4 Argon and fast Gemini 3.8 Flash. Two orchestration modes (lead and brain), five personas (staffer, researcher, reviewer for code and plans, implementer, ask), and a model-facing jobs skill. Claude Code uses /agy:<skill> and Codex uses $agy:<skill>.

    GPT-6.1-Sol is slow even with fast mode on; Claude Code is quicker, but Fable quota is too scarce to spend grinding through every survey and review. agy gives you both a fast worker and a second brain: Flash handles quick second opinions, research, reviews, and scoped implementation off to the side, while Argon is strong enough in design and world knowledge to pair with Astra or Fable as a peer orchestrator — proposing routes from a second model family while your host checks assumptions and delivers.

    two overloaded senior agents hand the baton to one fast agy worker

    Bench — Harness & Orchestration

    agy-staff Bench v1 runs Claude Code and Codex on three benchmarks, each task three ways: alone, with their own subagents, and with agy through lead.

    Tech Report · 中文报告

    agy-staff Bench v1: Claude Code and Codex on SWE-bench Verified, SWE-Atlas QnA and DeepSearchQA, solo, with their own subagents and with agy

    [!NOTE] Why a bench. It runs the same tasks on different hosts, with and without agy, to answer three questions:

    • When to delegate. Which tasks and which hosts gain from handing work to agy, and which are better left solo. The answers become best practices for using agy-staff.
    • What to fix in agy-staff. Each run shows where delegation wastes time or tokens. Those findings go back into the plugin as fixes, and later bench versions check whether the fixes worked.
    • How harnesses differ. Same prompt, same worker, different host. Gaps in the results trace back to design choices in each harness.

    What v1 says (one run per task and setup, so a first baseline, not a verdict):

    • agy suits research best. DeepSearchQA is the only benchmark where agy cut host spend on both hosts: Claude Code −39%, Codex −16%. Host spend is what your Claude or ChatGPT plan pays.
    • Claude Code's harness suits agy better. With agy, Claude Code's host spend fell on all three benchmarks (−16% to −39%). Codex's rose on two (SWE-bench +86%, QnA +22%). Claude Code waits in the background until the agy job ends; Codex polls, and every wake-up carries its full context.
    • The price is time. Median time per task rose from 2–8 minutes alone to 13–26 minutes with agy. Tasks solved matched solo or dropped by one.

    Method, caveats and versions → bench/README.md

    How

    Invoke a persona

    Type /agy: in Claude Code and the orchestration modes and personas are right there:

    the /agy: command menu in Claude Code

    Same plugin in Codex, invoked with $agy:

    the $agy skill picker in Codex

    Install

    For humans

    Step 1 — install the Antigravity CLI (official docs), then verify with agy --version. Node.js is also required:

    curl -fsSL https://antigravity.google/cli/install.sh | bash
    

    Step 2 — install the plugin into your harness:

    claude plugin marketplace add keli-wen/agy-staff
    claude plugin install agy@agy-staff
    
    codex plugin marketplace add https://github.com/keli-wen/agy-staff
    codex plugin add agy@agy-staff
    

    Install: pi install git:github.com/keli-wen/agy-staff. Skills are prefixed as /skill:agy-<persona> (e.g. /skill:agy-ask reply with OK), including /skill:agy-lead, /skill:agy-brain, and /skill:agy-jobs for job management. Update with pi update --extension git:github.com/keli-wen/agy-staff, then run /reload.

    With OpenCode V1 (verified on 1.18.34), install the package through its native plugin manager:

    opencode plugin 'agy-staff@git+https://github.com/keli-wen/agy-staff.git' --global
    

    Restart OpenCode, then run /agy-ask reply with OK. The plugin automatically registers all eight agy-* skills and their native slash commands, including /agy-lead, /agy-brain, and /agy-jobs. No separate skills path or command wrappers are needed. Node.js and an authenticated agy are required, as above.

    OpenCode caches the complete package spec. Restarting does not refresh an unchanged Git spec. To upgrade, choose a newer Git tag or commit and run opencode plugin 'agy-staff@git+https://github.com/keli-wen/agy-staff.git#<tag-or-commit>' --global --force, then restart. See the reference for config and local development. OpenCode V2 is not covered by this adapter.

    Restart Claude Code or Codex afterwards. First run: /agy:ask reply with OK (Claude Code) or $agy:ask reply with OK (Codex). Ask is tool-free and needs no setup.

    [!IMPORTANT] There is no mandatory setup step. staffer, researcher, reviewer and implementer run unrestricted by default: agy can inspect the repo, run commands, and edit files. agy-staff keeps that practical with prompts that adapt to the current repo state. For example, when implementer starts in a dirty workspace, the companion tells agy which files already had changes and reminds it not to overwrite or deliver unrelated user work. If the task asks for a commit, push, or PR, agy can do that delivery; otherwise it leaves a working-tree diff for review. These prompt instructions do not provide permission isolation. setup + --restricted is optional hardening for untrusted input — per run (--restricted) or as a per-repo default (setup --restrict review,research). setup dry-runs and asks before writing anything ("set up agy" triggers it); read the permission notes first — the allowlist is prefix-matched, applies machine-wide, and a restricted run can return less than an unrestricted one.

    For agents

    Paste this into any coding agent:

    Read the raw text of https://raw.githubusercontent.com/keli-wen/agy-staff/master/docs/INSTALL_FOR_AGENTS.md (curl it — do not
    work from a summary) and follow it to install and verify the agy-staff plugin for the harness you are running in.
    Respond in the user's language.
    
    Upgrade

    Claude Code and Codex install a copy, so a new version only reaches you when you pull it in yourself:

    claude plugin marketplace update agy-staff && claude plugin update agy@agy-staff
    
    codex plugin marketplace upgrade && codex plugin add agy@agy-staff  # then restart Codex
    

    Claude Code and Codex cache per version directory, so an upgrade lands only if the plugin version changed; restart the harness afterwards. If a fix does not show up, see upgrading — it has the force-refresh command.

    CUJs

    Examples below use Claude Code's /agy:…; in Codex use $agy:…, in Pi /skill:agy-…, and in OpenCode /agy-….

    Use caseInvocation
    Lead an ongoing task/agy:lead investigate the options, draft a proposal, and revise it with my feedback
    Ask Argon to propose the route/agy:brain design a migration; check the assumptions before implementing
    Quick second opinion/agy:ask what's your backend model
    A general task/agy:staffer summarize the open TODOs in this repo
    Generate an image/agy:staffer generate a pixel-art robot mascot, save it as assets/mascot.png
    Review the working tree/agy:reviewer Review the current working tree
    Review a PR/agy:reviewer Review PR #730
    Review a plan or decision/agy:reviewer Challenge the migration plan in docs/plan.md
    Survey a topic/agy:researcher how does auth work in this repo
    Implement a scoped fix/agy:implementer fix the flaky retry test
    Job ops (wait/status/cancel/continue)natural language: "is the agy job done?", "continue: also check the error path"

    reviewer is fully prompt-based: you describe the subject and agy gathers the evidence itself (gh pr view, git diff, reading the file) — there is no flag for handing it a diff. It has two flavors, routed by subject: code review (severity-ranked findings) and general review (a multi-angle challenge of a plan, design, or decision).

    staffer also covers agy's native tools without a dedicated specialist persona, including image generation (generate_image). A trial on agy v1.1.15 produced a 1024×1024 PNG in about 30 seconds; actual time depends on the task and environment.

    Core design

    lead adds task orchestration guidance for your current agent. Within lead, orient enough to frame the assignment, delegate substantive work to staffer by default, wait for the result, then assess it and integrate or follow up. Specialists provide dedicated guidance when useful, while ask is reserved for testing. The host owns cross-task decisions, acceptance, integration, and delivery, using the existing jobs workflow.

    With brain, Argon proposes the route first. The host supplies the goal and evidence, challenges assumptions before execution, and owns verification. See the brain skill.

    ask answers in the same call. The other personas return a job id and a collection command, such as wait <id> --timeout 10m. Your agent waits using the host's available capabilities, with one independent background wait per job where supported.

    The main agent waits for the final result by default. If you explicitly ask about progress, it can use observe to read a snapshot of recent tool activity and response text; it does not query progress for routine updates. Once the task finishes, wait or result delivers the full report. Expiring a wait leaves the worker running.

    The timeline below follows a background task from delegation to completion. The host agent waits for the final result by default (or advances already-identified independent work), checks progress when asked, and collects the report.

    A background task over time: the host delegates, waits or observes, while the worker continuously saves AGY output and eventually delivers the full report

    Jobs have a separate execution deadline: default 60 minutes, configurable at launch with --timeout up to 120 minutes. Use cancel to stop execution, or explicitly request continue or restart after inspecting the existing work. The host harness controls when your agent receives a background result.

    Full reference → docs/REFERENCE.md (flags, permission model, jobs/state, troubleshooting, upgrading). Release notes → docs/releases/.

    Build one for another CLI

    agy-staff's design is portable: bash plus skills, with no hard dependency on a host, a worker CLI or a runtime library. docs/DESIGN.md writes it down as best practice. To build the same kind of tool for another agent CLI, give your coding agent this prompt:

    Read the raw text of https://raw.githubusercontent.com/keli-wen/agy-staff/master/docs/DESIGN.md
    (curl it — do not work from a summary). Then design an integration that lets this host agent delegate
    work to <CLI> the same way. First read `<CLI> --help`, map what the CLI supports to the section
    "What depends on the worker CLI", and list the principles it cannot support before writing any code.
    Ask me before any call that spends model quota. Respond in the user's language.
    

    Before writing any code, the agent lists the principles your CLI cannot support, so you know up front where the tool will degrade.

    Community

    • LINUX DO — A next-generation Linux community.

    Contributing

    Contributions are welcome — issues, bug reports and pull requests all help.

    A few things worth knowing before you open a PR:

    • Run the tests: npm test. The standard suite uses temporary repos and HOME directories with fake agy, plus focused module tests. Keep regression tests offline and independent of personal settings. Real AGY validation is a separate opt-in suite described in tests/README.md.
    • Docs come in pairs: README.md / README.zh-CN.md and docs/REFERENCE.md / docs/REFERENCE.zh-CN.md are kept in sync. Change one, change its counterpart.
    • Runtime code lives in companion/: the entrypoint handles modes and job commands; separate modules handle streaming execution, observations and state locking. Skills call the companion, and templates/ holds the shared prompts.
    • Canonical skills are the source of truth: edit personas in skills/, never in pi-skills/ or opencode-skills/. Run npm run generate:skills to generate both host entrypoints, and npm run check:skills to verify consistency. The existing generate:pi and check:pi commands remain available. Use npm run pack:checked to check freshness before packing; publishing also runs the check.

    Adding a mode or a flag changes the public surface, so please open an issue first and we can agree on the shape.

    License

    MIT — see LICENSE.