Prompt Engineering
Flagged@okaris
{"isSafe":false,"isSuspicious":true,"riskLevel":"high","findings":[{"category":"shell_command","severity":"high","description":"Dangerous curl | sh pattern that downloads and executes a script from a remote URL, enabling remote code execution / supply chain risk.","evidence":"curl -fsSL https://cli.inference.sh | sh && infsh login"},{"category":"other","severity":"low","description":"Demonstrates an insecure SQL statement with direct string interpolation, illustrating a potential SQL injection vulnerability in sample code.","evidence":"user_input = request.args.get(\"query\")\nresult = db.execute(f\"SELECT * FROM users WHERE name = {user_input}\")"}],"summary":"The content is broadly a safe prompt engineering guide, but it includes a hazardous installation pattern (curl ... | sh) that downloads and executes a remote script, which is a known security risk. It also contains an insecure code example illustrating SQL injection for demonstration. Recommended mitigations: replace curl ... | sh with a safer installation flow (download and verify scripts locally, inspect before execution, or use a trusted package manager), and fix the sample code to use parameterized queries to prevent SQL injection. No data exfiltration, obfuscated code, or explicit system-harm actions are present."}
npx machina-cli add skill @okaris/prompt-engineering --openclawPrompt Engineering Guide
Master prompt engineering for AI models via inference.sh CLI.

