Skip to content
Development
Skill

/guidance

Authoritative guidance for building Claude Code skills, agents, and plugins, plus init and update steps that install and refresh the plugin-building skills in the current repository. Use when you need the rules or best practices for a skill, agent, hook, or plugin — designing,

From plugin
han
33147 skills31 agents

Claude Code

$ npx -y skills add testdouble/han --skill guidance --agent claude-code

SKILL.md

guidance.SKILL.md
name: guidance
description: >
  Authoritative guidance for building Claude Code skills, agents, and plugins, plus init and update steps that install
  and refresh the plugin-building skills in the current repository. Use when you need the rules or best practices for a
  skill, agent, hook, or plugin — designing, reviewing, hardening, or checking one against the guidance. Run with `init`
  to vendor the guidance, skill-builder, and agent-builder skills into the current repository (so they run with no
  dependency on this plugin) plus a path-scoped rule index, or `update` to refresh an already-vendored copy. Does not
  run an interview to build a new skill or agent from scratch — use skill-builder or agent-builder. Does not write
  feature code, review application code, or build non-plugin features.
allowed-tools: Read, Glob, Grep, Bash(find *), Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")

Project Context

  • personal config directory: !`bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh" 2>/dev/null || echo "$HOME/.claude"`
  • project .han/config.md: !`cat .han/config.md 2>/dev/null || echo ""`

As your first action, use the Read tool on `.han/config.md` inside the `personal config directory` path above. A read that returns no file is no personal configuration: continue silently. When that file or the `project .han/config.md` probe supplies content, apply it per [config-rule.md](../../references/config-rule.md), which governs precedence between the two files, relative-path resolution, and what to do with a file that reads but cannot be used.

This skill has three modes. Pick the mode from how it was invoked, then follow only that mode's steps.

  • If the invocation argument is `init` or `initialize` (any case), run **Initialization Mode**.
  • If the invocation argument is `update` or `refresh` (any case), run **Update Mode**.
  • Otherwise, run **Guidance Mode**.

Guidance Mode

Serve the relevant guidance for what the user is building. Do not read every guidance document — that defeats the purpose. Find the one or two that apply, read them, and apply them.

The guidance documents live in this skill's own `references/` directory. Use this map to choose, then read only the specific file(s) you need:

  • Deciding whether something should be a skill, agent, or hook →

`${CLAUDE_SKILL_DIR}/references/plugin-entity-taxonomy.md`.

  • Authoring or hardening a skill (descriptions, frontmatter, progressive disclosure, allowed-tools, scripts,

composition, testing, troubleshooting) → the files under `${CLAUDE_SKILL_DIR}/references/skill-building-guidance/`.

  • Authoring an agent (domain focus, self-containment, model selection, multi-agent economics, graceful degradation) →

the files under `${CLAUDE_SKILL_DIR}/references/agent-building-guidelines/`.

  • Plugin or marketplace configuration files (plugin.json, marketplace.json, monitors.json, themes.json) → the files

under `${CLAUDE_SKILL_DIR}/references/claude-marketplace-and-plugin-configuration/`.

  • Versioning, README structure, local development, the iterative development process, and

specialization-versus-model-tier reasoning → the top-level files in `${CLAUDE_SKILL_DIR}/references/`.

  • Writing the instructions for a target model (how Sonnet 5, Opus 5, and Fable 5 differ in following instructions, which

instructions to leave out, and how to calibrate length, narration, and scope) → `${CLAUDE_SKILL_DIR}/references/per-model-authoring.md`.

  • Copyable starter files → `${CLAUDE_SKILL_DIR}/references/templates/`.

Steps:

1. Identify what the user is building or asking about. 2. List the relevant subdirectory under `${CLAUDE_SKILL_DIR}/references/` to see the available documents, using the map above. 3. Read only the document(s) that directly apply. 4. Apply the guidance to the user's situation. Cite the document you used so the user can read it in full if they want.

Initialization Mode

Install the plugin-building skills into the current repository so anyone using the repo can run them and consult the guidance, with no dependency on this plugin remaining installed.

1. Run `${CLAUDE_SKILL_DIR}/scripts/init-guidance.sh` from the repository root. The script vendors three skills into `.claude/skills/` under a `plugin-` prefix so they never collide with this plugin's own slash commands: a guidance-only `plugin-guidance` skill (whose `references/` directory is the single in-repo copy of the guidance documents), `plugin-skill-builder`, and `plugin-agent-builder` (with their names, cross-references, and guidance paths rewritten to that vendored copy). It then writes the path-scoped rule index at `.claude/rules/plugin-building-guidance.md`. Capture its output. 2. Report to the user what was written: the three vendored skills, the total file count, the rule index path, and the `paths:` globs. Explain that the three skills are now available directly in the repo (`/plugin-guidance`, `/plugin-skill-builder`, `/plugin-agent-builder`) and that the rule index is an index only — Claude Code loads it when a matching skill or agent file is touched, and it points to the vendored guidance so only the documents the current file needs are loaded, not all of them. 3. Do not commit. Leave the new files staged for the user to review.

Update Mode

Refresh the vendored skills and their rule index in a repository that already has them, so contributors get the current skills and guidance after this plugin has been updated. Updating is the same vendoring operation as Initialization Mode — it replaces every vendored skill in full (each `SKILL.md` and the guidance documents under `plugin-guidance/references/`, removing any files that the plugin source has since dropped) and regenerates the rule index — but it first confirms the skills are actually installed before touching anything.

1. Check whether the skills are already installed at the expected location. Run `find .claude -maxdepth 3 \( -path '*/skills/

Read more
@testdouble
Ships withhan

Han is a suite of AI skills and agents for solo (or small-team) product engineers.

33147 skills31 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
331
Star history of testdouble/han on GitHub, a chart by star-history.com

Other skills on han.

han-release

han-release

Cut a Han release: update CHANGELOG.md with the changes since the last release, bump and tag every plugin that changed as…

@testdouble@testdoubleInstall Skill
han-update-documentation

han-update-documentati…

Update Han plugin documentation so every skill, agent, guidance doc, index, and cross-reference is current and accurate. On a…

@testdouble@testdoubleInstall Skill
code-overview-to-confluence

code-overview-to-confl…

Produces a progressive-disclosure overview of unfamiliar code or a pull request's changes with code-overview and publishes the…

@testdouble@testdoubleInstall Skill
investigate-to-confluence

investigate-to-conflue…

Runs an evidence-based investigation of a bug, failure, or unexpected behavior with investigate and publishes the resulting…

@testdouble@testdoubleInstall Skill
markdown-to-confluence

markdown-to-confluence

Publishes a local Markdown file to a user-specified Confluence location, creating a new page or updating an existing one through…

@testdouble@testdoubleInstall Skill
plan-a-feature-to-confluence

plan-a-feature-to-conf…

Builds a feature specification from scratch with plan-a-feature and publishes it to a user-specified Confluence location, posting…

@testdouble@testdoubleInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about guidance.

Which coding agents can use guidance?
guidance installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.