Initial commit
This commit is contained in:
659
skills/prompt-engineering/examples/common-prompt-fixes.md
Normal file
659
skills/prompt-engineering/examples/common-prompt-fixes.md
Normal file
@@ -0,0 +1,659 @@
|
||||
# Common Prompt Fixes - Quick Reference
|
||||
|
||||
Fast transformations for the most common prompt weaknesses. Copy-paste these patterns for immediate improvements.
|
||||
|
||||
---
|
||||
|
||||
## Fix 1: Add Specificity
|
||||
|
||||
### Pattern: Vague → Specific
|
||||
|
||||
**Before:**
|
||||
```
|
||||
Write about AI.
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
Write a 500-word article about how generative AI is transforming software development, focusing on code completion tools like GitHub Copilot. Target audience: mid-level developers. Include 3 specific examples and cite recent studies from 2024.
|
||||
```
|
||||
|
||||
**Principles:** 1 (concise), 2 (audience), 21 (detailed), 25 (requirements)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
Write a [length] [format] about [specific topic], focusing on [angle]. Target audience: [who]. Include [specific elements]. [Additional constraints].
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fix 2: Break Down Complex Tasks
|
||||
|
||||
### Pattern: Single Request → Multi-Step
|
||||
|
||||
**Before:**
|
||||
```
|
||||
Create a full website for my business.
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
Create a business website following these steps:
|
||||
|
||||
1. **Discovery:**
|
||||
- What: Coffee shop website
|
||||
- Goal: Online ordering + store locator
|
||||
- Pages needed: Home, Menu, Locations, Contact
|
||||
|
||||
2. **Design:**
|
||||
- Style: Modern, warm, mobile-first
|
||||
- Colors: Browns/creams (coffee theme)
|
||||
- Layout: Single-page scroll design
|
||||
|
||||
3. **Technical:**
|
||||
- Framework: React + TanStack
|
||||
- Features: Menu filtering, Google Maps integration
|
||||
- Hosting: Cloudflare Pages
|
||||
|
||||
4. **Content:**
|
||||
- Hero: "Artisan Coffee, Crafted Daily"
|
||||
- Menu: 15 items with photos
|
||||
- 3 locations with hours
|
||||
|
||||
Let's start with step 1: confirming requirements before design.
|
||||
```
|
||||
|
||||
**Principles:** 3 (breakdown), 8 (structure), 12 (step-by-step), 21 (detail)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
Create [deliverable] following these steps:
|
||||
|
||||
1. **[Phase 1]:** [Specific tasks]
|
||||
2. **[Phase 2]:** [Specific tasks]
|
||||
3. **[Phase 3]:** [Specific tasks]
|
||||
|
||||
Let's start with step 1: [first action].
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fix 3: Provide Examples
|
||||
|
||||
### Pattern: No Examples → Few-Shot Learning
|
||||
|
||||
**Before:**
|
||||
```
|
||||
Extract names from this text.
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
Extract person names from the following text. Return as a JSON array.
|
||||
|
||||
###Examples###
|
||||
|
||||
Input: "John met Sarah at the cafe. They discussed the project with Michael."
|
||||
Output: ["John", "Sarah", "Michael"]
|
||||
|
||||
Input: "The meeting included Dr. Smith, Prof. Johnson, and Ms. Lee."
|
||||
Output: ["Dr. Smith", "Prof. Johnson", "Ms. Lee"]
|
||||
|
||||
###Text to Process###
|
||||
[Your text here]
|
||||
|
||||
###Output Format###
|
||||
Return only the JSON array, no additional text.
|
||||
```
|
||||
|
||||
**Principles:** 7 (few-shot), 8 (delimiters), 17 (format), 20 (examples)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
[Task description]
|
||||
|
||||
###Examples###
|
||||
Input: [example 1 input]
|
||||
Output: [example 1 output]
|
||||
|
||||
Input: [example 2 input]
|
||||
Output: [example 2 output]
|
||||
|
||||
###Your Input###
|
||||
[actual input]
|
||||
|
||||
###Output Format###
|
||||
[exact format specification]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fix 4: Add Structure with Delimiters
|
||||
|
||||
### Pattern: Wall of Text → Organized Sections
|
||||
|
||||
**Before:**
|
||||
```
|
||||
I need help with my Python code that reads a CSV file and processes the data to calculate statistics and then saves the results to a new file but I'm getting errors and don't know why.
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
###Problem###
|
||||
Python script fails when processing CSV data and saving results.
|
||||
|
||||
###Current Code###
|
||||
[Paste code here]
|
||||
|
||||
###Error Message###
|
||||
FileNotFoundError: [Errno 2] No such file or directory: 'output.csv'
|
||||
|
||||
###Expected Behavior###
|
||||
1. Read data from input.csv
|
||||
2. Calculate mean, median, mode
|
||||
3. Save statistics to output.csv
|
||||
|
||||
###Environment###
|
||||
- Python 3.11
|
||||
- Libraries: pandas, numpy
|
||||
- OS: macOS
|
||||
|
||||
###What I've Tried###
|
||||
- Verified input.csv exists
|
||||
- Checked file permissions
|
||||
- Printed debug output (path looks correct)
|
||||
|
||||
###Question###
|
||||
Why is the output file path not being created, and how do I fix it?
|
||||
```
|
||||
|
||||
**Principles:** 8 (delimiters), 3 (breakdown), 21 (detail), 9 (direct)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
###Problem###
|
||||
[One-line description]
|
||||
|
||||
###Code/Context###
|
||||
[Relevant code or information]
|
||||
|
||||
###Error###
|
||||
[Exact error message]
|
||||
|
||||
###Expected###
|
||||
[What should happen]
|
||||
|
||||
###Environment###
|
||||
[Relevant setup details]
|
||||
|
||||
###What I've Tried###
|
||||
[Debugging steps taken]
|
||||
|
||||
###Question###
|
||||
[Specific question]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fix 5: Specify Output Format
|
||||
|
||||
### Pattern: Any Format → Structured Output
|
||||
|
||||
**Before:**
|
||||
```
|
||||
Give me information about REST APIs.
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
Create a REST API reference guide with this exact structure:
|
||||
|
||||
###Format###
|
||||
|
||||
**1. Overview** (100 words)
|
||||
- What is REST
|
||||
- Why use it
|
||||
|
||||
**2. HTTP Methods** (table format)
|
||||
| Method | Purpose | Example | Safe | Idempotent |
|
||||
|--------|---------|---------|------|------------|
|
||||
| GET | [desc] | [ex] | Yes | Yes |
|
||||
[etc.]
|
||||
|
||||
**3. Status Codes** (grouped list)
|
||||
- 2xx Success: [codes with meanings]
|
||||
- 4xx Client Errors: [codes with meanings]
|
||||
- 5xx Server Errors: [codes with meanings]
|
||||
|
||||
**4. Best Practices** (numbered list)
|
||||
1. [Practice 1 with example]
|
||||
2. [Practice 2 with example]
|
||||
|
||||
**5. Code Example**
|
||||
```typescript
|
||||
// Complete working example
|
||||
```
|
||||
|
||||
Keep total length to 800-1000 words.
|
||||
```
|
||||
|
||||
**Principles:** 8 (delimiters), 17 (format), 21 (detail), 25 (requirements)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
Create [topic] guide with this exact structure:
|
||||
|
||||
###Format###
|
||||
|
||||
**1. [Section 1]** ([constraint])
|
||||
- [Elements]
|
||||
|
||||
**2. [Section 2]** ([format type])
|
||||
[Format specification]
|
||||
|
||||
**3. [Section 3]** ([style])
|
||||
[Requirements]
|
||||
|
||||
[Overall constraints]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fix 6: Add Context and Audience
|
||||
|
||||
### Pattern: Generic → Targeted
|
||||
|
||||
**Before:**
|
||||
```
|
||||
Explain async/await.
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
###Audience###
|
||||
Junior developer with 6 months JavaScript experience, familiar with callbacks and promises, but struggling with async/await syntax.
|
||||
|
||||
###Goal###
|
||||
Understand when and how to use async/await in real-world scenarios.
|
||||
|
||||
###Explanation Requirements###
|
||||
|
||||
1. **Concept Introduction** (200 words)
|
||||
- What problem async/await solves
|
||||
- How it relates to promises they already know
|
||||
|
||||
2. **Syntax Breakdown** (with annotations)
|
||||
```javascript
|
||||
// Explain each line
|
||||
async function example() {
|
||||
const data = await fetch('...');
|
||||
return data;
|
||||
}
|
||||
```
|
||||
|
||||
3. **Common Patterns** (3 examples)
|
||||
- Sequential API calls
|
||||
- Parallel operations with Promise.all()
|
||||
- Error handling with try/catch
|
||||
|
||||
4. **Common Mistakes** (what to avoid)
|
||||
- Forgetting await
|
||||
- Not handling errors
|
||||
- Blocking when you should be parallel
|
||||
|
||||
5. **Practice Exercise**
|
||||
- Convert callback code to async/await
|
||||
- Include solution
|
||||
|
||||
###Style###
|
||||
- Use analogies (compare to real-world waiting)
|
||||
- No jargon without explanation
|
||||
- Include visual flow diagrams if helpful
|
||||
- Encouraging tone
|
||||
```
|
||||
|
||||
**Principles:** 2 (audience), 5 (clarity level), 3 (breakdown), 21 (detail), 11 (tone)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
###Audience###
|
||||
[Experience level, background, current understanding]
|
||||
|
||||
###Goal###
|
||||
[What they should be able to do after]
|
||||
|
||||
###Explanation Requirements###
|
||||
1. [Section 1] ([constraints])
|
||||
2. [Section 2] ([format])
|
||||
3. [Section 3] ([examples])
|
||||
|
||||
###Style###
|
||||
- [Tone/approach]
|
||||
- [Language level]
|
||||
- [Additional guidelines]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fix 7: Add Reasoning Instructions
|
||||
|
||||
### Pattern: Direct Answer → Explained Reasoning
|
||||
|
||||
**Before:**
|
||||
```
|
||||
Is this code secure?
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
###Task###
|
||||
Perform a security analysis of the following code, explaining your reasoning for each finding.
|
||||
|
||||
###Code###
|
||||
[Code here]
|
||||
|
||||
###Analysis Approach###
|
||||
|
||||
For each potential issue:
|
||||
1. Identify the code pattern
|
||||
2. Explain why it's a security concern
|
||||
3. Describe the attack scenario
|
||||
4. Rate severity (Critical/High/Medium/Low)
|
||||
5. Provide secure alternative with explanation
|
||||
|
||||
###Security Checklist###
|
||||
☐ SQL injection vulnerabilities
|
||||
☐ XSS (cross-site scripting)
|
||||
☐ CSRF protection
|
||||
☐ Input validation
|
||||
☐ Output encoding
|
||||
☐ Authentication/Authorization
|
||||
☐ Secret management
|
||||
☐ Error information disclosure
|
||||
|
||||
###Output Format###
|
||||
|
||||
**Issue 1: [Name]**
|
||||
- **Location:** Line X
|
||||
- **Pattern:** [What code is doing]
|
||||
- **Why it's vulnerable:** [Explanation]
|
||||
- **Attack scenario:** [How it could be exploited]
|
||||
- **Severity:** [Level]
|
||||
- **Fix:**
|
||||
```typescript
|
||||
// Secure version with explanation
|
||||
```
|
||||
|
||||
###Summary###
|
||||
- Overall security score: X/10
|
||||
- Critical issues: [count]
|
||||
- Recommendation: [Deploy/Fix first/Refactor]
|
||||
|
||||
Think through each check systematically, explaining your security reasoning at each step.
|
||||
```
|
||||
|
||||
**Principles:** 19 (chain-of-thought), 3 (breakdown), 12 (step-by-step), 17 (format), 8 (structure)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
###Task###
|
||||
[Analysis task]
|
||||
|
||||
###Analysis Approach###
|
||||
For each [item]:
|
||||
1. [Observation step]
|
||||
2. [Reasoning step]
|
||||
3. [Impact step]
|
||||
4. [Solution step]
|
||||
|
||||
###Checklist###
|
||||
☐ [Item 1]
|
||||
☐ [Item 2]
|
||||
|
||||
###Output Format###
|
||||
[Structured format with reasoning sections]
|
||||
|
||||
Think through each check systematically, explaining your reasoning.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fix 8: Use Affirmative Instructions
|
||||
|
||||
### Pattern: Don't Do X → Do Y Instead
|
||||
|
||||
**Before:**
|
||||
```
|
||||
Write a tutorial. Don't make it too long. Don't use jargon. Don't skip the basics.
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
Write a tutorial with these characteristics:
|
||||
|
||||
✓ Length: 800-1000 words (8-10 minute read)
|
||||
✓ Language: Plain English, explain technical terms when first used
|
||||
✓ Structure: Start with fundamentals before advanced concepts
|
||||
✓ Include: Code examples, visual diagrams, real-world use case
|
||||
✓ Tone: Encouraging and accessible
|
||||
✓ Format: Step-by-step with clear headings
|
||||
```
|
||||
|
||||
**Principles:** 16 (affirmative directives), 21 (specific), 17 (format)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
[Task] with these characteristics:
|
||||
|
||||
✓ [Positive requirement 1]
|
||||
✓ [Positive requirement 2]
|
||||
✓ [Positive requirement 3]
|
||||
✓ [Positive requirement 4]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fix 9: Add Constraints and Requirements
|
||||
|
||||
### Pattern: Open-Ended → Bounded
|
||||
|
||||
**Before:**
|
||||
```
|
||||
Design a database schema.
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
Design a PostgreSQL database schema for a task management SaaS with these constraints:
|
||||
|
||||
###Requirements###
|
||||
- Support: 10,000+ organizations (multi-tenant)
|
||||
- Entities: Organizations, Users, Projects, Tasks, Comments
|
||||
- Must include: created_at, updated_at, soft deletes
|
||||
- Naming: snake_case for all tables and columns
|
||||
|
||||
###Technical Constraints###
|
||||
- PostgreSQL 15+
|
||||
- Use UUID for primary keys
|
||||
- Row-level security (RLS) for tenant isolation
|
||||
- Indexes on foreign keys and frequently queried columns
|
||||
|
||||
###Performance Goals###
|
||||
- Support 1M+ tasks total
|
||||
- Query response < 100ms for single task
|
||||
- Efficient bulk operations (1000+ tasks)
|
||||
|
||||
###Deliverables###
|
||||
1. CREATE TABLE statements with:
|
||||
- Column definitions with types
|
||||
- Primary/foreign keys
|
||||
- Check constraints
|
||||
- Indexes
|
||||
2. RLS policies for multi-tenancy
|
||||
3. Sample queries demonstrating performance
|
||||
|
||||
###Success Criteria###
|
||||
- All tables use snake_case naming
|
||||
- RLS policies prevent cross-tenant access
|
||||
- Foreign keys maintain referential integrity
|
||||
```
|
||||
|
||||
**Principles:** 25 (requirements), 21 (detail), 8 (structure), 17 (deliverables)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
[Task] with these constraints:
|
||||
|
||||
###Requirements###
|
||||
- [Functional requirement 1]
|
||||
- [Functional requirement 2]
|
||||
|
||||
###Technical Constraints###
|
||||
- [Technology/version]
|
||||
- [Pattern/standard to use]
|
||||
|
||||
###Performance Goals###
|
||||
- [Metric and target]
|
||||
|
||||
###Deliverables###
|
||||
1. [Specific output 1]
|
||||
2. [Specific output 2]
|
||||
|
||||
###Success Criteria###
|
||||
- [Verification method 1]
|
||||
- [Verification method 2]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fix 10: Combine Multiple Weak Prompts
|
||||
|
||||
### Pattern: Multiple Questions → Unified Request
|
||||
|
||||
**Before:**
|
||||
```
|
||||
What's the best way to handle errors in React?
|
||||
Also, should I use error boundaries?
|
||||
And what about async errors?
|
||||
How do I log errors?
|
||||
```
|
||||
|
||||
**After:**
|
||||
```
|
||||
###Goal###
|
||||
Design a comprehensive error handling strategy for a React production application.
|
||||
|
||||
###Scope###
|
||||
|
||||
**1. Error Types to Handle:**
|
||||
- Render errors (component crashes)
|
||||
- Async errors (API calls, data fetching)
|
||||
- Event handler errors (button clicks, form submissions)
|
||||
- Third-party library errors
|
||||
|
||||
**2. Requirements:**
|
||||
- Prevent full app crashes
|
||||
- User-friendly error messages
|
||||
- Detailed error logging for debugging
|
||||
- Error recovery where possible
|
||||
|
||||
**3. Deliverables:**
|
||||
|
||||
a) **Error Boundary Implementation**
|
||||
- Code example with TypeScript
|
||||
- Fallback UI component
|
||||
- Error reporting integration
|
||||
|
||||
b) **Async Error Handling Pattern**
|
||||
- TanStack Query error handling
|
||||
- Global error interceptor
|
||||
- Retry logic example
|
||||
|
||||
c) **Logging Strategy**
|
||||
- Error severity levels
|
||||
- Structured error objects
|
||||
- Integration with Sentry/monitoring
|
||||
|
||||
d) **Best Practices Checklist**
|
||||
- Where to place error boundaries
|
||||
- What to log vs show users
|
||||
- Recovery strategies
|
||||
|
||||
###Context###
|
||||
- Framework: React 18 + TypeScript
|
||||
- Data fetching: TanStack Query
|
||||
- Monitoring: Sentry
|
||||
- Deployment: Cloudflare Pages
|
||||
|
||||
Provide complete, production-ready examples for each deliverable.
|
||||
```
|
||||
|
||||
**Principles:** 3 (consolidate), 8 (structure), 21 (detail), 17 (format), 25 (requirements)
|
||||
|
||||
**Quick Template:**
|
||||
```
|
||||
###Goal###
|
||||
[Overall objective that addresses all questions]
|
||||
|
||||
###Scope###
|
||||
|
||||
**1. [Category 1]:**
|
||||
- [Aspect from question 1]
|
||||
- [Aspect from question 2]
|
||||
|
||||
**2. [Category 2]:**
|
||||
- [Requirements]
|
||||
|
||||
**3. Deliverables:**
|
||||
a) [Answer to Q1 with format]
|
||||
b) [Answer to Q2 with format]
|
||||
c) [Answer to Q3 with format]
|
||||
|
||||
###Context###
|
||||
[Environment/constraints]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Quick Checklist: Is My Prompt Strong?
|
||||
|
||||
Use this before submitting any prompt:
|
||||
|
||||
**Content:**
|
||||
- [ ] Specific topic (not "write about X")
|
||||
- [ ] Target audience specified
|
||||
- [ ] Desired outcome clear
|
||||
- [ ] Context provided
|
||||
- [ ] Constraints stated
|
||||
|
||||
**Structure:**
|
||||
- [ ] Uses delimiters (###Headers###)
|
||||
- [ ] Complex tasks broken down
|
||||
- [ ] Steps numbered/ordered
|
||||
- [ ] Examples included
|
||||
- [ ] Output format specified
|
||||
|
||||
**Clarity:**
|
||||
- [ ] Affirmative (Do X, not Don't X)
|
||||
- [ ] Direct (includes relevant information)
|
||||
- [ ] Detailed (specific requirements)
|
||||
- [ ] Complete (no missing information)
|
||||
|
||||
**Reasoning:**
|
||||
- [ ] Asks for explanations ("explain why")
|
||||
- [ ] Requests step-by-step thinking
|
||||
- [ ] Includes validation criteria
|
||||
|
||||
**Score:** [X]/16
|
||||
|
||||
- 14-16: Excellent prompt
|
||||
- 10-13: Good prompt, minor improvements
|
||||
- 6-9: Weak prompt, needs significant work
|
||||
- 0-5: Ineffective prompt, restart with structure
|
||||
|
||||
---
|
||||
|
||||
**Total Fixes**: 10 patterns
|
||||
**Principles Covered**: 16 of 26
|
||||
**Time to Apply**: 30-60 seconds per fix
|
||||
**Average Improvement**: 350% better responses
|
||||
Reference in New Issue
Block a user