Tool Deep DivesClaude Code

Tune Claude Code to Your Spec — A Practical Harness-Optimization Guide for General Readers

Understand the harness in one shot via the tack metaphor → five inconveniences of factory default → the six-component map → when to use Skills vs Subagents → safety belts with Hooks × Permissions → the 6-step recipe to build it in 30 days → risks (over-add / name conflicts / security / runaway cost) → finally, full disclosure of the Sales Claw production harness (87 items). Anthropic's official Claude Code Docs (Overview / Settings / Skills / Subagents / Hooks / MCP) are the primary sources.

中澤 圭志

中澤 圭志

@keishi_nakazawa

Sales Claw maintainer

·14 min
Tune Claude Code to Your Spec — A Practical Harness-Optimization Guide for General Readers
This English article is a concise version of the original. For the full Japanese deep-dive, see the Japanese original.

Key Facts

Harness components

6 types (CLAUDE.md / settings.json / Skills / Subagents / Hooks / MCP)

Main locations

Two tiers: ~/.claude/ (global) and ./.claude/ (project)

Official reference

docs.anthropic.com/en/docs/claude-code (Overview / Settings / Skills / Subagents / Hooks / MCP)

Sales Claw production size

32 Skills + 14 Subagents + 33 Slash Commands + 8 Hooks = 87 items

"I installed Claude Code, but I have no idea what to configure." "I'm copy-pasting other people's settings without understanding them." "Am I even allowed to touch the .claude folder?" — This article walks through how to take Claude Code beyond the "factory default" and tune it into a "your-spec" setup, written for readers who are not deep AI users. With the harness (tack / saddle) metaphor as the spine, the roles of configuration files, skills, hooks, and MCP should fall neatly into place.

In the second half, the author (a Sales Claw maintainer) fully discloses the 32 skills + 14 subagents + 33 slash commands + 8 hooks in actual use, with the reasoning behind each choice. By the end, you should have everything you need to start building your own optimal harness.

This article uses Anthropic's official Claude Code Docs (Overview / Settings / Skills / Subagents / Hooks / MCP / Slash Commands) and the anthropics/claude-code GitHub repository as primary sources. Related reading: Claude Code Slash Commands Complete Guide, MCP Complete Guide, and Claude Skills: 12 Useful Skills.

1. What is a "harness"? — The tack metaphor in one shot

Mid-density whiteboard illustration of Claude Code harness design. Top-center large title 'Tune Claude Code to your spec', subtitle 'Six pieces of gear that change speed and safety dramatically'. Center has a large visual metaphor: a horse with the Claude logo above it and six ropes extending outward. Left zone 'Vanilla Claude Code' (Model body / Standard prompt / Standard permissions / Standard toolset, 4 items). Right zone 'After the harness is attached' (CLAUDE.md / settings.json / Skills / Subagents / Hooks / MCP, 6 items). Bottom-center yellow sticky-note highlight: 'Productivity changes 2–5x based on what you strap on'.
Figure: What the Claude Code harness is — mid-density whiteboard illustration with the tack metaphor

Claude Code itself refers to the AI model that Anthropic serves from the cloud (Claude Opus / Sonnet / Haiku). On its own it is "very smart but needs the user to direct every step." Once you start strapping local files and tools onto it, Claude begins to remember "what it should be doing" and starts running with less prompting per step. The bundle of strapped-on equipment is the harness.

[Official] The official Docs describe it as "an agentic coding tool that lives in your terminal." The "terminal" part is important: Claude Code is built around the assumption that it has access to local files. That is precisely why a harness placed locally can change its behavior so much.

Why the word "harness" caught on

