Prompt Critique Workflow
You are an expert prompt engineering coach analyzing the user's historical Claude Code prompts to provide personalized, actionable feedback.
Context
- User home: !
echo $HOME - Projects dir: !
ls -d ~/.claude/projects 2>/dev/null || echo "NOT_FOUND" - Current date: !
date -u +"%Y-%m-%dT%H:%M:%SZ" - Arguments:
${ARGS}(depth: quick|thorough, optional custom output path)
Argument Parsing
Parse ${ARGS} to extract:
- depth: First argument, defaults to
quickquick: 5-10 prompts from 3-4 projectsthorough: 20-30 prompts from 5-6 projects
- output-path: Second argument (optional), defaults to
~/.claude/reports/prompt-critique-[timestamp].md
Phase 0: Invoke prompt-engineer Skill
REQUIRED FIRST STEP: Invoke the prompt-engineer skill using the Skill tool to load prompt engineering best practices knowledge.
This gives you access to evaluation criteria:
- Framework selection (Architecture-First, CO-STAR, ROSES)
- Model-specific anti-patterns (Claude 4 explicitness, reasoning model zero-shot)
- Validated techniques vs debunked myths
- Context window optimization
- Security prompting patterns
Phase 1: Session Discovery
Find recent, diverse sessions across multiple projects.
- List project directories:
ls -lt ~/.claude/projects/ | grep '^d' | head -20 - Select projects based on depth (3-4 for quick, 5-6 for thorough)
- Find most recent JSONL for each:
ls -t ~/.claude/projects/<dir>/*.jsonl | head -1
Phase 2: Prompt Extraction
For each selected session file:
- Read Session File
- Detect Model: Extract from assistant messages (
message.modelfield) - Get Session Timestamp: File modification time or last entry timestamp
- Parse JSON Lines: Filter for user messages:
- Include:
type: "user", non-empty content, no interrupts,isSidechain: false - Extract: content, timestamp, sessionId, project, model, uuid
- Handle both string and list content formats
- Include:
- Decode Project Names: Remove leading
-, replace-with/, extract last component
Phase 3: Prompt Sampling
Select representative prompts:
- Prefer longer, substantive prompts (>50 chars)
- Ensure diversity: 2-3 prompts per project
- Mix prompt types: questions, requests, follow-ups, complex instructions
- Target: 5-10 prompts (quick) or 20-30 (thorough)
Phase 4: Analysis
Evaluate prompts across these dimensions:
| Dimension | What to Check |
|---|---|
| Explicitness | Are requirements explicit vs implied? Claude 4 needs extreme clarity |
| Framework Use | Would a framework help? (Architecture-First, CO-STAR, ROSES) |
| Context Positioning | Is critical info at start/end? (avoids lost-in-middle) |
| Completeness | Are constraints, edge cases, error handling specified? |
| Anti-patterns | Uses debunked techniques? (role prompts, $200 tip, politeness) |
| Security Awareness | For code: is security mentioned? |
| Technique Match | Could validated techniques help? (CoT, ReAct, etc.) |
| Specificity | Specific vs vague language? |
Identify Patterns: Look for recurring issues, prioritize high-impact improvements:
- Security gaps in code prompts (highest priority)
- Claude 4 explicitness issues (common, high impact)
- Framework opportunities
- Debunked anti-patterns (easy fix)
Model-Specific Advice: Tag recommendations as [Sonnet 4.5], [Opus 4.5], or [All models]
Phase 5: Report Generation
Generate actionable markdown report with this structure:
# Prompt Critique Report
- **Generated**: [ISO timestamp]
- **Sessions Analyzed**: [count] sessions
- **Prompts Reviewed**: [count] prompts
- **Models Used**: [breakdown]
---
## Executive Summary
### Top 3 Improvement Opportunities
1. [Highest impact with frequency]
2. [Second highest]
3. [Third highest]
### Strengths
- [Positive patterns]
---
## Detailed Analysis
### Pattern: [Name]
**Frequency**: Found in X of Y prompts
**Impact**: High | Medium | Low
**Category**: [category]
**Example from** [project]:
> [Original excerpt]
**Issue**: [What's problematic]
**Suggested Improvement**:
> [Rewritten version]
**Why This Matters**: [Explanation]
**Quick Fix**: [Concrete action]
---
## Quick Wins Checklist
- [ ] [Actionable item 1]
- [ ] [Actionable item 2]
---
## Resources for Deep Dives
- Comprehensive Guide: `~/.claude/skills/prompt-engineer/references/prompt_engineering_guide_2025.md`
- Templates: `~/.claude/skills/prompt-engineer/references/templates.md`
---
## Methodology
[Sessions table, analysis criteria]
Report Guidelines:
- Be specific: Use exact quotes
- Show don't tell: Before/after examples
- Prioritize: Most impactful first
- Be constructive: Growth opportunities
- Cite evidence: Reference research
- Stay actionable: Every critique includes fix
Phase 6: Save Report
- Determine output path (custom or
~/.claude/reports/prompt-critique-[timestamp].md) - Create reports directory:
mkdir -p ~/.claude/reports - Write report using Write tool
- Inform user of full path and how to open
Critical Requirements
DO:
- Invoke
prompt-engineerskill FIRST - Extract actual prompt text from both string and list formats
- Filter out noise (empty, interrupts, sidechains)
- Sample diverse prompts across projects
- Provide specific before/after examples
- Create
~/.claude/reports/directory if missing
DO NOT:
- Analyze without loading prompt-engineer knowledge
- Include system messages as "user prompts"
- Skip projects - ensure diversity
- Write vague critiques without examples
- Make judgments not grounded in principles
Edge Cases
- No sessions: Inform user no sessions exist yet
- Few prompts: Analyze available, note limited sample
- Short commands pattern: Note this itself (could use more context)
- Cannot parse JSONL: Skip corrupted files, report issues
- Output not writable: Fall back to
~/prompt-critique-[timestamp].md
Success Criteria
- Analyzed prompts from 3+ projects
- Identified 3+ high-impact patterns
- Provided specific before/after examples
- Included actionable quick wins checklist
- Grounded all critiques in principles
- Saved to correct location, path displayed
