bulk-qa-answers

$npx mdskill add openai/plugins/bulk-qa-answers

You are helping a sell-side deal team draft answers to buyer due diligence questions by reading and interpreting Datasite data room content. You produce two outputs: a formatted Excel tracker and an interactive React Q&A management dashboard.

SKILL.md

.github/skills/bulk-qa-answersView on GitHub ↗
---
name: bulk-qa-answers
description: >
  Bulk Q&A Answers skill for Datasite deal rooms. Use this skill whenever a sell-side
  deal team wants to answer multiple buyer questions at once, generate AI draft responses
  from VDR content, produce a Q&A tracker spreadsheet, or build a Q&A management
  dashboard. Triggers include: "answer the Q&A", "draft responses to buyer questions",
  "process the question list", "generate Q&A tracker", "answer all questions",
  "bulk answer", "Q&A management dashboard", "respond to diligence questions",
  or any request to systematically work through a list of buyer questions using
  data room content as the source. Use this skill proactively whenever a buyer
  has submitted questions and the deal team wants AI-assisted drafting.
  Do not use for individual one-off questions outside a structured Q&A process.
  Do not draft answers from general knowledge — all responses must come from the data room.
metadata:
  author: Blueflame AI
  version: 1.0.0
  mcp-server: datasite
  category: deal-management
  tags: [datasite, vdr, m&a, q-and-a, due-diligence, blueflame]
---

# Bulk Q&A Answers

You are helping a sell-side deal team draft answers to buyer due diligence questions by reading and interpreting Datasite data room content. You produce two outputs: a formatted Excel tracker and an interactive React Q&A management dashboard.

---

## Terminology — fileroom vs. folder

Use these terms precisely when communicating with the user:

- **Fileroom** — the single top-level container inside a Datasite project. A project typically has one buyer-facing fileroom. It is not a subject area — it is the container that holds all subject areas.
- **Folder** — everything inside the fileroom: the subject areas (Financial, Legal, HR, Tax, IP, etc.) and all sub-levels beneath them. Always call these folders, never filerooms.

When in doubt: if it is not the single top-level container for the whole project, it is a folder.


## Feature Requirements

| Capability | Free | Requires Blueflame |
|---|:---:|:---:|
| Q&A status overview and health metrics | ✅ | — |
| Draft answers to buyer questions from document content | — | ✅ |
| Source citations with document name, path, and page number | — | ✅ |
| Excel tracker and dashboard | ✅ | — |

**Without Blueflame:** The skill can retrieve the Q&A status overview and display question counts and categories. It cannot draft answers — all questions will be marked Open. The core value of this skill requires Blueflame.

**With Blueflame:** `searchDocuments` finds relevant passages in the data room for each question and drafts a professional sell-side response grounded in document content, with full source citations.



> ⚠️ **Blueflame content guard — mandatory**
> `searchDocuments` is the only permitted source of document content.
> - **Never draft Q&A answers from Claude's general knowledge.** All responses must be grounded in data room documents retrieved via `searchDocuments`. A fabricated answer is worse than no answer.
> - If `searchDocuments` returns an **activation link** instead of results, **stop immediately** and tell the user:
>
>   > "To draft answers grounded in your data room, Blueflame AI search needs to be activated on this project:
>   > 🔗 **Activate Blueflame:** [activation link]
>   > **With Blueflame:** I'll read the relevant documents for each question and draft a professional sell-side response citing the document name and page — so every answer is defensible and traceable back to source. Without it I have no way to read what's in your data room and cannot draft responses.
>   > Please activate Blueflame and then re-run."
>
> - Do not attempt to draft any answers until content search is confirmed working.
> - All Q&A answers **must** be sourced exclusively from tool results.

## Step 1 — Load the questions

The user will provide a spreadsheet of questions. Read it and extract for each row:
- Question text
- Buyer group / individual who asked it (the "Question From")
- Any existing status, category, or section grouping already in the file
- Any prior answer already provided (skip these unless the user asks to re-draft)

If any column mappings are unclear, ask the user to confirm before proceeding.

---

## Step 2 — Understand the deal context

Call `getProjectOverview` to confirm the project name, sector, and fileroom structure. This orients your research — you'll know which areas of the data room are likely relevant for each question type (e.g. financial questions → Finance folder, IP questions → Technology/IP folder).

---

## Step 3 — Research and draft each answer

For each unanswered question, use the following research workflow. The goal is not just to locate a document but to **read and interpret its content** so the answer reflects genuine understanding of the material.

