memo-builder

$npx mdskill add openai/role-specific-plugins/memo-builder

Before searching connectors, retrieving evidence, or drafting output, run `python3 skills/user-context/scripts/user_context_preflight.py` with the shell working directory set to this plugin's root, and follow the returned `saved_context`, `source_category_plan`, and `next_action`. Set the working directory before the first attempt; do not probe alternate relative paths. Missing context must not block the requested workflow. Do not initialize state or run onboarding during ordinary workflow work.

SKILL.md

.github/skills/memo-builderView on GitHub ↗
---
name: memo-builder
description: Use when drafting or reviewing formal public-equity investment memos. Do not use for live trade construction or credit-first memos; use long-short-pitch or Credit Markets as appropriate.
---

# Memo Builder

## Skill Configuration

### User Context Preflight

Before searching connectors, retrieving evidence, or drafting output, run `python3 skills/user-context/scripts/user_context_preflight.py` with the shell working directory set to this plugin's root, and follow the returned `saved_context`, `source_category_plan`, and `next_action`. Set the working directory before the first attempt; do not probe alternate relative paths. Missing context must not block the requested workflow. Do not initialize state or run onboarding during ordinary workflow work.

If `next_action.id = "offer_orientation"` and the parent router has not already handled it, complete the requested work first and append its one-line optional setup offer once.

### Source Resolution

Load `../../shared/workflow-source-resolution.md`. Use `source_category_plan` lazily and attempt only the categories needed for this workflow: `company_filings_ir`, `earnings_transcripts_presentations`, `internal_research`, `portfolio_models_trackers`, and `market_data_estimates`.

## Deliverable Intake

Apply the presentation-surface precedence in `../../shared/deliverable-intake-policy.md`. This workflow's natural artifact is a polished standalone HTML investment memo. Do not choose chat-only output unless the user explicitly requests a lightweight response.

Before source gathering or analysis for a new standalone reader-facing hero deliverable, load `../../shared/deliverable-intake-policy.md` and use its adaptive `request_user_input` preflight for materially unresolved format, depth, audience/use, or focus choices. Reuse resolved preferences in downstream steps; when acting only as input to an owning workflow, do not re-prompt.

## Goal

Produce decision-grade Public Equity Investing memos that are evidence-led, numerically auditable, and ready for PM, committee, client, or internal research review.

This skill owns formal written artifacts and synthesis. It does not own raw trade construction; use `long-short-pitch` first when the user needs variant perception, trade expression, sizing considerations, add/trim/exit/cover rules, or pair-trade mechanics.

## Use When

Use this skill when the user asks for:

- IC memo, investment memo, committee note, client memo, research note, PM update, or equity event note
- memo rewrite, upgrade, shortening, pressure test, or QA review
- synthesis of outputs from models, comps, scenarios, earnings, event-driven equity, balance-sheet-risk, or long/short pitch work
- committee-ready framing with source posture, valuation, scenarios, risks, catalysts, open items, and recommendation

Credit-first memos route out: Use Credit Markets for credit instruments, creditworthiness, restructuring, distressed, recovery, spreads, yields, covenants, and debt security analysis. This skill may synthesize Credit Markets output only when the final deliverable is a common-equity or listed-equity memo.

Do not use when the user asks to "pitch this long/short," "make this investable," "build a pair trade," "what is the variant perception," or "what would make us cover/add/trim." Use `long-short-pitch`.

## Artifact Boundary

- Default deliverable: produce the full decision-grade memo. For a substantive investment committee memo, buy-side investment memo, or reusable/source-heavy public-equity memo, produce a polished standalone HTML investment committee memo following `../../shared/html-artifact-standard.md` unless the user requests another surface, a quick/no-file answer, `.docx`, or a standardized dashboard.
- For other substantial written memo modes, produce a polished standalone HTML memo or report appropriate to the requested audience, following `../../shared/html-artifact-standard.md`, unless another surface is selected.
- Chat can be the presentation surface only when the user explicitly requests a lightweight response; Markdown is formatting, not the deliverable contract.
- This local skill does not ship native `.docx` or `.xlsx` templates/scripts. Route workbook-backed outputs to the model/workbook skills.
- Create `.docx` or `.xlsx` artifacts only when the user explicitly asks and an appropriate document/spreadsheet tool, template, or user-provided file is available.
- If no document/template support is available, provide the memo in chat or HTML report form and keep JSON/Markdown support files out of the lead handoff unless explicitly requested.
- Use `dashboard-builder` only when the user explicitly asks for a standardized dashboard, reusable dashboard template, PM cockpit, or structured payload-driven render. On that path, load `references/DASHBOARD_PACK.md`; `memo-builder` owns memo synthesis, narrative architecture, evidence selection, and audience framing, while `dashboard-builder` owns the standardized shell/rendering/QA. Build a `public_equity_investing_dashboard.v1` payload as an internal renderer input.