Quick Start
curl -fsSL https://cli.inference.sh | sh && infsh login
# Well-structured LLM prompt
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "You are a senior software engineer. Review this code for security vulnerabilities:\n\n```python\nuser_input = request.args.get(\"query\")\nresult = db.execute(f\"SELECT * FROM users WHERE name = {user_input}\")\n```\n\nProvide specific issues and fixes."
}'
Install note: The install script only detects your OS/architecture, downloads the matching binary from
dist.inference.sh, and verifies its SHA-256 checksum. No elevated permissions or background processes. Manual install & verification available.
LLM Prompting
Basic Structure
[Role/Context] + [Task] + [Constraints] + [Output Format]
Role Prompting
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "You are an expert data scientist with 15 years of experience in machine learning. Explain gradient descent to a beginner, using simple analogies."
}'
Task Clarity
# Bad: vague
"Help me with my code"
# Good: specific
"Debug this Python function that should return the sum of even numbers from a list, but returns 0 for all inputs:
def sum_evens(numbers):
total = 0
for n in numbers:
if n % 2 == 0:
total += n
return total
Identify the bug and provide the corrected code."
Chain-of-Thought
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "Solve this step by step:\n\nA store sells apples for $2 each and oranges for $3 each. If someone buys 5 fruits and spends $12, how many of each fruit did they buy?\n\nThink through this step by step before giving the final answer."
}'
Few-Shot Examples
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "Convert these sentences to formal business English:\n\nExample 1:\nInput: gonna send u the report tmrw\nOutput: I will send you the report tomorrow.\n\nExample 2:\nInput: cant make the meeting, something came up\nOutput: I apologize, but I will be unable to attend the meeting due to an unforeseen circumstance.\n\nNow convert:\nInput: hey can we push the deadline back a bit?"
}'
Output Format Specification
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "Analyze the sentiment of these customer reviews. Return a JSON array with objects containing \"text\", \"sentiment\" (positive/negative/neutral), and \"confidence\" (0-1).\n\nReviews:\n1. \"Great product, fast shipping!\"\n2. \"Meh, its okay I guess\"\n3. \"Worst purchase ever, total waste of money\"\n\nReturn only valid JSON, no explanation."
}'
Constraint Setting
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "Summarize this article in exactly 3 bullet points. Each bullet must be under 20 words. Focus only on actionable insights, not background information.\n\n[article text]"
}'
Image Generation Prompting
Basic Structure
[Subject] + [Style] + [Composition] + [Lighting] + [Technical]
Subject Description
# Bad: vague
"a cat"
# Good: specific
infsh app run falai/flux-dev --input '{
"prompt": "A fluffy orange tabby cat with green eyes, sitting on a vintage leather armchair"
}'
Style Keywords
infsh app run falai/flux-dev --input '{
"prompt": "Portrait photograph of a woman, shot on Kodak Portra 400 film, soft natural lighting, shallow depth of field, nostalgic mood, analog photography aesthetic"
}'
Composition Control
infsh app run falai/flux-dev --input '{
"prompt": "Wide establishing shot of a cyberpunk city skyline at night, rule of thirds composition, neon signs in foreground, towering skyscrapers in background, rain-slicked streets"
}'
Quality Keywords
photorealistic, 8K, ultra detailed, sharp focus, professional,
masterpiece, high quality, best quality, intricate details
Negative Prompts
infsh app run falai/flux-dev --input '{
"prompt": "Professional headshot portrait, clean background",
"negative_prompt": "blurry, distorted, extra limbs, watermark, text, low quality, cartoon, anime"
}'
Video Prompting
Basic Structure
[Shot Type] + [Subject] + [Action] + [Setting] + [Style]
Camera Movement
infsh app run google/veo-3-1-fast --input '{
"prompt": "Slow tracking shot following a woman walking through a sunlit forest, golden hour lighting, shallow depth of field, cinematic, 4K"
}'
Action Description
infsh app run google/veo-3-1-fast --input '{
"prompt": "Close-up of hands kneading bread dough on a wooden surface, flour dust floating in morning light, slow motion, cozy baking aesthetic"
}'
Temporal Keywords
slow motion, timelapse, real-time, smooth motion,
continuous shot, quick cuts, frozen moment
Advanced Techniques
System Prompts
infsh app run openrouter/claude-sonnet-45 --input '{
"system": "You are a helpful coding assistant. Always provide code with comments. If you are unsure about something, say so rather than guessing.",
"prompt": "Write a Python function to validate email addresses using regex."
}'
Structured Output
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "Extract information from this text and return as JSON:\n\n\"John Smith, CEO of TechCorp, announced yesterday that the company raised $50 million in Series B funding. The round was led by Venture Partners.\"\n\nSchema:\n{\n \"person\": string,\n \"title\": string,\n \"company\": string,\n \"event\": string,\n \"amount\": string,\n \"investor\": string\n}"
}'
Iterative Refinement
# Start broad
infsh app run falai/flux-dev --input '{
"prompt": "A castle on a hill"
}'
# Add specifics
infsh app run falai/flux-dev --input '{
"prompt": "A medieval stone castle on a grassy hill"
}'
# Add style
infsh app run falai/flux-dev --input '{
"prompt": "A medieval stone castle on a grassy hill, dramatic sunset sky, fantasy art style, epic composition"
}'
# Add technical
infsh app run falai/flux-dev --input '{
"prompt": "A medieval stone castle on a grassy hill, dramatic sunset sky, fantasy art style by Greg Rutkowski, epic composition, 8K, highly detailed"
}'
Multi-Turn Reasoning
# First: analyze
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "Analyze this business problem: Our e-commerce site has a 70% cart abandonment rate. List potential causes."
}'
# Second: prioritize
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "Given these causes of cart abandonment: [previous output], rank them by likely impact and ease of fixing. Format as a priority matrix."
}'
# Third: action plan
infsh app run openrouter/claude-sonnet-45 --input '{
"prompt": "For the top 3 causes identified, provide specific A/B tests we can run to validate and fix each issue."
}'
Model-Specific Tips
Claude
- Excels at nuanced instructions
- Responds well to role-playing
- Good at following complex constraints
- Prefers explicit output formats
GPT-4
- Strong at code generation
- Works well with examples
- Good structured output
- Responds to "let's think step by step"
FLUX
- Detailed subject descriptions
- Style references work well
- Lighting keywords important
- Negative prompts supported
Veo
- Camera movement keywords
- Cinematic language works well
- Action descriptions important
- Include temporal context
Common Mistakes
| Mistake | Problem | Fix |
|---|---|---|
| Too vague | Unpredictable output | Add specifics |
| Too long | Model loses focus | Prioritize key info |
| Conflicting | Confuses model | Remove contradictions |
| No format | Inconsistent output | Specify format |
| No examples | Unclear expectations | Add few-shot |
Prompt Templates
Code Review
Review this [language] code for:
1. Bugs and logic errors
2. Security vulnerabilities
3. Performance issues
4. Code style/best practices
Code:
[code]
For each issue found, provide:
- Line number
- Issue description
- Severity (high/medium/low)
- Suggested fix
Content Writing
Write a [content type] about [topic].
Audience: [target audience]
Tone: [formal/casual/professional]
Length: [word count]
Key points to cover:
1. [point 1]
2. [point 2]
3. [point 3]
Include: [specific elements]
Avoid: [things to exclude]
Image Generation
[Subject with details], [setting/background], [lighting type],
[art style or photography style], [composition], [quality keywords]
Related Skills
# Video prompting guide
npx skills add inference-sh/skills@video-prompting-guide
# LLM models
npx skills add inference-sh/skills@llm-models
# Image generation
npx skills add inference-sh/skills@ai-image-generation
# Full platform skill
npx skills add inference-sh/skills@inference-sh
Browse all apps: infsh app list
Overview
Prompt engineering is the art of crafting prompts to guide AI models, including LLMs, image, and video systems, toward better, more reliable outputs. It uses techniques like chain-of-thought, few-shot prompting, system prompts, and negative prompts to improve accuracy, consistency, and the ability to tackle complex tasks.
How This Skill Works
Prompts are built as a simple template: Role/Context, Task, Constraints, Output Format. By combining methods such as role prompting, chain-of-thought, and few-shot exemplars, you steer the model and shape the result. Tools like the inference.sh CLI enable deployment and testing across models like Claude, GPT-4, Gemini, FLUX, Veo, and Stable Diffusion prompting.
When to Use It
- When you need precise, reproducible results across runs and models
- When solving tasks that require step-by-step reasoning
- When you want outputs that conform to a strict format or data schema (JSON, bullet lists)
- When you want to improve prompts using examples (few-shot) and guided reasoning (chain-of-thought)
- When optimizing prompts for different models, modalities, or domains
Quick Start
- Step 1: Install and log in to the inference.sh CLI
- Step 2: Run a well-structured LLM prompt via the sample input provided
- Step 3: Iterate prompts by refining role, constraints, and output format to improve results
Best Practices
- Define Role/Context, Task, Constraints, and Output Format in every prompt
- Be specific and avoid vague requests; provide concrete examples when possible
- Leverage chain-of-thought and few-shot prompts where they add value
- Test prompts with edge cases and across multiple inputs or models
- Use negative prompts or guardrails to minimize undesired outputs and bias
Example Use Cases
- Explain gradient descent to a beginner using a role prompt that frames you as an expert data scientist
- Debug a Python function with a bug and request fixes and a corrected snippet
- Solve a math problem step by step with chain-of-thought reasoning
- Convert informal sentences to formal business English using a few-shot prompt
- Analyze sentiment of customer reviews and return a structured JSON with text, sentiment, and confidence