mcpField
C
cawplan-internal-qa-coding-humaninputs-sample

cawplan-internal-qa-coding-humaninputs-sample

github.com/cawcutテスト・品質166 回インストール2 日前に更新
リポジトリ

cawplan-internal-qa-coding-humaninputs-sample について

CawPlan のスキルで、人間の入力記録を取得し、本番の分類コンテキスト規則に沿った JSON フィクスチャを生成して、ブラウザーエディターで注釈を付けます。評価データの準備に使えます。

主な機能

  1. 01CawPlan CLIで入力記録を取得
  2. 02前ターンの文脈を含むフィクスチャ生成
  3. 03期待するカテゴリとトピックの注釈
  4. 04レビュー要否と任意の理由を設定
  5. 05ブラウザーエディターでJSONを読み込み・出力

活用シーン

  1. 01選択した記録から評価用フィクスチャを作成
  2. 02会話の各ターンのカテゴリとトピックを確認
  3. 03注釈済みJSONを評価用フォルダーに出力

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cawcut/skill-cawplan --skill cawplan-internal-qa-coding-humaninputs-sample

インストール後、Claude Code で/cawplan-internal-qa-coding-humaninputs-sampleを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
label-editor.html
assets/js/
classify_context.mjs
assets/samples/
.gitkeep
latest.json
references/
CATEGORY_TAXONOMY.md
TOPIC_TAXONOMY.md
scripts/
build_sample.mjs
classify_context.mjs

詳細

CawPlan 内部 QA — 人手入力サンプルとラベル付け

ブートストラップ

cawplan skill check

タスク

CawPlan CLI を使って人手入力の行を取得し、本番の分類コンテキストルールに沿ったフィクスチャ JSON を出力します。その後、ローカルのラベルエディターを開き、人間が各ターンの expected_categories、expected_topic、必要に応じて expected_reason と review_required を設定できるようにします。

ワークフロー

1. 対象範囲を決定する(humaninputs-test と同じ曖昧さ解消ルール)

メンバー(任意):cawplan session members → 完全一致する --member の git キーを指定します。候補が複数ある場合は、推測せずにユーザーに選択を依頼します。

製品(任意):cawplan products list --search "<name>" → unique_id を指定します。候補が複数ある場合は、ユーザーに選択を依頼します。

製品内のユーザー(任意):product-human-input-logs --user-id に PRM の user_id が必要です。cawplan users query で解決します。

日付範囲(必須):--from / --to、または単日なら --date を指定します。ユーザーが範囲を指定しない場合、直近 2 日間をデフォルトにします。

件数:--limit N(デフォルトは 20)。

セッションの形状(いずれかを選択):

  • --one-session — 範囲内で行数が最も多いセッションを自動選択します(20 ターンの Slack フィクスチャのような、複数ターンにわたる prev チェーンに最適です)。
  • --session-id <id> — 1 つのセッションを明示的に指定します。
  • どちらも指定しない場合 — 並べ替え後の先頭 N 行を取得します(prev は引き続き session_id ごとに計算されます)。
2. フィクスチャ JSON を作成する

このスキルのディレクトリから実行します:

SKILL_DIR="/media/spx/work/github/flow-cawplan-skill/skills/cawplan-internal-qa-coding-humaninputs-sample"

node "$SKILL_DIR/scripts/build_sample.mjs" \
  --from <YYYY-MM-DD> --to <YYYY-MM-DD> \
  [--member "<exact_member>"] \
  [--product "<product name>" | --product-id <id>] \
  [--user-id <prm_user_id>] \
  [--session-id <session_id> | --one-session] \
  --limit <N> \
  --output "<path>/human-input-sample.json" \
  --copy-for-editor

出力形式(/media/spx/work/2026/0830/ の eval フィクスチャに準拠):

フィールド意味
items[].content生の人手入力
items[].assistant_message対応するアシスタントの返信(API から取得した全文)
items[].prev_assistant_message処理済みの、同じセッション内における前のターンのアシスタント返信の最後の段落(本番の prev スロット)。選択した N 行だけでなく、日付範囲内で取得したすべての行から解決されます。そのため、直近の一部を取得した場合でも、そのセッションの前のターンが出力に含まれていなくても正しい prev を取得できます
items[].expected_categoriesラベル付けするまでは空の []
items[].expected_topicラベル付けするまでは空
items[].expected_reasonレビュアー向けの任意の自由記述の理由(入力されるまでは空)
items[].review_requiredデフォルトは false。カテゴリやトピックのラベルをレビューする必要がある場合は true に設定します
items[].cloud_category / cloud_topicクラウドエンリッチメントによる任意のヒント

前処理は uid.core-product の ClassifyPrevAssistantTail / ClassifyAssistantSnippet を再現します(scripts/classify_context.mjs を参照)。

3. ラベルエディターを開く

--copy-for-editor の後に、静的サーバーを起動してページを開きます:

cd "$SKILL_DIR/assets"
python3 -m http.server 8765

ブラウザー:http://localhost:8765/label-editor.html

  • 最新のサンプルを読み込む — assets/samples/latest.json を読み込みます(--copy-for-editor によって書き込まれます)。
  • JSON を読み込む — 任意のフィクスチャファイルを選択します。
  • ラベル付き JSON をダウンロード — expected_categories / expected_topic が入力された *-labeled.json を出力します。設定されている場合は expected_reason / review_required も含まれます。
  • 下書きはブラウザーの localStorage に自動保存されます。

ユーザーには、出力先のパスとエディターの URL を伝え、完了後にラベル付き JSON をエクスポートするよう案内してください(例:/media/spx/work/2026/0830/ など、ユーザーの eval フォルダーに保存します)。

出力

ユーザーに以下を報告します:

  • 解決したフィルター(メンバー / 製品 / 日付 / 件数 / セッション)。
  • 生成した JSON と assets/samples/latest.json のパス。
  • ラベルエディターの URL(http://localhost:8765/label-editor.html)。
  • 注釈が完了したら、ページからラベル付き JSON をエクスポートするよう案内します。

参考資料

  • scripts/build_sample.mjs — 取得と前処理
  • scripts/classify_context.mjs — 本番に準拠した段落ルール
  • assets/label-editor.html — Web UI
  • references/CATEGORY_TAXONOMY.md — カテゴリラベルの定義
  • references/TOPIC_TAXONOMY.md — トピックラベルの定義

コメント