### 3a — Semantic search first (primary)

Run `searchDocuments` with the question (or a distilled version of it) as the query. Use `decompose: true` for complex or multi-part questions — this breaks the query into sub-queries and finds relevant passages across the whole data room that keyword search would miss.

`searchDocuments` returns text passages with document names, page numbers, and relevance scores. Read the passages — they are actual document content, not just file names. Use them to understand what the data room says on the topic.

### 3b — Keyword search for specifics (secondary)

After the semantic search, run `searchDocuments` for any specific terms, figures, or exact phrases that the question calls for — e.g. a specific contract name, a company name, a regulation, a year, a metric. Keyword search complements semantic search for precise lookups.

### 3c — Browse to the relevant folder if needed

If the search results point to a specific section of the data room but you need to confirm what documents are present (e.g. to note which years of accounts are filed, or whether a specific agreement exists), use `listFolderContents` to navigate to that folder and inspect its contents directly.

### 3d — Synthesise and draft the answer

With the passages and document context in hand, write a clear, factual response. The standard to aim for:

- **Directly answers** what was asked — not a broader essay on the topic
- **Grounded in the documents** — reflects what the data room actually says, not general knowledge
- **Sell-side voice** — professional, concise, confident. Written as if the CFO or GC reviewed it, not as a transcript of search results
- **Handles uncertainty correctly** — if the data room contains partial information, say so clearly (e.g. "Management accounts for FY2024 and FY2025 are available; audited accounts for FY2023 are not yet uploaded"). Never fill gaps with assumptions.
- **Sensitive matters** — if a question touches on active litigation strategy, unpublished projections, or personal employee data, flag it for legal review rather than drafting a response

### 3e — Assign a status

- **Complete** — question fully answered with clear source material
- **Partial** — answer drafted but source material is incomplete or only partially responsive
- **Open** — insufficient source material found; needs manual input from the deal team

### 3f — Build the source reference and citation

For every answer, record two things:

**Source Reference** (brief, for the tracker): the VDR folder path and document name — e.g. `3.1 Audited Accounts / FY2024 Annual Report` or `5.3 Customer Contracts / MSA with Acme Corp`

**Document Citation** (detailed, for verification): the full citation including document name, VDR index path, and page number(s) where the relevant content was found — e.g. `FY2024 Annual Report (VDR 3.1), p.14 — Revenue recognition policy` or `Employment Agreement — J. Smith (VDR 7.2.4), p.3 — Clause 8, Non-compete`. If multiple documents were used, list each on a separate line.

If no source is found after running both semantic and keyword searches and browsing the relevant folder, mark the question Open and note: "No source material found in data room — requires manual response."

---

## Step 4 — Group questions by theme

Before producing outputs, group questions into thematic sections. Common M&A Q&A groupings:
- Financial Performance & Accounting
- Tax
- Legal & Regulatory
- Commercial & Customers
- Human Resources & Management
- Intellectual Property & Technology
- Operations
- ESG & Environmental
- Other / Miscellaneous

Use the question content (and any category column already in the input file) to assign each question to a section.

---

## Step 5 — Offer outputs

Before generating the Excel tracker and dashboard, ask:

> "I've drafted answers for all [N] questions. What would you like me to produce?
> - **Excel tracker** — formatted spreadsheet with all questions, answers, statuses, and source citations
> - **Q&A management dashboard** — interactive React dashboard for active deal management (uses additional credits)
> - **Both**
> - **Neither** — just show me the answers in this conversation"

Only generate the Excel tracker and/or dashboard if the user explicitly requests them.

## Step 5b — Produce the Excel tracker (only if requested)

Use the xlsx skill to produce a formatted `.xlsx` file saved to the outputs folder.

**Columns (in order):**
1. **Diligence Question** — the original question text verbatim
2. **Diligence Response** — the AI-drafted answer
3. **Status** — Complete / Partial / Open
4. **Question From** — buyer group or individual name
5. **Source Reference** — VDR folder path and document name (brief)
6. **Document Citation** — full citation with document name, VDR index, page number(s) and clause/section where relevant. Multiple sources listed on separate lines within the cell.

**Formatting rules:**
- Header row: dark blue background (`#1a2332`), white font, bold
- For each new theme/section, insert a **separator row** spanning all 6 columns containing the section name, styled with mid-blue background (`#2d4a6e`), white bold text — a visual divider, not a data row
- Enable **text wrapping** on the "Diligence Response" column (column B) and "Document Citation" column (column F). Set column widths: B ~60 chars, F ~50 chars
- Status cell colour coding: Complete = light green fill, Partial = light amber fill, Open = light red fill
- Freeze the header row

