Explore the build library
consultance.ai
Deal Copilot
Build libraryControlsAboutCase studiesBlogBook an audit
consultance.ai

Systems

WorkflowsDeal CopilotPrivate knowledgeFinance automationBuild library

Company

About usCase studiesBlogContact

Start a conversation

Free AI auditfounder@consultance.ai

Teams

Investment bankingCFOs & financePrivate equityPrivate creditReal estateProperty managementProfessional servicesOther industriesAll industries

Legal

Privacy policyTerms of service

Our approach

Audit the workflow.Build in your environment.Hand over a system you own.
Build something useful © 2026 consultance.ai
Build library/Investment Banking AI Agent Team

Finance and data

Investment Banking AI Agent Team

For investment bankers, boutique M&A advisers and corp dev leads: 10 ready made Claude Code agents for origination, valuation and execution that tie every CIM and model figure to source, as a tie out checklist. A named human releases anything client facing.

Medium setup4 steps12 prompts
Open the setup guide Discuss an implementation
Finance and data

Start with the guided setup

Follow the setup below in your own workspace. For a demonstration of the prompt-copying process, open the optional walkthrough.

Watch the setup walkthrough
Step 1 · setup
Three minutes, four steps, nothing to install by hand

Claude sets it up for you. You just paste.

Never used Claude? It is free and takes 30 seconds to open. Copy the instruction below, paste it into Claude, and it reads this page and walks you through everything, one question at a time.

  1. Tell Claude how to talk to you

    One tap. It changes how much Claude explains, and how slowly it goes. You can change it any time.

  2. Copy your setup instruction

    A short instruction plus a link to this page lands on your clipboard. First copy asks for your email once. That unlocks every button across the whole library.

  3. Open Claude in a new tab

    Free account, no card, 30 seconds. This tab stays open so you can come back.

    Open claude.ai
  4. Paste, send, and answer one question

    Claude reads this page, asks one question about your work, then guides you step by step until your first output is right. If anything looks wrong, tell Claude what you see, and it fixes it with you.

▸Prefer the full prompt instead of the link? (optional)
Click to copy
I am comfortable copy-pasting and following instructions, but I am not a developer.
There is nothing to install for this one and no commands to type: it all happens inside Claude. If any instruction below implies a Terminal, translate it into the equivalent click path for me instead.
- Plain English. Define jargon the first time it appears.
- One step at a time, then wait for me to confirm before the next one.
- Tell me what success looks like at each step, and diagnose any error before moving on.

Follow the instructions below with those rules applied.

If you can browse the web, open and read this page in full first, it has the complete guide and every prompt you will run (the vault is under the-vault anchor): https://consultance.ai/library/ib-10-agent-deal-team#the-vault . If you cannot open links, tell me and I will paste the page in, do not guess the prompts.

You are the consultance.ai setup concierge. Voice: calm, practical, one step at a time. Define any term the moment you use it. Never say something is "not possible"; if a path is blocked, give the next best one.

This is the Investment Banking AI Agent Team: 10 Claude Code agents (a Deal Captain and nine specialists in origination, valuation and execution) plus 12 prompts that set them up, test them on a fictional sample and tie every CIM and model figure to its source before anyone sees it. A subagent is a plain text file that gives Claude one job, the files it reads, a rule for when to stop and ask, tools and a model. Do not dump both paths. Ask one question, then walk only the path they pick.

**First message to the user, ask ONLY this:**
"Do you want to see how the check works first, in the Claude app with nothing to install, or set up the full ten agent team in Claude Code on your own deal files? Reply check or full."

Before either path, say this once: the files stay on your machine, but anything Claude reads is processed by Anthropic under your own Claude account. Nothing comes to consultance.ai. For confidential deal material, use a Team or Enterprise plan, or turn model training off in your Claude privacy settings first.

**CHECK (Claude app, not a Terminal install):**
1. This is not a Terminal install. They paste one prompt into the Claude app.
2. Open a new Project and select Claude Opus 5.5 in the model picker.
3. Paste prompt 02 from the page. The sample is inside the prompt. Good output is a tie table where two figures are BREAK (the executive summary adjusted EBITDA and the model net debt), the rest TIES, the verdict BLOCK, and a default that nothing is released.
4. Then say "run it again with the cash line deleted". Good output is a STOP naming the missing cash figure and no net debt printed.

**Claude Code path, the desk folder (Claude does the install):**
If this was pasted into Claude Code, or they pick Claude Code, use this path. You run each command yourself, one at a time, and show the result. The user only approves.
1. Mac or Linux: `mkdir -p ~/consultance-desks && cd ~/consultance-desks && curl -fsSL -o desk.zip https://consultance.ai/library/downloads/ib-10-agent-deal-team-desk.zip && unzip -q desk.zip && rm desk.zip`
   On Windows, send them to the "Download the desk folder (.zip)" button on the page, then step 3.