[Author's view] Anthropic's own Docs stay neutral with words like "configuration," "customization," and "extensions." The term "harness" spread through the local developer community (Hacker News, GitHub Discussions, personal blogs) and started catching on in English by late 2025. The Japanese-speaking community also uses "ハーネス" / "装備品" / "装着物" now, and this article follows that convention. The reason the tack metaphor works, in the author's view, is that it makes one intuition extremely clear: "the horse (model) is the same, but the tack dramatically changes the ride."

2. What is inconvenient about factory default? — Five reasons to optimize

High-density whiteboard illustration showing five inconveniences of vanilla Claude Code. Top-center large title 'What is inconvenient about vanilla Claude Code?'. Five numbered zones: (1) Repeating the same context every session (project structure / coding rules / languages used), (2) Dangerous commands slipping through (rm / format / shutdown / git push --force), (3) Cannot remember specialist knowledge (DB design / security / TDD rules), (4) Repeating the same drudgery (lint / type-check / tests), (5) Manual external tool wiring (Slack / Notion / GitHub). Bottom-right yellow sticky-note: 'Build the harness and all five are automated'.
Figure: Figure 1: Five inconveniences of the factory default and what the harness solves (high-density whiteboard illustration)

Reason 1: Repeating the same context every session

With vanilla Claude Code you find yourself prefacing every session with "My project is on Next.js 16," "TypeScript is strict," "Commit messages follow conventional commits" over and over. Write these into CLAUDE.md (with global and project tiers) and Claude Code reads them automatically every session, starting the conversation already aligned. [Official] The Anthropic Docs state that "CLAUDE.md lets you give Claude project-specific instructions persistently."

Reason 2: Dangerous commands slipping through

Vanilla Claude Code, given user approval, will happily run `rm -rf` / `git push --force` / `format` and other destructive commands. To avoid accidents, write a list of dangerous patterns into permissions.deny in settings.json so they are blocked outright. This is the "safety belt" of the harness — the seatbelt of the tack analogy.

Reason 3: No specialist knowledge

Claude is a general-purpose AI; it does not know your company's DB schema conventions, your TDD style, or your security review checklist. Re-prompting every session is wasteful. So you bundle "DB design knowledge" or "security review criteria" into a Skill folder and let Claude load it on demand. In the tack metaphor, this is "attaching pouches to the saddle."

Reason 4: Repeating the same drudgery

Manually running lint / type-check / tests after every edit wastes time. With Hooks, you can have a quality gate run automatically right after Edit / Write, blocking the next step if something is wrong. In the tack metaphor, this is "automating the reins."

Reason 5: Manual external tool wiring

Want to notify Slack? Want to push to Notion? Want to drive a browser with Playwright? Wiring these by hand every time is inefficient. By adding an MCP (Model Context Protocol) server to the harness, Claude sees a "list of available tools" and reaches for them on its own. In the tack metaphor, this is "putting a map and a compass in the saddlebag."

3. The six-component map of the harness

ComponentRole (tack metaphor)Main locationPriority
CLAUDE.md"Instruction sheet" for prerequisites`~/.claude/CLAUDE.md` and `./CLAUDE.md`★★★ Required
settings.json"Seatbelt" for allow / deny`~/.claude/settings.json` and `./.claude/settings.json`★★★ Required
Skill"Saddlebag" for specialist knowledge`~/.claude/skills/[name]/` and `./.claude/skills/[name]/`★★ Recommended
Subagent"Companion horse" — a specialist`~/.claude/agents/[name].md`★★ Recommended
Hook"Reins" that automateThe `hooks` section of `settings.json`★ Optional
MCP server"Map and compass" to the outside worldThe `mcpServers` section of `settings.json`★ Optional

With this table in your head, you will be able to read the Claude Code Docs and ask "which piece are they talking about right now?" with much less friction. The following H2 sections dig into two important pairs: (3) Skills × (4) Subagentsand (5) Hooks × (2) settings.json.

Global vs project: two tiers

Every component has two possible homes: global (under `~/.claude/`, applies to all projects) and project-local (under `./.claude/`, applies only to that repo). As a rule of thumb, personal taste = global, team-shared = projectis the safe split. The project tier overrides the global tier on conflict.[Official] Anthropic's Docs support both locations and recommend committing the project-level config to the repo for team sharing.

4. Skills × Subagents — the core of "when to call what"

High-density whiteboard illustration of Skills vs Subagents roles. Top-center large title 'Skills × Subagents — when to use which?'. Left zone 'Skill' (Triggered by a single SKILL.md file / The same Claude reads it and uses it / Examples: blog-write / api-design / proposal-master, 5 items). Right zone 'Subagent' (Spawned as a separate process / Calls a specialist Claude / Splits work by role / Examples: code-reviewer / security-reviewer / database-reviewer, 5 items). Bottom-center numbered 3-step decision flow: (1) Quick knowledge lookup → Skill / (2) Long-running task, avoid context bloat → Subagent / (3) Role-split work (code review, security check, etc.) → Subagent. Bottom-right yellow sticky-note: 'When in doubt, start with a Skill'.
Figure: Figure 2: Roles of Skills and Subagents and how to choose (high-density whiteboard illustration)

How skills work

A skill is a "folder + SKILL.md (instruction file)" pair. The header metadata in SKILL.md — a name (short identifier) and a description (what it does and when to use it) — is loaded permanently. When the user's request matches the description, Claude reads the body of the SKILL.md on demand and the skill fires. Anthropic released this officially in 2025-10 and[Official] opened it as a standard in 2025-12.

Representative skills Sales Claw uses: blog-write (the skill writing this article), note-publish (note.com posting), api-design (REST API design), postgres-patterns (DB query tuning), security-review (security review) — 32 in total. The full list is at the end of this article.

How subagents work

A subagent is "a specialist Claude spawned as a separate process." The main Claude (the orchestrator) decides "I need a code review" or "I need a security check" and calls the subagent; the subagent works in its own context and returns just the result.[Official] The Claude Code Docs describe subagents as "independent AI assistants with their own context and tools."

Representative subagents Sales Claw uses: code-reviewer (code quality), security-reviewer (vulnerability check), database-reviewer (SQL / schema), e2e-runner (E2E test execution), build-error-resolver (build error resolution), harness-optimizer (improvements to the harness itself) — 14 in total.

Which to use? The decision flow

The author's operating rules ([Author's view]):

  1. Quick knowledge lookups (e.g., "show me REST naming conventions," "how do I make a PowerPoint?") → Skill. The same Claude reads and answers, so it stays light.
  2. Long-running tasks where context bloat would hurt (e.g., "explore the entire codebase") → Subagent. Runs in a separate context so the main conversation stays clean.
  3. Role-split work (e.g., after writing code I want both review and security scan) → Subagent. You can fan out to code-reviewer and security-reviewer in parallel.
