han

testdoubleMIT活跃维护

给独立开发者和小团队用的 Claude Code 技能与 Agent 集合,覆盖代码审查、文档编写、问题排查和任务规划等日常研发环节。

Han: AI skills and agents for "Solo" product engineers and small teams

han--v5.5.0发布于 2026-09-15 14:45 UTC342star +2 / 7 天28fork同步于 2026-11-10 06:04 UTC

怎么上手

由 README 提炼,执行前请确认
/plugin marketplace add testdouble/han
/plugin install han@han
硬件要求按 README 说明

README 未说明

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

项目说明

由 README 自动翻译提炼

面向独立产品工程师和小团队的 Claude Code 插件,把规划、实现、评审和文档工作拆成可组合的 AI 技能与专家代理

给独立开发者和小团队用的 Claude Code 技能与 Agent 集合,覆盖代码审查、文档编写、问题排查和任务规划等日常研发环节。

核心能力

  • 用命名技能串联规划、测试先行实现、评审和写 PR 描述
  • 每个技能调度项目经理、对抗式评审、架构分析等专家代理
  • 内置证据驱动的 YAGNI 规则,约束规划、评审和架构分析
  • 按 han-core、han-planning、han-coding 等分层插件按需安装
  • 支持 .han/config.md 配置输出目录、swarm 规模和写作风格

容易踩的坑

这是 Claude Code 插件,需先在 Claude Code 中执行;Codex 不支持 han@han 元插件,需逐个安装各分层包;han-linear 需要额外的 Linear MCP 服务器

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

最近发版

