AI Tools & Resources

RICECAR AI Prompt Builder

Create powerful AI prompts using the RICECAR framework—Role, Instruction, Context, Examples, Constraints, Ask Me, Reflection.

What is RICECAR?

RICECAR is a comprehensive, structured prompt engineering framework designed to maximize the accuracy and relevance of AI-generated responses. By breaking down a prompt into seven distinct, strategic components — Role, Instruction, Context, Examples, Constraints, Ask me, and Reflection — it provides the AI with a complete mental model of your goal [Claremont Communications AI Guide, Kevin Clements' LinkedIn Post on RICECAR]. Instead of forcing the model to guess your intent, RICECAR explicitly defines who the AI should be, what it must achieve, the boundaries it must respect, and how it should evaluate its own work before responding [Claremont Communications AI Guide, Kevin Clements' LinkedIn Post on RICECAR].

Why It Works

Large language models (LLMs) operate on probabilities and context; they perform best when given clear boundaries and specific guardrails. RICECAR works because it drastically eliminates "prompt ambiguity"—the primary cause of generic, off-topic, or unhelpful AI outputs. By providing concrete examples and constraints, you prevent the AI from hallucinating or defaulting to superficial answers. Furthermore, the built-in "Ask Me" and "Reflection" steps introduce a dynamic, two-way feedback loop and self-correction layer [Claremont Communications AI Guide]. This ensures the AI deeply understands your requirements and refines its own thinking before delivering the final result [Claremont Communications AI Guide].

How to Use This Tool

Fill in Fields

Complete as many fields as relevant to your task. You don't need to fill them all—provide what's necessary for your specific prompt.

Generate Prompt

Click "Generate Prompt" to create a structured prompt combining all the information you've entered in RICECAR format.

Copy & Use

Copy the generated prompt to your clipboard or open it directly in ChatGPT. Paste into your preferred AI tool and refine as needed.

Build Your Prompt

Your Generated Prompt

Your prompt will appear here...

A RICECAR Prompt Example: - For a marketing strategist

Role: You are a senior marketing strategist with 10 years of experience helping local brick-and-mortar stores transition to digital sales.
Instruction: Write a short, persuasive promotional email pitching a new AI-powered local marketing workshop.
Context: The target audience consists of independent cafe and bookstore owners in suburban areas who are very busy, skeptical of tech trends, and have little to no prior experience using artificial intelligence.
Examples: Use a friendly, conversational, and encouraging tone—similar to a supportive community newsletter rather than a aggressive corporate sales pitch.
Constraints: Keep the email under 200 words. Do not use buzzwords like "synergy," "disrupt," or "game-changer." You must include a clear, low-friction call to action at the end.
Ask Me: Before you write the final draft, ask me up to two clarifying questions if you need more details about the workshop pricing or specific pain points of the cafe owners.
Reflection: After drafting your response, briefly review your own text to ensure it sounds empathetic rather than robotic, and refine it to maximize persuasiveness before outputting.

A RICECAR Prompt Example: - For Python Flask Development

Role: You are an expert Python Backend Engineer and Web Architect specializing in production-ready Flask applications and RESTful API design.
Instruction: Write a clean, modular Flask route and a corresponding helper function to handle user profile image uploads, save them securely to disk, and return a JSON response.
Context: This is for a medium-sized Flask app using blueprint routing (@user_bp.route). The app uses a standard structured layout (app/routes/user.py). The frontend will send the image via a multipart/form-data POST request.
Examples: Provide the code in Python 3.10+ standard syntax. Follow clean architecture principles (e.g., separate your route logic from file validation helpers) and use standard Flask paradigms like current_app.config.
Constraints: You must use werkzeug.utils.secure_filename to prevent directory traversal vulnerabilities. Restrict allowed file extensions to only .jpg, .jpeg, and .png. Return appropriate HTTP status codes (e.g., 400 Bad Request for invalid files, 201 Created for success). Do not write a database implementation; use a comment placeholder where the file path would be saved to a database.
Ask Me: If you need to know how the app configuration (UPLOAD_FOLDER, MAX_CONTENT_LENGTH) is initialized or how errors are globally handled, ask me before writing the code.
Reflection: Before outputting, review the code for common Flask pitfalls: check if you safely verified request.files, ensure the file stream pointer is properly handled, and confirm no unhandled exceptions will crash the thread.