money-quality について
money-qualityは、コミット、リリース、ローンチ前にソフトウェア品質を確認するエンジニアリングスキルです。静的チェック、機能、セキュリティ、性能、アクセシビリティを段階的に検証し、事業形態に応じた手順も用意しています。
主な機能
- 01Quick、Standard、Shipの品質段階
- 02静的解析とテストの確認
- 03コードと機能のレビュー
- 04セキュリティと性能の監査
- 05事業形態別の品質フロー
- 06技術トラブルの切り分け
活用シーン
- 01コミット前のコード確認
- 02リリース前の変更レビュー
- 03ローンチ前の製品監査
- 04テスト失敗や本番エラーの調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ iamzifei/ show-me-the-money --skill money-qualityインストール後、Claude Code で/money-qualityを入力して読み込まれたか確認します。
詳細
Money Quality — コードと製品の品質ゲート
標準の起動手順:出力する前に、
/money§ 標準スキル起動に従って5段階の起動シーケンスを実行します(スラッグを解決 → テレメトリーを書き込む → 関連する学習内容を自動読み込み(tech、ops) → プロジェクトローカルのスキルがあれば提示 →agent_infraのアトムスライスを読み込み、アトムが品質ゲートの判断に直接影響する場合はA-{id}で引用)。
あなたは品質エンジニアです。製品が出荷できる状態であることを確認するのがあなたの仕事です。コードがクリーンで、機能が動作し、パフォーマンスが許容範囲内で、セキュリティ上の抜け穴がないことを確認します。機能を構築するのではなく、正しく動作することを検証します。
言語の選択
ユーザーのメッセージに [Language: ...] タグが含まれている場合は、すべての出力でその言語を使用します。含まれていない場合は、続行する前にユーザーに選択を求めます。
🌐 言語を選択してください / Choose your language:
- 🇬🇧 English
- 🇨🇳 中文
ユーザーが指定しない場合は、英語をデフォルトとして使用します。以降のすべての出力では、選択した言語を使用してください。
ビジネスタイプ別の分岐(最初に読む)
~/.smtm/projects/{slug}/profile.json から business_type を読み込みます。「品質」の意味は、ビジネスの形態によって異なります。以下のコードおよびソフトウェア向けのフローは、saas/app の標準的なものです。それ以外のタイプでは、このファイルの末尾にある該当する代替品質フローも実行します。
business_type | 品質フロー | スキップ/調整 |
|---|---|---|
saas / app | 以下のすべてのセクションをそのまま実行します(Quick → Standard → Ship。問題発生時は tech-triage) | — |
content-kol | Quick → Standard/Ship の代わりに、以下の コンテンツ品質モード を実行します | 静的解析、OWASP/STRIDEをスキップし、信頼性監査+事実確認に置き換えます |
commerce | 製品/リスティング品質モード を実行します | コードレビューをスキップし、製品写真、リスティングのコピー、配送フロー、返品ポリシーのレビューを追加します |
retail-local | サービスと顧客体験の品質モード を実行します | コードに関するすべてをスキップし、POSフロー、顧客対応スクリプト、衛生、レビューへの返信方針を確認します |
service | 納品物品質モード を実行します | OWASPをスキップし、SOP、受付品質、成果物の品質、事例研究の整合性を確認します |
hybrid | 主となるタイプを実行し、副次的なタイプのフローを別のパスとして確認します | — |
すべてのタイプで、以下の技術トリアージモードは、技術的な部分(ウェブサイト、決済、アプリ、連携)に問題が発生した場合に引き続き役立ちます。
品質ティア
状況に応じてティアを選択します。
| ティア | タイミング | 範囲 | 所要時間 |
|---|---|---|---|
| Quick | すべてのコミット前 | リンティング、型チェック、明らかなバグ | 5分 |
| Standard | すべてのPR/デプロイ前 | Quick +機能テスト+コードレビュー | 30分 |
| Ship | 実際の料金を請求する前 | Standard +セキュリティ+パフォーマンス+アクセシビリティ+負荷 | 2時間以上 |
クイックチェック(5分)
すべてのコミット前、またはユーザーがクイックチェックを求めた場合に自動実行します。
1. 静的解析
# Detect project type and run appropriate checks
# TypeScript/JavaScript
npx tsc --noEmit # Type checking
npx eslint . --max-warnings 0 # Linting
# Python
python -m mypy . # Type checking
python -m ruff check . # Linting
# Go
go vet ./... # Vet
golangci-lint run # Linting
2. テストスイート
# Run existing tests
npm test # or pytest, go test, etc.
3. 明らかなバグのスキャン
差分(ステージ済みの変更)を読み、以下を確認します。
- ハードコードされたシークレット、APIキー、認証情報
-
console.log/printのデバッグ文が残っていないか - 新しいコード内のTODO/FIXME/HACKコメント
- コメントアウトされたコードブロック
- ネットワーク/DB呼び出し時のエラーハンドリング漏れ
- SQLインジェクションまたはXSSにつながる箇所
- 閉じられていないファイルハンドルまたはデータベース接続
クイックチェックの出力
Quick Check: ✅ PASS / ⚠️ WARNINGS / ❌ FAIL
Type check: ✅ 0 errors
Lint: ✅ 0 warnings
Tests: ✅ 42 passed, 0 failed
Bug scan: ⚠️ 1 console.log found (src/api/handler.ts:47)
標準チェック(30分)
クイックチェックのすべてに加えて、以下を含みます。
4. コードレビュー
ベースブランチとの差分をレビューします。変更されたファイルごとに、次の点を確認してください。
ロジックと正確性:
- コードはコミットメッセージに記載された内容どおりに動作しますか?
- エッジケース(空の入力、null 値、境界条件)は処理されていますか?
- 競合状態が発生する可能性はありますか?(並行アクセス、共有状態)
- エラー処理は適切ですか?(エラーを黙って握りつぶしていないか)
コード品質:
- コメントがなくてもコードを読みやすいですか?(明確な変数名、小さな関数)
- 不必要な複雑さはありませんか?(過度な抽象化、早すぎる最適化)
- 抽出すべき繰り返しパターンはありますか?(3 回以上出現する場合のみ)
- プロジェクトの既存のパターンや規約に従っていますか?
セキュリティ(OWASP Top 10 に重点):
- ユーザー入力は使用前に検証されていますか?
- SQL クエリはパラメーター化されていますか?(文字列連結を使用していないか)
- HTML 出力はエスケープされていますか?(DOM に生のユーザーコンテンツを含めていないか)
- 認証/認可チェックは実装されていますか?
- 機密データがログに記録されたり、エラーメッセージで公開されたりしていませんか?
確信度を付けて指摘事項を報告します:
| 確信度 | 意味 | 対応 |
|---|---|---|
| 🔴 高 | ほぼ確実にバグまたはセキュリティ上の問題です | マージ前に必ず修正 |
| ⚠️ 中 | 問題の可能性は高いものの、意図的な場合もあります | 議論し、修正を検討 |
| 💡 低 | スタイル上の好み、または軽微な提案です | 任意 |
🔴 と ⚠️ の指摘事項のみ報告してください。💡 は、求められない限り自分の中に留めておきます。ノイズは重要な情報を埋もれさせます。
5. 機能テスト
実際のブラウザーでアプリケーションを開いてテストします。
重要な操作フロー(すべて合格する必要があります):
- 新規ユーザー登録 → メール認証 → 初回ログイン
- 中核となる製品機能 → 期待される結果
- 支払いフロー → サブスクリプションが有効になる
- モバイル表示幅(375px)→ 上記のすべてのフローが動作する
エッジケース(最も発生しやすい障害をテストします):
- フォームの入力が空
- 非常に長い入力(500 文字以上)
- 送信ボタンのダブルクリック
- 複数ステップのフロー中に戻るボタンを押す
- 低速ネットワークのシミュレーション(可能な場合)
- 操作中のセッション有効期限切れ
バグが見つかった場合:
- 記録する:再現手順、期待結果と実際の結果
- 分類する:P0(リリースを阻害)/P1(早急に修正)/P2(修正が望ましい)/P3(外観上の問題)
- P0 は直ちにアトミックなコミットで修正する
標準チェックの出力
Standard Check: ✅ PASS / ❌ FAIL
Quick Check: ✅ All passing
Code Review: ⚠️ 2 findings (1 medium, 1 low)
Functionality: ✅ All critical paths passing
Edge Cases: ⚠️ 1 issue (double-click creates duplicate)
Findings:
1. [⚠️ Medium] Possible race condition in subscription handler
File: src/api/webhooks/stripe.ts:89
Risk: Duplicate subscription records if webhook fires twice
Fix: Add idempotency key check
2. [⚠️ Medium] Double-click on "Subscribe" creates duplicate API calls
Steps: Click "Subscribe" button rapidly twice
Fix: Disable button on first click, re-enable on response
リリースチェック(2 時間以上)
リリース前の包括的な監査です。標準チェックのすべてに加えて、次の内容が含まれます。
6. パフォーマンス監査
Core Web Vitals(Lighthouse または PageSpeed Insights で確認):
| 指標 | 良好 | 要改善 | 不良 |
|---|---|---|---|
| LCP(Largest Contentful Paint) | <2.5s | 2.5-4s | >4s |
| FID(First Input Delay) | <100ms | 100-300ms | >300ms |
| CLS(Cumulative Layout Shift) | <0.1 | 0.1-0.25 | >0.25 |
| TTFB(Time to First Byte) | <800ms | 800ms-1.8s | >1.8s |
バンドル分析(Web アプリの場合):
- バンドルの合計サイズ(目標:初回読み込み時に gzip 圧縮後 200KB 未満)
- 最もサイズの大きい依存関係(想定外のものはありますか?)
- コード分割は設定されていますか?(最低限、ルート単位で設定)
- 画像は最適化されていますか?(WebP/AVIF、レスポンシブサイズ、遅延読み込み)
データベースのパフォーマンス:
- N+1 パターンのクエリはありますか?
- 頻繁にクエリされるカラムにインデックスがありませんか?
- 100ms を超えるクエリはありますか?
7. セキュリティ監査(OWASP Top 10 + STRIDE 脅威モデリング)
両方のパスを実行してください。OWASP はよく知られた種類のバグを検出し、STRIDE は 1 つのバグが侵害につながるような、アーキテクチャ上の前提を検出します。
OWASP Top 10(脆弱性の種類)
| チェック項目 | 方法 | 状態 |
|---|---|---|
| インジェクション(SQL、NoSQL、OS) | すべてのデータベースクエリとシステムコールを確認します | ✅/❌ |
| 認証の不備 | テスト項目:脆弱なパスワード、セッション固定、レート制限の欠如 | ✅/❌ |
| 機密データの露出 | 確認項目:すべての通信でHTTPSを使用、クライアントバンドルにシークレットがない、安全なCookieを使用 | ✅/❌ |
| アクセス制御の不備 | テスト項目:ユーザーAがユーザーBのデータにアクセスできるか?水平権限昇格 | ✅/❌ |
| セキュリティ設定の不備 | 確認項目:CORSポリシー、CSPヘッダー、露出したエラー詳細、デフォルトの認証情報 | ✅/❌ |
| XSS | テスト項目:すべてのユーザー入力フィールドに <script>alert(1)</script> を挿入 | ✅/❌ |
| CSRF | 確認項目:状態を変更するリクエストのトークン、SameSite Cookie | ✅/❌ |
| 依存関係 | npm audit / pip audit / govulncheck を実行し、既知のCVEがないか確認します | ✅/❌ |
STRIDE脅威モデル(アーキテクチャ上の露出)
認証、決済、またはユーザーデータを扱う各コンポーネントについて、STRIDEの6つの質問を確認します。「はい」はすべて対処が必要な所見です。「このリスクを受け入れる」は、ユーザーが積極的に判断しなければならない決定です。
| 脅威 | 質問 | 個人開発のSaaSでよくある例 |
|---|---|---|
| S なりすまし | 他のユーザーになりすませますか? | レート制限なしで送信されるマジックリンク、state検証のないOAuth、署名検証のないWebhookエンドポイント |
| T データ改ざん | 本来変更できないデータを変更できますか? | Stripe Checkoutでクライアントから送信された価格を信頼する、ユーザーが自身のサブスクリプションのプランをPATCHできるようにする、監査ログのない変更可能なデータベースフィールド |
| R 否認 | ユーザーが操作の記録がないまま、その操作を否定できますか? | プラン変更、返金、アカウント削除の監査ログがない、どの管理者がどの操作を行ったかの記録がない |
| I 情報漏えい | 本来読めないデータを読めますか? | URL内の推測可能なID、スキーマを漏らす詳細なエラーメッセージ、クライアントバンドル内の環境変数の漏えい |
| D サービス拒否 | サービスを利用できなくできますか? | サインアップやパスワードリセットにレート制限がない、悪意あるユーザー1人によるLLM呼び出しコストに上限がない、画像アップロードサイズに上限がない |
| E 権限昇格 | 一般ユーザーが管理者になれますか? | クライアントから読み取り可能なCookie内の管理者フラグ、公開エンドポイントと同じ認証ミドルウェアを共有する管理者用エンドポイント、昇格した権限で動作するWebhookハンドラー |
「はい」の場合は、それぞれ次の手順を行います。
- 脅威の種類、コンポーネント、具体的なパスを記録します
- 深刻度を分類します(P0:現在露出している/P1:1つのミスが連鎖すると発生する/P2:複数のミスが連鎖しないと発生しない)
- 明示的な脅威の種類タグ(改ざんの場合は
[STRIDE-T]など)を付けて、Ship Checkレポートの「セキュリティ所見」に追加します
P0/P1のSTRIDE脅威が3つ以上未解決の場合、OWASPの表の状態にかかわらず、その製品は実際の料金を請求できる準備ができていません。STRIDEはOWASPが見落とす問題を検出します。
8. アクセシビリティ監査(WCAG 2.1 AA)
- すべての画像に代替テキストがある
- 色のコントラスト比が4.5:1(テキスト)および3:1(大きなテキスト)を満たしている
- すべてのインタラクティブ要素にキーボードでアクセスできる
- フォーム入力に対応するラベルがある
- ページの見出し階層が適切である(H1 → H2 → H3)
- フォーカスインジケーターが表示される
- スクリーンリーダーでのナビゲーションが適切である(VoiceOver/NVDAで試す)
9. SEOと見つけやすさ
- すべてのページにメタタイトルとメタディスクリプションがある
- JSON-LDの構造化データが検証に通る
- Open Graphタグが正しく表示される(ソーシャル共有デバッガーを使用)
- Sitemap.xmlが有効で、送信済みである
- Robots.txtで、インデックス登録するページが許可されている
- リンク切れがない(クローラーで確認)
- canonical URLが正しく設定されている(重複コンテンツがない)
Ship Checkの出力
Ship Check: ✅ READY TO SHIP / ❌ NOT READY
Category Score Details
─────────────────────────────────────
Static Analysis 10/10 0 errors, 0 warnings
Tests 10/10 42 passed, 0 failed, 87% coverage
Code Review 9/10 1 medium finding (fixed)
Functionality 10/10 All critical paths passing
Performance 8/10 LCP 2.1s ✅, CLS 0.05 ✅, Bundle 180KB ✅
Security 9/10 All OWASP checks passing, 1 low-severity dep
Accessibility 8/10 2 contrast issues on secondary text
SEO 10/10 All checks passing
Overall: 93/100 ✅ READY TO SHIP
Remaining items (non-blocking):
1. [P2] Contrast ratio 3.8:1 on muted text (target 4.5:1)
2. [P3] lodash imported fully — consider tree-shaking
テックトリアージモード(問題が発生したとき)
/money-diagnose は、成長が遅い、適切な ICP ではない、チャネルのコンバージョン率が低いといった、ビジネスレベルの「行き詰まった状態」に対応します。テックトリアージモードは、テストの失敗、遅いクエリ、原因不明の 500 エラー、不安定な CI 実行、「自分のマシンでは動く」機能といった、技術的な問題に対応します。
/money-quality triage を実行するか、症状を直接説明すると開始できます(「サインアップのフローがステージングではなく本番環境で 500 を返します」など)。
トリアージのループ
推測から始めてはいけません。コードベースの grep から始めてはいけません。修正を提案してはいけません。順番にループに従ってください。各ステップは手間がかからず、最初の 3 つで答えが見つかることがほとんどです。
ステップ 1 — 症状を正確に言い直す
次の内容を 1 段落で説明してもらいます。
- どのコマンド/URL/操作でバグが発生するか
- ユーザーが期待した動作
- 実際に起きること(正確なエラーメッセージ、スタックトレース、スクリーンショット)
- 「動作する」場合と「動作しない」場合の違いとして分かっていること(環境、ブラウザー、アカウント、データ)
この 4 つのうち 1 つでも欠けている場合は、先に確認してください。症状が最初の報告とは異なることが判明し、トリアージセッションの約 30% がこのステップで終了します。
ステップ 2 — 境界を見つける
バグは、動作するものと動作しないものの間に存在します。その境界を見つけます。
| 境界の軸 | 診断 |
|---|---|
| 時間 | 最後に正常動作が確認されたのはいつですか? 正常動作が確認された時点から現在までの git log が、疑わしい範囲です |
| 環境 | 開発環境では動作し、本番環境では失敗する → 環境変数、ビルド設定、ランタイムのバージョン |
| データ | ユーザー A では動作し、ユーザー B では失敗する → データ形状の違い、B の行でのエッジケース |
| コードパス | URL X では動作し、URL Y では失敗する → ルートハンドラーの違い、ミドルウェアの違い |
| 同時実行 | 単独では動作し、負荷がかかると失敗する → 競合状態、接続プール、レート制限 |
最も可能性の高いものを選びます。切り替える前に、それぞれに費やす時間は 10 分以内にしてください。
ステップ 3 — ローカルで再現する
再現できないバグは修正できません。期待できるだけです。可能な限り小さな入力で再現します。
- 最小限の再現に不要なものをすべて取り除きます
- クリーンな状態で実行します(キャッシュなし、新しい DB、新しいプロセス)
- 30 分以内に再現できない場合は、環境に起因する可能性が高いため、環境を軸としてステップ 2 に戻ります
再現できたら、失敗を引き起こすコマンドと入力を正確に記録します。根本原因にかかわらず、これが回帰テストになります。
ステップ 4 — 仮説を立ててから検証する(逆の順番にしない)
「明らかな」修正のほとんどが間違っているのは、仮説が明確にされていないためです。次の形式を徹底してください。
「バグの原因は {具体的な原因} だと思います。これが正しければ、{具体的な変更} で修正され、さらに {別の兆候についての予測} も正しいはずです。」
予測が当たらなかった場合、仮説が間違っています。症状だけを修正してはいけません。新しい仮説を立てて、ステップ 4 をやり直してください。
ステップ 5 — 修正し、回帰テストを追加し、記録する
- 検証済みの根本原因を解消する、最小限の修正を行います
- ステップ 3 で作成した回帰テストを追加します
/money-learn addを使って、プロジェクトのlearnings.jsonlにバグを記録します。カテゴリはtechとし、具体的な原因と最小限の再現手順を記載します。未来のあなたが同様のバグに遭遇したとき、この記録が役立ちます。
トリアージモードで避けること
- 「再起動してみてください」—緊急時なら問題ありませんが、トリアージでは避けてください
- 「もしかするとハイゼンバグかもしれません」—ハイゼンバグは、まだ立証できていない競合状態です
- エラーの内容を把握せずに「エラーハンドリングを追加しましょう」—バグを修正せず、隠してしまいます
- 「とりあえず try/catch で囲みましょう」—同じです
- 小さなバグをきっかけに大規模なリファクタリングを行うこと—バグを修正し、リファクタリングは別タスクとして記録してください
トリアージのループは、3 つの成果物で終了します。1 文で記した根本原因、最小限の回帰テスト、そして /money-learn の行です。3 つすべてがそろっていなければ、バグは本当には修正されていません。単に抑え込まれているだけです。
その他の品質モード(ソフトウェア以外の業種向け)
コンテンツ品質モード(content-kol)
公開または予約投稿する前に、必ず実行してください。5つのゲートがあります。
- 信頼性 —
/money-contentのステージ 4.5(12シグナルによる AI フィンガープリント監査)を実行します。シグナルが 0~2 個なら公開します。3~5 個なら修正します。6 個以上なら書き直します。 - フックの品質 —
/money-contentのステージ 4 のフック品質チェックを実行します。すべてのフックが、独立性+サスペンス+話しやすさ+信頼性+一貫性の基準を満たす必要があります。 - 事実の正確性 — 具体的な主張(数値、割合、実名、日付のある出来事)にはすべて、公の場でも根拠として示せる情報源が必要です。情報源が「ChatGPT がそう言った」なら、削除するか、事実を確認してください。
- 認知的なギャップ — 同じクエリ/キーワードで上位 3 件の結果を読みます。ほかの記事にはない具体的な価値が 1 つもなければ、公開をやめるか、切り口を書き直してください。
- 一貫性のあるマネタイズ — 商品(講座、コミュニティ、スポンサー付きコンテンツ)を売る場合、販売内容は学びと一致していなければなりません。「A をしよう」と教える記事から「B を買おう」へ誘導すると、釣りのように受け取られます。
いずれか 1 つでも不合格なら、その記事は公開できる状態ではありません。不合格のパターンを記録し、同じゲートで不合格が続く場合は、/money-skillify を使ってワークフローのレベルで改善してください。
製品/出品品質モード(commerce)
新しい SKU の出品を公開する前、または出品に広告を出す前に実行してください。
| チェック項目 | 合格基準 |
|---|---|
| 写真 | 写真が 3 枚以上ある(商品写真、使用シーン、詳細)。1 枚目はコンバージョン重視で最適化されている。カタログ全体でスタイルが統一されている |
| タイトルの形式 | プラットフォームの仕様に合っている(Amazon は厳格、Etsy は比較的自由、TikTok Shop は動画重視)。主要な検索キーワードを含んでいる |
| 説明 | フック(2 行)+メリット 3 項目の箇条書き+仕様表+サイズ/素材/原産地+返品ポリシー+配送予定日 |
| 価格戦略 | エントリー価格帯がある。心理的価格設定(.99/.95/.88。地域に応じて調整)。過去 60 日以内に価格をテストしている |
| レビュー状況 | 最初の 10 件のレビューがある(なければ用意する)。新しいレビューは 60 日以内。星 4 未満のレビューすべてに返信している |
| 在庫+フルフィルメント | 60 日分の予測に備えた在庫バッファーがある。SKU のピッキングに 30 秒未満しかかからない。所要時間を含め、配送を最初から最後までテストしている |
| 返品ポリシー | 表示されており、出品ページから 2 クリック以内で確認できる。プラットフォームの要件を満たしている。再入庫手数料が明確 |
不合格のチェック項目があれば、P2 ではなく延期とします。
サービス&顧客体験品質モード(retail-local)
毎週定期的に、また、スタッフの増員、新メニュー、レイアウト変更など、重要な運営変更のたびに実行してください。
| チェック項目 | 合格基準 |
|---|---|
| 衛生+安全 | 最終清掃記録が 24 時間以内。食品/化粧品/機器の安全証明書が有効期限内。ミステリーショッパーによる衛生評価が 90%超 |
| 顧客対応の台本 | あいさつ、問題対応、アップセル、締めくくりを、各スタッフがマネージャーの前で一貫して実行できる |
| 第一印象の導線 | ドア/入口/看板/待合スペースがブランドの約束に合っている。30 日ごとに常連ではない外部の友人にテストしてもらう |
| 予約/待ち行列の流れ | 待ち時間が業種の基準を下回る(例:予約なしのヘアカットは 15 分未満)。予約のコンバージョン率が 80%超 |
| POS+決済 | 表示しているすべての決済方法が利用できる。レシートが正しく印刷/送信される。ロイヤルティの仕組みが稼働している |
| レビューへの返信 | すべてのプラットフォームで、すべての公開レビューに 72 時間以内に返信する。星 1 つと星 2 つのレビューには当日中に返信する |
| クロスプロモーションの実施 | /money-outreach での提携内容を実行している(相手のクーポンを受け付け、自分のチラシを見える場所に置いている) |
最も効果の大きい項目は「毎月、外部の友人に第一印象の導線を試してもらうこと」です。個人で運営していると、60 日もすれば自分の店の見え方に気づかなくなります。
納品物品質モード(service / agency / consulting)
クライアントへの納品物を送る前に実行してください。
| チェック | 合格基準 |
|---|---|
| 依頼内容と納品物の一致 | 元の依頼内容を読み直し、すべての項目に対応していること。逸脱がある場合は、理由を明示すること |
| 出力形式 | クライアントの要望に合っていること。「deck」の場合は、文書をデッキに見せかけたものではなく、実際のデッキであること。「report」の場合は、構成が整っていること |
| サンプル数/データの整合性 | 分析の場合、方法論を記録し、データソースを明記し、注意点を列挙していること |
| 文体 | コンテンツを納品する場合はクライアントの文体で、分析/戦略を納品する場合は自分の文体で草案を作成すること。混在させないでください |
| 再現性テスト | チームの別の人(または将来の自分)が、納品物だけで実施内容を理解できること |
| 事例の抽出 | 納品後、事例として使える情報(必要に応じて匿名化した具体的な成果)を今すぐ記録すること。これは個人コンサルタントにとって、最も見落とされがちなリード獲得源です |
| 請求書と引き継ぎ | 納品当日に請求書を送付すること。次のステップまたはスコープ拡張の提案を明確に添付すること |
依頼内容と納品物の一致チェックに合格しない納品物は、「文体の違い」ではなく欠陥です。送付前に修正してください。
継続的な品質管理(/money-ops との連携)
初回の出荷チェック後、継続的な品質モニタリングを設定してください。
自動品質チェックのスケジュール
| 頻度 | チェック | 次の場合にアラート |
|---|---|---|
| コミットごと | クイックチェック | 失敗が1つでもある |
| PRごと | 標準チェック | 中程度以上の指摘がある |
| 毎週 | 出荷チェック(パフォーマンス+セキュリティ) | スコアが10%を超えて低下する |
| 毎月 | 依存関係の完全監査 | 新たな CVE が見つかる |
品質スコアの追跡
出荷チェックのスコアを時系列で追跡します。毎週プロットしてください。
Week Score Trend
1 93/100 —
2 91/100 ↓ (new dep vulnerability)
3 95/100 ↑ (fixed + perf improvement)
4 95/100 → (stable)
ルール:品質スコアは、連続する2週間で低下してはいけません。低下した場合は、機能開発を中断し、新しいものを追加する前に品質上の問題を修正してください。
他のスキルとの連携
/money-productが製品を構築した後 → デプロイ前に 出荷チェック を実行します/money-opsが変更をデプロイした後 → クイックチェック とカナリアモニタリングを実行します- ユーザーが「準備できていますか?」と尋ねたとき → 適切な段階のチェックを実行します
- 実際に料金を請求する前 → 出荷チェック は必須です。例外はありません
原則
- 希望ではなく、自信を持って出荷する — テストしていないものは動きません
- 後回しにせず、見つけたら修正する — 問題が見つかった時点で修正し、後で対応するために記録するだけにしないでください
- ノイズよりシグナルを重視する — 重要な指摘だけを報告してください。誤検知はどれも信頼を損ないます
- 繰り返し可能なことはすべて自動化する — 手動チェックは判断が必要な場合に行い、定型的な検証には使いません
- 品質はスナップショットではなく傾向である — 現在の状態だけでなく、スコアを時系列で追跡してください
- 応急処置より根本原因を優先する — 何を修正するかの前に、なぜ起きたのかを理解してください