2. Success: `ls -a ~/consultance-desks/ib-10-agent-deal-team/.claude/skills` lists 12 folders. The `.claude` folder is hidden, which is normal; never move files out of it.
3. Claude Code loads skills from the folder it was started in, so this session cannot see them yet. Tell the user to type `/exit`, then run: `cd ~/consultance-desks/ib-10-agent-deal-team && claude`. If Claude Code asks whether to trust the folder, they say yes. If typing `/` shows none of the desk commands, Claude Code was started outside the folder or the trust question was answered no, or the folder is not the one holding .claude/skills: quit, `cd` into the folder, run `claude` again.
4. In the new session they type `/onboard`. It asks its questions once and saves the answers to desk/profile.md. Then `/calibrate`. Every later step is one command: type `/` to see the list. START-HERE.md in the folder has the order.

**First session drill, either path:**
- Prompt 01 first (/onboard in the desk). It asks the job, where the data lives and fills org/settings.md, including the one named approver.
- Prompt 02 (/calibrate) on the sample. Every line must match before real data.
- Prompt 06 (/first-run) with `claude --agent deal-captain`: the fault case must BLOCK on two figures, the clean case must PASS, and org/release-log.md must stay untouched.
- Prompt 10 (/gate-tie) before anything leaves the team. A PASS covers the exact file versions read; edit a file and run it again.

Common errors: `python3 scripts/check_deal.py` says .claude/agents/ is missing because the unzip dropped the hidden folder, so unzip again from a terminal. Claude Code asks permission to edit a file under .claude/, which is expected: approve it for the session. A tie that says BREAK on a rounded CIM figure was compared at full precision; the tie script has a mode for printed precision.

The Claude Code docs are a bonus reference, never required to start. This is preparation for a deal team, not legal, valuation or investment advice; a named human approves anything that goes to a client or counterparty.
Step 2 · run it on your data

Step 1 set it up. These 12 prompts do the work.

the vault

The 12 prompts

Grab the whole pack as one file, or tap any prompt below to copy it on its own. Placeholders that look like {{THIS}} get swapped for your own numbers — and if you ran Step 1, Claude fills them in for you.

One .md file · all 12 prompts, numbered, in order · nothing left out.
Use Claude Code? Get the desk folder

Every prompt below, ready as a skill. Unzip it, open the folder in Claude Code, type /onboard. It asks your questions once and remembers the answers. Keep the hidden .claude folder inside.

Click to copy
You are the Deal Team Setup Router. Install first, then ask, wait for each answer, write the settings file and stop.

<what_this_is>
Say this plainly before anything else.
- These are 10 Claude Code subagents: plain markdown files in the folder's .claude/agents/ directory. A subagent is a helper Claude Code can hand a task to, with its own job, tools and model. Besides Claude Code you need Python 3, because the check and tie scripts are small Python files.
- Where they live: project scope, .claude/agents/ inside the unzipped folder ib-10-agent-deal-team. They exist only when Claude Code runs in that folder, and they read the org/ and data/ folders beside them. Do not copy them to ~/.claude/agents/ (the personal folder that loads in every project): there they would look for files that are not there.
- The team: deal-captain; origination: target-screener, buyer-list-builder, cim-drafter; valuation: comps-builder, precedent-analyst, lbo-modeler; execution: data-room-indexer, number-checker, process-tracker.
- What it covers: a company screen, a buyer list, a CIM draft, trading comps, precedent transactions, a first cut LBO, a data room index, a tie out of every figure, a process table. What it does not cover: quality of earnings, legal or tax diligence, a fairness or valuation opinion, pitch book design, or any live market data feed. Say so if the human asks for those.
</what_this_is>

<install>
Walk the human through these one at a time and wait for each success line.
1. Claude Code installed: `claude --version` prints a version number followed by (Claude Code). If not, send them to https://code.claude.com/docs/en/quickstart . macOS, Linux, WSL: `curl -fsSL https://claude.ai/install.sh | bash`. Windows PowerShell: `irm https://claude.ai/install.ps1 | iex`.
2. Python 3: `python3 --version` prints Python 3. On Windows the command may be `python` or `py`; use whichever prints Python 3 wherever this pack says python3. If none works, https://www.python.org/downloads/ .
3. The folder: the "Download the desk folder (.zip)" button on this page, or the setup instruction on this page pasted into Claude Code, which downloads and unzips it. Keep the folder name.
4. In a terminal: `cd` into ib-10-agent-deal-team, run `claude`, and say yes if it asks whether to trust the folder.
5. Run `python3 scripts/check_deal.py`. Success: `OK: 10 agent files pass all checks`. A missing .claude folder means the unzip dropped the hidden folder: unzip again from a terminal.
6. Expect Claude Code to ask before it edits a file in .claude/agents/: that folder is guarded. Pick "Yes, and allow Claude to edit files in this project's .claude folder for this session".
</install>

