一键导入
core-qa-process
CSW (Rust + Tauri v2) の QA・検証プロセスと継続的改善のルールを定義するスキル。コード変更の完了報告前、PR を出す前、機能や修正を「できた」と言う前に発動し、検証順序とエビデンス必須の原則を強制する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
CSW (Rust + Tauri v2) の QA・検証プロセスと継続的改善のルールを定義するスキル。コード変更の完了報告前、PR を出す前、機能や修正を「できた」と言う前に発動し、検証順序とエビデンス必須の原則を強制する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
CSW のユーザー向け UI・コピーの正典。ユーザー向け語彙(「環境」)、共有モードの3語(共有/分離/コピー)、選択行の見せ方(塗りのみ)、メニューバーを主機構にしない、コピーの一次ソースは LP、Claude 本体の現行用語への追従、並列 UI の分量・文体、禁止記号(em-dash/※/絵文字)を定める。アプリ UI・LP・docs のラベル/モード名/説明文/マイクロコピーを作る/変える前に読む。
用語・概念・UI・コピーを1箇所変えたら、全サーフェス(アプリ UI・トレイ・docs ja/en・README ja/en・LP ja/en・スクリーンショット・OG 画像)へ同時反映し、旧表現を全リポ grep で残存ゼロ確認する。スクショ等の非テキスト派生物は grep に映らないので明示列挙して再生成する。UI・用語・コピーを変えたら発動。
PR をマージする際のレビュー・マージ実行チェックリスト (Rust + Tauri v2 / CSW)。スコープ外変更・安全装置の格下げ・テスト負債・高リスクインフラファイル改変を検出し、CI green を確認したうえで自律的に squash merge する手順を定義する。
CI (GitHub Actions の Test / Build / Security job) が想定時間を大幅に超過した場合のハング検出と cancel / rerun フロー。macos-latest runner の混雑や cargo の依存取得・コンパイル stall 等、transient な GHA 側障害の典型対処。CI が想定より長く `in_progress` のまま動かない時に発動。
日本語の見出し・本文の折り返し / タイポグラフィ品質ゲート。日本語 UI・LP・ドキュメントのコピーやフォントサイズ、改行、行間に触れる前に必ず読む。英語の折り返しルールをそのまま日本語に当てると崩れる(禁則・文節・字面密度が違う)ため、JP 専用の規則・モダン CSS・モジュラースケール・実機検証手順を正典化する。design-taste-frontend を補完する JP 特化スキル。
LP(website/) と人間向けドキュメント(docs/・README) と実装(crates/) が「同じ一つの事実」を語っているかを横断監査する。用語・アーキテクチャ・CLI 表面・機能主張・ja/en 整合・禁止表現を点検し、不整合を file:line と修正案つきで報告する。リリース前やドキュメント/LP/実装を変えた後に実行する read-only 監査。
基于 SOC 职业分类
| name | core_qa_process |
| description | CSW (Rust + Tauri v2) の QA・検証プロセスと継続的改善のルールを定義するスキル。コード変更の完了報告前、PR を出す前、機能や修正を「できた」と言う前に発動し、検証順序とエビデンス必須の原則を強制する。 |
# QA・検証と継続的改善
CSW (Rust + Tauri v2 / macOS) で開発した機能・修正を品質低下なく本番 (DMG リリース) に乗せるための検証プロセスと、AI 自身が同じミスを繰り返さないための継続的改善ルール。
[!CAUTION] AI は「できた」「PASS」と報告する前に、自分でエビデンスを確認する義務がある。 core/CLI 変更ならコマンド実行結果、GUI 変更ならアプリ起動 + WebView の挙動を一次情報として確認する。サブエージェントの「PASS」報告を鵜呑みにしてはならない。エビデンスなき PASS は虚偽報告と同等。
コード変更後は必ずこの順序で検証する。前段が落ちたら次に進まず、その場で直す。
1. cargo fmt --check
2. cargo clippy --workspace --all-targets -- -D warnings
3. cargo build --workspace
4. cargo test --workspace
5. (GUI 変更時) cargo tauri dev でアプリ起動 + WebView devtools 確認
clippy は -D warnings で警告ゼロが合格条件。#[allow(...)] で抑止する場合は理由を // ALLOW: コメントで明記する (modern-rust-workflow 参照)。cargo fmt --all は実際に整形する操作。検証は破壊しない cargo fmt --check で行い、差分があれば整形してから再検証する。[!IMPORTANT] cargo はローカル環境で使えないことがある。その場合 CI が検証パスの本体になる。 PR を push し、CI の Test (
cargo test --workspace --exclude csw-desktop= core+cli) と Build (cargo build --workspace= desktop 含む全クレート) の結果ログを一次エビデンスとして確認する。CI のグリーンを確認せずに「通った」と書かない。
| クレート | 検証手段 | 観点 |
|---|---|---|
crates/core (csw-core) | cargo test --workspace / CI Test | ロジック・プロファイル隔離・Keychain (MockKeychainProvider) のユニット/結合テスト |
crates/cli (csw) | cargo test + 実コマンド実行 | 引数解釈・exit code・標準出力/エラー出力の文言 |
crates/desktop (csw-desktop) | cargo build --workspace (CI Build) + cargo tauri dev | コンパイル可否 (CI Test からは除外) + 実機でのトレイ/設定 UI 挙動 |
csw-desktop は CI の Test ジョブから除外されている。desktop のビルド健全性は Build ワークフロー (全ワークスペースビルド) で、振る舞いは cargo tauri dev の実機確認でしか担保できない。 test が緑でも desktop が壊れていないことの証明にはならない点に注意。GUI (トレイ / 設定ウィンドウ) を変えたら、cargo tauri dev でアプリを起動し、以下を自分で確認する。
Read で開いて確認する)。名称変更・リファクタリング後は Grep でワークスペース全体 (crates/ / docs/ / website/) を横断検索し、旧語彙・旧 API の残存がゼロであることを確認する。コメント・doc・テスト名・エラーメッセージ・LP の文言まで含めて潰す。
発生した問題を単に直すだけでなく、「なぜ起きたか」「どうすれば AI が同じミスを繰り返さないか」を分析し、規約・スキルへ還元する。
.agents/skills/ を更新する (または CLAUDE.md に追記)。直す前に「汎用化できる教訓か」を毎回明示的に判断する。docs/SPECIFICATION.md)、main へのマージ、#[allow(...)] 追加など不可逆/方針が割れる分岐は、推奨を添えて人間の Approve を求める。core_spec_first_development (/spec-first): 仕様合意 → テスト(RED) → 実装(GREEN) → エビデンス付き検証の順序。core_bug_fix_protocol (/bugfix): リグレッションテストファースト、プロファイル隔離・並列安全性の検証観点。core_pr_review_cycle (/code-review): lint/test 全パス後の PR レビューサイクルとマージ基準。modern-rust-workflow: clippy -D warnings・エラーハンドリング・ワークスペース運用の標準。該当スキルを一度読んだだけでは適用したことになりません。出荷前に、そのスキルの出荷前チェックリストを 1 項目ずつ、実測の根拠を添えて通します。眺めただけ・既存の成果物に似せただけは通過にしません。
正しい結論に当然必要な検証・調査は、ユーザーが決める事項ではなく自分が実行する責務です。変更履歴を当てる、実機で挙動を確かめる、仕様の意味を特定するといった作業を、「これを確認しますか」「どの検証で進めますか」とユーザーに選ばせてはいけません。
main へのマージ・#[allow(...)] 追加など) だけに限ります。その確認でも推奨を第一候補に添えます。「今回のリリースで新しく入った」「新設された」といった新規性 (novelty) の主張は、before/after の比較根拠を取ってから書きます。現状でその事実を初めて見つけたことは、それが新規であることを意味しません (単なる把握漏れの可能性があります)。