## Source And Mode Selection

Use the strongest available source tier and label assumptions, stale data, proxies, and unsupported figures. Load `references/source-policy.md` for source priority and minimum inputs.

Default to the full memo mode that best fits the decision. Use a compressed mode only when the user explicitly asks for a `summary`, `short`, `quick`, `one-page`, `brief`, `TL;DR`, or review-only output:

- `ic-note`
- `investment-memo`
- `event-driven-committee-note`
- `pm-update`
- `client-research-note`
- `qa-review`

Load `references/memo-modes.md` for mode selection and `references/output-contracts.md` for section-level contracts.

## When To Invoke Support

Load `shared/support-layer-routing-contract.md` for source/data/QC/style support. Use `financial-source-of-truth` before final claims, metrics, citations, or management assertions. Use `financials-normalizer` before building from messy financials, consensus exports, guidance tables, segment data, share count, net debt, or capital allocation inputs. Use `excel-data-cleaner` before relying on malformed tables or mixed fiscal periods. Use `deck-report-qc` before circulating a memo-derived deck/report or source-heavy packet, and use `style-guide-adapter` only after substance is locked. These support artifacts stay secondary; `memo-builder` owns the memo and investment judgment.

## Sub-agent decomposition

For complex medium/large requests, use sub-agents where available; otherwise emulate the split as named workstreams. Suggested lanes: evidence, model/valuation, risks and catalysts, narrative synthesis, and memo QA. Keep this skill as the lead: reconcile conflicts, source labels, assumptions, open items, final QA, and the user-facing answer.


## Default Memo Spine

Use this full spine unless another memo mode is clearly requested:

1. `Recommendation / Decision Ask`
2. `Executive Summary`
3. `Thesis and Evidence`
4. `What Must Be True`
5. `Valuation / Scenario Work`
6. `Risks, Disconfirmers, and Mitigants`
7. `Catalysts and Monitoring`
8. `Implementation Considerations`
9. `Open Items / Data Requests`

If the memo is screen-grade because source context is thin, say so before the first metric table.

## Handoffs

Upstream inputs this skill can synthesize:

- source/evidence: `financial-source-of-truth`, `financials-normalizer`, `company-tearsheet`
- models/valuation: `equity-model-update`, `dcf-model-builder`, `three-statement-model-builder`, `comps-valuation`, `scenario-sensitivity-generator`
- earnings/research: `earnings-preview`, `earnings-deep-dive`, `initiating-coverage`
- trade/event/risk: `long-short-pitch`, `event-driven-analyzer`, `portfolio-risk-management`
- monitoring and QC: `thesis-tracker`, `catalyst-calendar`, `deck-report-qc`, `style-guide-adapter`

Use `sector-context-overlay` only when issuer economics clearly match a supported sector; load `references/sector-overlays.md` only for memo-specific sector framing.

## Rendering And Compression

- Lead with the decision ask or conclusion.
- For a standalone HTML investment committee memo, make the first-read layer a compact memo opening: recommendation / decision ask, decision hinge, what is priced in, valuation or scenario skew, and any source limitation that changes the action. Do not repeat the same recommendation across a dashboard-style hero, summary tile, and full decision panel.
- Keep background proportionate; preserve recommendation, scenario/downside, source posture, catalysts, monitoring, and open items.
- Use tables only when they compress decision-critical information.
- For long memos, put source caveats and open items near the end, but do not bury data limitations that affect the recommendation.
- Sparse source context should produce a full screen-grade memo skeleton with assumptions, missing evidence, and upgrade path, not a shortened memo.
- State source readiness in decision-specific terms when evidence supports only one direction of action, such as `sufficient to decline initiation today; insufficient to support initiation`, rather than using broad readiness labels that imply the entire underwrite is decision-grade.
- Keep citations traceable but readable in HTML: do not fragment tickers, prices, EPS ranges, percentages, dates, multiples, or metric labels into separately linked tokens.
- Before delivering standalone local HTML, visually inspect the opening viewport and decision-critical downstream sections through local headless-browser screenshots, not the in-app Browser plugin. Check desktop and narrow-screen legibility, clipping, citation density, whitespace, and that the page does not acquire horizontal overflow.