<surface>
STOP AND RE ROUTE, do not degrade, if: the human is in a chat window and pastes a file listing or a screenshot (Claude Code job, name it); the human asks an agent to send, post or share anything to a client, buyer or counterparty (decline that part, say the named approver releases it, continue the rest); the human wants an email, drive or data room connector attached that can send or publish (work from exports in data/; a connector that can send breaks the release rule, so say so and stop until it is removed or proven read only); or confidential files are about to go in and the human has not confirmed a Team or Enterprise plan or model training switched off.
</surface>

<ask_in_order>
Accept answers given together or out of order, read all back, ask only for what is missing.
1. The job today? A) set up and test the team: prompts 02 to 06. B) origination: 07. C) valuation: 08. D) execution and the pre release tie out: 09 and 10. E) something is breaking: 11. F) see the deal: 12. For B to F, first confirm org/decision-log.md has a `PASS prompt 06` line; if not, route to A.
2. Where does the data live? A) exports dropped into data/ B) pasted by hand C) a mix. Work from this source in every later prompt.
3. Fill org/settings.md one line at a time and read it back: deal code name (never the company name); process type; sector; the named approver (one person, never a team); screen criteria; comps as-of date; process stage. Re ask any vague answer once, naming the part. Never fill a default.
</ask_in_order>

<rules>
Evidence tiers, used in every prompt: TIER 1 audited statement, executed agreement or filing. TIER 2 a keyed or exported figure (data room schedule, model output). TIER 3 a management claim, a projection or anything typed from memory, which generates a question and never a number. Every load bearing figure carries its tier and source file.
Flags: each finding is CHANGES THE DECISION, WORTH A QUESTION or EXPLAINED BY CONTEXT, tested first against each agent's "Looks wrong, is normal" line. Only the first reaches a verdict. A flag explained by context is closed and does not come back. Items checked and normal go on one untagged line.
Ties agree at the precision the figure is printed in: $6.39 million ties to a source that rounds to 6.39. Model figures tie to the cent. A difference that survives rounding is a BREAK.
Blocks: a block stops the VERDICT, never the analysis. Only a figure that does not tie, a client facing item without a PASS for that exact version, and integrity failures block. A missing document is a question. Always print what happens by default if nobody acts: the document stays DRAFT, nothing is released.
Humans own: anything to a client, buyer, counterparty, lender, counsel or regulator; every price or valuation statement; data room staging; buyer list changes before outreach. A release is one line the named approver writes by hand in org/release-log.md. Agents are told never to write it and a deny rule blocks the edit tool; neither is a security boundary.
Saved files go in out/ marked DRAFT. Stance: neutral colleague who has done this before.
</rules>

<adapt>
Small team: keep deal-captain, data-room-indexer, number-checker and cim-drafter first. To drop an agent, delete its file, remove it from scripts/roster.json and from the list and the count in "Delegate only to your 9 specialists" in .claude/agents/deal-captain.md, then rerun the check. To change an agent's model or tools, edit its file and its row in scripts/roster.json together. Never edit scripts/check_deal.py to make a change pass.
</adapt>

After the answers, print a run card: the prompts to run in order, the settings, and the one thing that will stop the run. Then stop.
Click to copy
Before we trust any agent, check the job on a sample with a known answer. Work in Claude Code (the files are in data/sample/) or in chat. Use only the data below.

<role>Neutral senior associate. You tie each figure in a draft CIM and a draft model to its source and say whether it can leave the team.</role>

<sample>
SYNTHETIC. Harborline Packaging Co. is a fictional company.
source (TIER 1, audited): revenue FY2023 41,200,000; FY2025 52,300,000. Reported EBITDA FY2025 5,510,000. Addbacks FY2025: owner compensation 420,000; facility relocation 310,000; legal settlement 150,000. Customer Northcoast Foods FY2025 revenue 11,506,000. Balance sheet 2025-12-31: total debt 14,200,000; cash 2,150,000.
comps (TIER 2): peer multiples 6.4, 6.8, 7.0, 7.4, 7.9, 8.3.
CIM draft: 1) revenue FY2025 $52.3 million. 2) FY2025 adjusted EBITDA $6.93 million. 3) the bridge in the financial section ends at adjusted EBITDA $6.39 million. 4) largest customer 22% of FY2025 revenue. 5) revenue CAGR FY2023 to FY2025 12.7%. 6) peers trade at a median 7.2x.
model draft: entry multiple 7.5; ltm adjusted EBITDA 6,390,000; entry EV 47,925,000; net debt (audited balance sheet date, used as the net debt at close) 10,200,000; equity purchase price 37,725,000.
</sample>

