本文へ移動
cccskills
無料GitHub で公開

skill-eligibility-check

作業パターンを skill 化すべきか判定する共通スキル。org-retro と org-curate から呼ばれ、 「skill 化推奨 / 候補止まり / curated ノートのまま」の 3 値と根拠を返す。

自動 skill 化はせず、推奨は machine-local な knowledge/skill-candidates.local.md に追記し、 窓口が候補キューが溜まった時点でバッチで人間に問い合わせる二段構え。

インストール方法を見る

含まれるファイル(2)

  • SKILL.md8.1 KB
  • references/signals.md3.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

skill-eligibility-check: skill 化判定

作業パターンが新規 work-skill として切り出す価値があるかを 5 シグナルで採点し、 3 値(skill_recommend / candidate_queue / curated_only)で返す。 このスキル自体は skill 生成も人間問い合わせもしない — 判定専用。

なぜ共通スキルか

判定基準が org-retro と org-curate の 2 箇所に分散すると必ず乖離するため。 このスキルを single source of truth として双方から呼ぶ。

入力契約

呼び出し元は以下の構造を渡す:

context: post_retro | curation
pattern_name: <kebab-case の候補 skill 名>
summary: <何を再利用できるかの 1-2 文>
task_ids: [<関連タスク ID>, ...]          # optional。post_retro は通常 1 件、curation は空配列可
raw_files: [<knowledge/raw/ のファイルパス>, ...]
steps_outline:                              # 主要手順の箇条書き
  - <step 1>
  - <step 2>
  - ...
trigger_description: <このパターンが適用される状況を言語化できるか / できないなら空>
decision_criteria: <判断基準や閾値があるか / できないなら空>
output_format: <成果物の再利用可能フォーマット / なければ空>

必須は context / pattern_name / summary / raw_files / steps_outline のみ。 task_ids は raw ノートの標準スキーマに含まれないため curation 文脈では空配列でよい。 trigger_description / decision_criteria / output_format は採点対象そのもので、 空のまま渡すと該当シグナルが 0 点になる。

Step 1: 5 シグナル評価

references/signals.md の定義に従い、各シグナル 0 点 / 1 点で採点する。

シグナル1 点の条件
raw_reappearance同パターンの raw 記録が 3 件以上ある
steps_complexitysteps_outline が 3 項目以上かつ非自明な判断を含む
trigger_articulabletrigger_description が具体的かつ検索可能な語彙で書ける
criteria_articulabledecision_criteria に定量閾値または分類ルールがある
reusable_outputoutput_format が他タスクで転用可能な構造を持つ

詳細な判定手順は references/signals.md を参照。

Step 2: 合計点から 3 値に分岐

合計点判定意味
3 点以上skill_recommendskill 化推奨。候補キューに追加
2 点candidate_queue候補止まり。raw に追記し次回の raw_reappearance を待つ
1 点以下curated_onlycurated ノートのままで十分

閾値を 3 点に置いた根拠: org-retro 旧版の「2 つ以上で推奨」よりやや保守的にし、 候補止まり層を明示的に作ることで、「skill 検索面のノイズ」を予防する。

Step 3: 出力

以下の構造を呼び出し元に返す:

decision: skill_recommend | candidate_queue | curated_only
score: 0-5
matched_signals: [<1 点が付いたシグナル名>, ...]
rationale: <1-2 行の根拠文>
proposed_skill_name: <pattern_name>    # skill_recommend / candidate_queue のみ

Step 4: 候補キュー書き込み(skill_recommend の場合のみ)

