Weave Prompting Best Practices
Weave gives you a lot of control over what the AI produces, and the difference between a rough draft and a submission-ready one often comes down to how you phrase your prompts. This guide collects the exact prompts our teams use most, grouped by where you enter them in Weave, along with a short note on when to reach for each one.
Prompts are shown exactly as you'd type them. Anything in brackets like [molecule name] is a placeholder. Swap in your own value before you use it.
Note: These prompts work best when they name your specific parameters, files, and terms. The more precise you are, the closer the first draft lands to what you need.
How to use this guide
Find the section that matches where you are in Weave, whether that's the Refinement tool, an AI block, or a document-level instruction. Then pick the prompt that matches what you're trying to produce. Each entry explains when to use it and shows the exact text to enter.
1. Refinement tool
Use these prompts in the Refinement tool after generation, when you want to adjust existing output without regenerating the whole block.
Swap a name or term throughout a block
Use this when generated output contains a drug name, compound ID, or term that needs to be replaced consistently. The Refinement tool finds and replaces it throughout the block without touching anything else.
Prompt: "Replace [old term] with [new term]."
Add a column to an existing table
Use this when a table has already been generated and you realize a column is missing. Instead of regenerating the whole block, this adds the new column and populates it from your sources.
Prompt: "Add a new column, [column name]."
Add a row for a newly uploaded study
Use this after uploading a new source file when you want to add just that study's row to an existing table. Your existing rows stay intact and the full table doesn't regenerate.
Prompt: "Add a new row for study file [filename]."
Add columns or rows to a table in the refinement panel
Use this on an already-generated table when you need targeted changes, such as extra columns, or extra rows when new data like new cell lines arrives, without regenerating the whole block and losing prior refinements.
Prompt: "add a column, add column X, Y, Z" / "add rows for the new cell lines"
Reword a generated section to match a reference narrative
Use this when a block's output doesn't match the tone, structure, or specific claims of a narrative you already know is correct, such as a prior approved section. Paste the reference narrative below the instruction and the Refinement tool restructures the generated content to match it, updating only the values that need to be accurate to your current program.
Prompt: "reconstruct or reword this introduction to match the following narrative, change the values so they are accurate to this program"
Renumber a list that lost its sequence
Use this when a generated numbered list restarts its count partway through instead of continuing sequentially, for example when sub-criteria break a parent list's numbering. Tell the Refinement tool the exact range you want and it corrects the numbering without touching the list content.
Prompt: "update the list, and then I want it numbered 1 through 8"
Amend a table against an amendment file and flag every changed value
Use this when a study has both an original and an amended report and both need to stay in the data room for regulatory purposes, for example when the original must remain on file. Rather than regenerating the whole table from the amendment alone, point the Refinement tool at the amendment file and ask it to update only what changed, then mark those changes so reviewers can see exactly what moved.
Prompt: "review the information in the table, and amend all information required following the information in the amendment file [specify file title]. And to make it easier, you can also add a line, for example, highlight or bold all information which you amended."
Bold the top row of a generated table
Use this after generating a table when the top row needs to be bold for clarity or regulatory convention. Refinement applies only this formatting change without touching any other content or structure.
Prompt: "bold the top row"
2. AI text block
Use these prompts inside an AI text block in your template when you want to generate narrative or prose content.
Short narrative summary of a change or update
Use this when a section needs a brief written summary, such as a variation section explaining what changed and why. Keep the prompt specific to the parameter or change so the output stays focused.
Prompt: "Create a brief summary of the proposed changes for the [parameter or topic] changes."
List source files used to generate a section
Use this when you need traceability, for example to show reviewers or auditors exactly which source documents fed a section. The output appears inline in the exported document, below the generated content.
Prompt: "List the files that were used to generate this section."
Clinical trial status summary in the Introduction
Use this in the AI text block for a PBRER Introduction, or a similar periodic safety report section, when the default prompt omits clinical trial status. Adding this instruction makes the output report the number of active and completed trials explicitly, and forces a stated "none" rather than silence when no trials exist in a category. That silence is a gap reviewers commonly flag.
Prompt: "list number of active and completed clinical trials; if none, explicitly state that"
Constrain narrative length to a sentence range
Use this in an AI text block when a narrative section tends to over-generate and you want a tight, predictable length. Give an explicit sentence range so the model scopes the prose for you. This works well for short Module 2 narrative summaries.
Prompt: "two to four sentences"
Ask for a detailed description in a set number of sentences
Use this in an AI text block for a Module 2 pharmacology or toxicology study narrative when each generated block should be a consistent, bounded length. Naming a concrete sentence count gives the model a clear target, so output length stays uniform across studies instead of drifting.
Prompt: "provide a detailed description, two to three sentences"
Rewrite the default prompt to set format and length
Use this to replace an auto-generated starter prompt with your actual response strategy, naming the format (narrative or tabular) and an explicit length limit. The default prompt is only a starting point, and specifying format and length up front keeps the output within submission expectations.
Prompt: "write in more concise language, remove all prepositions, only write your response in 10 sentences or less" / "create a tabular summary, write this response in two paragraphs, limit your response to 10 sentences or less"
Position the narrative for or against a health-authority opinion
Use this on a HAQ or RTQ response once the team has settled its regulatory strategy and needs the draft to argue a specific stance rather than summarize neutrally. The AI follows the positioning explicitly.
Prompt: "write a narrative that supports the FDA opinion on this" / "write a narrative that negates the FDA opinion on this"
Mandatory negative or boilerplate statements for safety-report sections
Use this in a text block for periodic safety report sections that require a fixed negative or boilerplate statement the AI won't infer from your sources. Put the exact required sentence in the template instruction so it appears in every future report without re-entry.
Prompt: "[MAH] is not aware of any significant findings from other PBRs for this product" / "There are no lack of efficacy findings from controlled clinical trials" / "There is no late-breaking information for this product available"
Exclude edge cases the source documents don't self-label
Use this in a text block when a section must leave out a category of material the source files never name, for example synthetic reagents in a section restricted to human or animal-origin materials. State each excluded edge case explicitly. Listing what to include is not enough, especially when your sources don't use the excluding term.
Prompt: "do not include information about materials that do not have human or animal origin" / "do not include anything of synthetic origin / described as synthetic"
Order studies in a narrative summary without manual sequencing
Use this in an AI text block covering multiple studies, such as a pharmacology or nonclinical written summary, so the AI sequences them consistently without you manually ordering dozens of source files. Phrase it as a general rule rather than a fixed list so it works across study types.
Prompt: "implicitly arrange all studies within each study type such that in vitro always precedes in vivo, and then in vivo studies are always ordered from smallest to largest, when all else is equal, order them by total study duration"
Generate inclusion/exclusion criteria as a numbered list
Use this when eligibility criteria are generating as prose instead of a numbered list. A numbered list matters operationally, since site staff and data management reference criteria by their number, so ask explicitly for the list format rather than accepting the default narrative style.
Prompt: "List the criteria as a numbered list."
Reproduce a section verbatim from the source document
Use this when a section, such as a protocol synopsis, must appear in the output exactly as written in the source, with no paraphrasing, restructuring, or added markdown formatting. Naming the section and stating "verbatim" explicitly keeps the AI from summarizing or reformatting it.
Prompt: "reproduce the study trial slash synopsis section from the source document verbatim"
Find and reproduce a specific section verbatim
Use this when a section contains regulatory-critical or legally precise language that must appear character-for-character and must not be paraphrased. The prompt instructs the AI to locate the section in the source file and copy it directly into the output rather than generating new text.
Prompt: "find this section and reproduce it verbatim"
3. AI table block
Use these prompts inside an AI table block in your template when you want to generate or structure a table from your source files.
Scoped parameter table with current and proposed ranges
Use this when you need a two-column table showing current versus proposed values for a specific parameter, such as a QoS or variation table. Naming the exact parameter keeps the AI from pulling in unrelated rows.
Prompt: "Generate a two-column table with the current [range/value] and proposed [range/value] for [exact parameter name]."
Column ordering for tables
Use this when your tables need to follow a specific column order. Adding this to your AI table block instruction enforces the ordering automatically on every regeneration, so you don't have to re-sort by hand. Specify the order that matches your regulatory or internal requirements.
Prompt: "Column ordering: [first category] before [second category], [smallest to largest], then by [duration or parameter]."
Custom study design table from a pasted structure
Use this when you already know what the table should look like and want the AI to populate it from your sources rather than infer the structure. Paste your preferred table shell into the block, then add a short instruction describing what goes in each column.
Prompt: "Title the table [table name]. [Paste your table structure here.] Populate each column using the study details from the source files."
Add a justification column to a parameter table
Use this when a table needs a justification column explaining the rationale for each change, which is common in regulatory variation submissions. Specify the points you want covered so the output matches your submission requirements.
Prompt: "For the justification column, cover [point 1], [point 2], and [point 3]."
Normalize a unit across a table column
Use this when source reports express the same field in different units, such as weeks, months, or days, and the column needs to be consistent. Naming the exact target unit forces every row into the same unit on each regeneration. This is common for study-duration fields drawn from multiple CRO reports.
Prompt: "express study duration in number of days"
Name the exact parameter or timepoint the AI should pull
Use this in an AI table block when the source data contains several near-identical parameters, such as multiple AUC timepoints, and the AI could pick the wrong one. Naming the exact timepoint removes the ambiguity and reduces context-window use.
Prompt: "include AUC at day 92" (or "make sure to include AUC at day 92")
Give the study type column a concise, mechanism-focused title
Use this in an AI table block for a study type column when the source labels are long regulatory or strain notations. Telling the AI to describe what was evaluated, and to leave out duration, route, and species or strain, produces short, readable column values while your reviewers stay free to add detail back where they need it.
Prompt: "use a concise, mechanism-focused title describing what was evaluated without duration, route, or formal species or strain"
Generate a patient-level adverse-event table
Use this in an AI table block when you want the AI to build a table of individual patients who meet a clinical criterion over a defined window. Name the row population and the time frame so the AI knows exactly what to list from the source data.
Prompt: "Insert a table here listing out every patient at severe adverse event in the last six months."
Limit table columns to values present in the source data
Use this in a table block when the template has placeholder columns for values the source data may not always contain, such as test method columns for values not present in every study. Without this instruction, the AI may generate empty or fabricated columns. Adding it ensures the table only includes columns the source data actually supports.
Prompt: "only include columns for TM values that appear in the source data, do not add extra columns"
4. Document-level instructions
Use these in the document-level instruction block when you want a rule to apply consistently across the entire document, not just a single section.
Auto-list source files below every table
Use this when every table in the document needs its source input files listed below it, for example as a traceability or compliance requirement. Setting this at the document level means you don't have to add it to each individual table block.
Prompt: "For every table that is produced, list the input files below the table."
Scope the whole document to a single subject or molecule
Use this when a program covers more than one molecule, or more than one subject, but a given document should only draw on one of them. Setting it at the document level cascades the restriction to every prompt block, so the AI won't blend the other molecule's data into any section. Name the exact identifier you want included.
Prompt: "Only use information on [molecule name] for this document."
Standardize terminology or naming across the document
Use this when source files refer to the same drug, product, or term by different or older names, and the output must use one standardized name everywhere. As a document-level rule, it normalizes the naming across all generated sections without per-block edits.
Prompt: "Always refer to the drug as [standardized drug name]."
Separate a reference drug's approved NDA from your own investigational drug
Use this when you upload a reference or competitor drug's approved NDA as source material and the AI starts treating your program as if it held that filing, inheriting the reference's filing status or indication profile. Setting your identity and status at the document level, and explicitly demoting the reference data to reference context, keeps the two programs separate across every section. Replace the names and identifiers with your own.
Prompt: "We are [company name], we are [your drug ID], we do not hold an NDA. [Your drug ID] is an investigational drug formulated within an existing monograph. [Reference drug] data should be used only as reference context."
Re-level a document to a target reading level
Use this at the document level when you need to adapt a document to a different audience, for example dropping an adult informed consent form (ICF) to a pediatric reading level. As a document-level rule, it re-levels the language across every section at once, so you can spin up a new-cohort variant without rewriting each part.
Prompt: "Now write this at a fifth grade reading level."
Encode your style guide as document-level instructions
Use this when you have a company style guide and want every generated section to follow it without manual enforcement. Translate the guide's rules into explicit examples at the document level, such as spacing conventions, banned and preferred terms, and drug naming, so they apply globally to all generated content.
Prompt: "you would essentially paste in your style guide, and you would give it examples of, this is where the space should be, this is where it shouldn't be, never say subject, always say patient, refer to the drug as X, Y, Z"
Treat an amendment report and its original as the same study
Use this when an amendment report gets treated as a standalone study instead of an update to the original, which causes duplicate sections in the output. Telling the AI explicitly which file is the amendment and which is the original keeps them linked as one study.
Prompt: "please treat so-and-so-001 amendment versus 0001 redacted as the same study where one of them is an amendment to the other"
Bold all table headers globally
Use this when the document should consistently format all table headers as bold, without adding a formatting instruction to each individual table block. Setting it at the document level means it applies to every AI-generated table in the document automatically.
Prompt: "bold all table headers"
Suppress spontaneous table generation in narrative sections
Use this when AI blocks are inserting tables inside sections that should be prose only. Without this instruction, the model may add tables wherever it infers tabular structure in the source data, even in sections intended as running narrative. Setting it at the document level prevents it across the whole document.
Prompt: "only include tables when explicitly requested"
5. AutoReview prompts
Use these prompts inside the AutoReview feature to run automated consistency checks across sections or documents in the same dossier.
Flag inconsistencies in subject or patient counts across documents
Use this when reviewing two documents that cover the same reporting period, such as a DSUR and a PBRER, and you want AutoReview to surface any places where subject counts differ between them. Set this up as a custom AutoReview prompt rather than relying on the out-of-the-box Consistency Reviewer.
Prompt: "Flag any instances where subject counts differ."
Check that findings match across related documents
Use this when the same findings appear in several documents in a dossier, such as an IB, Module 2.4, and Module 2.6.4, and they must be identical. Point AutoReview at the specific documents and the finding type, and it flags any drift so writers don't reconcile them by hand.
Prompt: "run a tool and say, hey, make sure my pharmacology findings or outcomes are identical in my IB 2.4 and 2.6.4"
Check generated content against specific ICH or FDA guidance
Use this when you need a defensible, guideline-grounded QC pass rather than a generic consistency check. Copy the exact guidance text you're checking against into the AutoReview prompt so the AI's feedback stays scoped and specific. Any guidance document available online can be brought in the same way.
Prompt: "you could copy and paste ICH guidelines and put them into the prompt. I would be selective about which ones you're checking for. That way the AI can give you really specific feedback"
Re-verify a statement against an updated source file
Use this when a source report gets updated with new data after a document was already written from it. Rather than manually re-reading the new version, paste the statement in question, select the updated source file, and let AutoReview flag anything that no longer lines up.
Prompt: "Review the selected source file and verify the content below against it and flag any inconsistencies."
Run the default Consistency Reviewer across all modules
Use this as a first pass, dossier-wide QC check before you move to targeted AutoReview prompts. The pre-loaded Consistency Reviewer checks internal consistency across every module in the program and can surface real conflicts, such as a mismatched vial count, with no setup.
Prompt: "review the content for internal consistency across all modules"
Flag results reported beyond their stated precision
Use this for a QC pass on quantitative results, such as PPQ or validation data, where a value shouldn't carry more decimal places than the method's stated precision or the acceptance criteria allow. This catches formatting and precision errors that a manual read-through tends to miss.
Prompt: "flag any test result reported to more decimal places of precision than the method stated precision or the acceptance criteria specified"
6. Instruction writing tips
These are not prompts to paste. They are principles for writing better AI block and section instructions. Apply them when output isn't matching what you expected.
Put your most important instruction first
The model gives higher priority to instructions that appear earlier. If your block has multiple constraints and one matters most, lead with it.
Name exact parameters, not generic terms
Generic names let the AI pull the wrong but plausible value. Use the exact parameter name as it appears in your source, for example "AUC last" rather than "AUC", or "animals at study start" rather than "animal count".
Constrain output format and length explicitly
If you need prose, say so. If you need a length limit, state it. Leaving the format open lets the AI mix paragraphs and tables or produce more than you need.
Example: "Text only, no tables. Limit to three paragraphs."
Use document-level instructions for style, section-level for structure
Document-level instructions control formatting and style across the whole document. They don't drive structural content changes. For structural edits, such as adding, removing, or reordering content, use section-level instructions instead.
Avoid over-constraining instructions
Instructions like "include verbatim, do not edit the text" can fight the model and produce rendering issues. If output looks wrong, check whether a rigid constraint is causing it, then try relaxing it or replacing it with a clearer format instruction.
Add data tags so a file qualifies for more sections
When a source file matches only one section's tag requirement but its content is relevant to more than one section, add the extra qualifying tag or tags so the file becomes eligible for every relevant section at once. Extra tags do no harm, so there is no downside to broadening eligibility this way.
Example: "So you should add additional data tags to source files so that it can qualify for more sections."
Summarize a source file before tagging it
Before tagging or drafting from a document, use the data room Ask to get its gist quickly instead of opening and reading the whole file.
Example: "Summarize the key findings of the source file"
Quick reference: all prompts
Refinement tool
"Replace [old term] with [new term].""Add a new column, [column name].""Add a new row for study file [filename].""add a column, add column X, Y, Z"/"add rows for the new cell lines""reconstruct or reword this introduction to match the following narrative, change the values so they are accurate to this program""update the list, and then I want it numbered 1 through 8""review the information in the table, and amend all information required following the information in the amendment file [specify file title]. And to make it easier, you can also add a line, for example, highlight or bold all information which you amended.""bold the top row"
AI text block
"Create a brief summary of the proposed changes for the [parameter or topic] changes.""List the files that were used to generate this section.""list number of active and completed clinical trials; if none, explicitly state that""two to four sentences""provide a detailed description, two to three sentences""write in more concise language, remove all prepositions, only write your response in 10 sentences or less"/"create a tabular summary, write this response in two paragraphs, limit your response to 10 sentences or less""write a narrative that supports the FDA opinion on this"/"write a narrative that negates the FDA opinion on this""[MAH] is not aware of any significant findings from other PBRs for this product"/"There are no lack of efficacy findings from controlled clinical trials"/"There is no late-breaking information for this product available""do not include information about materials that do not have human or animal origin"/"do not include anything of synthetic origin / described as synthetic""implicitly arrange all studies within each study type such that in vitro always precedes in vivo, and then in vivo studies are always ordered from smallest to largest, when all else is equal, order them by total study duration""List the criteria as a numbered list.""reproduce the study trial slash synopsis section from the source document verbatim""find this section and reproduce it verbatim"
AI table block
"Generate a two-column table with the current [range/value] and proposed [range/value] for [exact parameter name].""Column ordering: [first category] before [second category], [smallest to largest], then by [duration or parameter].""Title the table [table name]. [Paste your table structure here.] Populate each column using the study details from the source files.""For the justification column, cover [point 1], [point 2], and [point 3].""express study duration in number of days""include AUC at day 92"(or"make sure to include AUC at day 92")"use a concise, mechanism-focused title describing what was evaluated without duration, route, or formal species or strain""Insert a table here listing out every patient at severe adverse event in the last six months.""only include columns for TM values that appear in the source data, do not add extra columns"
Document-level instructions
"For every table that is produced, list the input files below the table.""Only use information on [molecule name] for this document.""Always refer to the drug as [standardized drug name].""We are [company name], we are [your drug ID], we do not hold an NDA. [Your drug ID] is an investigational drug formulated within an existing monograph. [Reference drug] data should be used only as reference context.""Now write this at a fifth grade reading level.""you would essentially paste in your style guide, and you would give it examples of, this is where the space should be, this is where it shouldn't be, never say subject, always say patient, refer to the drug as X, Y, Z""please treat so-and-so-001 amendment versus 0001 redacted as the same study where one of them is an amendment to the other""bold all table headers""only include tables when explicitly requested"
AutoReview
"Flag any instances where subject counts differ.""run a tool and say, hey, make sure my pharmacology findings or outcomes are identical in my IB 2.4 and 2.6.4""you could copy and paste ICH guidelines and put them into the prompt. I would be selective about which ones you're checking for. That way the AI can give you really specific feedback""Review the selected source file and verify the content below against it and flag any inconsistencies.""review the content for internal consistency across all modules""flag any test result reported to more decimal places of precision than the method stated precision or the acceptance criteria specified"