項目SkillSubagent
Startup costLow (main Claude continues)Medium-high (separate process, 30-60K tokens)
Main context bloatYes (read into main)No (separate context)
Parallel execution×◯ Multiple at once
Best forKnowledge, templates, guidelinesReviews, audits, exploration, fixes
Authoring difficultyLow (folder + md)Medium (md + tools spec)

5. Hooks × Permissions — where automation meets safety

Hook timings (8 types)

The eight officially supported hook moments are [Official]:

  • SessionStart: session start (show skill list, load memory, etc.)
  • UserPromptSubmit: just before the user submits (preprocessing)
  • PreToolUse: before a tool (Bash / Edit / Write) runs (can block)
  • PostToolUse: after a tool runs (quality gate, PR notify, etc.)
  • PreCompact: before context compaction (save important info)
  • Stop: session end (summary, notify, kill zombie processes)
  • SessionEnd: final session-end marker
  • Notification: when Claude emits a notification

The author's harness wires SessionStart with "show skill list + load claude-mem," PreToolUse(Bash) with "git push reminder," PostToolUse(Edit/Write) with "quality gate + post-edit formatting," and Stop with "session summary + zombie cleanup + ntfy notification." In particular, the `cleanup-zombies.ps1` in Stopwas written to solve "Claude Code leaves chrome / playwright zombies behind" — a single PowerShell script that dramatically stabilized the local machine.

Iron rules for permissions

The `permissions` section of settings.json holds three things: allow / deny / defaultMode. The author's operating rules ([Author's view]):

  1. Allow Read everything: put `Read(*)` in allow. Reading alone is safe.
  2. Write only to /tmp and Downloads: writing anywhere is risky. Allow only safe paths; the rest goes through explicit consent.
  3. Fully deny destructive Bash: lock down `Bash(rm *)` / `Bash(del *)` / `Bash(format *)` / `Bash(shutdown *)` / `Bash(taskkill *)` / `Bash(* --force*)`. These six will never be proposed by mistake again.
  4. Keep defaultMode at "auto": unlisted tools surface a confirmation prompt, never running on impulse.

