Prompt Chain in Claude: From a Results Table to a Reviewed Narrative Draft
For Environmental Scientist / Sustainability Analysts ·
What This Builds
A results narrative can pick up a sentence the table never supported, such as a line about stable conditions or what happens next. This chain builds a checking pass into the drafting. Claude first states what a results table shows and does not show, then drafts a short narrative from those statements only, then lists every sentence next to the table cell behind it, and finally revises the draft to remove or mark whatever has no support. You check the output after each step. The outcome it serves is a draft in which every sentence traces to a cell before the project manager reads it. The project manager reviews the draft, and the licensed professional owns any conclusion.
Prerequisites
- A Claude account. The paid plan is Pro ($20/month), and that is the whole ongoing cost of this build. Check claude.ai for what the free tier covers.
- A results table that your own spreadsheet computed, with the comparison column and the counts computed there too
- An invented or redacted table, or approval to use the real one (see the data caution below)
The Concept
Think of a newsroom with a fact-checker who is not the writer. The writer works only from the notes. The checker walks through the finished piece line by line and asks where each claim came from. Here, one Claude chat plays both roles in turn, and you stand over it as the editor.
The model never produces a result or a comparison you rely on. The lab reported the results, and your spreadsheet computed the comparison column and every count and average. The model describes what is pasted, adds no figure, writes "not stated" for anything the table does not give, and writes no conclusion about the site. Words such as Above SV describe your spreadsheet's comparison only. They are never turned into a finding.
Data caution. Client site data, site addresses, owner and tenant names, lab reports, boring logs and unpublished reports stay in the firm's approved systems. This exercise runs on an invented table, public documents, column names and coded placeholders such as "[Client]", "[Site code]" and "MW-3". Before pasting anything non-public, check Claude's data and privacy settings for whether chats are used to train models and how long they are kept, and confirm that your firm and the client approve the tool for that data. Do not paste a lab report, a site name or an address into the chat.
Build It Step by Step
Part 1: Prepare the table in your own sheet
This table is invented, for practice. The site, the wells, Analyte A and every value are invented, the results are in ug/L, and the screening value of 50 is an invented screening value, not a real standard. In real work your project manager selects the screening values from the applicable source and you type them in.
Build the table in a sheet named Results, with the header in row 1:
| A Location | B Sample date | C Result (ug/L) | D Qualifier | E Screening value | F Comparison |
|---|---|---|---|---|---|
| MW-1 | 2026-09-14 | 12 | 50 | At or below SV | |
| MW-2 | 2026-09-14 | 68 | 50 | Above SV | |
| MW-3 | 2026-09-15 | 5 | ND | 50 | Not detected |
| MW-4 | 2026-09-15 | 50 | 50 | At or below SV | |
| MW-5 | 2026-09-15 | 140 | 50 | Above SV |
For ND, the qualifier column reads ND for not detected, and the result column holds the reporting limit. Leave the qualifier blank otherwise. Put this comparison formula in F2 and fill it down to F6:
=IF(OR(A2="",C2="",E2=""),"",IF(D2="ND","Not detected",IF(C2>E2,"Above SV","At or below SV")))
Then add the counts, each computed by the sheet:
| Count | Formula | Correct value |
|---|---|---|
| Above SV | =COUNTIF(F2:F6,"Above SV") | 2 |
| At or below SV | =COUNTIF(F2:F6,"At or below SV") | 2 |
| Not detected | =COUNTIF(F2:F6,"Not detected") | 1 |
| Average of detected results | =AVERAGEIF(D2:D6,"<>ND",C2:C6) | 67.5 |
Check them by hand. MW-4 has a result of exactly 50 against a screening value of 50, and 50 is not greater than 50, so it reads At or below SV. That is the boundary row. MW-3 is not detected, so its 5 is a reporting limit and is left out of the average. The detected results are 12, 68, 50 and 140. They sum to 270, and 270 divided by 4 is 67.5. The highest detected result is 140 at MW-5. How non-detects are handled in any statistic is your project manager's call. This sheet only follows the choice in the formula.
Part 2: Open a fresh chat and run Prompt 1
Start a new chat in Claude. Copy the table, with the comparison column and the counts, from your sheet. Paste the prompt below. Then replace the bracketed line with your table and counts.
Below is a results table for an invented practice site, with a comparison column and counts that were all computed outside this chat. Do not calculate anything, do not add any number and do not state any standard or any requirement. SV means screening value, and the comparison column describes the spreadsheet's comparison only.
Task: write a numbered list of statements about what the table shows, each using only values and wording that appear in it. Then write a second numbered list of things the table does not show. Where something is missing from the table, write "not stated". Do not say why any value is what it is, and do not write a conclusion about the site, whether any action is needed, or whether any condition is better or worse than before.
Table and counts:
[PASTE THE TABLE, THE COMPARISON COLUMN AND THE COUNTS]
Checkpoint 1. Read each statement against the table. Every number must match a cell or a count, in the same units. The second list should include points such as the table giving no trend, no source, no cause and no view on whether any action is needed. Delete or correct any statement with a number you cannot find. If Claude reworked a count or the average, compare it with your sheet and keep the sheet's value.
Part 3: Prompt 2, the narrative draft
In the same chat, send:
Write a draft results narrative of about 300 words using only the statements from your first list in this chat. Use the comparison column's wording exactly (Above SV, At or below SV, Not detected). Do not add any figure, any cause, any trend or any statement about what happens next. Do not write a conclusion about the site. Begin with the label "Draft for project manager review". Where the statements give nothing, write "not stated".
Checkpoint 2. Read the draft against the Prompt 1 list. Look for forward-looking sentences, causes, comparisons with earlier events, rankings the table does not show and any number that was rounded or restated. Do not fix them yet. Part 4 is designed to find them, and fixing them now hides what the checker can catch. Do confirm the label is at the top.
Part 4: Prompt 3, the support check
Make a table of every sentence in the narrative draft above, one row per sentence. Columns: sentence number, the sentence in the draft's own words, the table cell or count that supports it (give the location and the column header, or the count's name), and the status "supported" or "no support in the table". After the table, list every sentence with the status "no support in the table" again, on its own. Do not rewrite the narrative in this step.
Checkpoint 3. Open the draft and your sheet beside this output. Check three things. First, each "supported" row points to the right location and column. Second, each cited value really appears in that cell. Third, no sentence is missing from the table. The model is checking its own draft, so a sentence can be missed. Go through the draft line by line and tick each sentence off against the table.
Expect sentences such as "Conditions appear stable" or "No further action is needed" to land in the unsupported list if the draft has them. The table holds nothing on either. They are conclusions that belong to your project manager and the licensed professional, and the model should not write them. If Claude marks one "supported", you have just caught a miss.
Part 5: Prompt 4, the revision
Revise the narrative. Remove every sentence you marked "no support in the table", or if one has to stay for the narrative to read well, mark it in square brackets as [unsupported, for project manager decision]. Do not add any figure or any new statement. Keep the label "Draft for project manager review" at the top. After the narrative, list what you removed or marked.
Checkpoint 4. Compare the revised narrative with the support table. Every unsupported sentence should be gone or marked. Then run the final number check: for each figure in the narrative, find it in your sheet. Check the units, the location codes and the comparison wording. Count the locations the narrative names against the counts in the sheet. Then send the narrative to your project manager as a draft. You are responsible for what you send, the project manager reviews it, and the licensed professional owns any conclusion.
Real Example: The Invented Site S-01 Table
Setup: The invented table from Part 1, with the comparison column and the four counts pasted in. The screening value of 50 is invented and is not a real standard. Input: Prompts 1 to 4 in one chat, with a checkpoint after each. Output, step by step (an illustration of what a reply might look like, not a guaranteed result):
- Prompt 1 lists, for example, that MW-2 and MW-5 are marked Above SV, that the count of Above SV is 2, that MW-3 is marked Not detected and that the highest detected result is 140 at MW-5, as the sheet states. Its "does not show" list includes the cause of any value, any trend, and whether any action is needed.
- Prompt 2 returns a short narrative under the label "Draft for project manager review". Suppose it contains "Two of the five locations are marked Above SV in the comparison column." That sentence is fine, because the count is 2 and there are five rows. Suppose it also contains "Conditions appear stable." That one has no support.
- Prompt 3 returns a table. One row cites the Above SV count for the first sentence. Another row, for the stability sentence, shows "no support in the table".
- Prompt 4 removes the stability sentence and lists it among the removals.
Now run your own check. If the model says "three" locations are Above SV, the sheet says 2, and the sheet is correct. If it describes MW-4 as Above SV, compare it with F5. The comparison column says At or below SV because 50 is not greater than 50.
Time saved: You get a first-pass review before the project manager sees the draft. That does not replace your own check or theirs.
What to Do When It Breaks
- The narrative contains a number that is not in the table → Go back to Prompt 2 and repeat it, adding the sentence "Every number must appear in the table I pasted." Check the number against your sheet. The model must not supply it.
- Claude restates a count or the average and it disagrees with the sheet → Your sheet is correct. Paste the counts again and ask Claude to quote them, not calculate.
- The support table misses a sentence → That happens sometimes. Read the draft line by line against the table yourself and add the row.
- Claude adds a cause, a prediction or a conclusion about the site → Remove it. The table cannot support it. Repeat Prompt 4 with a reminder that no new statements are allowed.
- Claude brings in a standard or a requirement → Delete it. No standard or requirement belongs in this exercise, and your project manager selects the screening values.
- A long chat starts to drift → Start a new chat and paste the table and the revised narrative into Prompt 3 again.
- The reply refers to a site history, a record or data you did not paste → Treat it as invented and delete it.
Variations
- Simpler version: Run only Prompts 1 and 3. Draft the narrative yourself and have Claude check it.
- Extended version: Raise the aim from a checked draft to a reviewed one. Add a fifth step in which you paste your project manager's comments and ask for a list of the changes still to make, and keep the same support table for each round. Keep to the rule about invented, public or approved material.
What to Do Next
- This week: Run the chain once on the invented table. Compare the result with how you usually draft a results section.
- This month: Try a redacted table from your own work, if your firm and the client approve the tool, and keep the lab report beside it as the outside check.
- Advanced: Save the four prompts in a Claude Project so each draft starts from the same instructions.
Advanced guide for environmental scientist professionals. These techniques may need a paid Claude plan. Menus and settings change, so check Claude's current screens and help pages.