From build
Extract recurring patterns from past closed PRs/issues, verify against current code, and propose them to docs/wiki via PR.
How this skill is triggered — by the user, by Claude, or both
Slash command
/build:scribeWhen to use
scribe 実行, wiki 抽出, 共通項の蒸留, PR/issue からの知見蓄積, run scribe, wiki extraction, distill recurring patterns
This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Extract the common patterns that recur across this repository's past merged PRs / closed issues, namely routine procedures / conventions and recurring review comments / failure patterns, verify them against the latest code, and accumulate them into `docs/wiki/`. Always propose via PR; the merge is the human approval.
Extract the common patterns that recur across this repository's past merged PRs / closed issues, namely routine procedures / conventions and recurring review comments / failure patterns, verify them against the latest code, and accumulate them into docs/wiki/. Always propose via PR; the merge is the human approval.
| Condition | Content |
|---|---|
| Via PR | Never commit or push directly to the default branch |
| Progress record | Where the previous run stopped reading is shown by the mergedAt of the last merged scribe PR |
| Threshold of 2 | A pattern with fewer than 2 supporting PRs / issues goes to docs/wiki/_candidates.md, not a page |
| Facts only | Write only facts stated in PRs / issues and facts verified in the current code. No guessing |
| Worktree isolation | Edit and commit inside an isolated worktree; never touch the user's working tree |
gh pr list --label scribe --state open --limit 1. If one exists, do not overtake it; stop and reportdocs/wiki/README.md does not exist, create it from the template in ${CLAUDE_SKILL_DIR}/templates/readme.md and include it in the upcoming PRgh label create scribe --description "scribe による wiki 提案"gh pr list --label scribe --state merged --limit 1 --json mergedAt -q '.[0].mergedAt'gh pr list --state merged --search '-label:scribe' and gh issue list --state closed as the scopegh pr list --state merged --search "-label:scribe merged:><mergedAt>" and the issues from gh issue list --state closed --search "closed:><mergedAt>" as the scopedocs/wiki/*.md and docs/wiki/_candidates.md to grasp existing pages / candidatesgh pr view <number> --comments / gh issue view <number> --commentsdocs/decisions/ and are out of scope| Match | Operation |
|---|---|
| Pattern on an existing page | Append #number to its evidence; update content if it changed |
| Second evidence for a candidate | Promote to a page and remove the candidate line |
| A recurring sign matching nothing | Append "one-line content + #number" to _candidates.md |
| One-off circumstance | Do not write |
Before creating, promoting, or updating a page, cross-check each pattern against the current code. For each item that holds, add the current-code location as reference code, written as path + symbol name (no line numbers), and list the items dropped by verification in the PR body of § Phase 5: PR creation.
| Check | When it fails |
|---|---|
| Does the convention/procedure still hold in the current code? | Do not write it. If it is on an existing page, update it as no longer holding |
| Is it already mechanically enforced by lint / hook / CI? | Do not write it; it would duplicate management |
| Do the referenced paths/commands still exist? | Rewrite with the current paths/commands |
In addition, sweep the reference code of every page under docs/wiki/*.md, including existing pages unrelated to this run's scope. Mechanically verify that the file exists and that the symbol name greps within the file, and for a broken reference, reread the current code and relink it. If the pattern itself no longer holds because its referent is gone, update the page as no longer holding. This reference repair does not count toward the 3-page cap in Phase 5.
The cap is 3 pages per run, counted as promotions + updates combined; edits to _candidates.md and reference repairs from Phase 4 do not count. Beyond the cap, prioritize by evidence count and state the leftovers in the PR body. If there is no change at all, do not create a PR. Create a PR even for candidate-only additions.
git fetch origin <default branch>, create an isolated worktree and branch scribe/<yyyymmdd-HHMMSS> from origin/<default branch>docs/wiki/ inside the worktree following the skeleton in ${CLAUDE_SKILL_DIR}/templates/page.md, and commit with the message docs(wiki): <pattern names, ...> を追加/更新gh pr create --base <default branch>. Title [scribe] <pattern names, ...> を追加/更新, label scribenpx claudepluginhub thkt/dotclaude --plugin buildCreates, updates descriptions, and adds comments to GitHub pull requests using file-based drafts for safety, emphasizing material impact and reviewer-friendly communication.
Extracts knowledge from PR context and saves structured documentation to docs/learnings/. Invoked via /compound or after completing a PR.
Executes GitHub operations (PRs, issues, milestones, labels, comments, merges) using Python scripts with structured output and error handling. Use for pull requests, issues, review comments, CI checks, milestones instead of raw gh.