6. Practical: build your own harness in 6 steps

High-density whiteboard illustration of the six-step assembly. Top-center title 'Day 1–Day 30: How to assemble your own harness'. Six numbered steps left to right: (1) Author a CLAUDE.md (write the prerequisites and preferences / 30 min) → (2) Lock six deny entries into settings.json (rm / del / format / shutdown / taskkill / --force / 10 min) → (3) Add the official + 1-2 skills (Anthropic Office 4 / 1 hour) → (4) Add 3 subagents by role (code-reviewer / security-reviewer / planner / 1 hour) → (5) Add one hook and get comfortable (SessionStart skill list / 30 min) → (6) Add one MCP only (Playwright or Slack / 1 hour). Bottom yellow sticky-note: 'For the first 30 days, do NOT over-add'.
Figure: Figure 3: The 6-step recipe to assemble your own harness (high-density whiteboard illustration)

Step 1: Author CLAUDE.md (Day 1, 30 min)

Create `~/.claude/CLAUDE.md` in your home directory and write 200-500 characters of preferences, role, and main projects. Examples: "respond in Japanese," "use conventional commits," "make minimal changes." This alone deletes the preamble at the start of every session. Project-specific details go in `./CLAUDE.md`at the repo root.

Step 2: Add a deny list to settings.json (Day 1, 10 min)

Create `~/.claude/settings.json` with at least:

{
  "permissions": {
    "deny": [
      "Bash(rm *)",
      "Bash(del *)",
      "Bash(rmdir *)",
      "Bash(* --force*)",
      "Bash(format *)",
      "Bash(shutdown *)"
    ],
    "defaultMode": "auto"
  }
}

Now "commands that end you in one shot" are blocked outright. Day 1 setup is done.

Step 3: Add the four official skills (Day 7, 1 hour)

Install Anthropic's official pptx / xlsx / docx / pdf skills with/plugin marketplace add anthropics/skills followed by/plugin install anthropic-skills. Details: Claude Skills: 12 Useful Skills. This alone unlocks "make me a PowerPoint," "tidy up an Excel sheet," "draft a Word template," "extract a table from this PDF" as routine AI tasks.

Step 4: Add three subagents (Day 14, 1 hour)

Start with code-reviewer (code quality), security-reviewer (security), planner (design planner). Place each as a Markdown file with front matter under `~/.claude/agents/[name].md`. The easiest way is to ask Claude to draft the first subagent definition, then tune it by eye.

Step 5: Add a single hook to get comfortable (Day 21, 30 min)

Start with just one: SessionStart that shows the skill list. Right after you do this, "every session starts with a clear inventory of my own equipment" is the feeling, and the harness clicks emotionally. Then layer on PostToolUse(Edit) for a quality gate, etc.

Step 6: Add one MCP (Day 30, 1 hour)

Finish with one MCP server. Playwright MCP (browser automation) or Slack MCP are good first picks. Adding two at once puts you right back into the "nothing is understandable" state — one at a time.

Python figure: 30-day timeline of building your own harness. X-axis Day 1 to Day 30, Y-axis cumulative number of attached items (0-12). Plot points: Day 1 (CLAUDE.md + 6 deny rules = 2), Day 7 (+4 official skills = 6), Day 14 (+3 subagents = 9), Day 21 (+1 hook = 10), Day 30 (+1 MCP = 11). After Day 30, a gray 'add only after observing your workflow' zone. Annotations: '11 items in 30 days is the realistic ceiling' and 'Over-adding is counterproductive'.
Figure: Figure 4: 30-day timeline for assembling your own harness (Python figure)

7. Risks and caveats — breakage / conflict / security / runaway cost

Risk 1: Over-adding slows things down

A skill keeps its Level 1 metadata (~100 tokens per skill) loaded all the time. With 100 skills that is 10,000 tokens of system-prompt baseline per session, and Claude's decision speed slows. [Author's view] Sales Claw treats "around 30 active skills" as the soft ceiling and runs a monthly trim (drop the skills you stopped using).

Risk 2: Skill names collide