knowledge/skill-candidates.local.md(machine-local な実エントリ用ファイル。Issue #755)に 以下のエントリを追記する。candidate_queue / curated_only の場合は書き込まない。

追記先は必ず .local.md(公開ファイルではない): 公開の knowledge/skill-candidates.md は エントリフォーマット定義のみを保持し、エントリ一覧は常に空に保つ(operator-private な 候補が OSS リポジトリに載らないため。knowledge/skill-candidates.local.md は .gitignore 済み)。 フォーマット定義・status 語彙・運用ルールは公開ファイル冒頭が一次参照で、実エントリだけが .local.md に入る。.local.md が未作成なら見出し ## エントリ一覧 を持つ最小ファイルを新規作成して追記する。 閾値カウント(tools/check_curate_threshold.py / /skill-audit)は両ファイルを合算して読む。

### {YYYY-MM-DD} {pattern-name}
- **判定スコア**: {score}/5
- **該当シグナル**: {matched_signals}
- **根拠**: {rationale}
- **関連タスク**: {task_ids、curation 文脈では空 "[]" 可}
- **関連 raw ファイル**: {raw_files}
- **呼び出し元**: {context}
- **提案 skill 名**: {proposed_skill_name}
- **status**: pending
- **決定日**: 未定
- **却下理由**: (status が rejected に遷移したとき記入、それ以外は省略)
- **統合先**: (status が merged-into-* のとき記入、それ以外は省略)

書き込み後も呼び出し元には出力 YAML を返す(キュー追記は副作用として完了)。

呼び出し元の責務

このスキルは判定とキュー追記だけを行う。以降のアクションは呼び出し元の責務:

  • org-retro(post_retro):

    • skill_recommend → キュー追記のみ(Step 4 で実施済み)。人間への即時提案はしない。 バッチ問い合わせは窓口が pending ≥5 で実施する (一次参照: knowledge/skill-candidates.md 冒頭、Issue #68 方針。/skill-audit 発火時も同様)
    • candidate_queue → raw/ に技術的知見のみ記録
    • curated_only → raw/ への記録で十分(報告不要)
  • org-curate(curation): decision 値に関わらず通常の Step 3 で curated/ 統合 + Step 4 で <!-- curated --> 付与を行う(skill 化と curated ノート化は両立)。

    • skill_recommend → 候補キュー追記のみ(skill 側で自動書き込み済み)。 人間への問い合わせは窓口の役目で、キュー閾値 N=5 に達したら窓口が行う
    • candidate_queue → 追加アクションなし(次回の raw_reappearance を待つのはシグナル上の話であり、raw を未整理のまま残すことではない)
    • curated_only → 追加アクションなし

重複呼び出しの扱い

同一 pattern_name が既に knowledge/skill-candidates.local.md に status: pending で 存在する場合、Step 4 では新規エントリを追加せず既存エントリの 関連タスク・関連 raw ファイル を 追記マージする(重複チェックの読み先も実エントリを持つ .local.md。公開ファイルは常に空)。 status が approved / rejected / merged-into-* になっているエントリは 履歴として保持し、新しいエントリを別日付で追加する(過去の却下理由を失わない)。

status が deferred(人間が提示を受けて見送った候補)になっているエントリは、Step 4 では 再追加も pending への差し戻しもしない(見送りは確定として扱い、同じ候補を蒸し返さない。Issue #753)。 deferred は閾値カウント対象外・再問い合わせ対象外である。人間が明示的に再検討したいときのみ 新しい日付で別エントリを起こす。

スキルを呼ばないケース

  • ワーカーが単に「便利だった関数」をメモするだけ → これは knowledge/raw/ の記録で十分で、 本スキルの入力 5 項目(特に steps_outline と trigger_description)が埋まらない
  • 一度きりの調査・デバッグ → パターン化する見込みがなく、判定コストの無駄

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

dispatcher-handover

無料日本語概要

ディスパッチャーのコンテキストを圧迫したまま session を続けるのを避けるため、 monitoring 状態(active workers / 直近 polling cursor / pending escalations)を handover ファイルに書き出し、secretary の指示で /clear → /dispatcher-resume の 流れで新しいディスパッチャー session を開始する準備をする。 Secretary から DISPATCHER_HANDOVER peer message を受領したとき、または ディスパッチャー自身が context が長くなったと判断したときに使う。

suisya-systems/claude-org-ja52026年10月12日 更新

dispatcher-resume

無料日本語概要

/dispatcher-handover で書き出した handover ファイルを読み込み、 ディスパッチャーを新しい session で復帰させる。/clear 直後の最初のターンで使う。 state.db の dispatcher_pane_id / dispatcher_peer_id を atomic に更新し、 worker monitoring の /loop 3m を再開する。 「ディスパッチャー復帰」「resume」「引き継ぎから再開」と secretary から指示された ときに使う。/org-start ではない(ワーカー・窓口・キュレーターは生きている前提)。

suisya-systems/claude-org-ja52026年10月12日 更新

goal-setup

無料日本語概要

プロジェクトのゴール台帳(registry/goals/<owner>/<repo>.md)を人間と対話して新規作成・改訂する。 README と open Issue からゴール候補を推定して提示し、「何を目指すか」「何が起きていたら未達か」を 短く質問して条項を固め、書式検証(tools/work_discovery_goals.py validate)を通してから保存する。 「ゴール台帳を書きたい」「ゴールを設定して」「ゴール未設定と出た」「台帳エラーを直して」 「このプロジェクトの目標を決めたい」等や、/work-discovery の「ゴール未設定」「ゴール台帳エラー」案内を 受けて窓口が起動する。候補の提示そのものは /work-discovery の役目で本スキルではない。

suisya-systems/claude-org-ja52026年10月12日 更新

org-attach

無料日本語概要

組織の生きているペイン(secretary / dispatcher / worker)へ tmux で**直接入る** ための **コマンドを出力するだけ** の read-only スキル。`mcp__org-broker__list_panes`(論理ペイン) と `/usr/bin/tmux -L claude-org-broker list-panes -a`(pane_id ↔ session マッピング)を pane_id(%N)で突き合わせ、各ペインに role + name(task_id) ラベル付きの attach コマンドを 生成する(読取専用 `-r` / 書込は `-r` 無し / デタッチは `Ctrl-b d`)。 「ワーカーのペインを見たい」「ワーカーのペインに入りたい」「dispatcher の様子を直接見たい」 「ペインに入りたい」「あのペインを直接覗きたい」「attach コマンド教えて」 「tmux でつなぎたい」「worker の画面に入る」等で発動。 自分で attach はせず・ペインも一切変更しない(コマンド文字列とペイン一覧表を表示するのみ)。 作業委譲(org-delegate)・ダッシュボードで状況一覧(org-dashboard)・watcher 停止(org-attention-stop) には発動しない。

suisya-systems/claude-org-ja52026年10月12日 更新

org-attention-start

無料日本語概要

attention notification watcher(承認待ち / 判断待ち / CI 失敗等を OS 通知 + 音で能動通知)を dispatcher ペインの右側に split で常駐起動する。`.state/attention.json` が未配置なら ja 既定テンプレートを `tools/templates/attention.example.json` から自動コピーする。 起動後のペイン id は `.state/attention_pane.json` に記録し、`/org-attention-stop` から参照する。 「attention 起動」「通知監視を始めて」「watcher を立てて」等で発動。 `/org-start` からの auto-start はしない(明示起動推奨ポリシー)。

suisya-systems/claude-org-ja52026年10月12日 更新

org-attention-stop

無料日本語概要

`/org-attention-start` で起動した attention watcher ペインを停止する。 `.state/attention_pane.json` に記録された pane_id を `list_panes` の name/role で identity 確認し、いまも attention watcher を指している場合だけ `close_pane`(pane 破棄)で 破棄する(pane_id が別ペインへ再割当て済みなら close せず stale sidecar として削除)。 「attention 止めて」「通知監視を停止」「watcher 落として」等で発動。

suisya-systems/claude-org-ja52026年10月12日 更新

suisya-systems のスキルをすべて見る

このスキルの問題を報告する