5 个版本han--v5.5.0
  1. han--v5.5.0v5.5.0最新正式版2026-09-15 · 2026-09-15 14:45 UTC

    han 5.5.0 adds an opt-in Domain-Driven Design plugin, a second planning entry point for code that already exists, and closes nine tracked issues, six of them feedback records from Han's own runs. han-ddd (1.0.0) is new: /ddd-analysis and six agents map bounded context candidates, business capabilities, domain language, and ownership in an existing codebase, then render the model as diagrams. han-planning (2.3.0) ships /plan-a-change for architecture-driven changes, pins every shared contract before implementation, and closes six gaps in /plan-implementation. han-core (3.2.0) gives the pre-build ask in /pairing a turn of its own and makes the two test agents argue a deferral from discriminating power. han-coding (3.4.0) sizes /automated-test-planning to the question asked and gives /code-review a manual-only mode that says what it did not check. han-communication (1.2.1) makes the readability editor check its own insertions, han-research (1.0.2) says whether web search ran in every report, han-github (2.3.2) carries review coverage to the pull request, han-reporting (2.2.2) and han-plugin-builder (2.2.1) pick up small authoring fixes, and han-linear (1.1.2) gains a Codex manifest. han-documentation (1.0.1), han-feedback (2.0.2), and han-atlassian (2.3.1) are unchanged.

    What's Changed

    Issues closed

    • Planning chain lets shared interface/data contracts reach implementation un-pinned (invented mid-build) (#107) — opened by @taminomara, fixed in #204 by @mxriverlynn
    • Han Feedback: automated-test-planning-readability-guidance (2026-07-24) (#148) — opened by @mxriverlynn, fixed in #206 by @mxriverlynn
    • Han Feedback: investigate-plan-a-feature (2026-08-17) (#183) — opened by @taminomara, fixed in #207 by @mxriverlynn
    • Han Feedback: plan-implementation (2026-08-23) (#193) — opened by @zaBees, fixed in #208 by @mxriverlynn
    • Han Feedback: code-review-research (2026-08-23) (#194) — opened by @zaBees, fixed in #209 by @mxriverlynn
    • Codex marketplace catalog omits han-documentation, han-research, and han-linear (#198) — opened by @ethan-hann, fixed in #210 by @mxriverlynn
    • Docs: quickstart omits /design-an-api from the sizing-aware list, and two pages contradict han-reporting's dependency (#200) — opened by @amirbiron, fixed in #211 by @mxriverlynn
    • Han Feedback: pairing-tdd-han-feedback (2026-09-03) (#201) — opened by @mxriverlynn, fixed in #213 by @mxriverlynn
    • Research agent declares WebSearch, which is absent on Bedrock/Vertex, and degra
  2. han--v5.4.0v5.4.02026-08-20 · 2026-08-20 21:48 UTC
    查看更新说明

    han 5.4.0 fixes the personal-config probe that broke in every skill at once, and adds a second output style to the communication layer. On Claude Code 2.1.228 the inline probe carried by every Project Context block stopped loading and reported a "Contains expansion" error, which @VikiAnn reported in issue #178 and PR #184 fixed by moving the probe into a shared scripts/han-config-dir.sh that every plugin symlinks to. That one change is why all twelve children move this release. han-communication (1.2.0) ships the han-concise output style and promotes technical-detail separation into the canonical readability rule. han-coding (3.3.0) gates out-of-scope production changes in /tdd and /automated-test-planning. han-plugin-builder (2.2.0) adds an authoring rule for reaching an environment variable, and gives the guidance corpus tables of contents. han-core (3.1.1), han-documentation (1.0.1), han-research (1.0.1), han-planning (2.2.1), han-github (2.3.1), han-reporting (2.2.1), han-feedback (2.0.2), han-atlassian (2.3.1), and han-linear (1.1.1) carry the config-script change, the re-synced rule files, and their own small fixes.

    What's Changed

    Issues closed

    • Personal-config context probe fails to load on Claude Code 2.1.228, "Contains expansion", breaks every skill with a Project Context block (#178) — opened by @VikiAnn, fixed in #184 by @mxriverlynn
    • Han Feedback: han-readability (2026-08-11) (#177) — opened by @mxriverlynn, fixed in #186 by @mxriverlynn
    • Skill guidance check: one description 411 characters over the 1024 limit, 111 reference files without a table of contents (#182) — opened by @kasparovabi, fixed in #192 by @mxriverlynn
    • Han Feedback: plan-a-feature-readability-guidance-explanation-guidance (2026-08-19) (#187) — opened by @mxriverlynn, fixed in #190 by @mxriverlynn
    • Han Feedback: automated-test-planning-tdd (2026-08-19) (#188) — opened by @mxriverlynn, fixed in #191 by @mxriverlynn

    han v5.4.0

    One shared script replaces the inline config probe

    Every skill carrying a Project Context block read the personal configuration directory with an inline echo "${CLAUDE_CONFIG_DIR:-$HOME/.claude}". Claude Code 2.1.228 refused that form with a "Contains expansion" error, so the block failed to load and the skill lost its personal configuration. @VikiAnn reported it in issue #178, and PR #184 replaced the inline probe with scripts/han-config-dir.sh at the repository root. Every plugin carries a symlink to that one script, and scripts/han-config-dir.bats tests it beside it.

    CLAUDE.md and CONTRIBUTING.md record the script, the symlink each plugin carries, and where its tests live. CONTRIBUTING.md also gains an "Adding an output style" checklist, so a second style cannot ship without a long-form doc and a plugin README scent line, and docs/templates/coverage-rule.md extends the coverage rule to output styles for the same reason.

    The readability docs describe the reworked standard

    docs/readability.md covers the reworked standard: th

  3. han--v5.3.0v5.3.02026-08-14 · 2026-08-14 19:48 UTC
    查看更新说明

    han 5.3.0 adds a collaborative working mode to the suite. /pairing builds work in reviewable pieces and hands each one back before starting the next, so you steer while the work happens instead of reviewing a finished result, and it covers code, design decisions, and writing alike. han-core (3.1.0) ships the skill and the shared stop contract behind it. han-coding (3.2.0) and han-planning (2.2.0) wire five existing skills to hand control back at boundaries they already had, so /pairing drives them without either side inventing a second mechanism. The suite-level docs thread the new mode through every catalog, and this release also repairs three defects the pairing branch left in its own documentation. han-communication (1.1.1), han-documentation (1.0.0), han-research (1.0.0), han-github (2.3.0), han-reporting (2.2.0), han-feedback (2.0.1), han-atlassian (2.3.0), han-linear (1.1.0), and han-plugin-builder (2.1.0) are unchanged.

    What's Changed

    han v5.3.0

    The cross-plugin catalogs carry the pairing mode

    docs/skills/README.md gains a scent line for /pairing. docs/concepts.md and README.md add it to the sentence describing what han-core carries, and docs/choosing-a-han-plugin.md adds it in four places, including the install table row for the shared agents and project discovery. That page also promised an install of han-core alone gave you "no other skills", which stopped being true the moment /pairing landed there.

    docs/workflows.md draws /pairing into both diagrams as a dotted drives edge rather than a solid arrow, because it wraps the skills it runs rather than chaining after them. The planning diagram draws it driving /plan-implementation, /iterative-plan-review, and /tdd; the code-quality diagram draws it driving /refactor, /tdd, and /design-an-api. The prose beside each says the same thing in words, and names the wrapper relationship explicitly so the dotted edge is not read as a chain.

    CLAUDE.md adds /pairing to the han-core catalog and gains a Collaborative working mode section pointing at the canonical stop rule and naming the skills that consume it.

    The planning and research artifacts behind the skill

    docs/plans/pairing-skill/ records the specification, the implementation plan, and the decision, scope, and iteration artifacts, including the rename from pair-with-me and the boundary widening from code work to any kind of work. docs/research/collaborative-output-style.md and docs/research/non-code-chunk-boundaries.md carry the evidence the design rests on, both adversarially validated.

    han-core v3.1.0

    /pairing builds work in reviewable pieces you steer

    /pairing splits a request into concerns, sorts each one, proposes a plan before any work starts, then builds one piece at a time and ends the turn after each. The pacing is the deliverable rather than an interruption in it, so the skill never continues past a stop to be helpful.

    Splitting comes before sorting. Two asks that produce two things you would check separately are two concerns, and changing code and answering a question about it are always separate however small either one is, because checking an edit means reading a diff and checking an answer means reading the answer. Bundled, the answer arrives before the edit it rests on has been verified. When the split is genuinely unclear the skill splits anyway and says so in the plan, where merging the two back costs you nothing.

    Each concern then sorts through an ordered test, first match winning: skill-backed when a flagged skill covers it, decision work when it produces a choice that commits you to something, prose work when it produces prose someone will read, and open-ended otherwise, where the plan supplies the boundaries with no rule behind them. Concerns sort independently, so one

  4. han--v5.2.0v5.2.02026-08-11 · 2026-08-11 15:06 UTC
    查看更新说明

    han 5.2.0 adds two skills to the coding layer. /design-an-api designs the contract for an API change before anyone writes code, and /code-walkthrough paces you through a set of changes one step at a time in conversation. han-coding (3.1.0) ships both. han-core (3.0.1), han-planning (2.1.1), and han-communication (1.1.1) record the dispatch pairings and skill boundaries the two new skills create. The suite-level docs place both in the sizing, concepts, workflow, and how-to catalogs, and the repo's own /han-release skill gets the fix that unblocked this release. han-documentation (1.0.0), han-research (1.0.0), han-github (2.3.0), han-reporting (2.2.0), han-feedback (2.0.1), han-atlassian (2.3.0), han-linear (1.1.0), and han-plugin-builder (2.1.0) are unchanged.

    What's Changed

    Issues closed

    • Han Feedback: software-architect-junior-developer-adversarial-validator (2026-08-06) (#173) — opened by @mxriverlynn, fixed in #175 by @mxriverlynn

    han v5.2.0

    /han-release stops reading an unchanged plugin's tag as a collision

    Step 9 of .claude/skills/han-release/SKILL.md computed a tag name for every plugin in the marketplace and stopped the run on any remote-at-other-commit state. An unchanged child keeps its version, so it keeps the tag an earlier release gave it, and that tag points at that earlier release commit by design. Read literally, the gate stopped every release after the first: cutting v5.1.0 tripped it on 11 of 13 plugins.

    Step 9.1 now splits plugins into two sets from the version plan. Being tagged this release covers every plugin whose target differs from its baseline, plus every new plugin from Step 3a. Carried forward covers every unchanged child. Step 9.3 reads remote-at-other-commit against the set the plugin is in, since the state means opposite things for the two. A carried-forward tag passes when git merge-base --is-ancestor puts it inside this release's own history, and stops otherwise. A plugin being tagged now stops unconditionally with no ancestor check, which leaves the original collision protection intact.

    Step 11.1 carried the same rule at the publish gate and would have blocked the run after the tags were already pushed, so it now holds each set to its own rule and rejects absent or local-only in either. Step 10 gains the carried-forward skip, and Step 12 distinguishes it from a remote-at-commit skip when reporting. .claude/skills/han-release/scripts/remote-tag-state.sh is unchanged in behavior: its header comment no longer calls remote-at-other-commit unrecoverable, and says the caller decides, because the script cannot see the version plan.

    The cross-plugin catalogs list both new skills

    docs/sizing.md adds /code-walkthrough and /design-an-api to the sizing-aware list, to the at-a-glance table with each band's roster and output, and to the per-skill Sizing link list. docs/concepts.md adds both to the sizing-aware list and to the sentence describing what han-coding carries. docs/quickstart.md names /code-walkthrough in its sizing note. docs/skills/README.md gains a scent line for each. CLAUDE.md names both in the han-coding catalog and completes the vendored reference lists in the layout tree, which had omitted config-rule.md from the han-core, han-documentation, han-research, and han-coding entries.

    docs/workflows.md adds two chains. /architectural-analysis → /design-an-api → /tdd joins the code-quality diagram and its prose: judge the structure you are designing into, shape the contract against one stated goal, then implement it test-first, with the analysis step optional because /design-an-api runs its own discovery wave. /code-walkthrough → /code-review joins the linear chain

  5. han--v5.1.0v5.1.02026-08-07 · 2026-08-07 13:34 UTC
    查看更新说明

    han 5.1.0 adds a selectable output style that holds the readability standard across a whole session, not only inside the skills that source it. han-communication (1.1.0) ships the style and its long-form doc; the suite-level docs gain the coverage rule and the operator guidance that make an output style a first-class component of the repo. han-core (3.0.0), han-documentation (1.0.0), han-research (1.0.0), han-planning (2.1.0), han-coding (3.0.0), han-github (2.3.0), han-reporting (2.2.0), han-feedback (2.0.1), han-atlassian (2.3.0), han-linear (1.1.0), and han-plugin-builder (2.1.0) are unchanged.

    What's Changed

    han v5.1.0

    Output styles are a new component kind for this repo, so the shared surfaces that describe what a plugin ships had nowhere to name one. This release adds that place.

    Coverage rule extended to output styles

    docs/templates/coverage-rule.md now requires a long-form doc for every output style, in {plugin}/docs/output-styles/{name}.md, alongside the existing requirement for every skill and every agent. The rule gains an output-style variant section describing the heading deviations, following the precedent set by the inline-guidance variant: the deviations are described in the rule itself rather than in a fourth template file. The variant renames When to use it and How to invoke it to When to select it and How to select it (a style is selected once in /config, not called per task), replaces What you get back with What it changes (no artifact comes back), and adds What it does not reach for the boundaries that surprise people. It drops How to get the most out of it, YAGNI, and Sources. There is no repo-root output-styles index; add one when a second plugin ships a style.

    Operator docs name the style and its limits

    docs/readability.md gains a section on applying the standard to a whole session, naming the three limits: the style does not reach dispatched subagents, it carries the built-in voice only because a static system prompt cannot run the .han/config.md probe, and it is a derived copy that can drift from the canonical rule and voice files. docs/choosing-a-han-plugin.md and CONTRIBUTING.md name the style in the han-communication scent. CLAUDE.md gains the output-styles/ layout line and a doc-map entry warning that the style is derived from han-communication/references/readability-rule.md and han-communication/references/writing-voice.md, so an edit to either one needs a matching check against the style.

    The new docs/research/readability-guidance-in-output-styles.md is the standalone research report behind the change. It is not tied to a plan and changes no skill behavior. Contributed by @mxriverlynn.

    han-communication v1.1.0

    The plugin ships a new component kind: the Han Readability output style, in han-communication/output-styles/han-readability.md. Select it under Output style in /config and every turn of the session is written to the readability standard, instead of only the turns inside a skill that invokes readability-guidance. It takes effect on the next session or after /clear, because Claude Code reads the output style once at session start. The style lives in the auto-discovered default output-styles/ directory, so plugin.json needs no outputStyles field.

    The style distills the audience frame, output properties, fidelity guard, and six-criterion self-check from han-communication/references/readability-rule.md together with the blocklist from han-communication/references/writing-voice.md. It sets keep-coding-instructions: true, so Claude Code's software engineering behavior is unchanged: the style changes how work is written up, not how it is done.

    Three boundaries are stated in the style's long-form doc at `han-communication/docs/output-styles/han-re

用户点评

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

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

    README 原文

    未翻译

    Han: For the Solo Product Engineer

    Han is a suite of AI skills and agents for solo (or small-team) product engineers. It combines evidence-based planning, test-driven implementation, full documentation maintenance, deep code review, and architectural analysis into a team of specialists you can dispatch from Claude Code.

    What this plugin does

    Han turns planning, implementation, review, and documentation work that would normally take a team into a set of deterministic skills you run from Claude Code.

    Each skill dispatches specialist agents, such as project managers, adversarial reviewers, investigators, architectural analysts, and testing and security specialists, to do the judgment-heavy work. It then folds their findings into an artifact you can trust.

    The skills are designed to compose. You can plan a feature, then plan its implementation, then iterate on the plan, then build it test-first, then review the resulting code, then write the PR description. All through named skills that hand off to each other cleanly.

    Read Concepts for the skill-and-agent model that runs through the whole plugin.

    For Solo Product Engineers and Small Teams

    Han is purpose-built for solo product engineers and small teams, instead of large teams or enterprise. This does not mean it can't work in larger teams, though. Read about why Han's focus is solo product engineers and small teams to understand Han's positioning and what it does not bring to the table.

    Installation

    Claude Code

    Add the Test Double skills marketplace to Claude Code, then install the plugin:

    /plugin marketplace add testdouble/han
    /plugin install han@han
    

    Han ships as multiple plugins:

    PluginTypeWhat it brings
    hanparentthe parent plugin that brings in han-communication, han-core, han-documentation, han-research, han-planning, han-coding, han-github, and han-reporting
    han-communicationbundledthe foundational plugin beneath every other: the shared readability standard and writing-voice profile, plus the skills and agent that apply them
    han-corebundledthe shared specialist agent roster, the project-discovery skill, the /pairing collaborative working mode, and the canonical rule files
    han-documentationbundleddocumentation skills: project docs, architectural decision records, and runbooks
    han-researchbundledpre-planning knowledge-work skills: research, gap analysis, and issue triage, plus the research-analyst agent
    han-planningbundledplanning skills you reach for before implementation
    han-codingbundledcoding skills you reach for while working in code
    han-githubbundledGitHub-facing skills like posting a code review on a PR
    han-reportingbundledreporting skills like the stakeholder summary
    han-feedbackopt-inskill for capturing post-session feedback on Han skill runs
    han-atlassianopt-inskills for publishing docs and work items to Atlassian products
    han-linearopt-inskill for publishing work items to Linear (requires a Linear MCP server)
    han-dddopt-instrategic Domain-Driven Design analysis: bounded context discovery and an evidence-backed domain and context map
    han-plugin-builderopt-incarries the guidance and skills for building your own skills, agents, and plugins

    Installing han@han pulls in the bundled suite (the meta-plugin plus han-communication, han-core, han-documentation, han-research, han-planning, han-coding, han-github, and han-reporting), and is the right choice for most people. If you want only one slice of Han, install a single layer such as han-documentation@han or han-coding@han instead (each brings the shared han-core agents along), and add other specific plugins as desired.

    For the full picture and a quick "which one do you need?" guide, see Choosing a Han plugin.

    Codex

    Add this repo as a Codex marketplace:

    codex plugin marketplace add testdouble/han
    

    Codex does not yet support meta-plugins like han@han (see openai/codex#23531,) and it resolves no dependencies, so install the Han packages directly — starting with the foundational han-communication, which the prose-producing packages depend on:

    codex plugin add han-communication@han
    codex plugin add han-core@han
    codex plugin add han-documentation@han
    codex plugin add han-research@han
    codex plugin add han-planning@han
    codex plugin add han-coding@han
    codex plugin add han-github@han
    codex plugin add han-reporting@han
    

    Install han-feedback, han-atlassian, han-linear, han-ddd, or han-plugin-builder separately when you want those opt-in packages. Because Codex resolves no dependencies, install han-communication alongside han-atlassian (its wrapped prose-producing skills source the shared readability standard from it).

    Documentation

    • Concepts. Skill vs. agent, and how they compose. Read once before using the plugin.
    • Plugin index. Every plugin with a one-line scent and a link to its README, the full suite vs. a single layer, the layer dependencies on han-core, and a quick guide to which one to install.
    • Quickstart. Five paths for five common situations. Each path is a short sequence of skills.
    • Skills index. Every skill, alphabetized, with a scent line and a link to its long-form doc.
    • Agents index. Every agent, alphabetized, with a scent line and a link to its long-form doc.
    • Workflows. The map of which skills chain together, with flow diagrams for the branching chains.
    • Configuration. The optional .han/config.md files, one personal and one per project, that set an output base directory, a default swarm size, a writing-voice profile, and extra agents for Han skills.
    • Sizing. The small / medium / large model that decides how many agents the swarming skills dispatch.
    • YAGNI. The evidence-based "You Aren't Gonna Need It" rule every planning, review, and architecture skill applies.
    • Evidence. What counts as evidence in Han, how to characterize how strong it is, and what to do when no evidence exists at all.
    • Readability. The shared output standard every reader-facing skill applies as it writes, so its human-facing deliverable leads with the main point and reads consistently across skills.
    • Changelog. What's new in each version of the plugin.

    How-To Guides

    • How-to guides. End-to-end recipes for planning a feature, revising a plan after the build starts, accelerating your understanding of unfamiliar code, triaging and investigating a bug, running an effective code review, and researching a decision. Pick one when you want the full walkthrough, not only the path.
    • How to provide feedback on Han. Send the maintainers structured feedback on a skill or agent run.
    • Extend Han via dependencies. Add your own custom skills on top of Han.
    • Build a plugin that depends on Han. Ship a plugin that builds on Han's skills and agents.

    Contributing to Han

    Maintenance and Support

    • Maintenance horizon: Indefinitely maintained, best-effort. No SLA.
    • Project type: Personal project, with some Test Double support
    • How to report issues: GitHub Issues, with expected best effort for response within 2 weeks.

    Han is an open source product of Test Double, and maintained by the following people:

    LEGAL NOTICES

    Copyright 2026 Test Double, Inc. Distributed under the MIT license.