## QA

Before finalizing, verify:

- recommendation and decision hinge are clear
- material numbers are sourced, model-derived, or explicit assumptions
- downside is mechanistic, not generic
- `what must be true` items are measurable
- valuation/pricing/recovery support matches memo type
- a multi-year valuation using forward-period earnings and an exit or terminal multiple shows either present value using an explicit discount-rate / required-return assumption or annualized return / IRR versus a stated hurdle; undiscounted terminal price appreciation alone does not support initiation
- disconfirmers and monitoring triggers are present
- trade-construction asks are handed to `long-short-pitch`

Load `references/quality-workflow.md` for the full quality bar and workflow.

## Public Equity PM Judgment Layer

For substantial memos, load `shared/pm-judgment-heuristics.md` before finalizing. Audience modes: `long_only_pm`, `long_short_hf`, `sell_side_research`, `etf_index_diligence`, `public_equity_diligence`.

Memo modes to support: `buy-side-investment-memo`, `pm-update`, `sell-side-research-note`, `client-research-note`, `etf-index-diligence-note`, and `public-equity-diligence-memo`.

Required PM judgment:
- Every full memo needs a decision hinge, what must be true, what is priced in, downside mechanism, measurable disconfirmers, source posture, and action discipline.
- Build-from-scratch memo mode must include an intake checklist, source packet requirements, first-pass house view, variant wedge, priced-in debate, estimate path, valuation/skew, downside mechanism, catalysts, disconfirmers, action rules, and exact evidence needed to upgrade from screen-grade to decision-grade.
- Sell-side notes need rating/target-price debate, estimate revision bridge, variant versus Street, risk-to-rating, and compliance-safe wording.
- ETF/index notes need mandate, methodology, holdings/weights, tracking-error or benchmark implications, factor exposure, liquidity, and rebalance/corporate-action risk.

More from openai/role-specific-plugins

SkillDescription
analyze-account-signalsAnalyze fresh signals for a named account, owner portfolio, or watchlist and turn them into evidence-backed account intelligence using active Sales source categories and user-provided context.
analyze-data-qualityAssess whether tables, query results, files, or dataframes are trustworthy enough for analysis, modeling, dashboards, experiments, or pipelines. Use for grain, freshness, nulls, duplicates, schema drift, broken joins, referential integrity, distribution shifts, leakage, backfills, source mismatches, automated quality checks, and data-quality regressions.
auditAudit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, placing them in Figma or a local folder, then reporting UX, design, and accessibility findings from that evidence. Use when the user asks to audit, critique, review, inspect, assess, or evaluate a product experience.
build-business-caseBuild customer-led business cases, ROI narratives, value models, executive summaries, and customer-ready value stories from uneven customer context, metrics, transcripts, notes, and public evidence.
build-competitive-briefBuild a multi-competitor build-competitive-brief report, comparison matrix, and battlecard-style objection package using user-provided materials, optional connector-assisted research, and public evidence.
build-dashboardBuild source-backed analytical dashboards that help teams monitor performance, explore drivers, and act on product or business metrics. Use when the user needs a dashboard, scorecard, monitoring view, BI dashboard, MCP artifact dashboard, or Streamlit dashboard with clear metrics, filters, validation, and handoff.
build-reportBuild polished analytical reports for executive, product, business, and technical audiences, and act as the completion contract for Data Analytics report runs. Use when the final artifact needs an answer-first narrative, evidence-backed findings, charts/tables, caveats, source metadata, and either an MCP app report or an HTML report with Seaborn-generated charts.
catalyst-calendarUse when building public-equity-investing catalyst calendars. Do not use for full event underwriting; use event-driven-analyzer.
company-tearsheetUse when creating source-backed public issuer tearsheets. Do not use for private diligence, fund diligence, vendors, or market maps.
comps-valuationProduce Public Equity Investing comparable-company valuation in report or workbook mode. Use for peer selection, multiple analysis, valuation read-throughs, implied prices, comps dashboards, Excel or Sheets comps, refreshable peer tables, model updates, and comps workbook QA. Do not use for DCF-only, credit-security, or generic market commentary requests.