一键导入
setup
Turn your team's AI friction into better docs — sets up togi with an inert adoption note, a reviewable PR, and per-developer opt-in capture
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Turn your team's AI friction into better docs — sets up togi with an inert adoption note, a reviewable PR, and per-developer opt-in capture
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Enable togi friction capture for you alone — this repo or all your repos; teammates unaffected. Use when the user wants to turn on, opt into, or start togi capture.
Turn accumulated togi friction events into context-doc improvements — group them by root cause, choose where each fix belongs, edit or create the docs, and open a pull request. Use whenever friction events have piled up in .togi/friction/pending/ (e.g. the startup reminder fired), or when the user asks to process captured friction or update context docs from it.
Disable togi friction capture for you alone — this repo or all your repos; teammates unaffected. Use when the user wants to turn off, stop, opt out of, or pause togi capture.
| name | setup |
| description | Turn your team's AI friction into better docs — sets up togi with an inert adoption note, a reviewable PR, and per-developer opt-in capture |
| allowed-tools | ["Bash(git add *)","Bash(git branch *)","Bash(git checkout *)","Bash(git fetch *)","Bash(git rev-parse *)","Bash(git remote *)","Edit","Read","Skill(togi:enable)","Write"] |
If any step in any phase fails, stop and report the error — do not improvise workarounds.
Output the following text verbatim before taking any other action:
Togi (研ぎ, to sharpen) turns AI friction — corrections, clarifications, denied tool calls — into context-doc pull requests. For developers who opt in, the working model jots a short note when it hits friction (and a hook records denied tool calls); once enough notes accumulate under
.togi/friction/pending/,/togi:update-context-docsturns them into a doc PR.What this setup commits: nothing executable. Three inert files —
.gitignoreentries, an adoption note atadopt-togi.md, and a pointer inCONTRIBUTING.md(orREADME.md). No repo-level marketplace registration or plugin enablement: teammates get togi only by installing it themselves, and capture stays off for everyone (TOGI_ENABLED=0) until each developer personally opts in — you'll be offered that at the end of this setup.Cost. Capture runs inside your normal Claude Code session — the model writes a short note when it hits friction — so there is no separate API call and no meaningful added cost. Denied tool calls are recorded by a local hook for free.
Privacy. Everything stays on your machine: friction notes are written locally under
.togi/friction/(git-ignored), and nothing is sent to any third party. Capture happens in your own session under your own credentials.Opt in or out any time with
/togi:enable//togi:disable— personal, never committed.
Use AskUserQuestion to ask: "Do you want to proceed with the installation?" Options: Yes, proceed / No, cancel.
If the user selects No, stop.
Output the following text verbatim before taking any other action in this phase:
Making three inert changes:
- the adoption note
adopt-togi.md- a pointer in
CONTRIBUTING.md/README.md.gitignoreentriesNothing touches
.claude/settings.json— committing marketplace or plugin entries would push togi's hooks onto every teammate's machine, and togi only runs where its owner installed it.Teammates who have togi see a one-time notice toward
/togi:enable; until they opt in, nothing runs. SetTOGI_EVENT_THRESHOLD(default10) to choose how many friction events trigger the startup reminder.
Write adopt-togi.md with exactly this content:
# This repo uses togi (研ぎ)
[Togi](https://github.com/gwenneg/togi) turns AI friction — corrections, clarifications, denied tool calls — into context-doc pull requests. Capture is opt-in per developer and runs inside your normal Claude Code session, so it adds no meaningful cost.
To participate, run in Claude Code:
/plugin marketplace add gwenneg/claude-ichiba
/plugin install togi@claude-ichiba
/reload-plugins
/togi:enable
Disable togi any time with /togi:disable. This file is togi's adoption note: it records that this repo adopted togi, and its presence lets togi show a one-time opt-in notice to developers who already have the plugin installed — nothing in this repo installs or runs anything by itself.
If CONTRIBUTING.md exists, append the following section to it; otherwise append it to README.md:
## AI friction capture (togi)
This repo uses [togi](https://github.com/gwenneg/togi) to turn AI friction into context-doc improvements. Participation is opt-in per developer — see [adopt-togi.md](adopt-togi.md) for the setup commands.
Append any of the following lines that are not already present in .gitignore. Do not gitignore .claude/ wholesale — that would hide files teams commit deliberately (commands, agents, skills):
/.claude/settings.local.json
/.togi/
After completing all steps, print a summary of what was added vs. already present for each file touched: adopt-togi.md, the CONTRIBUTING.md/README.md pointer, and .gitignore.
Capture is dormant until each developer opts in. Use AskUserQuestion to ask: "Enable friction capture for yourself now?" Options: This repo only / All my repos / Not now.
/togi:enable repo./togi:enable all./togi:enable works at any time.The enable skill owns the opt-in commands and confirmation outputs — do not inline or restate them here.
Pick the base remote: upstream if it exists (fork workflow — origin is the fork and may be stale), otherwise origin. Call it <remote> below. Detect that remote's default branch, falling back to main if it can't be determined.
Pick a unique branch name: chore/setup-togi, appending -2, -3, … if git branch --list shows it taken.
Branch from the up-to-date default — never from the current HEAD, which may carry unrelated work. The Phase 2 changes are uncommitted and carry over:
git fetch <remote>
git checkout -b chore/setup-togi <remote>/<default-branch>
Stage exactly the three Phase 2 files — adopt-togi.md, .gitignore, and the pointer file — then commit with message: chore: set up togi
Push the branch to origin (on a fork that is your fork; gh pr create then targets the upstream repo automatically), and open a PR titled Set up togi with this body (adjust the pointer filename; append the standard Generated with Claude Code footer):
Sets up [togi](https://github.com/gwenneg/togi). Every time Claude stumbles in this repo — a wrong assumption, a missing convention, a denied command — that's a gap in our context docs. Togi captures those moments and turns them into doc PRs, so the same stumble doesn't happen twice.
**Is this safe to merge?** Yes — and you can verify it from the diff alone. The entire change is three inert text files: the adoption note `adopt-togi.md`, a pointer in `CONTRIBUTING.md`, and `.gitignore` entries. No settings, no hooks, no code: merging installs nothing and runs nothing on anyone's machine. If the diff shows anything beyond those files, reject this PR.
**Trying it costs a minute.** Run the commands in `adopt-togi.md`, work normally, and check `.togi/friction/pending/` after a few sessions. Capture is opt-in per developer and runs inside your own session — the model writes a short note when it hits friction, nothing is sent to any third party, and there's no meaningful added cost. Haven't opted in? You'll see a one-time notice and nothing else will ever run. Leave any time with `/togi:disable`.