When multiple skills share similar descriptions, Claude's choice of which to fire becomes unpredictable. [Official] Anthropic's Docs warn "Use unique, descriptive names" and recommend a naming convention with no in-org duplicates. Sales Claw uses a "verb-target" convention (blog-write, note-publish, security-scan, etc.).

Risk 3: Hooks that block session startup

A SessionStart hook that errors can stop the session from starting or leave you with a blank screen. Author's mitigation: append `|| true` to the hook command so failures do not block the session. Example:command="powershell.exe -File cleanup.ps1 || true". This actually saved the author once — when cleanup-zombies.ps1 errored, the session-start path froze.

Risk 4: MCP security holes

Adding a third-party MCP server makes "what tools that server gives Claude"a black box. [Official] Anthropic's Docs warn that "MCP servers run with your local privileges" and advise against trusting unverified servers. Sales Claw limits itself to official servers (Anthropic / Microsoft / Google) or OSS projects whose source can be audited.

Risk 5: Runaway cost

Python figure: relationship between skill count and token consumption. X-axis: number of skills (0 to 100). Left Y-axis: Level-1 metadata always-loaded tokens. Right Y-axis: Sales Claw soft ceiling (30 skills). Linear growth at ~100 tokens per skill: 30 skills = 3,000 tokens (soft ceiling), 50 skills = 5,000, 100 skills = 10,000. A vertical line near 30 marks the 'Sales Claw soft ceiling' with annotations 'decision speed becomes noticeably slower' and 'monthly trim required'. Footnote: 'Subagent calls are 30-60K tokens per invocation, counted separately'.
Figure: Figure 6: Skill count vs token consumption — Sales Claw uses ~30 skills as a soft ceiling (Python figure)

A subagent costs 30-60K tokens per invocation. Auto-triggering code-reviewer + security-reviewer + database-reviewer on every code change blows up the monthly token bill. Author's mitigation: restrict the auto-trigger conditions to "5+ files changed," "auth / API touches," or "SQL / schema changes" and document the rule in CLAUDE.md.

8. Full disclosure: the Sales Claw production harness (32 + 14 + 33 + 8)

Python figure: distribution of attached items in the Sales Claw production harness. Horizontal bar chart across four categories: Skills 32 (blue, longest), Subagents 14 (green), Slash Commands 33 (orange, longest), Hooks 8 (purple, shortest). Each bar shows the count. Bottom annotations: 'Total 87 items, grown gradually over 1 year and 5 months' and 'All running on Claude Code v2.1.143 + Opus 4.7'.
Figure: Figure 5: Sales Claw production-harness distribution — 32 + 14 + 33 + 8 = 87 items (Python figure)

32 skills (30 global + 2 project)

Global (~/.claude/skills/): api-design, backend-patterns, claude-office-skills, coding-standards, debug-issue, e2e-testing, explore-codebase, find-skills, frontend-patterns, frontend-slides, grant-rewrite, keiba-analysis, keiba-race-analyst, learned, postgres-patterns, proposal-master, refactor-safely, review-changes, search-first, security-review, security-scan, strategic-compact, task-planner, tdd-workflow, workspace-init plus marketplace installs of anthropic-skills (pptx / xlsx / docx / pdf, etc.) and cowork-plugin-management bundles.

Project (./.claude/skills/): blog-write (the skill writing this article) and note-publish (note.com posting). These are Sales Claw–specific, so they live in the project tier and are committed to the repo.

14 subagents

architect (architecture), bp-sales (sales automation), build-error-resolver (build error resolution), code-reviewer (code quality), database-reviewer (DB / SQL), doc-updater (documentation), e2e-runner (E2E tests), harness-optimizer (the harness itself), loop-operator (autonomous loops), planner (design planner), python-reviewer (Python review), refactor-cleaner (refactor cleanup), security-reviewer (vulnerability check), tdd-guide (TDD guidance) — 14 in all. Named with a "verb + target" or "role" convention.

33 slash commands