<task>
Tie every numbered CIM figure and every model line to the source. Print: figure, where it appears, claimed, source working, difference, TIES or BREAK, tier. Then the verdict PASS or BLOCK, what unblocks it, and what happens by default.
</task>

<expected>
Expected output, with the working: adjusted EBITDA = 5,510,000 + 420,000 + 310,000 + 150,000 = 6,390,000. Net debt = 14,200,000 - 2,150,000 = 12,050,000. EV = 7.5 x 6,390,000 = 47,925,000. CAGR = (52,300,000 / 41,200,000)^(1/2) - 1 = 12.7%. Customer = 11,506,000 / 52,300,000 = 22.0%. Median of the six multiples = (7.0 + 7.4) / 2 = 7.2.
1 TIES (52.3 at one decimal). 2 BREAK: claimed 6.93, source 6.39, difference 0.54 million; the bridge in item 3 shows 6.39, so the CIM disagrees with itself; name both. 3 TIES. 4 TIES. 5 TIES. 6 TIES. Model: entry EV TIES; net debt BREAK: model 10,200,000, source 12,050,000, difference 1,850,000; equity purchase price 37,725,000 is internally consistent with the wrong net debt, source 35,875,000, BREAK.
Entry 7.5x against the 7.2x peer median: EXPLAINED BY CONTEXT, control premium. CHANGES THE DECISION: items 2 and the net debt line. Verdict BLOCK. Default if nobody acts: the CIM stays DRAFT, nothing is released.
</expected>

<constraints>
Compare line by line. If one figure does not match, say which and STOP, do not load real data until it matches. MATCH is judged on substance: a cleared normal item counts as EXPLAINED BY CONTEXT.
Then run it again with the cash line deleted from the balance sheet. The correct result is a STOP naming the missing cash figure, net debt OPEN, no partial tie and the verdict OPEN. Back solving cash from the model is the failure, and so is stating what the cash would have to be, even to reject it.
<trap>Two files that agree with each other can both disagree with the audited statement. The model foots, and is wrong: its net debt is internally consistent. Tie to the statement, not to each other.</trap>
<review_gate>Your human signs off before anything leaves the team.</review_gate>
</constraints>
Click to copy
<role>Engineer who trusts a check only after seeing it fail.</role>

<task>
In the ib-10-agent-deal-team folder: rename .claude/agents/number-checker.md to number-checker.md.off, run python3 scripts/check_deal.py and print the output. It must FAIL and name number-checker. Rename it back, run the check again and print the output. It must say OK with 10 agent files. Then print `ls .claude/agents | wc -l` (expect 10).
</task>

<checks>
What the check enforces, so the human knows what it protects: exactly the 10 files in scripts/roster.json; each has name, a quoted description, a tools line and the roster model; no agent has a network or connector tool; the captain has a bare Agent tool and names exactly the 9 specialists; no specialist can spawn agents; each body has exactly one Job line, one Reads line naming paths that exist in this folder, one STOP and ask line, the default if nobody acts, and "You prepare. A named human approves."; the number checker says PASS, BLOCK and every figure; settings.json denies network tools and edits to org/release-log.md.
</checks>

<trap>Do not put a type list in the captain's Agent( ). The docs say that list applies to the main thread only, and the finance team test on Claude Code 2.1.295 showed a list also hid a manager's specialists. A bare Agent worked, so the guard is the delegate sentence in the captain body, which the check enforces.</trap>
<stop>If the first run does not fail, the check is not reading the folder: say so and stop. If the second run fails, print the failing lines and go to prompt 11.</stop>
Click to copy
<role>Engineer keeping the agent files and the roster in step.</role>

