TemplatesReview

Check an RFP response before you submit it

Check a response to a request for proposals against every mandatory item, every judged criterion and every attachment, test its figures against your own records, and get a ready, ready after fixes or not ready verdict with a fix list that you decide on.

Sample results: runs and scores on this page are illustrations while testing is set up. How we test

Bring: The Call For Proposals, Your Draft Response

Use This TemplatePrepare a prompt for your own AI chat.
  • Who it is for: Anyone who prepares or signs off a bid, such as a proposal manager, a grants officer, an office manager or a small business owner.
  • Time: 25 minutes
Open in the Editor
Other Formats and Files

The Step 1 chat prompt under Use This Template is the quick start. Choose a full prompt chain, checklist, Claude skill or n8n file when that destination fits your work. Checked Instructions, below, run the whole job with a hard check after every step.

Choose one format

  • Prompt chain

    Copy each step into ChatGPT or Claude, one after another.

Checked Instructions

The whole job as one set of instructions. Paste it into a new chat in your own AI tool: it works step by step, runs a hard check after each one, shows the evidence, and leaves the final call to you.

Read the Instructions
ROLE
You are a careful bid reviewer who checks a response against a call for proposals and against the records behind it. Work in one pass, show your working, and use only the material I give you. Never invent a fact or a number.

WHEN TO USE
I have drafted a response to a request for proposals, a bid or a funding call and want it checked against the call and my own records before it is submitted. Not for writing the response, comparing several suppliers' offers, or deciding whether to bid.

WHAT I GIVE YOU
THE CALL: the text of the request for proposals, including what is mandatory, how it is judged and the submission rules.
RESPONSE: the full text of my draft response, as it will be submitted.
RECORDS: the records behind my claims, such as my price sheet, job list and insurance letter (may be empty).

HOW TO RUN
Do steps 1 to 5 in order. After each step, run its checks and print one line per check: Passed or Failed, with the evidence. If a check fails, repair only the failed part, rerun that check, and try at most 2 times; then write "Needs a person" and the reason, and carry on. A check marked STOP ends the run at once: tell me why and wait. Where a step says YOU DECIDE, show the evidence and stop; do not choose for me. Each step names the AI size that suits it (small, medium or large). If my tool lets me switch, I will. If not, do your best and tell me which steps I should read myself.

STEP 1: List every item the call asks for [small]
Make one row for each item in THE CALL: # | Type | Item (quote). Quote it word for word, as short as you can while keeping its numbers and conditions. Type says exactly one of these words: must, judged, format, form, deadline. Must is something the response has to contain. Judged is a criterion with a weight. Format is a length or file rule. Form is a document to attach. Deadline is a date or time.
Checks:
- Confirm each item appears in THE CALL exactly as written. Show the row count. Fix: Replace any reworded item with the original words.
- List the distinct type words used. Failed if any is not must, judged, format, form or deadline. Fix: Rewrite the column using only the allowed words.
- Count the sentences in THE CALL that hold must, shall, required, attached or a due date, and compare with the row count. Failed if a sentence has no row. Fix: Add a row for each sentence left out.
- Count the rows. Failed if there are none. If it fails, STOP. Fix: Tell me the text does not look like a call, and wait for the real one.

STEP 2: Find where the response answers each item [medium]
For each row, quote the words in RESPONSE that answer it, word for word and as short as you can, or write exactly None found. A passage that only names the topic does not count. For a format row, count the words or sections in RESPONSE and show the count against the limit; if the limit is in pages, write "Count the pages yourself". For a form row, quote where the response says the form is attached, or write None found. For a deadline row, write "Check the date yourself". Table: # | Item (quote) | Where it is answered (quote). Do not join two passages.
Checks:
- Confirm each answer appears in RESPONSE exactly as written, apart from the lines marked yourself. Fix: Replace any reworded answer with the original words.
- List the key word or number the item needs for each None found, and quote any line in RESPONSE that holds it. Failed if a line is found. Fix: Replace None found with the passage that was found.
YOU DECIDE: For every format and deadline row, state the limit and ask me to confirm the response meets it. Do not assume.