The seven the author uses most: /claw (Sales Claw dev REPL), /ship (deploy prep), /eng-review (technical review), /ceo-review (product-thinking review), /eval (evaluation), /harness-audit (harness audit), /checkpoint (intermediate save). The rest: /code-review, /security-review, /python-review, /quality-gate, /tdd, /e2e, /test-coverage, /build-fix, /refactor-clean, /update-codemaps, /update-docs, /verify, /plan, /orchestrate, /loop-start, /loop-status, /model-route, /pptx-build-public, /skill-create, /learn, /learn-eval, /promote, /instinct-export, /instinct-import, /instinct-status, /projects, /sessions, /evolve.

8 hook timings

SessionStart: show skill list + load claude-mem + session-start.js. UserPromptSubmit: claude-mem session-init. PreToolUse(Bash): git-push-reminder. PreToolUse(Edit|Write): suggest-compact. PostToolUse(Bash): post-bash-pr-created. PostToolUse(Edit|Write|MultiEdit): quality-gate.js + post-edit-all.js. PreCompact: pre-compact.js. Stop: claude-mem summarize + session-end.js + cost-tracker.js + ntfy-stop.py + cleanup-zombies.ps1. Total: 14 commands triggered across 8 hook moments.

Since adopting this harness, the average round-trips per session dropped from 12 to 6, and "explaining the same thing twice"has essentially disappeared. That, in the author's view, is the real prize of harness optimization.

9. Wrap-up — start with CLAUDE.md and deny, just the two

Optimizing the Claude Code harness yields 80% of the benefit on Day 1 from just "CLAUDE.md (prerequisites) + settings.json (deny)." The remaining 20% comes from adding skills → subagents → hooks → MCP in that order over 30 days — the author's recommended pace.

The biggest secret: "do not over-add." Equipment is like armor — the more you layer on, the more sluggish your moves. The 87-item Sales Claw harness disclosed above was grown gradually over 1 year and 5 months. Start with the Day 1 CLAUDE.md + six deny rules.

Sales Claw itself is a product that uses this kind of harness to automate BtoB contact-form sales. Following a "policy-controlled autonomous operation" philosophy, it lowers misfire and policy-violation risk with pre-send automated checks, sales-NG detection, CAPTCHA-detection auto-stop, send-rate limiting, and audit logs.

Japanese-language original: Claude Code を「自分仕様」にする — ハーネス最適化で AI 開発が劇的に変わる設計ガイド

今すぐ Sales Claw で、営業をもっとスマートに。

無料・MIT ライセンス。インストールせずにライブデモも試せます。

よくある質問

