From itsmostafa-llm-engineering-skills
Crafting effective prompts for LLMs. Use when designing prompts, improving output quality, structuring complex instructions, or debugging poor model responses.
npx claudepluginhub joshuarweaver/cascade-ai-ml-engineering --plugin itsmostafa-llm-engineering-skillsThis skill uses the workspace's default tool permissions.
Prompt engineering is the practice of designing inputs that guide LLMs to produce desired outputs. Effective prompts reduce errors, improve consistency, and unlock model capabilities.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Prompt engineering is the practice of designing inputs that guide LLMs to produce desired outputs. Effective prompts reduce errors, improve consistency, and unlock model capabilities.
Golden rule: Show your prompt to a colleague with minimal context. If they're confused, the model will be too.
Treat the model as a capable but context-free collaborator. Specify:
# Vague
Analyze this data and give insights.
# Specific
Analyze this Q2 sales data for our board presentation.
1. Identify the top 3 revenue trends
2. Flag any anomalies exceeding 15% variance
3. Recommend 2-3 actionable next steps
Format as bullet points, max 200 words.
Use numbered lists for multi-step tasks:
Your task is to anonymize customer feedback.
Instructions:
1. Replace customer names with "CUSTOMER_[ID]"
2. Replace emails with "EMAIL_[ID]@example.com"
3. Redact phone numbers as "PHONE_[ID]"
4. Leave product names intact
5. Output only processed messages, separated by "---"
Provide 3-5 diverse examples to demonstrate expected behavior. Examples reduce misinterpretation and enforce consistent formatting.
Categorize customer feedback by issue type and sentiment.
<examples>
<example>
Input: The dashboard loads slowly and the export button is hidden.
Category: UI/UX, Performance
Sentiment: Negative
Priority: High
</example>
<example>
Input: Love the Salesforce integration! Would be great to add Hubspot.
Category: Integration, Feature Request
Sentiment: Positive
Priority: Medium
</example>
</examples>
Now categorize: {{FEEDBACK}}
<example> tags for clarityEncourage step-by-step reasoning for complex tasks. This improves accuracy in math, logic, analysis, and multi-factor decisions.
Determine the best investment option for this client. Think step-by-step.
Specify what steps to consider:
Think before answering:
1. Consider the client's risk tolerance given their 5-year timeline
2. Calculate potential returns for each option
3. Factor in market volatility history
4. Then provide your recommendation
Separate reasoning from output with tags:
Analyze this contract for legal risks.
In <thinking> tags, work through:
- Indemnification implications
- Liability exposure
- IP ownership concerns
Then provide your recommendation in <answer> tags.
This makes reasoning visible for debugging and the answer extractable for post-processing.
Use XML tags to separate prompt components. This prevents instruction/content confusion and improves parseability.
<instructions>Task steps and requirements</instructions>
<context>Background information</context>
<document>Source material to process</document>
<example>Demonstration of expected behavior</example>
<constraints>Boundaries and limitations</constraints>
<output_format>Expected response structure</output_format>
<documents>
<document index="1">
<source>annual_report_2023.pdf</source>
<content>{{REPORT_CONTENT}}</content>
</document>
<document index="2">
<source>competitor_analysis.xlsx</source>
<content>{{ANALYSIS_CONTENT}}</content>
</document>
</documents>
<instructions>
Compare revenue trends across both documents.
Identify strategic advantages mentioned in the annual report.
</instructions>
Be explicit when referring to tagged content:
Using the contract in <contract> tags, identify all clauses
related to termination.
Set expertise context via system prompts to improve domain-specific performance.
system = "You are a senior securities lawyer at a Fortune 500 company."
user = "Review this acquisition agreement for regulatory risks."
# General
You are a [role] at [organization type].
# Specific (better)
You are the General Counsel of a Fortune 500 tech company
specializing in M&A transactions.
# With behavioral guidance (best)
You are a senior data scientist. You prioritize statistical
rigor over speed. When uncertain, you state assumptions
explicitly and suggest validation approaches.
For prompts with large documents (20K+ tokens):
Place long documents at the top, before instructions:
<documents>
{{LARGE_DOCUMENT_CONTENT}}
</documents>
<instructions>
Summarize the key findings from the document above.
Focus on financial implications.
</instructions>
Ask the model to cite sources before analyzing:
<documents>
{{PATIENT_RECORDS}}
</documents>
First, find and quote the relevant sections in <quotes> tags.
Then provide your diagnosis in <analysis> tags, referencing
the quoted evidence.
Include source information for attribution:
<documents>
<document index="1">
<source>quarterly_report_q2.pdf</source>
<date>2024-07-15</date>
<content>{{CONTENT}}</content>
</document>
</documents>
<output_format>
- Default responses: 3-6 sentences or ≤5 bullets
- Simple factual questions: ≤2 sentences
- Complex analysis: 1 overview paragraph + ≤5 tagged bullets
</output_format>
Output requirements:
- Use markdown tables for comparisons
- Code blocks for any technical content
- No introductory phrases ("Here's...", "Sure...")
- End with exactly 3 action items
Prevent drift from original intent:
Implement EXACTLY and ONLY what is requested.
- Do not add features beyond the specification
- Do not refactor surrounding code
- Choose the simplest valid interpretation
- Ask for clarification rather than assuming
For high-stakes outputs, include verification steps:
<verification>
Before finalizing your response:
1. Re-read the original request
2. Check that all requirements are addressed
3. Verify any specific claims against provided documents
4. Soften language where certainty is low
5. Flag any assumptions you made
</verification>
When uncertain:
- Explicitly state "Based on the provided context..."
- Offer 2-3 plausible interpretations if ambiguous
- Never fabricate specific details (dates, numbers, quotes)
- Say "I don't have enough information to..." when applicable
<thinking> tags to debug why the model produces certain outputs