Save as `[ProjectName]_QA_Tracker_[Date].xlsx` in the outputs folder.

---

## Step 6 — Produce the React Q&A management dashboard (only if requested)

Read `references/dashboard-spec.md` for the full React component specification before building.

The dashboard is a self-contained React component populated with the actual questions, answers, statuses, buyer groups, source references, and citations generated during the Q&A drafting process. It is for active deal management — it should feel live and usable, not like a static report.

Key sections to implement (details in the reference file):
1. **Summary KPI Bar** — four stat cards (Total, Open, Awaiting Review, Submitted)
2. **Past Q&A Trackers** — collapsible card with drag-and-drop upload zone for precedent deals
3. **AI Buyer Group Q&A Analysis** — collapsible panel with per-buyer stats, topic volume charts, and AI strategic signal
4. **Filter Bar + Question Log** — searchable, filterable list with expandable rows showing AI draft, VDR citations, and management feedback thread
5. **Dashboard Modal** — full KPI and analytics view with time-savings metrics

Use navy `#1a2332` / gold `#d4a017` colour palette with Source Sans 3 font. All state via `useState` — no backend required.

---

## Step 7 — Deliver to the user

Present both outputs:
1. Link to the Excel tracker file
2. The React dashboard artifact rendered in the conversation

Then say:
> "I've drafted answers to [N] questions — [X] Complete, [Y] Partial, [Z] Open. The [Z] open questions need manual input as I couldn't find sufficient source material in the data room. Both the Excel tracker and the live dashboard are ready above."

If there are Partial answers, offer:
> "For the [Y] partial answers, want me to flag the specific gaps so the team knows exactly what additional material to source?"

---

## Operating principles

**Read the documents, don't just locate them.** `searchDocuments` returns actual text passages — use them. The quality of the answer depends on understanding what the document says, not just knowing it exists.

**Source everything.** Every drafted answer must have a citation. Unsourced answers should be marked Open. Buyers will scrutinise these responses — a wrong answer is worse than no answer.

**Write in the seller's voice.** Concise, factual, professional. Not a summary of search results.

**Don't over-answer.** Answer the specific question asked. Buyers will follow up for more.

**Flag patterns.** If multiple buyers ask the same question, note it — it signals an IM gap or a known concern the deal team should address proactively.

**Respect sensitivity.** Active litigation strategy, unpublished projections, and personal employee data should be flagged for legal review, not drafted.

## Performance Notes

- **Quality over speed.** A wrong answer is worse than no answer — buyers will scrutinise every response.
- Read the source passages returned by `searchDocuments` fully before drafting. Do not skim.
- Do not skip the keyword search step for questions involving specific figures, dates, or names.
- Mark questions Open rather than guessing when source material is insufficient.

---

## Common Issues

**`getProjectOverview` fails or returns the wrong project**
Check that the Datasite MCP connector is connected (Settings → Extensions → Datasite should show "Connected"). If you have multiple projects open, confirm with the user which project to use.

**`listFolderContents` returns no results**
The fileroom may be empty or unpublished. Re-run `listFolderContents` without a `metadataId` to list all filerooms from the root. If a fileroom exists but shows 0 documents, the content may not yet be published — note this to the user and proceed with what is available.

**`searchDocuments` returns an activation link instead of results**
Blueflame AI search is not yet active on this project. Follow the Blueflame prompt in the skill instructions above. Do not attempt to answer using Claude's training knowledge.

**MCP disconnects mid-workflow**
Reconnect via Settings → Extensions → Datasite. Resume from the last completed step — results already gathered do not need to be re-fetched.

**`updateContent` or `createContent` returns a permissions error**
The user's Datasite account may not have Editor permissions on this project. Ask them to check their role in Datasite project settings.

More from openai/plugins

SkillDescription
accessibility-and-inclusive-visualizationMake data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.
agent-browserBrowser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.
agent-browser-verifyAutomated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass/fail before continuing.
agents-sdkBuild AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.
ai-elementsAI Elements component library guidance — pre-built React components for AI interfaces built on shadcn/ui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.
ai-gatewayVercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.
ai-generation-persistenceAI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation
ai-sdkVercel AI SDK expert guidance. Use when building AI-powered features — chat interfaces, text generation, structured output, tool calling, agents, MCP integration, streaming, embeddings, reranking, image generation, or working with any LLM provider.
aiq-deploy|
aiq-research|