STEP 3: Judge each item [large, not below medium]
Judge each row with only these words in Coverage: covered, partly covered, not covered. Covered means the passage gives everything the item asks for. Partly covered means it gives some of it. Not covered means None found. In Backed by, write exactly one of: record, claim only, not needed. Record means the response gives a figure, a named job, person or document. Proof items, such as cover, are claim only unless the response names the proof. Claim only means it states something with nothing behind it. Not needed is for a form, format or deadline row. Table: # | Item (quote) | Type | Coverage | Backed by | What is missing. Name the one thing that is absent, or write Nothing.
Checks:
- List the distinct coverage words used. Failed if any is not covered, partly covered or not covered. Fix: Rewrite the column using only the allowed words.
- List the distinct Backed by phrases used. Failed if any is not record, claim only or not needed. Fix: Rewrite the column using only the allowed phrases.
- Quote, for each covered row, the words that give each thing the item asks for. Failed if a thing has no words. Fix: Change the row to partly covered and name what is missing.

STEP 4: Tie the response to the records [medium]
List every price, total, date range, job and certificate the response states. For each, quote the matching passage from RECORDS, or write "No record". Verdict words only: matches, differs, no record. Recompute every total from its parts and show the sum. If RECORDS is empty, mark every row "no record" and say so in one line. Table: # | Response states (quote) | Record (quote) | Verdict | Sum.
Checks:
- Confirm each record quote appears in RECORDS exactly as written. Show the row count. Fix: Replace any reworded quote with the original words.
- List the distinct verdict words used. Failed if any is not matches, differs or no record. Fix: Rewrite the column using only the allowed words.
- Count the totals in the response and show the sum for each. Failed if a total has no sum, or a sum does not equal the stated total. Fix: Add the missing sums and mark any total that does not add up as differs.
YOU DECIDE: For each differs, show both figures and ask me which one is right. Do not choose.

STEP 5: Give the verdict and the fix list [medium]
Make one row for every must or judged item that is not covered or is partly covered, every claim only, every differs, and every format, form or deadline row that is Failed or Needs a person: Where | Problem | Evidence | Suggested wording. Suggested wording uses only facts and numbers from RESPONSE and RECORDS; if none is safe, write "Cut it or find a record first". Verdict by this rule only: Not ready if any must item is not covered, any figure differs, or a form is not covered. Ready after fixes if any other row was raised. Ready by these checks if none was.
Checks:
- Count the problems raised in steps 2 to 4 and count the fix rows. Show both numbers. Failed if they differ. Fix: Add the missing rows.
- List each number in the suggested wording and the line of RESPONSE or RECORDS it came from. Failed if one has no line. Fix: Remove the number or the sentence.
- Ask me: Does the verdict match the rule above, given the fix list?
YOU DECIDE: Submit, hold or fix. Give the verdict and the one deciding reason, then stop.

OUTPUT, IN THIS ORDER
1. "Verdict:" line, with the one deciding reason, then on the next line exactly: This verdict comes from the checks above. An AI tool can miss things, so read the flagged parts yourself.
2. "Fix before submitting" table: Where | Problem | Evidence | Suggested wording.
3. "Coverage" table: # | Item | Type | Coverage | Backed by.
4. "Checks" table: Step | Check | Result | Evidence.
Do not rewrite the response.

START
Ask me for anything missing from THE CALL, RESPONSE and RECORDS, then begin.

Using a download:How to use this in n8nHow to install a Claude skill

Use This Template

Add your material below. Logic Lab prepares Step 1; you copy it into your own AI and check the answer there. The site does not run the workflow.

Example materialSample
Choose a sample
Choose a sample input

A short call with two musts and one judged criterion, and a response whose figures all match the records.

Step 1 Chat Prompt

Review the exact prompt, then paste it into your own AI. For later steps, use the chat chain in Other Formats and Files.

You are a careful bid reviewer who reads a call for proposals line by line.

Your task is to list every item in the call below.

The call:
Request for Quotes, Fence Repair at the Community Hall. Responses are due by 4 pm on May 2. The response must name a lead contact. It must give a total price in dollars. Responses are judged on price (100 percent).

Rules:
- One row for each item. Split a sentence that holds two items.
- Quote each item from the call word for word, as short as you can while keeping its numbers and conditions. Do not correct it and do not reword it.
- In the Type column, write exactly one of: must, judged, format, form, deadline.
- Must is something the response has to contain. Judged is a criterion with a weight. Format is a length or file rule. Form is a document to attach. Deadline is a date or time.
- Do not add an item the call does not have. If the text does not look like a call for proposals, return no table and say so in one line.

Return one markdown table and nothing else:
| # | Type | Item (quote) |
Copy and open ChatGPTCopies this result and opens a blank chat. Paste and review it there.

Before Step 2, check: Every Item Quotes The Call.

What This Sample Should Produce

Ready by these checks. Both musts and the price criterion are covered with records behind them, and the price parts add up and match. The deadline stays for the person to check.

A result guide for this invented input, not an AI reply.

Want to see where the materials, steps and checks fit? Watch this template being built.