Summary
現在のプロジェクトで得た知見・規約・ベストプラクティスを TBSten/skills リポジトリに rule として登録するための PR を自動作成する。 プロジェクトの CLAUDE.md、.claude/rules/、コードベースから知見を収集し、 再利用可能な Claude Code rule…
tbsten/skills · Archived
現在のプロジェクトで得た知見・規約・ベストプラクティスを TBSten/skills リポジトリに rule として登録するための PR を自動作成する。 プロジェクトの CLAUDE.md、.claude/rules/、コードベースから知見を収集し、 再利用可能な Claude Code rule としてパッケージングして PR を作成するまでを一貫して行う。 rule は .claude/rules/ に? RULE.md がルール本体となり、詳細ドキュメント (<rule-name>.md / <rule-name>.ja.md) を rules/ ディレクトリ直下に? Use when requested: "知見をルールとして登録", "contribute rule", "こ…
npx skills add tbsten/skills --skill contribute-rule
現在のプロジェクトで得た知見・規約・ベストプラクティスを TBSten/skills リポジトリに rule として登録するための PR を自動作成する。 プロジェクトの CLAUDE.md、.claude/rules/、コードベースから知見を収集し、 再利用可能な Claude Code rule…
This repository is archived — consider an actively maintained alternative.
現在のプロジェクトで得た知見・パターン・ワークフローを TBSten/skills リポジトリに skill として…
7 installsSets up a Kotlin Compiler Plugin project with multi-module Gradle structure. Creates buildSrc c…
4 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Use when contributing to the CopilotKit open-source project — forking, cloning, setting up the …
2.5K installsOne-click contribution flow for OpenDesign (nexu-io/open-design) — even for non-coders.
1.4K installsローカルで改修した `skills/<skill-name>/` を upstream リポジトリ (Fandhe-AI/agent-cli-skills 等…
9 installsUse when contributing to the CopilotKit open-source project — forking, cloning, setting up the …
539 installsUse after coding, debugging, research, configuration, testing, or other technical work to decid…
286 installsOther skills from tbsten/skills.
npx skills add tbsten/skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
15,235 B
SUMMARY.md
1,000 B
現在のプロジェクトから知見を収集し、TBSten/skills リポジトリに rule として登録する PR を自動作成する。
スキル起動時にまず以下を確認する。失敗した場合は対処方法を案内して中断する。
git --version で git の存在を確認gh auth status で gh CLI の認証状態を確認ARGUMENTS からユーザーが収集したい知見の説明を受け取る。以下を確認する。 ユーザーの指示から明確に読み取れる項目は確認を省略してよい。
Experimental。ユーザーの指示があればそれに従う.claude/skills/contribute-rule.md の group 表を正とするTBSten/skills。fork を使う場合はユーザーに確認するユーザーが指定した収集対象を読み取る。
収集対象が多い場合、Agent tool を活用して並列に収集する:
独立したファイル読み取りは必ず並列で実行すること。
主なソース:
.claude/rules/ 内の既存ルールファイル読み取った知見を以下の形式で整理し、ユーザーに提示する:
Experimental)ユーザーの承認を得てから次のステップに進む。
rm -rf /tmp/contribute-rule-<rule-name>
git clone --depth 1 https://github.com/<repo>.git /tmp/contribute-rule-<rule-name>
<repo> は Step 1 で確認したリポジトリ (デフォルト: TBSten/skills)。 <rule-name> は Step 1 で決定したルール名。
/tmp/contribute-rule-<rule-name>/.claude/skills/contribute-rule.md
contribute-rule.md を読み込んだ後、以下のように統合する:
ガイドが見つからない場合は、以下の「フォールバック」セクションに従う。
https://github.com/anthropics/skills/blob/main/skills/skill-creator/SKILL.md
WebFetch 等で上記の skill-creator SKILL.md を取得し、以下の観点を把握してから Step 4 に進む:
取得できない場合はスキップしてよい。
clone した /tmp/contribute-rule-<rule-name>/ 内で、contribute-rule.md の手順に従い以下を作成する。 Step 2 で整理した知見をもとに RULE.md を記述する。
rules/<rule-name>/RULE.md — ルール本体。YAML frontmatter は不要。命令形 (imperative) で記述する- インストール時にユーザーのカレントディレクトリにコピーされることを意識してパスを設計する - サブディレクトリのネストも可能
rules/<rule-name>.md — 詳細ドキュメント (英語)rules/<rule-name>.ja.md — 詳細ドキュメント (日本語)README.md と README.ja.md の Available Rules テーブルに行を追加作成ファイル数に応じて提示方法を変える:
1. ファイル一覧と各ファイルの概要 (1行) 2. RULE.md の全内容 (最重要ファイル) 3. 「他のファイルも確認しますか?」とユーザーに確認
フィードバックがあれば修正してから次に進む。
ルールは公開リポジトリに登録されるため、作成したファイルに以下が含まれていないか細心の注意を払う:
知見を汎用化する際に具体例が必要な場合は、プレースホルダー (<project-name>, <your-domain> 等) に置き換える。 チェック結果をユーザーに報告し、問題がないことを確認してから次に進む。
PR 作成前に以下を確認する。
- ./rules/<rule-name>.md が存在すること (詳細ドキュメント 英語) - ./rules/<rule-name>.ja.md が存在すること (詳細ドキュメント 日本語) - ./rules/<rule-name>/RULE.md が存在すること - ルールが参照するすべてのファイルが ./rules/<rule-name>/ 配下に存在すること - README.md と README.ja.md の Available Rules テーブルに新しいルールのエントリが追加されていること - rules/<rule-name>.md の frontmatter に status があり、README のステータス列 (絵文字+ラベル) と一致していること - rules/<rule-name>.md の frontmatter に group があり、README のグループ列と一致していること。行が同じグループのまとまりに挿入され、グループセルはグループ先頭行のみ絵文字付きで記載・継続行は空セルになっていること - README の説明セルが 80 文字以内であること (収まらない詳細は詳細ドキュメント側に書く)
Step 3 で参照したベストプラクティスに照らして以下を確認する:
問題が見つかった場合は修正してからユーザーに報告する。
以下の形式でユーザーに確認し、明示的な許可を得てから push・PR 作成を実行する:
/tmp/contribute-rule-<rule-name>/ にルールファイルを作成しました。
内容を確認したい場合はこのディレクトリを直接参照できます。
- push 先: <repo> (ブランチ: add-rule/<rule-name>)
- コミット対象ファイル:
- rules/<rule-name>/RULE.md
- <その他の追加ファイル一覧>
- プロジェクト固有情報: 含まれていないことを確認済み
このまま PR を作成してよろしいですか?
許可を得たら、以下を実行する:
cd /tmp/contribute-rule-<rule-name>
git checkout -b add-rule/<rule-name>
git add rules/<rule-name>/ README.md README.ja.md
git commit -m "add <rule-name> rule"
git push -u origin add-rule/<rule-name>
PR を作成する。タイトル・本文は下記「PR フォーマット」に 厳密に 従う:
gh pr create \
--repo <repo> \
--head add-rule/<rule-name> \
--title "Add rule: <rule-name>" \
--body "## Summary
- <ルールの目的 (50 文字以内)>
- 主要ファイル: rules/<rule-name>/RULE.md
## 実行イメージ
1. <インストール後、ルールが読み込まれる様子>
2. <ルールが適用される場面・振る舞い>
3. <ユーザーから見た効果>
## 備考
- 特になし
"
Add rule: <rule-name>、既存 rule の更新は Update rule: <rule-name> (skill / prompt の contribute では rule の箇所を skill / prompt に変える)## Summary / ## 実行イメージ / ## 備考 の 3 セクション のみ で構成する。これ以外のセクションを入れてはならない- Summary — 箇条書き最大 3 つ、各行 50 文字以内。主要ファイル 1〜3 つ (基本 1 つ。RULE.md や README 等) を含める - 実行イメージ — rule 適用時に何が起きるかを 1. 始まりの番号付き箇条書きで列挙する。各行 100 文字以内 - 備考 — 補足事項。無ければ「特になし」と書く
PR 作成後、以下のコマンドでフォーマット準拠を検証する。NG が出た場合は gh pr edit で修正し、再度チェックする:
gh pr view <PR番号> --repo <repo> --json title,body > /tmp/pr-format.json
python3 - <<'EOF'
import json, re, sys
d = json.load(open('/tmp/pr-format.json'))
title, body = d['title'], d['body']
errs = []
if not re.match(r'^(Add|Update) (skill|rule|prompt): \S+$', title):
errs.append(f'タイトルが "Add rule: <name>" / "Update rule: <name>" 形式でない: {title!r}')
headers = re.findall(r'^## (.+?)\s*$', body, re.M)
if headers != ['Summary', '実行イメージ', '備考']:
errs.append(f'セクションが Summary / 実行イメージ / 備考 の 3 つちょうどでない: {headers}')
else:
summary, image, _notes = re.split(r'^## .+$', body, flags=re.M)[1:]
bullets = [l.strip()[2:] for l in summary.splitlines() if l.strip().startswith('- ')]
if not 1 <= len(bullets) <= 3:
errs.append(f'Summary の箇条書きが {len(bullets)} 個 (1〜3 個にする)')
errs += [f'Summary 50 文字超: {b!r}' for b in bullets if len(b) > 50]
nums = [re.sub(r'^\s*\d+\.\s*', '', l) for l in image.splitlines() if re.match(r'\s*\d+\.', l)]
if not nums:
errs.append('実行イメージに番号付き箇条書きがない')
errs += [f'実行イメージ 100 文字超: {n!r}' for n in nums if len(n) > 100]
print('\n'.join(errs) if errs else 'PR format OK')
sys.exit(1 if errs else 0)
EOF
作成された PR の URL とフォーマットチェック結果をユーザーに報告する。
gh auth status 失敗 → gh auth login を案内-v2 等) を付与して再試行contribute-rule.md が clone 先に存在しない場合、以下の最低限の構成で作成する:
rules/<rule-name>/RULE.md にルールの内容を記述