This prompt is a planning pre-processor for autonomous and semi-autonomous agent systems. Its job is to extract every implicit and explicit assumption from a goal statement and its surrounding context before any execution step is taken. The output is a structured inventory of assumptions, each with a unique ID, category, and initial confidence estimate. Use this prompt when an agent receives a new objective and you need to surface what the system is taking for granted before it builds a plan. The ideal user is an AI engineer or agent architect building a planning module who needs to prevent confident but wrong execution caused by unstated assumptions.
Prompt
Assumption Inventory Generation Prompt Template

When to Use This Prompt
Defines the exact job-to-be-done for the Assumption Inventory Generation prompt, the ideal user, required context, and clear boundaries for when it should not be used.
This is not a plan generation prompt. It does not sequence tasks, assign tools, or produce execution steps. It belongs immediately after goal ingestion and before any decomposition or tool selection. If your agent pipeline already has a goal clarification step, insert this prompt between clarification and plan generation. Do not use this prompt when the goal is trivial, fully deterministic, or when the cost of assumption failure is negligible. Do not use it as a substitute for a formal risk assessment or compliance review in regulated domains—those require human-in-the-loop workflows and evidence grounding beyond what this prompt provides.
Before wiring this into production, define what constitutes a valid assumption inventory for your domain. A good output should surface assumptions about tool availability, data freshness, user intent, environmental state, and permission boundaries. If the model produces an inventory with fewer than three assumptions for a non-trivial goal, treat that as a likely failure mode indicating the prompt needs more context or stronger instructions. Pair this prompt with the Assumption-to-Evidence Mapping Prompt Template to trace each assumption to supporting evidence, and with the Pre-Flight Assumption Check Prompt Template to validate assumptions before execution begins.
Use Case Fit
Where the Assumption Inventory prompt delivers value and where it introduces risk. Use this to decide whether to embed it in your planning pre-processor or skip it.
Good Fit: Complex Multi-Step Goals
Use when: the goal requires an agent to execute 5+ steps with tool calls, state changes, or external data dependencies. Why: unstated assumptions about tool availability, data freshness, or step ordering are the primary cause of silent failures. The inventory surfaces these before execution begins.
Good Fit: High-Cost or Irreversible Workflows
Use when: a failed plan wastes significant tokens, money, or causes side effects that cannot be rolled back. Guardrail: run the assumption inventory before any plan execution. Flag assumptions with confidence below 0.7 for human review before proceeding.
Bad Fit: Single-Step Lookups
Avoid when: the task is a single retrieval, classification, or generation with no branching or tool calls. Why: the inventory adds latency and token cost without reducing risk. A simple confidence score on the output is sufficient.
Required Input: Structured Goal and Context
What to watch: the prompt needs a clear goal statement and available context (tool list, data schemas, user constraints). Guardrail: if the goal is vague, run a Goal Clarification prompt first. Garbage assumptions come from garbage goals. Validate that at least a goal and one context source are present before invoking.
Operational Risk: Assumption Explosion
What to watch: the model generates 30+ low-value assumptions that dilute the inventory and waste review time. Guardrail: set a hard cap of 15 assumptions in the output schema. Instruct the model to prioritize assumptions that, if wrong, would change the plan. Deduplicate before storage.
Operational Risk: Stale Assumption Drift
What to watch: assumptions validated at plan start become false during long-running execution (e.g., file permissions change, API rate limits hit). Guardrail: pair this prompt with an Assumption Drift Monitoring check at each checkpoint. Do not treat the initial inventory as static truth for plans exceeding 10 minutes of wall-clock time.
Copy-Ready Prompt Template
A single-turn prompt that extracts all implicit and explicit assumptions from a goal statement and context, producing a structured JSON inventory with IDs, categories, and initial confidence estimates.
This prompt is designed as a pre-processing step for agent planning workflows. Before an agent builds an execution plan, it should surface every assumption embedded in the goal and available context. Unstated assumptions are the primary source of confident but wrong execution, so this inventory becomes the foundation for downstream validation, conflict detection, and evidence mapping. The prompt expects a goal statement and optional context, and it returns a structured inventory that other prompts in the Uncertainty Handling and Assumption Tracking group can consume directly.
textYou are an assumption extraction specialist. Your job is to read a goal statement and available context, then produce a complete inventory of every assumption—both explicit and implicit—that would need to hold true for the goal to be achieved successfully. ## INPUT **Goal Statement:** [GOAL_STATEMENT] **Available Context:** [CONTEXT] ## INSTRUCTIONS 1. Extract every assumption required for the goal to succeed. Include assumptions about: - **Factual state:** What is true about the world, system, data, or environment right now. - **Stability:** What will remain true throughout execution. - **Causal relationships:** What actions will produce what outcomes. - **Tool and capability availability:** What tools, APIs, permissions, or access will be available. - **User intent and preferences:** What the user actually wants, prioritizes, or considers acceptable. - **Constraints and boundaries:** What limits, rules, or policies apply. - **Dependencies:** What external systems, people, or processes will behave as expected. - **Missing information:** What is not stated but would change the plan if different. 2. For each assumption, assign: - A unique **assumption_id** using the format `ASM-XXX` where XXX is a zero-padded number starting at 001. - A **category** from the list above. - A **confidence** score between 0.0 and 1.0 reflecting how likely the assumption is to be true based on available evidence (1.0 = explicitly confirmed, 0.5 = plausible but unverified, 0.0 = pure guess). - A **rationale** explaining why this assumption matters and what evidence supports or contradicts it. - A **risk_if_wrong** statement describing what breaks if this assumption is false. 3. Be exhaustive. Prefer over-extraction to under-extraction. Flag assumptions that seem obvious—those are the ones that cause the most damage when wrong. 4. If the context contains contradictions or ambiguous statements, extract competing assumptions and note the conflict. ## OUTPUT SCHEMA Return a single JSON object with this structure: ```json { "goal_summary": "A one-sentence restatement of the goal as understood.", "assumptions": [ { "assumption_id": "ASM-001", "category": "factual_state | stability | causal_relationship | tool_capability | user_intent | constraint | dependency | missing_information", "statement": "The assumption stated as a clear, falsifiable claim.", "confidence": 0.0, "rationale": "Why this assumption matters and what evidence supports or contradicts it.", "risk_if_wrong": "What breaks in the plan if this assumption is false.", "is_explicit": true, "source": "Where in the goal or context this assumption originates, or 'implicit' if unstated." } ], "conflicts": [ { "assumption_ids": ["ASM-XXX", "ASM-YYY"], "description": "Description of the contradiction between these assumptions." } ], "critical_gaps": [ "A question that must be answered before execution can proceed safely." ] }
CONSTRAINTS
- Do not invent facts not present in the goal or context.
- Do not skip assumptions because they seem obvious.
- If confidence is below 0.3, mark the assumption as requiring verification before execution.
- If the goal statement is ambiguous, extract assumptions for each plausible interpretation and note the ambiguity in critical_gaps.
- Return ONLY valid JSON. No markdown fences, no commentary outside the JSON object.
To adapt this prompt for your system, replace [GOAL_STATEMENT] with the user's objective or task description, and [CONTEXT] with any available supporting information such as tool descriptions, environment state, user preferences, or prior conversation history. If no context is available, pass an empty string or a note like 'No additional context provided.' The output schema is designed to be machine-readable by downstream validation prompts such as the Pre-Flight Assumption Check or Assumption-to-Evidence Mapping templates. For high-risk domains where missed assumptions could cause irreversible damage, add a [RISK_LEVEL] parameter that adjusts the confidence threshold for flagging assumptions as requiring verification, and route low-confidence assumptions to a human reviewer before plan execution begins.
Prompt Variables
Required inputs for the Assumption Inventory Generation prompt. Each placeholder must be populated before the prompt is assembled and sent. Validation checks should run in the application layer before model invocation.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[GOAL_STATEMENT] | The user's stated objective or task description to analyze for assumptions | Deploy the new payment service to production by Friday | Required. Must be non-empty string. Reject if only whitespace or under 10 characters. Log warning if over 2000 characters without explicit truncation approval. |
[AVAILABLE_CONTEXT] | All known facts, documents, system states, and prior decisions relevant to the goal | Current deployment pipeline status: staging tests passed. Prod access requires CAB approval. Team on-call rotation: Alice, Bob. | Required. Can be empty string if no context exists, but must be explicitly set to empty rather than omitted. Null is not allowed. Validate that context is not stale by checking timestamp metadata. |
[TOOL_CATALOG] | List of available tools, APIs, and capabilities the agent can use to execute the goal | deploy_service, check_deployment_status, notify_oncall, request_cab_approval, rollback_service | Required. Must be a valid JSON array of tool names with descriptions. Minimum one tool. Validate each tool exists in the registered tool registry. Reject unknown tool names. |
[ASSUMPTION_CATEGORIES] | Taxonomy of assumption types to guide extraction and classification | ["environment", "dependency", "permission", "timing", "data_quality", "human_availability"] | Optional. If provided, must be a valid JSON array of strings. If omitted, the prompt uses a default taxonomy. Validate no duplicate categories. Each category should be a lowercase snake_case identifier. |
[CONFIDENCE_SCALE] | Defines the confidence scoring range and thresholds for initial estimates | {"range": [0.0, 1.0], "thresholds": {"high": 0.8, "medium": 0.5, "low": 0.2}} | Required. Must be a valid JSON object with range array of two floats and thresholds object. Validate that thresholds are within range and high > medium > low. Reject if thresholds overlap or are inverted. |
[OUTPUT_SCHEMA] | Expected structure for the assumption inventory output | {"assumptions": [{"id": "string", "statement": "string", "category": "string", "confidence": "float", "evidence_sources": ["string"], "is_explicit": "boolean"}]} | Required. Must be a valid JSON Schema or example structure. Validate that required fields include id, statement, category, and confidence at minimum. Schema check before prompt assembly. |
[MAX_ASSUMPTIONS] | Upper bound on the number of assumptions to extract to prevent unbounded output | 50 | Optional. If provided, must be a positive integer. Defaults to 30 if omitted. Validate range 5-100. Log warning if the goal complexity suggests more assumptions may exist but were truncated. |
[EVIDENCE_REQUIREMENT_LEVEL] | Specifies whether assumptions require explicit evidence citations or can be stated without sources | require_citation | Required. Must be one of: require_citation, prefer_citation, citation_optional. If require_citation, validate that every output assumption has a non-empty evidence_sources array in post-processing. |
Implementation Harness Notes
How to wire the Assumption Inventory prompt into a planning pre-processor with validation, retries, and logging.
The Assumption Inventory prompt is designed as a pre-processor in an agent planning pipeline. It should execute before any plan generation or task decomposition step. The typical wiring pattern is: receive a user goal and available context → call this prompt to extract assumptions → validate the output against the expected schema → feed the structured assumption inventory into downstream planning prompts. This prompt is stateless and idempotent for the same inputs, so caching the output per (goal_hash, context_hash) is a safe cost optimization when the context hasn't changed.
Schema validation is mandatory before passing the output downstream. The expected output is a JSON object with an assumptions array where each entry must contain assumption_id (string), category (enum: factual, causal, temporal, resource, permission, user_intent, environmental, definitional), statement (string), source (enum: explicit, implicit, inferred), confidence (float 0.0–1.0), and depends_on (array of assumption_id strings). Implement a post-processing validator that rejects malformed outputs, missing required fields, duplicate IDs, self-referential dependencies, and confidence values outside range. On validation failure, retry once with the validation error message appended to the prompt as a correction hint. If the retry also fails, log the failure, surface the partial output with a warning flag, and route to a human review queue rather than silently proceeding with broken assumptions.
Model choice and latency budget matter here. This prompt benefits from models with strong reasoning and structured output discipline. For production, prefer a model that supports strict JSON mode or structured output constraints (e.g., GPT-4o with response_format, Claude 3.5 Sonnet with tool-use-shaped output). Set a timeout of 10–15 seconds for the assumption extraction call. If the goal statement is long or the context is dense, consider chunking the context and running the prompt once per chunk, then merging and deduplicating assumption inventories in a second pass. Log every assumption inventory with the input goal hash, model version, timestamp, and validation status. This audit trail is essential for debugging downstream planning failures—when a plan goes wrong, the first question is always 'what assumptions were we operating under?'
Tool integration and RAG are not required for the core prompt, but a production harness should connect the output to an assumption store or vector database. After validation, write each assumption to a persistent store keyed by session or plan ID. Downstream prompts (Pre-Flight Assumption Check, Assumption Drift Monitoring, Evidence Gap Analysis) query this store. For high-risk domains, add a human-in-the-loop gate: if any assumption has confidence below 0.6 and category is permission or user_intent, pause the pipeline and surface those assumptions for human confirmation before plan generation proceeds. Avoid the temptation to skip this gate—confident but wrong execution almost always traces back to an unverified implicit assumption that the model confidently hallucinated.
Expected Output Contract
Define the exact fields, types, and validation rules for the assumption inventory output. Use this contract to build a parser, validator, or downstream consumer that expects structured assumption records.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
assumption_id | string (slug) | Matches pattern ^ASM-[0-9]{4}$. Must be unique within the inventory. | |
statement | string | Non-empty, declarative sentence. Must contain a claim that can be true or false. Max 500 characters. | |
category | enum string | One of: resource_availability, tool_capability, input_validity, environment_stability, user_intent, dependency_completeness, temporal_constraint, policy_compliance, data_quality, external_system_state. | |
source | string | One of: explicit_user_input, implicit_from_context, inferred_from_plan, system_default, external_document. If external_document, [SOURCE_REF] must be populated. | |
confidence | number (0.0-1.0) | Float between 0.0 and 1.0 inclusive. 0.0 = pure guess, 1.0 = verified fact. Must be accompanied by [CONFIDENCE_RATIONALE] if below 0.8. | |
confidence_rationale | string or null | Required when confidence < 0.8. Explains why confidence is not high. Max 300 characters. Null allowed when confidence >= 0.8. | |
impact_if_wrong | enum string | One of: blocking, plan_invalid, partial_rewrite, minor_adjustment, cosmetic_only. Blocking means execution cannot proceed. | |
depends_on | array of assumption_id or null | List of assumption_ids this assumption logically depends on. Empty array or null if independent. Must not contain self-reference or circular chains. |
Common Failure Modes
What breaks first when generating assumption inventories and how to guard against it. These failures cause agents to execute confidently on incomplete or contradictory premises.
Hidden Domain Assumptions
What to watch: The model imports unstated domain conventions (e.g., 'timezone is UTC', 'currency is USD', 'auth is OAuth2') that are absent from the goal statement and context. These become invisible premises that silently corrupt downstream planning. Guardrail: Include a domain-context preamble in [CONTEXT] that explicitly declares operational defaults. Add an eval check that flags any assumption not traceable to the provided inputs.
Confidence Inflation on Vague Inputs
What to watch: When the goal statement is ambiguous, the model assigns medium-to-high confidence to assumptions that fill the gaps, producing a false sense of certainty. This leads to plans that look complete but rest on guesswork. Guardrail: Require the prompt to output a confidence field per assumption with a strict rubric. Add a post-processing rule that flags any assumption with confidence ≥ 0.7 that lacks direct evidence in [CONTEXT].
Assumption Explosion in Open-Ended Goals
What to watch: Broad goals like 'improve system reliability' trigger an unbounded set of plausible assumptions across unrelated domains, overwhelming the planner with low-value inventory entries. Guardrail: Constrain the output with a max_assumptions parameter and a category allowlist in [CONSTRAINTS]. Use a relevance filter that discards assumptions with no direct dependency path to the stated goal.
Circular Dependency Between Assumptions
What to watch: The model generates assumptions that depend on each other (e.g., 'the API is available' and 'the API auth token is valid'), masking that neither is independently grounded. Downstream dependency mapping breaks. Guardrail: Add an eval step that builds a dependency graph from the output and flags any strongly connected components. Require each assumption to cite at least one piece of external evidence from [CONTEXT].
Stale Context Producing Invalidated Assumptions
What to watch: The [CONTEXT] window contains outdated information (e.g., last week's system status, a deprecated API version). The model treats it as current and generates assumptions that are already false at execution time. Guardrail: Include a context_timestamp field in [INPUT] and an eval check that compares it against a freshness threshold. Flag any assumption sourced from context older than the threshold as STALE.
Silent Omission of Negative Assumptions
What to watch: The model only lists what it assumes to be true, omitting critical assumptions about what is not true (e.g., 'no rate limits apply', 'no conflicting concurrent operations'). These missing negatives cause plans that fail on unanticipated constraints. Guardrail: Add an explicit instruction to generate a negative_assumptions section. Include an eval check that verifies at least one negative assumption exists for each tool or resource mentioned in the goal.
Evaluation Rubric
Criteria for evaluating the quality and completeness of an assumption inventory before integrating it into a production agent planning pipeline.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Completeness of Explicit Assumptions | All stated conditions, constraints, and dependencies from [GOAL_STATEMENT] and [CONTEXT] are extracted as discrete assumptions. | A stated constraint like 'budget is fixed' is missing from the inventory. | Diff the set of extracted assumptions against a human-annotated gold set for the same input. |
Implicit Assumption Discovery | At least one non-obvious, unstated assumption is identified per major domain category (e.g., environment, permissions, data freshness). | The inventory only contains verbatim restatements from the input text with no inferred preconditions. | LLM-as-Judge review: check if the inventory includes assumptions not directly quoted from the source. |
Assumption Categorization Accuracy | Each assumption is assigned to the correct category from [CATEGORY_TAXONOMY] (e.g., 'Tool Availability', 'Data Schema'). | An assumption about API uptime is categorized as 'User Preference'. | Parse the output and validate each |
Confidence Score Calibration | Initial confidence scores are assigned on a 0.0-1.0 scale, with high confidence (>0.8) only for assumptions directly supported by [CONTEXT]. | An assumption about a third-party service's internal state is assigned a confidence of 0.95 without evidence. | Sample 20 assumptions and check if confidence >0.8 correlates with explicit evidence in the source context. |
Assumption ID Uniqueness and Format | Every assumption has a unique, stable ID matching the pattern | Duplicate IDs are found, or IDs use a different format than specified in [OUTPUT_SCHEMA]. | Parse the JSON output and assert that all |
Hidden Dependency Coverage | Assumptions that are prerequisites for other assumptions are flagged with a | A critical chain like 'tool is available' -> 'tool returns valid JSON' is present but has no | Traverse the |
Output Schema Compliance | The output is valid JSON that strictly conforms to the [OUTPUT_SCHEMA] with all required fields present. | The | Run a JSON Schema validator against the model output. Reject on any schema violation. |
Source Grounding | Every assumption includes a non-empty | Multiple assumptions have | Parse the output and assert that |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Use the base prompt with a frontier model (GPT-4o, Claude 3.5 Sonnet). Focus on getting the assumption inventory structure right before adding validation. Run the prompt against 5-10 diverse goal statements and manually review whether the model catches implicit assumptions.
Prompt modifications
- Remove the
[EVIDENCE_SOURCES]placeholder and let the model note "no evidence provided" for each assumption. - Simplify the output schema to
assumption_id,statement,category,confidenceonly. - Add:
If you are unsure whether something is an assumption, include it and mark confidence as LOW.
Watch for
- Missing implicit assumptions (the model only extracts what's explicitly stated).
- Overly broad categories that collapse distinct assumptions into one.
- Confidence scores that are uniformly high without justification.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us