<task>
Print this roster as a table from .claude/agents/*.md: agent, team, model, tools, job, files read, stop rule. Compare it with scripts/roster.json and say any difference. Change nothing unless the human asks; for a change, edit the agent file and its roster row together, then rerun python3 scripts/check_deal.py.
</task>

<roster>
O = Claude Opus 5.5, S = Claude Sonnet 5.5. R = Read, Grep, Glob. B = R plus Bash. Specialists hand their work back as text; only cim-drafter writes files, inside out/, marked DRAFT.
deal-captain | O | Agent, R, Write, Bash | routes requests, ties answers to the release rules, briefs the human, never computes, never approves
Origination: target-screener O B | buyer-list-builder O R | cim-drafter O R plus Write
Valuation: comps-builder O B | precedent-analyst O B | lbo-modeler O B
Execution: data-room-indexer S R | number-checker O B | process-tracker S R
</roster>

<trap>Leaving tools off a file makes that agent inherit every tool, including write and network access. Every file names tools, and the check fails the team if one is missing. The files an agent reads are an instruction in its body plus the deny rules in .claude/settings.json; neither is a security boundary, so keep material you must hide out of this folder.</trap>
<stop>If the files and scripts/roster.json disagree and the human did not ask for a change, stop and show the difference. Do not edit the check.</stop>
Click to copy
<role>Deal team lead writing down who may release what.</role>

<task>
Read org/release-rules.md and org/settings.md. Ask the human, one question at a time, for the named approver's full name and the stage of the process (pre NDA, post NDA, post IOI). Write both into org/settings.md. Then print the release table: item (CIM, teaser, model, buyer list, process letter, outreach draft, Q&A answer, any price or range), who may release it, what must exist first (a PASS from number-checker for that exact file version, then the approver's line in org/release-log.md), and the default if nobody acts: it stays DRAFT.
Show the human the release line format: RELEASED | item | file version read by number-checker | approver | date. Tell them to write that line themselves in org/release-log.md after they have read the document: agents are told not to, and .claude/settings.json denies the edit tool on that file (Bash is not covered, so treat it as a guard, not a lock). Do not offer to write it.
</task>

<constraints>
Work from the data source selected in prompt 01. Counsel review of buyer facing statements, and the staging of the data room, stay with the named approver and counsel; say so once.
<trap>A release the log does not show did not happen. The send date of a release item (CIM, teaser, model, buyer list, process letter, outreach, Q&A, price) in the process log with no release line is an integrity failure to report, not a clerical gap to tidy. An NDA is a legal step, not a release item.</trap>
<stop>If the human names a team or two people as approver, ask once for one person and stop until they give one.</stop>
<review_gate>The named approver reads the table and confirms it.</review_gate>
</constraints>
Click to copy
<role>Deal Captain running the chain on a sample with a known answer.</role>

<task>
Run in Claude Code from the folder: `claude --agent deal-captain`, then this request. Use data/sample/ for every file and data/sample/settings-sample.md as the settings file for this run only; do not change org/settings.md. Request: "Pre release review of the draft CIM and model for HARBOR. Index the data room, rebuild the peer median from comps.csv, tie every figure in the CIM and the model to source, show the process status, and tell me whether anything may go to a buyer."
The captain hands data-room-indexer, comps-builder, number-checker and process-tracker every file in data/sample with a line saying which file is which.
</task>

<expected>
Handoffs go deal-captain to each specialist and back. Data room: 9 documents, 7 received, top 5 customer contracts and the litigation summary requested not received (open inputs, WORTH A QUESTION at most, not a flag on the CIM). Comps: six multiples, median 7.2x, mean 7.30x. Number checker: CIM adjusted EBITDA in the executive summary 6.93 against 6.39 BREAK, the bridge disagrees with it; model net debt (basis SOURCE, balance sheet 2025-12-31) 10,200,000 against 12,050,000 BREAK and equity purchase price 37,725,000 against 35,875,000 BREAK; every other figure TIES; the 7.5x entry against 7.2x median EXPLAINED BY CONTEXT. Verdict BLOCK. Process tracker: three buyer codes, CIM sent 0, both tier A buyers HELD for CIM release; the NDA dates are not release items and raise no flag. The model's ASSUMED inputs (7.5, 4.0, 2.0) are listed once as assumptions, not flagged. Digest: two decisions needed, default CIM stays DRAFT, nothing released, org/release-log.md untouched.
</expected>

<constraints>
PASS for this prompt means: the handoffs ran captain to specialist, both breaks were found with the exact figures, no false BREAK on the normal items, and nothing was sent, written to the release log or left unmarked DRAFT. Then run the same request on data/sample-clean/: the expected result is every figure TIES to source at its printed precision, verdict PASS for those file versions, and the digest still says nothing is released until the named approver writes the line. If both pass, write `PASS prompt 06` with the date to org/decision-log.md.
<trap>An agent that cannot start under an agent limit may leave its manager doing its work. If a specialist failed to start, say so, rerun it, and never present the captain's work as the specialist's.</trap>
<stop>If a figure in the expected block differs from what ran, say which and stop. Do not load real data until both runs pass.</stop>
<review_gate>You read the two digests before moving on.</review_gate>
</constraints>
Click to copy
<role>Neutral origination banker. Work through the deal captain: target-screener, buyer-list-builder, cim-drafter.</role>

<task>
Start `claude --agent deal-captain`. Choose the track from prompt 01: sell-side (buyer list, then CIM) or buy-side or corporate development (screen, then the file for the shortlisted target). Hand each specialist every file in data/ that bears on its task.
1. Screen (target-screener): apply org/settings.md criteria to the list in data/, reject with the criterion named, rank the rest with one source each.
2. Buyer list (buyer-list-builder): tiers A, B, C with the logic and a code per name; competitors marked clean team only.
3. CIM draft (cim-drafter): sections from the audited statements and addback schedule, source appendix, bracketed requests for gaps, projections labeled MANAGEMENT PROJECTION, customers as codes before NDA, saved in out/ with first line DRAFT, not released, not verified.
</task>

<constraints>
Work from the data source selected in prompt 01. Opus 5.5 for all three.
<trap>A CIM that reads like marketing is discounted as marketing. The one that holds price has numbers the buyer diligence confirms. Draft to survive confirmation: show every addback, because the buyer's quality of earnings will find the one you left out.</trap>
<stop>If the audited statements or the addback schedule are not in data/, the CIM drafter writes the other sections and lists those two as open inputs. The financial section is not drafted from the management deck.</stop>
<review_gate>Nothing here leaves the team. The captain sends the CIM draft to number-checker (prompt 10) before the named approver reads it.</review_gate>
</constraints>
Click to copy
<role>Neutral valuation associate. Work through the deal captain: comps-builder, precedent-analyst, lbo-modeler.</role>

<task>
Start `claude --agent deal-captain`. Hand each specialist the files in data/ that bear on its task.
1. Comps (comps-builder): multiple = EV over metric, computed with scripts/tie.py, one basis, one as-of date from settings, exclusions listed, mean and median.
2. Precedents (precedent-analyst): only deals in the file, multiple computed, undisclosed deals excluded and listed, median and range, window stated.
3. First cut LBO (lbo-modeler): entry EV = entry multiple times LTM adjusted EBITDA from the source schedule; net debt = balance sheet debt less cash; equity purchase price = EV less net debt; total uses = EV plus fees; sponsor equity = total uses less senior debt. Every input SOURCE or ASSUMED, assumed ones listed apart. First line: first cut, not a diligence model.
The captain shows the entry multiple against both the comps median and the precedent range, side by side, and sends the model to number-checker.
</task>

<constraints>
Work from the data source selected in prompt 01. Opus 5.5 for all three. Every number comes from a file or a script, never from memory: no market multiple is supplied by this pack.
<trap>Precedent multiples carry a control premium, so they sit above trading multiples. Blending the two into one number, or flagging an entry above the trading median, is the wrong comparison. Compare the entry with precedents, show trading beside it.</trap>
<stop>If a peer lacks EV or the as-of date, the comps builder stops on that peer and does not estimate. If balance sheet debt or cash is missing, the LBO modeler prints no net debt and no equity price, only what is missing.</stop>
<review_gate>The named approver reads any valuation statement before it leaves the team: it is a price statement.</review_gate>
</constraints>
Click to copy
<role>Neutral process manager. Work through the deal captain: data-room-indexer, process-tracker.</role>

<task>
Start `claude --agent deal-captain`.
1. Data room (data-room-indexer): table of folder, document, status, stage (NDA, IOI, clean team only), the missing list with owners, and a check that nothing sits in an earlier stage than its staging rule allows.
2. Process (process-tracker): per buyer code the tier, NDA, CIM sent, IOI and next milestone; open items by age; every buyer facing step with no release line shown HELD.
The captain lists the open inputs that would change a figure or the verdict and puts the rest on one line.
</task>

<constraints>
Work from the data source selected in prompt 01. Sonnet 5.5 is set on these two agents because the job is reading and tabulating; do not switch the model mid prompt.
<trap>Opening the whole room at NDA hands a competitor the customer list. A customer contract in an NDA stage folder is a leak, not a tidy up. Customer names and pricing stage late and clean team only.</trap>
<stop>If the listing has no status column, the indexer stops and asks for it. If the send date of a release item has no release line, the tracker reports it and asks; it does not change the log.</stop>
<review_gate>Counsel approves the staging map before the room opens. The named approver owns it.</review_gate>
</constraints>
Click to copy
<role>Reviewing partner who did not draft this book and checks it cold. Run through number-checker.</role>

<task>
Start `claude --agent deal-captain` and ask for the pre release tie out of the CIM draft and the model. The captain hands number-checker every file in data/ and says which is which. Number-checker lists every figure in the CIM draft and the model, finds its source, ties it with scripts/tie.py, and returns the tie table and a verdict, PASS or BLOCK, naming the file versions it read.
Then the captain re-derives two figures itself from the source files, adjusted EBITDA and net debt, before it reports that the agents agree. If either differs from number-checker's figure, the captain STOPS, shows both side by side and gives no verdict until a named person resolves it.
</task>

<constraints>
Work from the data source selected in prompt 01. Opus 5.5.
Ties agree at the precision the figure is printed in; model figures tie to the cent. A difference that survives rounding is a BREAK. The same figure at two values in two places is a BREAK, and both places are named. On BLOCK, keep checking every other figure, so nothing hides behind the gate, and print what happens by default: the document stays DRAFT.
The only unblock is the source corrected and the check rerun, or the named approver resolving the named discrepancy in writing in org/decision-log.md. Constructing an argument for why a BREAK does not matter is itself the failure mode. That rule covers arithmetic ties only. A labeled projection that ties to the model, a display rounding and an entry multiple above the comps median are not breaks.
<trap>A PASS is a statement about the file versions read. Edit the CIM after the check and the PASS is void. A wrong number in a CIM is not a typo: found in diligence it reprices the whole book as unreliable.</trap>
<stop>If a source document a figure needs is missing, that figure is OPEN, no partial tie is printed, and the verdict is OPEN, never PASS.</stop>
<review_gate>PASS or BLOCK or OPEN, nothing in between. A PASS still releases nothing: the named approver writes the release line.</review_gate>
</constraints>
Click to copy
<role>Engineer diagnosing a Claude Code agent team from its files.</role>

<task>
The human gives a symptom. Find the cause from the files and the check output, fix it, rerun python3 scripts/check_deal.py, and say what you changed. Known failures:
1. Symptom: the captain does the specialist's work itself, or reports a specialist as not found. Cause: an Agent( ) type list on the captain, or a specialist file that failed to load (a description with a colon and no quotes breaks the frontmatter). Fix: bare Agent on the captain, quote every description, rerun the check.
2. Symptom: the check says .claude/agents/ is missing. Cause: the unzip dropped the hidden folder. Fix: unzip again from a terminal.
3. Symptom: Claude Code asks permission to edit a file under .claude/. Cause: the folder is guarded and settings rules do not pre approve it. Fix: approve for the session, or edit the file by hand outside Claude Code.
4. Symptom: a tie reports BREAK on display rounding. Cause: the figure was compared to the source at full precision. Fix: use scripts/tie.py shown with the printed precision.
5. Symptom: the number checker passes a CIM that still has a wrong number. Cause: it was handed the model but not the audited statement, or the CIM changed after the check. Fix: hand it every file and rerun after each edit.
6. Symptom: agents report a false missing document. Cause: the captain handed half the files. Fix: every handoff names all files in data/ and says which is which.
</task>

<constraints>
Work from the data source selected in prompt 01. Opus 5.5. Never edit scripts/check_deal.py to make a failure pass.
<trap>Fixing the symptom in one agent file and not in scripts/roster.json makes the check fail the next run. Change the file and its roster row together.</trap>
<stop>If the symptom is not in this list, ask for the exact error text before changing anything.</stop>
<review_gate>The human reads the diff before relying on the fix.</review_gate>
</constraints>
Click to copy
<role>Analyst producing the one page the Monday deal call runs on.</role>

<task>
Only after prompt 10 returned PASS or BLOCK with a tie table: generate one self contained HTML file, out/deal-view-DRAFT.html, from the tie table, the data room index and the process table you already produced. Panels: the tie table with TIES and BREAK colored apart; the verdict with the version it covers; data room status by folder; buyers by code and tier with HELD marks; open items by age. Inline CSS only, no external assets, readable printed. Buyer codes and the deal code only, never real names. Put DRAFT across the top.
</task>

<constraints>
Work from the data source selected in prompt 01. Opus 5.5. Every panel traces to an earlier prompt step; no new figure appears here. If prompt 10 has not run, refuse and say so.
<trap>A status page with real buyer names on a screen in a seller's office is how processes leak. Codes everywhere.</trap>
<stop>If the tie table is missing, stop and name prompt 10.</stop>
<review_gate>The named approver reads the page before anyone outside the team sees it.</review_gate>
</constraints>

From a working build to an operating system.

For investment bankers, boutique M&A advisers and corp dev leads: 10 ready made Claude Code agents for origination, valuation and execution that tie every CIM and model figure to source, as a tie out checklist

Path A · free

Run the build independently

The setup rail and every prompt above are free and stay free. The cost is your time, and the risk of wiring it wrong on live data.

Back to the prompts
Path B · done with you

Connect it to your operation

We would wire the team into your deal workflow: read only feeds from your data room and model into the project folder, your release approvals built into the release rules, the tie table kept where your compliance team expects it, all inside your own tenant.

Book a build call
data safety

Before you use live numbers

  • • Run last quarter's numbers first. Live data is not a test bed.
  • • Nothing here uploads to us. It runs in your own Claude account, on your own machine.
  • • A named human reviews and signs every output before it reaches a board, lender, or client.
  • • Mask account numbers and names to the minimum the task needs.
the fine print

Straight answers on ownership

Prompt set authored by consultance.ai. The agent file format follows the Claude Code documentation. Your documents and data go only to your own Claude account, in your own tenant on a Team or Enterprise plan or with training switched off, and stay on your own machine; we never see them. The agents prepare work for a named human to approve and are given no send or connector tool. The sample company is fictional. This is not legal, valuation, accounting or investment advice.

Bring this workflow into your operation.

Book a build callBack to the library

Want this wired into your stack instead of running it yourself? That is our AI deal desk and finance automation service.

Newsletter

New builds, as they ship

One short note when a new build ships: what it does, who it is for, and how to run it in your own Claude.

Free. One email a week at most. Unsubscribe in one click.

More like this

Related builds

All builds
Finance and data
Finance and data

Ramp Claude Connector Setup Guide

For controllers and finance ops teams on Ramp: Claude setup steps plus 12 read only prompts for spend baseline, close readiness, accruals and flux. Replaces the manual Ramp export to Excel.

Setup guide
Finance and data
Finance and data

Claude and NetSuite Setup Guide

For controllers, CFOs and FP&A leads on NetSuite: the setup steps for Oracle's Claude connector plus 12 read only prompts for close, receivables, payables and cash.

Setup guide
Finance and data
Finance and data

QuickBooks and Claude Setup Guide

For owners, controllers and fractional CFOs on QuickBooks Online: connect Intuit's QuickBooks connector to Claude, then run 11 prompts for cash, receivables, month end, billing drafts and a tie out.

Setup guide
Get the free kitBook a call

From independent build to integrated workflow

What you have

The free version above. It runs this read on a file you paste in, in your own Claude. Yours to keep.

What we install

The same read, wired into your investment banking stack, running the second a report lands. Nothing to upload, no new login.

See the installed version

Share with your workflow owner.

Bring the relevant team into the conversation with the build and setup guide.

Forward by email
in one line

What is Investment Banking AI Agent Team?

Investment Banking AI Agent Team is a finance and data build in the consultance.ai AI Build Library. For investment bankers, boutique M&A advisers and corp dev leads: 10 ready made Claude Code agents for origination, valuation and execution that tie every CIM and model figure to source, as a tie out checklist. A named human releases anything client facing. It fits Investment bankers, boutique M&A advisers, corporate development leads and deal CFOs who want a written deal team of AI agents for screening, buyer lists, the CIM, comps, precedents, a first cut LBO, the data room and the process, built as plain files in their own Claude Code and tested on a fictional sample before any real deal goes in. Setup difficulty is Medium, with 4 plain-English steps.

What does Investment Banking AI Agent Team do?

For investment bankers, boutique M&A advisers and corp dev leads: 10 ready made Claude Code agents for origination, valuation and execution that tie every CIM and model figure to source, as a tie out checklist. A named human releases anything client facing.

Who is Investment Banking AI Agent Team for?

It fits Investment bankers, boutique M&A advisers, corporate development leads and deal CFOs who want a written deal team of AI agents for screening, buyer lists, the CIM, comps, precedents, a first cut LBO, the data room and the process, built as plain files in their own Claude Code and tested on a fictional sample before any real deal goes in.

How hard is Investment Banking AI Agent Team to set up?

Medium to set up — one guided setup instruction covering 4 plain-English steps, plus 12 ready-to-run prompts on the resource page.

How would consultance.ai build this out?

We would wire the team into your deal workflow: read only feeds from your data room and model into the project folder, your release approvals built into the release rules, the tie table kept where your compliance team expects it, all inside your own tenant.

What are the licensing terms?

Prompt set authored by consultance.ai. The agent file format follows the Claude Code documentation. Your documents and data go only to your own Claude account, in your own tenant on a Team or Enterprise plan or with training switched off, and stay on your own machine; we never see them. The agents prepare work for a named human to approve and are given no send or connector tool. The sample company is fictional. This is not legal, valuation, accounting or investment advice.

Connect this build to your workflow.

Discuss how Investment Banking AI Agent Team fits your systems, controls, and team. We define the integration, review process, and deployment requirements with you.

This build comes from our AI consulting and AI implementation practice — see the full AI in finance guide and how we work with CFO teams.

Book an audit