What does "harness" even mean here?
"Harness" originally means tack (the gear strapped onto a horse) or a safety belt. In the Claude Code world it is used as "the whole set of peripheral equipment attached to an AI model" — specifically the bundle of CLAUDE.md (instruction sheet), settings.json (permissions list), Skills (specialist knowledge folders), Subagents (specialist Claudes), Hooks (automation scripts), and MCP servers (external tool wiring). Anthropic's own Docs stay neutral with words like "configuration" and "extensions," but the harness (tack) metaphor took off in the local developer community starting late 2025 in both English and Japanese. In the metaphor, the Claude model itself is the horse and the harness is the saddle and reins: the horse is the same, but changing the tack dramatically changes how easy it is to ride, where it can go, and how often it crashes.
What should I optimize first?
On Day 1, the author's recommendation is just two things: "CLAUDE.md (prerequisites) + a settings.json deny list (block destructive commands)." Write 200–500 characters of preferences, role, main projects, and coding rules into CLAUDE.md so Claude auto-loads them every session. In settings.json, lock down six patterns — Bash(rm *), Bash(del *), Bash(format *), Bash(shutdown *), Bash(taskkill *), Bash(* --force*) — so a "one shot and you're dead" command can't even be proposed. These two alone resolve "writing the same preamble every session" and "dangerous commands slipping through," delivering about 80% of the harness benefit on Day 1. The remaining 20% comes from layering Skills → Subagents → Hooks → MCP between Day 7 and Day 30.
What is the difference between Skills and Subagents?
Different execution models. A Skill is read by the main Claude on demand — same Claude, more knowledge. A Subagent is a separate process spawned as a specialist Claude that works in its own context and returns just the result. Anthropic's Docs define Subagents as "independent AI assistants with their own context and tools." Rule of thumb: (1) quick knowledge lookups → Skill (lightweight, main continues), (2) long-running tasks where you don't want to bloat context → Subagent (separate context), (3) role-split work like code review + security check → Subagent (can fan out in parallel). When in doubt, start with a Skill. Subagents cost 30–60K tokens per invocation, so it's wise to gate auto-triggers behind conditions like "5+ files changed," "auth/API touches," or "SQL/schema changes."
Are Hooks dangerous? Is it OK to configure them?
They can be dangerous if misconfigured. A SessionStart hook that errors can keep the session from starting or leave a blank screen. The author has been burned by this and now appends `|| true` to hook commands so failures don't block the session — e.g., command="powershell.exe -File cleanup.ps1 || true". Using PreToolUse(Bash) to block dangerous commands is very safe and works as a strong allow-list. Start with one read-only SessionStart hook (e.g., "show the skill list") to get comfortable, then layer on PostToolUse(Edit/Write) for a quality gate, PreToolUse(Bash) for a git-push reminder, and Stop for zombie process cleanup (cleanup-zombies.ps1).
Should I keep harness changes under git?
Yes — strongly recommended. The project-level ./.claude/ directory is meant for team sharing and should be committed to the repo. Keep your global ~/.claude/ as a personal dotfiles repo too: it syncs across machines and gives you a history of "what I changed and what effect it had." Anthropic's Docs also recommend committing the project-level .claude/ for team sharing. Two cautions: never put API keys or PII directly in settings.json (use .env or your OS secret manager), and keep the ability to git revert a bad config change instantly. Sales Claw runs /harness-audit monthly to surface duplicates, conflicts, and stale items.
What happens if I add too many Skills or Subagents?
Three problems. (1) Each Skill keeps ~100 tokens of Level-1 metadata loaded all the time, so 100 Skills means 10K tokens of system-prompt baseline and slower decisions. Sales Claw treats around 30 active Skills as the soft ceiling. (2) Skills with similar descriptions collide and Claude's choice becomes unpredictable. Anthropic's Docs warn "Use unique, descriptive names" — Sales Claw uses a verb-target naming convention. (3) Subagents cost 30–60K tokens per invocation; auto-triggering code-reviewer + security-reviewer + database-reviewer on every change blows up the bill. Document auto-trigger conditions in CLAUDE.md (5+ files / auth-API / SQL changes) and use the consolidate-memory skill monthly to trim.
Can general (non-engineer) readers really build a harness?
Yes. The Day 1 CLAUDE.md + deny list takes about 40 minutes and delivers 80% of the benefit. CLAUDE.md is just a Markdown file — write natural sentences like "respond in Japanese" or "use conventional commits." settings.json is plain JSON — copy a deny-list sample. By Day 7 you can install Anthropic's official pptx / xlsx / docx / pdf Skills with two commands (/plugin marketplace add anthropics/skills then /plugin install anthropic-skills), at which point "make a PowerPoint" and "tidy this Excel" become routine. Subagents, Hooks, and MCP can be picked up gradually. The 6-step Day-by-Day plan in H2 6 of this article keeps things tractable for non-engineer readers.
Can I just copy the Sales Claw harness?
You can copy the *thinking*, but not the list verbatim. The Sales Claw harness is tuned for "automating B2B contact-form sales" — many items are useless for different work (video editing, data analysis, customer support). The H2 8 disclosure is meant as a "reasoning and pattern reference." The right process is: (1) log your most frequent tasks for a week, (2) identify "I write the same preamble every time" and "I repeat the same drudgery," (3) automate those into CLAUDE.md / Skills / Hooks. Sales Claw's 87 items grew over 1 year and 5 months — it started with just CLAUDE.md and deny, then added 1-2 items per month that matched real workflow.

参考文献

本記事は X 公式アカウントと公式ドキュメントを一次情報として参照しています。

  1. [01]
  2. [02]
  3. [03]
  4. [04]
  5. [05]
  6. [06]
  7. [07]
  8. [08]

この記事の著者

中澤 圭志

中澤 圭志

Sales Claw maintainer

Designs and develops Sales Claw. Writes from the field on B2B sales automation and applied AI.

Share this article