prompt-review
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseprompt-review スキル
prompt-review Skill
ユーザーの過去のAIエージェント対話履歴を分析し、技術理解度・プロンプティングパターン・AI依存度を推定してレポートを生成する。レポートは日本語で に書き出す。
reports/prompt-review-YYYY-MM-DD.mdAnalyzes the user's past AI Agent conversation histories, estimates technical understanding level, prompting patterns and AI dependency to generate a report. The report will be written in Japanese to .
reports/prompt-review-YYYY-MM-DD.md引数の処理
Argument Processing
$ARGUMENTS- 数値のみ → 日数フィルタ(例: → 過去30日分)
30 - 文字列のみ → プロジェクト名フィルタ(部分一致)
- 文字列 + 数値 → プロジェクト名 + 日数フィルタ(例: )
yonshogen 30 - 引数なし → 全プロジェクト横断、過去7日分(デフォルト)
Parse and process parameters according to the following rules:
$ARGUMENTS- Numeric only → Days filter (example: → data of the past 30 days)
30 - String only → Project name filter (partial match)
- String + number → Project name + Days filter (example: )
yonshogen 30 - No arguments → Cross all projects, data of the past 7 days (default)
ステップ1: データ収集(スクリプト実行)
Step 1: Data Collection (Script Execution)
前処理スクリプト scripts/collect.py を実行してデータを収集する。
このスクリプトは Claude Code, GitHub Copilot Chat, Cline, Roo Code, Windsurf, Antigravity の
ログを自動検出し、フィルタ済みのJSON を標準出力に返す。
Run the preprocessing script scripts/collect.py to collect data.
This script automatically detects logs from Claude Code, GitHub Copilot Chat, Cline, Roo Code, Windsurf, Antigravity, and returns filtered JSON to standard output.
引数からスクリプトオプションを組み立てる
Assemble script options from arguments
$ARGUMENTSbash
python ~/.claude/skills/prompt-review/scripts/collect.py [OPTIONS] > /tmp/prompt-review-data.json- 引数なし → オプションなし(デフォルト: 過去7日分)
- 数値のみ(例: ) →
30--days 30 - または
all→0(全期間)--days 0 - 文字列のみ(例: ) →
yonshogen--project yonshogen - 文字列 + 数値(例: ) →
yonshogen 30--project yonshogen --days 30
重要: スクリプトのパスは、このスキルファイルからの相対パスではなく、スキルが格納されているプロジェクトの の絶対パスを使うこと。現在の作業ディレクトリ()を基準に を指定する。
.claude/skills/prompt-review/scripts/collect.pycwd.claude/skills/prompt-review/scripts/collect.pyParse and run the following command in Bash:
$ARGUMENTSbash
python ~/.claude/skills/prompt-review/scripts/collect.py [OPTIONS] > /tmp/prompt-review-data.json- No arguments → No options (default: past 7 days)
- Numeric only (example: ) →
30--days 30 - or
all→0(all time period)--days 0 - String only (example: ) →
yonshogen--project yonshogen - String + number (example: ) →
yonshogen 30--project yonshogen --days 30
Important: Do not use a relative path from this skill file for the script path. Use the absolute path of the project where the skill is stored, specified relative to the current working directory ().
.claude/skills/prompt-review/scripts/collect.pycwd出力の読み取り
Read Output
スクリプト実行後、 を Read で読み込む。
/tmp/prompt-review-data.json出力JSON構造:
json
{
"summary": {
"total_messages": 2616,
"detected_tools": ["Claude Code", "GitHub Copilot Chat"],
"filter_days": null,
"filter_project": null
},
"sources": [
{
"tool": "Claude Code",
"status": "検出",
"messages": [
{"text": "プロンプト本文", "timestamp": "2025-09-29 03:16", "project": "yonshogen"}
],
"period": "2025-09-29 03:16 〜 2026-03-12 04:58"
}
],
"project_stats": {
"farbrain": {"count": 668, "tools": ["Claude Code"]},
"yonshogen": {"count": 215, "tools": ["Claude Code"]}
},
"secret_warnings": [
{
"tool": "Claude Code",
"project": "some-project",
"timestamp": "2025-10-01 12:00",
"type": "OpenAI API Key",
"masked_value": "sk-abc12***xyz9",
"prompt_excerpt": "APIキーはsk-abc123..."
}
]
}After the script runs, read with the Read tool.
/tmp/prompt-review-data.jsonOutput JSON structure:
json
{
"summary": {
"total_messages": 2616,
"detected_tools": ["Claude Code", "GitHub Copilot Chat"],
"filter_days": null,
"filter_project": null
},
"sources": [
{
"tool": "Claude Code",
"status": "検出",
"messages": [
{"text": "プロンプト本文", "timestamp": "2025-09-29 03:16", "project": "yonshogen"}
],
"period": "2025-09-29 03:16 〜 2026-03-12 04:58"
}
],
"project_stats": {
"farbrain": {"count": 668, "tools": ["Claude Code"]},
"yonshogen": {"count": 215, "tools": ["Claude Code"]}
},
"secret_warnings": [
{
"tool": "Claude Code",
"project": "some-project",
"timestamp": "2025-10-01 12:00",
"type": "OpenAI API Key",
"masked_value": "sk-abc12***xyz9",
"prompt_excerpt": "APIキーはsk-abc123..."
}
]
}ステップ2: 分析
Step 2: Analysis
Read で を読み込んだら、以下の観点で 配列内のユーザープロンプトを分析する。各観点について具体的なエビデンス(実際のプロンプト断片の引用)を必ず含めること。
/tmp/prompt-review-data.jsonmessagesAfter reading with Read, analyze the user prompts in the array from the following perspectives. Be sure to include specific evidence (quotes of actual prompt fragments) for each perspective.
/tmp/prompt-review-data.jsonmessages前処理: プロジェクト別サマリーの作成と短文応答の除外
Preprocessing: Create project-specific summaries and exclude short responses
まず を使ってプロジェクト別のメッセージ数・使用ツールの一覧を把握する。
各プロジェクトのプロンプト内容を読み、そのプロジェクトで行われている作業内容を1行で要約する。
この情報はレポートの「2. プロジェクト別サマリー」セクションに出力する。
project_stats次に、短文の肯定応答を分析対象から除外する。
First, use to get an overview of message counts and used tools per project. Read the prompt content for each project, and summarize the work being done in that project in one line. This information will be output in the "2. Project-specific Summary" section of the report.
Next, exclude short affirmative responses from analysis.
project_stats前処理: 短文の肯定応答を無視する
Preprocessing: Ignore short affirmative responses
Claude Code はユーザーに「〜しますか?」と確認を求めることが多く、それに対するユーザーの短い肯定応答はプロンプティング能力や技術理解度の分析に価値がない。以下のようなメッセージは分析対象から除外すること:
- 単純な肯定: 「y」「yes」「はい」「うん」「ok」「sure」「yep」「yeah」
- 実行指示: 「進めて」「やって」「do it」「doit」「go」「go ahead」「proceed」
- 承認: 「それで」「それでいい」「それでお願いします」「お願いします」「いいよ」「いいです」「大丈夫」
- 感謝のみ: 「ありがとう」「ありがとうございます」「thanks」「thx」
判定基準: メッセージが短文(概ね20文字以下)で、上記のパターンに該当するもの。ただし、短文でも具体的な技術指示を含むもの(例:「30pxがいいです」「asyncで」)は除外しない。
Claude Code often asks users for confirmation like "Shall I do ~?", and short user affirmative responses to these are not valuable for analyzing prompting ability or technical proficiency. Exclude the following types of messages from analysis:
- Simple affirmations: 「y」「yes」「はい」「うん」「ok」「sure」「yep」「yeah」
- Execution instructions: 「進めて」「やって」「do it」「doit」「go」「go ahead」「proceed」
- Approvals: 「それで」「それでいい」「それでお願いします」「お願いします」「いいよ」「いいです」「大丈夫」
- Gratitude only: 「ありがとう」「ありがとうございます」「thanks」「thx」
Judgment criteria: Messages that are short (roughly 20 characters or less) and match the above patterns. However, even short messages that include specific technical instructions (e.g. "30pxがいいです", "asyncで") should not be excluded.
2a. 技術的理解度マップ
2a. Technical Proficiency Map
プロンプトから言及されている技術概念を抽出し、3段階に分類:
- 熟知: 自信を持って指示、正確な用語使用、具体的な実装方針の提示
- 基本理解: 概念は知っているが詳細はAIに委任
- 学習中/曖昧: 質問形式、誤解がある、試行錯誤が多い
分類のシグナル:
- 命令形で具体的な指示 → 熟知
- 「〜してください」+概念名のみ → 基本理解
- 「〜って何?」「〜がうまくいかない」「どうすればいい?」 → 学習中
Extract technical concepts mentioned in prompts, and classify into 3 levels:
- Proficient: Confident instructions, accurate terminology use, presentation of specific implementation policies
- Basic understanding: Knows the concept but delegates details to AI
- Learning/Ambiguous: Question format, misunderstandings present, lots of trial and error
Classification signals:
- Specific instructions in imperative form → Proficient
- "Please do ~" + concept name only → Basic understanding
- "What is
?" "is not working" "How should I do it?" → Learning
2b. プロンプティングパターン分析
2b. Prompting Pattern Analysis
- 効果的なパターン: 具体的な制約指定、段階的な指示、十分なコンテキスト提供、期待する出力形式の明示
- 改善可能なパターン: 曖昧な指示(「いい感じにして」等)、コンテキスト不足、目的と手段の混同
- 特徴的な癖: 短い承認(「y」「doit」等)の頻度、日本語/英語の使い分け
- Effective patterns: Specific constraint specification, step-by-step instructions, sufficient context provision, clear specification of expected output format
- Improvable patterns: Ambiguous instructions (e.g. "Make it nice"), insufficient context, confusion of purpose and means
- Characteristic habits: Frequency of short approvals (「y」「doit」 etc.), use of Japanese/English
2c. AI依存度分析
2c. AI Dependency Analysis
プロジェクト・ツールごとに:
- ユーザーが方針を決定しAIに実装を任せているケース(主体的)
- AIに方針決定から任せているケース(依存的)
- デバッグ/エラー解決でAIに頼るパターン
- 状態確認を頻繁にAIに依頼するパターン(「状況確認して」等)
Per project/tool:
- Cases where user decides policy and delegates implementation to AI (proactive)
- Cases where user delegates even policy decision to AI (dependent)
- Pattern of relying on AI for debugging/error resolution
- Pattern of frequently requesting status checks from AI (e.g. "Check the status")
2d. 成長の軌跡
2d. Growth Trajectory
時系列で:
- プロンプトの質・具体性の変化
- 新しく使い始めた技術概念
- 繰り返し発生する課題パターン
Time series analysis:
- Changes in prompt quality/specificity
- Newly adopted technical concepts
- Recurring issue patterns
2e. プロジェクト横断・ツール横断の傾向
2e. Cross-project and cross-tool trends
- 得意領域と不得意領域
- プロジェクト種類による振る舞いの違い
- AIツールの使い分け方(検出されたツールが複数の場合)
- Strong and weak areas
- Differences in behavior by project type
- How AI tools are used differently (if multiple tools are detected)
2f. シークレット・クレデンシャル警告
2f. Secret/Credential Warning
secret_warningsレポート内ではシークレットの値は絶対に平文で書かない。スクリプトがマスク済みの値()を返すので、それをそのまま使う。
masked_valueIf the array is not empty, output a warning section at the beginning of the report (right after the data source summary). List all secrets such as API Keys, Tokens, Passwords, connection strings detected by the script, and recommend the user to rotate (reissue/invalidate) the keys.
secret_warningsNever write secret values in plain text in the report. Use the masked value () returned by the script as-is.
masked_valueステップ3: レポート生成
Step 3: Report Generation
references/report-template.md のテンプレートに従い、日本語でレポートを生成する。
Generate the report in Japanese according to the template at references/report-template.md.
出力ルール
Output Rules
- ディレクトリが存在しない場合は Bash で
reports/を実行mkdir -p reports - Write ツールを使って に書き出す(YYYYMMDDは実行日)
reports/prompt-review-YYYY-MM-DD.md - レポート生成後、ファイルパスをユーザーに通知する
- If the directory does not exist, run
reports/in Bashmkdir -p reports - Use the Write tool to output to (YYYYMMDD is the execution date)
reports/prompt-review-YYYY-MM-DD.md - After generating the report, notify the user of the file path
記述上の注意
Writing Notes
- レポートは必ず日本語で出力すること
- 推測は「〜と推測されます」「〜の可能性があります」と明示すること
- プロンプトの原文を引用する場合は短く切り取り、プライバシーに配慮すること
- ファイルパスの個人名部分は にマスク
<user> - プロジェクト固有の機密情報は伏せる
- ファイルパスの個人名部分は
- 分析できなかった部分は「データ不足のため分析できませんでした」と正直に記載
- どのツールからの情報かを括弧書きで明記する(例:「(Claude Code)」「(Copilot Chat)」)
- エビデンスのないセクションは省略してよい
- The report must be output in Japanese without exception
- Clearly state speculations as "It is estimated that ~" "There is a possibility of ~"
- When quoting the original prompt, keep excerpts short and pay attention to privacy:
- Mask personal name parts of file paths to
<user> - Redact project-specific confidential information
- Mask personal name parts of file paths to
- For parts that cannot be analyzed, honestly state "Could not analyze due to insufficient data"
- Clearly indicate which tool the information comes from in parentheses (e.g. "(Claude Code)" "(Copilot Chat)")
- Sections without evidence may be omitted
参照リソース
Reference Resources
- scripts/collect.py — データ収集・前処理スクリプト(Python)
- references/data-sources.md — 各AIツールのログ保存場所・形式の詳細
- references/report-template.md — レポートの構造テンプレート
- scripts/collect.py — Data collection and preprocessing script (Python)
- references/data-sources.md — Details of log storage locations and formats for each AI tool
- references/report-template.md — Report structure template