Initiating Coverage
AnthropicOfficialPublished by Anthropic
- Skill
- Workflow
- Business and productivity
- Apache-2.0
- Low risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a systematic, multi-task process for generating equity research initiation reports. It enforces a strict, single-task execution model to ensure each component of the report—company research, financial modeling, valuation analysis, chart generation, and final assembly—is completed with verified inputs before moving to the next stage. The workflow is designed to produce professional-grade documentation, including detailed financial models, valuation analysis, and visual charts, following institutional standards.
What it does
- Conducts qualitative company research including management bios and competitive analysis.
- Builds comprehensive Excel financial models with 6 essential tabs.
- Performs valuation analysis using DCF, comparables, and precedent transactions.
- Generates 25-35 professional financial charts for visual data representation.
- Assembles all components into a final, text-dense DOCX research report.
When to use it
- When you need to produce a comprehensive equity research initiation report.
- When you require a structured, step-by-step approach to financial analysis.
- When you need to maintain strict quality control across multiple research tasks.
- When you are preparing institutional-standard financial documentation.
Advantages
- Enforces a logical, dependency-aware task order.
- Ensures data integrity by verifying prerequisites before each task.
- Produces standardized, professional-grade financial outputs.
- Provides clear, granular control over the research and assembly process.
Usage examples
- “Use initiating-coverage, Task 1 for Tesla”
- The agent initiates the company research task for Tesla, producing a detailed research document.
- “Do Task 2 of initiating-coverage for Tesla”
- The agent begins the financial modeling task, requiring access to financial statements or pre-extracted data.
- “Run Task 3 for Tesla using the initiating-coverage skill”
- The agent performs valuation analysis, provided that the financial model from Task 2 is already complete.
- “I want to complete all 5 tasks for Tesla”
- The agent explains the one-task-at-a-time requirement and asks to start with Task 1.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/anthropics/initiating-coverage/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip initiating-coverage.zip -d .agents/skills
Documentation by Anthropic
Initiating Coverage
Create institutional-quality equity research initiation reports through a structured 5-task workflow. Each task must be executed separately with verified inputs.
Overview
This skill produces comprehensive first-time coverage reports following institutional standards (JPMorgan, Goldman Sachs, Morgan Stanley format). Tasks are executed individually, each verifying prerequisites before proceeding.
Default Font: Times New Roman throughout all documents (unless user specifies otherwise).
⚠️ CRITICAL: One Task at a Time
THIS SKILL OPERATES IN SINGLE-TASK MODE ONLY.
If User Requests Full Pipeline
When user requests:
"Create a coverage initiation report for [Company]"
"Write an initiation report for [Company]"
"Do the entire equity research process for [Company]"
"Complete all 5 tasks for [Company]"
Any request that implies running multiple tasks or the entire workflow
REQUIRED RESPONSE:
Ask which specific task to perform:
I can help you create an equity research initiation report for [Company]. This involves 5 separate tasks that need to be completed individually: 1. Company Research - Research business, management, industry 2. Financial Modeling - Build projection model 3. Valuation Analysis - DCF and comparable companies 4. Chart Generation - Create 25-35 charts 5. Report Assembly - Compile final report Which task would you like to start with?When user explicitly requests all tasks together:
I understand you'd like to complete the entire initiation report pipeline. Currently, this skill supports executing one task at a time, which allows for better quality control and review at each stage. We're working on a seamless end-to-end workflow that will make this process more automated, but for now, we'll need to complete each task separately. Would you like to start with Task 1 (Company Research)?Never automatically assume which task to start - always ask user to confirm.
Never execute multiple tasks in sequence - complete one task, deliver outputs, then wait for next user request.
Task Execution Rules
✅ Execute exactly ONE task per user request
✅ Always verify prerequisites before starting a task
✅ Deliver task outputs and confirm completion
✅ Wait for user to explicitly request the next task
❌ Never chain multiple tasks together automatically
❌ Never assume user wants to proceed to next task
❌ Never execute Tasks 3-5 without verifying required inputs exist
⚠️ Deliverables Policy: NO SHORTCUTS
DELIVER ONLY THE SPECIFIED OUTPUTS. DO NOT CREATE EXTRA DOCUMENTS.
Each task specifies exact deliverables. Do NOT create:
❌ "Completion summaries"
❌ "Executive summaries"
❌ "Quick reference guides"
❌ "Next steps documents"
❌ "Task completion reports"
❌ Any other "helpful" documentation not explicitly specified
Why: These extras waste context and are not part of the professional workflow.
What TO deliver:
✅ Task 1: Research document (.md) — NOTHING ELSE
✅ Task 2: Financial model (.xlsx) — NOTHING ELSE
✅ Task 3: Valuation analysis (.md) + Excel tabs added to Task 2 file — NOTHING ELSE
✅ Task 4: Charts zip file (.zip) — NOTHING ELSE
✅ Task 5: Final report (.docx) — NOTHING ELSE
If a deliverable is not listed above, DO NOT CREATE IT.
Task Selection
Select which task to execute:
| Task | Name | Prerequisites | Output |
|---|---|---|---|
| 1 | Company Research | Company name/ticker | 6-8K word document |
| 2 | Financial Modeling | 10-K or financials access | Excel model (6 tabs) |
| 3 | Valuation Analysis | Financial model (Task 2) | Valuation + price target |
| 4 | Chart Generation | Tasks 1, 2, 3 + external data | 25-35 PNG/JPG charts |
| 5 | Report Assembly | ALL previous tasks (1-4) | 30-50 page DOCX report |
How to Use This Skill
User Request Patterns and Responses
Pattern 1: User specifies a specific task
User: "Use initiating-coverage, Task 1 for Tesla"
Response: ✅ Execute Task 1 immediatelyPattern 2: User asks for "initiation report" or "full pipeline"
User: "Create a coverage initiation report for Tesla"
Response: ❌ DO NOT start any task automatically
✅ Ask which task to start with (see template above)Pattern 3: User wants to do "all tasks" or "entire workflow"
User: "I want to complete all 5 tasks for Tesla"
Response: ❌ DO NOT chain tasks together
✅ Explain one-at-a-time limitation (see template above)
✅ Ask if they want to start with Task 1Correct Usage Examples
Executing a single task:
"Use initiating-coverage skill, Task 1 for Tesla"
"Do Task 2 of initiating-coverage for Tesla"
"Run Task 3 for Tesla using the initiating-coverage skill"Completing full report (requires 5 separate requests):
Request 1: "Do Task 1 for Tesla" → Complete → Deliver outputs
Request 2: "Do Task 2 for Tesla" → Complete → Deliver outputs
Request 3: "Do Task 3 for Tesla" → Complete → Deliver outputs
Request 4: "Do Task 4 for Tesla" → Complete → Deliver outputs
Request 5: "Do Task 5 for Tesla" → Complete → Deliver outputsTask Execution Order
For a complete initiation report, tasks must be executed in separate user requests following this order:
Request 1: Task 1 - Company Research (independent)
↓ [User reviews outputs and requests next task]
Request 2: Task 2 - Financial Modeling (independent)
↓ [User reviews outputs and requests next task]
Request 3: Task 3 - Valuation Analysis (requires Task 2 output)
↓ [User reviews outputs and requests next task]
Request 4: Task 4 - Chart Generation (requires Tasks 2 & 3 outputs)
↓ [User reviews outputs and requests next task]
Request 5: Task 5 - Report Assembly (requires ALL previous task outputs)Note: Tasks 1 and 2 can be run in any order. Tasks 3-5 have strict dependencies and must verify inputs before proceeding.
Task 1: Company Research
Purpose: Research company's business, management, competitive position, industry, and risks.
Prerequisites: ✅ None (fully independent)
Company name or ticker symbol
Process:
Verify company name/ticker provided
Load detailed instructions from references/task1-company-research.md
Execute qualitative research workflow
Deliver research document
Output: Company Research Document (6,000-8,000 words)
Company overview & history
Management bios (300-400 words × 3-4 execs)
Products & services analysis
Industry overview
Competitive analysis (5-10 competitors)
TAM sizing
Risk assessment (8-12 risks)
File name: [Company]_Research_Document_[Date].md
⚠️ DELIVER ONLY THIS 1 FILE. NO completion summaries, no extra documents.
⚠️ DO NOT TAKE SHORTCUTS:
✅ Write full 6,000-8,000 words (not summaries)
✅ Complete 300-400 word bios for ALL 3-4 executives
✅ Analyze ALL 5-10 competitors thoroughly
✅ Cover all 8-12 risks across 4 categories
❌ Do not abbreviate sections to save time
❌ Do not skip any required sections
Verification before proceeding: None required for this task.
Task 2: Financial Modeling
Purpose: Extract historical financials and build comprehensive Excel financial model with projections and scenarios.
Prerequisites: ⚠️ Verify before starting
Required: Access to company financial data
For public companies: Latest 10-K from SEC EDGAR
For private companies: Financial statements or available estimates
OR: Pre-extracted historical financials provided by user
Optional: Company research (Task 1) for business context
Input Verification:
BEFORE STARTING - Select approach:
Option A: Extract financials (most common)
- [ ] Have access to 10-K or financial statements?
- [ ] Ready to extract 3-5 years of data?
Option B: User provided pre-extracted financials
- [ ] Historical financials file received?
- [ ] Contains income statement, cash flow, balance sheet (3-5 years)?
Optional:
- [ ] Company research (Task 1) complete for context?Process:
Verify access to financial data
Load detailed instructions from references/task2-financial-modeling.md
Step 1: Extract historical financials (if needed)
Step 2+: Build projection model with 6 essential tabs
Deliver Excel model
Output: Excel Financial Model (.xlsx)
6 essential tabs:
Revenue Model - Product breakdown (20-30 rows) + Geography breakdown (15-20 rows)
Income Statement - Full P&L with 40-50 line items, historical (3-5 years) + projected (5 years)
Cash Flow Statement - Operating/Investing/Financing activities, historical + projected
Balance Sheet - Assets/Liabilities/Equity, historical + projected
Scenarios - Bull/Base/Bear comparison table
DCF Inputs - Prepared for Task 3 valuation
File name: [Company]_Financial_Model_[Date].xlsx
⚠️ DELIVER ONLY THIS 1 FILE. NO completion summaries, no extra documents.
⚠️ DO NOT TAKE SHORTCUTS:
✅ If extracting financials: Extract ALL line items from 3 financial statements (3-5 years)
✅ Build ALL 6 projection tabs completely with full detail
✅ Create detailed revenue model with 20-30 product rows AND 15-20 geography rows
✅ Build complete income statement with 40-50 line items (not abbreviated)
✅ Include full cash flow statement and balance sheet with all line items
✅ Complete ALL three scenarios (Bull/Base/Bear) with different parameters
❌ Do not create simplified/abbreviated versions
❌ Do not skip any of the 6 essential tabs
❌ Do not skip historical financials extraction if needed
Verification before proceeding to Task 3:
[ ] Historical financials extracted (if needed) or provided
[ ] Excel file created and can be opened
[ ] Model has all 6 essential tabs (Revenue Model, Income Statement, Cash Flow, Balance Sheet, Scenarios, DCF Inputs)
[ ] Historical data (3-5 years) incorporated
[ ] Projections complete (5 years forward)
[ ] Scenarios complete (Bull/Base/Bear)
Task 3: Valuation Analysis
Purpose: Perform comprehensive valuation using DCF, comparables, and precedent transactions.
Prerequisites: ⚠️ Verify before starting
Required: Financial model from Task 2
Projected income statements
Projected cash flows
Revenue and EBITDA forecasts
DCF inputs (unlevered FCF)
⚠️ CRITICAL: DO NOT START THIS TASK UNLESS TASK 2 IS COMPLETE
This task requires the financial model from Task 2. Starting without it will result in incomplete work.
IF TASK 2 IS NOT COMPLETE: Stop immediately and inform the user that Task 2 (Financial Modeling) must be completed first. Do not attempt to proceed or create placeholder valuations.
Input Verification:
BEFORE STARTING:
- [ ] Task 2 complete? (Financial model exists)
- [ ] Model file path/location known?
- [ ] Can access projected financials from model?
Required from model:
- [ ] Projected FCF (5 years)
- [ ] Revenue projections
- [ ] EBITDA projections
- [ ] Terminal year metricsProcess:
Verify financial model is accessible
Load detailed instructions from references/task3-valuation.md
Execute valuation workflow
Deliver valuation analysis
Output: Valuation Analysis (4-6 pages + Excel tabs)
DCF analysis with sensitivity tables
Comparable companies (5-10 peers with statistical summary)
Precedent transactions (if applicable)
Valuation football field
Price target: $XX.XX
Recommendation: BUY/HOLD/SELL
Upside: XX%
Key catalysts (3-5)
Files:
[Company]_Valuation_Analysis_[Date].md(written analysis document)Excel tabs added to
[Company]_Financial_Model_[Date].xlsx(from Task 2)DCF tab with calculations
Sensitivity analysis tab
Comparable companies tab
Valuation summary tab
⚠️ DELIVER ONLY: 1 markdown file + 4 tabs added to existing Excel. NO completion summaries, no extra documents.
⚠️ DO NOT TAKE SHORTCUTS:
✅ Complete full DCF analysis with sensitivity matrix (not simplified)
✅ Analyze ALL 5-10 comparable companies with full data
✅ Include statistical summary in comps table (max/75th/median/25th/min)
✅ Create complete sensitivity analysis tab with multiple WACC and terminal growth scenarios
✅ Write full 4-6 pages of valuation analysis (not abbreviated)
✅ Research and justify price target with specific methodology
❌ Do not skip comparable company analysis
❌ Do not create simplified DCF without sensitivity
Verification before proceeding to Task 4:
[ ] Price target determined
[ ] Valuation uses multiple methods (DCF + Comps minimum)
[ ] DCF sensitivity table complete
[ ] Comparable companies table includes statistical summary
Task 4: Chart Generation
Purpose: Generate 25-35 professional financial charts for the report.
Prerequisites: ⚠️ Verify before starting
Required: Company research from Task 1
Company history and milestones (for timeline charts)
Management team and org structure (for org charts)
Product portfolio (for product charts)
Customer segmentation (for customer charts)
Competitive landscape (for competitive charts)
TAM analysis (for market size charts)
Required: Financial model from Task 2 (with Task 3 valuation tabs added)
Revenue by product/geography data (Task 2 tabs)
Margin trends (Task 2 tabs)
Scenario comparison data (Task 2 tabs)
DCF sensitivity table (Task 3 tab in same Excel file)
Comparable companies data (Task 3 tab in same Excel file)
Valuation ranges (Task 3 tab in same Excel file)
Required: External market data
Historical stock price data (Yahoo Finance, Bloomberg, etc.)
Historical valuation multiples (for historical trend charts)
⚠️ CRITICAL: DO NOT START THIS TASK UNLESS TASKS 1, 2, AND 3 ARE COMPLETE
This task requires outputs from all three previous tasks. Starting without them will result in incomplete charts.
IF ANY OF TASKS 1, 2, OR 3 ARE NOT COMPLETE: Stop immediately and inform the user which tasks need to be completed first. The specific requirements are:
Task 1: Company research document (for 9 charts)
Task 2: Financial model with all 6 tabs (for 8 charts)
Task 3: Valuation tabs added to the model (for 6 charts)
External data access (for 2 charts)
Do not attempt to create placeholder charts or skip charts due to missing data.
Input Verification:
BEFORE STARTING:
- [ ] Task 1 complete? (Company research exists)
- [ ] Task 2 complete? (Financial model exists)
- [ ] Task 3 complete? (Valuation analysis exists)
- [ ] Can access external market data sources?
Required from Task 1:
- [ ] Company history and milestones (for charts 05, 06)
- [ ] Management team structure (for chart 07)
- [ ] Product portfolio details (for chart 08)
- [ ] Customer segmentation data (for chart 09)
- [ ] Competitive landscape analysis (for charts 16, 17, 18)
- [ ] TAM sizing and market data (for chart 15)
Required from Task 2:
- [ ] Revenue by product (historical + projected) - for chart 03 ⭐
- [ ] Revenue by geography (historical + projected) - for chart 04 ⭐
- [ ] Income statement with margins (for charts 02, 10, 11)
- [ ] Cash flow statement (for chart 12)
- [ ] Scenario comparison data (for chart 14)
Required from Task 3:
- [ ] DCF sensitivity matrix - for chart 28 ⭐
- [ ] DCF components (for chart 29)
- [ ] Comparable companies data (for charts 30, 31)
- [ ] Valuation ranges - for chart 32 ⭐
Required from External Sources:
- [ ] Historical stock price data (for chart 01)
- [ ] Historical valuation multiples (for chart 34)Process:
Verify model and valuation outputs are accessible
Load detailed instructions from references/task4-chart-generation.md
Execute chart generation workflow
Package all charts into a zip file
Deliver zip file
Output: 25-35 Professional Chart Files (PNG/JPG, 300 DPI) packaged in zip
4 MANDATORY Charts (must be present) ⭐:
chart_03: Revenue by product (stacked area)
chart_04: Revenue by geography (stacked bar)
chart_28: DCF sensitivity (2-way heatmap)
chart_32: Valuation football field (horizontal bars)
25 REQUIRED Charts (specific list):
Investment Summary: chart_01
Financial Performance: charts 02, 03⭐, 04⭐, 10, 11, 12, 14
Company 101: charts 05, 06, 07, 08, 09, 15, 16
Competitive/Market: charts 17, 18
Scenario Analysis: chart 13
Valuation: charts 28⭐, 29, 30, 31, 32⭐, 33, 34
10 OPTIONAL Charts (for 26-35 range):
charts 19-27, 35 (customer acquisition, unit economics, product roadmap, etc.)
IMPORTANT: Task 5 embeds ALL charts created (25-35) for visual density (1 chart per 200-300 words).
File naming: chart_01_description.png, chart_02_description.png, etc.
Deliverable: [Company]_Charts_[Date].zip containing all 25-35 chart files + chart_index.txt
⚠️ DELIVER ONLY THIS 1 ZIP FILE. NO completion summaries, no separate chart lists, no extra documents.
⚠️ DO NOT TAKE SHORTCUTS:
✅ Create ALL 25 required charts minimum (specific list provided in task4-chart-generation.md)
✅ Include ALL 4 mandatory charts:
chart_03: Revenue by product (stacked area) ⭐
chart_04: Revenue by geography (stacked bar) ⭐
chart_28: DCF sensitivity (heatmap) ⭐
chart_32: Valuation football field ⭐
✅ Optional: Add 1-10 more charts to reach 26-35 total for greater visual density
✅ Generate professional-quality charts at 300 DPI (not low-res placeholders)
✅ Create unique, well-formatted charts for each visualization
✅ Package all charts in zip file with chart index
❌ Do not create only 10-15 charts (minimum is 25)
❌ Do not skip any of the 4 mandatory charts
❌ Do not use low-quality/placeholder images
Verification before proceeding to Task 5:
[ ] Minimum 25 chart files created (required)
[ ] All 4 mandatory charts present:
[ ] chart_03: Revenue by product ⭐
[ ] chart_04: Revenue by geography ⭐
[ ] chart_28: DCF sensitivity ⭐
[ ] chart_32: Valuation football field ⭐
[ ] All charts open and display correctly
[ ] Charts saved at 300 DPI (print quality)
[ ] Chart index created listing all files with categories
[ ] All charts packaged in zip file
[ ] File naming follows convention: chart_##_description.png
Task 5: Report Assembly
Purpose: Write and assemble the comprehensive final DOCX report.
Prerequisites: ⚠️ Verify before starting
Required: Company research from Task 1
All 6-8K words of content
Management bios
Competitive analysis
Risk assessment
Required: Financial model from Task 2
Excel workbook
All projections and scenarios
Required: Valuation analysis from Task 3
Price target and recommendation
DCF, comps, precedent transactions
All valuation data
Required: Chart files from Task 4
Zip file containing all 25-35 PNG/JPG files
Chart index included in zip
⚠️ CRITICAL: DO NOT START THIS TASK UNLESS ALL TASKS 1-4 ARE COMPLETE
This is the final assembly task. It cannot be completed without all previous work products.
IF ANY OF TASKS 1, 2, 3, OR 4 ARE NOT COMPLETE: Stop immediately and inform the user which tasks need to be completed first. The specific requirements are:
Task 1: Company research document (6-8K words)
Task 2: Financial model with all 6 tabs
Task 3: Valuation analysis with price target and recommendation
Task 4: Charts zip file with 25-35 charts
Do not attempt to create placeholder content, substitute missing sections, or assemble an incomplete report. The report requires ALL inputs to be publication-ready.
Input Verification:
BEFORE STARTING - ALL TASKS MUST BE COMPLETE:
Task 1 Verification:
- [ ] Company research document exists? (6-8K words)
- [ ] Management bios complete? (300-400 words × 3-4 execs)
- [ ] Competitive analysis complete? (5-10 competitors)
- [ ] Risk assessment complete? (8-12 risks)
Task 2 Verification:
- [ ] Financial model exists and can be opened?
- [ ] Model has projections (5 years)?
- [ ] Scenarios exist (Bull/Base/Bear)?
Task 3 Verification:
- [ ] Valuation analysis complete?
- [ ] Price target determined?
- [ ] Recommendation set? (BUY/HOLD/SELL)
- [ ] DCF and comps complete?
Task 4 Verification:
- [ ] Chart zip file exists?
- [ ] Can extract/access all 25-35 chart files from zip?
- [ ] All 4 mandatory charts present?
- [ ] Revenue by product (stacked area)
- [ ] Revenue by geography (stacked bar)
- [ ] DCF sensitivity (heatmap)
- [ ] Valuation football field
- [ ] Chart files accessible and can be opened?
IF ANY VERIFICATION FAILS: Stop and complete missing task first.Process:
CRITICAL: Verify ALL prerequisites before starting
Load detailed instructions from references/task5-report-assembly.md
Execute report assembly workflow using Claude's built-in skills:
Use DOCX skill to create and manipulate the Word document
Use XLSX skill to read Excel data from Task 2/3
Use Read tool to read Task 1 and Task 3 markdown files
Read Task 1 .md file → Convert to Word formatting → Insert charts inline
Read Task 2 .xlsx file → Extract tables → Write quantitative analysis
Read Task 3 .md file + Excel tabs → Copy/adapt valuation analysis
Insert Task 4 .png chart files throughout using DOCX skill
Create text-dense report with charts interspersed every 200-300 words
Save and deliver final DOCX report
Key Principles:
Use Claude's DOCX and XLSX skills (NOT Python libraries)
Use actual file operations (read .md/.xlsx/.png files, write .docx file)
Good equity research reports are text-dense with lots of illustrating images (60-80% page coverage, 1+ chart per page)
🔥 CRITICAL: GO ALL OUT ON THIS TASK
THIS IS THE FINAL DELIVERABLE. DO NOT TAKE SHORTCUTS.
✅ Use full token budget - This is the culmination of all previous work
✅ Write every section completely - Do not summarize or abbreviate
✅ Hit ALL minimum requirements - 30+ pages, 10,000+ words, 25+ charts, 12+ tables
✅ Be thorough on projection assumptions - 2,000-3,000 words with product-by-product detail
✅ Be comprehensive on scenarios - 1,500-2,000 words with specific Bull/Base/Bear parameters
✅ Insert ALL charts from Task 4 - Not just a few, ALL 25-35 charts throughout
✅ Create ALL tables from Task 2/3 - Extract every financial table, don't skip any
✅ Use Task 1 content verbatim - Copy/paste full Company 101 sections (6-8K words)
✅ Professional quality only - This must be indistinguishable from JPMorgan/Goldman Sachs research
NEVER:
❌ "This section would include..." - WRITE THE ACTUAL SECTION
❌ "Charts would be inserted here..." - INSERT THE ACTUAL CHARTS
❌ "See financial model for details..." - EXTRACT AND INCLUDE THE DETAILS
❌ Skip sections due to length - Every section MUST be complete
❌ Abbreviate for token conservation - Use whatever tokens are needed
This is publication-ready institutional research. Spare no effort, tokens, or detail.
Output: Comprehensive Equity Research Report (.docx)
Specifications:
Length: 30-50 pages (MINIMUM 30)
Word count: 10,000-15,000 words (MINIMUM 10,000)
Charts: 25-35 embedded images
Tables: 12-20 comprehensive tables
Format: Professional DOCX with clickable hyperlinks
Structure:
Page 1: Investment Summary (INITIATING COVERAGE format)
Pages 2-5: Investment thesis & risks
Pages 6-17: Company 101
Pages 18-30: Financial analysis & projections
Pages 31-40: Valuation analysis
Pages 41-50: Appendices
File name: [Company]_Initiation_Report_[Date].docx
⚠️ DELIVER ONLY THIS 1 DOCX FILE. NO executive summaries, no "highlights" documents, no extra files.
Final Verification:
[ ] Report is 30-50 pages
[ ] Word count is 10,000-15,000
[ ] 25-35 charts embedded
[ ] 12-20 tables included
[ ] All citations are clickable hyperlinks
[ ] Numbers match financial model exactly
Input Verification Protocol
Why Input Verification Matters
Each task has strict prerequisites. Running a task without required inputs will:
Waste time with incomplete work
Produce low-quality outputs
Require rework
Always verify inputs before starting a task.
Verification Checklist by Task
Task 1: ✅ No verification needed (independent)
Task 2: Check historical financials available
Task 3: Check financial model exists and is accessible
Task 4: Check both model (Task 2) AND valuation (Task 3) exist
Task 5: Check ALL previous tasks complete (1, 2, 3, 4)
What to Do if Verification Fails
IF prerequisites are missing:
1. Stop the current task
2. Identify which prerequisite task(s) need to be completed
3. Execute the missing task(s) first
4. Return to current task once prerequisites are metExample Verification Dialogue
User: "Use initiating-coverage, Task 5 for Tesla"
Claude: "Starting Task 5: Report Assembly for Tesla
VERIFICATION - Checking prerequisites:
- Task 1 (Company research)... ❌ NOT FOUND
- Task 2 (Financial model)... ❌ NOT FOUND
- Task 3 (Valuation)... ❌ NOT FOUND
- Task 4 (Charts)... ❌ NOT FOUND
⚠️ VERIFICATION FAILED
Task 5 requires ALL previous tasks to be complete.
To proceed:
1. Complete Task 1: Company Research
2. Complete Task 2: Financial Modeling
3. Complete Task 3: Valuation Analysis
4. Complete Task 4: Chart Generation
5. Then return to Task 5
Would you like to start with Task 1 first?"Task Reference Files
Detailed instructions for each task are in separate reference files to keep this skill lean:
references/task1-company-research.md - Company research workflow
references/task2-financial-modeling.md - Financial modeling workflow
references/task3-valuation.md - Valuation methodology
Also see: references/valuation-methodologies.md for DCF/comps deep dive
references/task4-chart-generation.md - Chart generation workflow
references/task5-report-assembly.md - Report writing workflow
Also see: assets/report-template.md for report structure
Also see: assets/quality-checklist.md for quality checks
When to load reference files: Load ONLY the reference file associated with the specific task being performed. These files are very large - do not load multiple reference files at once. Read the appropriate task reference file at the start of the task for detailed step-by-step instructions.
Quality Standards
All outputs meet institutional standards from leading investment banks (JPMorgan, Goldman Sachs, Morgan Stanley):
Comprehensive: Meet all minimum requirements
Detailed: Specific data and examples, not generic statements
Quantified: Lead with numbers and metrics
Cited: Proper sources with clickable hyperlinks
Professional: Institutional-quality formatting
Accurate: All numbers verified and cross-checked
Important Notes
Task Independence
Task 1 can run anytime (no dependencies)
Task 2 can run anytime (just needs historical data)
Tasks 1 & 2 can run in parallel
Task 3 requires Task 2
Task 4 requires Tasks 2 & 3
Task 5 requires Tasks 1, 2, 3, & 4
Session Management
Same session: Outputs automatically available to subsequent tasks
Different sessions: Reference previous task outputs explicitly
"Use Task 3 with the model from yesterday at [path]"
"Use Task 5 with the research document at [path]"File Organization
Recommended structure during workflow:
ProjectFolder/
├── Task1_Research/
│ └── [Company]_Research_Document.md
├── Task2_Model/
│ └── [Company]_Financial_Model.xlsx
├── Task3_Valuation/
│ └── [Company]_Valuation_Analysis.pdf
├── Task4_Charts/
│ ├── chart_01.png
│ └── ... (25-35 files)
└── Task5_Report/
└── [Company]_Initiation_Report.docxNo End-to-End Execution
This skill does NOT support running all tasks automatically in sequence. Each task must be explicitly requested and verified.
Why: This ensures:
Quality control at each stage
Ability to review outputs before proceeding
Flexibility to pause/resume workflow
Clear verification of prerequisites
Success Criteria
A successful initiation report workflow should:
Complete all 5 tasks in order
Pass all input verifications
Meet all quality standards
Produce all required deliverables
Numbers cross-check between outputs
Final report is publication-ready
Output quality: Institutional (JPMorgan/Goldman/Morgan Stanley level) Use case: First-time comprehensive coverage of a company
Files
- ATTRIBUTION.mdAdded by AutoGineer937 B
- LICENSELicence file added by AutoGineer11.1 KiB
- SKILL.md29.1 KiB
- assets/quality-checklist.md9.4 KiB
- assets/report-template.md28.5 KiB
- references/task1-company-research.md11.8 KiB
- references/task2-financial-modeling.md27.2 KiB
- references/task3-valuation.md22.2 KiB
- references/task4-chart-generation.md32.1 KiB
- references/task5-report-assembly.md50.8 KiB
- references/valuation-methodologies.md13.8 KiB
references/task4-chart-generation.md
Task 4: Chart Generation - Detailed Workflow
This document provides step-by-step instructions for executing Task 4 (Chart Generation) of the initiating-coverage skill.
Task Overview
Purpose: Generate 25-35 professional financial charts for the report.
Prerequisites: ⚠️ Verify before starting
Required: Company research from Task 1
Company history, milestones (for timeline charts)
Management team, org structure (for org charts)
Product portfolio (for product charts)
Customer segmentation (for customer charts)
Competitive landscape (for competitive positioning charts)
TAM analysis (for market size charts)
Required: Financial model from Task 2
Revenue by product/geography data
Margin trends
Scenario comparison data
Required: Valuation analysis from Task 3
DCF sensitivity table
Comparable companies data
Valuation ranges
Required: External market data
Historical stock price data (Yahoo Finance, Bloomberg)
Historical valuation multiples (optional for chart 34)
⚠️ CRITICAL: DO NOT START THIS TASK UNLESS TASKS 1, 2, AND 3 ARE COMPLETE
This task requires outputs from all three previous tasks. Starting without them will result in incomplete charts.
IF ANY OF TASKS 1, 2, OR 3 ARE NOT COMPLETE: Stop immediately and inform the user which tasks need to be completed first. The specific requirements are:
Task 1: Company research document (for 9 charts)
Task 2: Financial model with all 6 tabs (for 8 charts)
Task 3: Valuation tabs added to the model (for 6 charts)
External data access (for 2 charts)
Do not attempt to create placeholder charts or skip charts due to missing data.
Output: 25-35 Professional Chart Files (PNG/JPG, 300 DPI)
Input Verification
BEFORE STARTING - CHECK ALL PREREQUISITES:
Task 1 Verification (Company Research)
[ ] Task 1 complete? (Company research document exists)
[ ] Company history and milestones documented? (for charts 05, 06)
[ ] Management team and org structure described? (for chart 07)
[ ] Product portfolio detailed? (for chart 08)
[ ] Customer segmentation analyzed? (for chart 09)
[ ] Competitive landscape mapped? (for charts 16, 17, 18)
[ ] TAM sizing completed? (for chart 15)
Task 2 Verification (Financial Model)
[ ] Task 2 complete? (Financial model Excel file exists)
[ ] Revenue by product breakdown available? (for chart 03 ⭐)
[ ] Revenue by geography breakdown available? (for chart 04 ⭐)
[ ] Historical + projected financials complete? (for charts 02, 10, 11, 12)
[ ] Scenario analysis (Bull/Base/Bear) complete? (for chart 14)
[ ] Operating metrics available? (for chart 13)
Task 3 Verification (Valuation)
[ ] Task 3 complete? (Valuation tabs added to model)
[ ] DCF sensitivity matrix exists? (for chart 28 ⭐)
[ ] DCF calculation details available? (for chart 29)
[ ] Comparable companies data collected? (for charts 30, 31)
[ ] Valuation ranges calculated? (for chart 32 ⭐)
External Data Verification
[ ] Can access historical stock price data? (Yahoo Finance, Bloomberg for chart 01)
[ ] Can access historical valuation data? (Optional, for chart 34)
IF ANY VERIFICATION FAILS:
Missing Task 1? → Complete Task 1 (Company Research) first
Missing Task 2? → Complete Task 2 (Financial Modeling) first
Missing Task 3? → Complete Task 3 (Valuation Analysis) first
Missing external data? → Gather from Yahoo Finance, Bloomberg, or similar sources
Chart Requirements: 25 Required + 10 Optional
IMPORTANT: Task 5 (Report Assembly) will embed ALL charts created throughout the report. The report requires dense visual content (1 chart every 200-300 words), so create comprehensive chart coverage.
4 MANDATORY Charts (Non-Negotiable) ⭐
These 4 charts are critical visualizations that MUST be present:
chart_03: Revenue by Product/Segment - Stacked Area Chart ⭐
chart_04: Revenue by Geography - Stacked Bar Chart ⭐
chart_28: DCF Sensitivity Analysis - 2-Way Heatmap ⭐
chart_32: Valuation Football Field - Horizontal Bar Chart ⭐
25 REQUIRED Charts (Complete Set)
Create all 25 of these charts. Each has a specific purpose in Task 5:
Investment Summary Section (1 chart):
chart_01: Stock Price Performance (12-24 months)
Financial Performance Section (6 charts):
chart_02: Revenue Growth Trajectory
chart_03: Revenue by Product - Stacked Area ⭐ MANDATORY
chart_04: Revenue by Geography - Stacked Bar ⭐ MANDATORY
chart_10: Gross Margin Evolution
chart_11: EBITDA Margin Progression
chart_12: Free Cash Flow Trend
Company 101 Section (7 charts):
chart_05: Company Overview/Timeline
chart_06: Key Milestones Timeline
chart_07: Organizational Structure
chart_08: Product Portfolio Overview
chart_09: Customer Segmentation
chart_15: Market Size Evolution (TAM)
chart_16: Competitive Positioning Matrix
Competitive & Market Section (2 charts):
chart_17: Market Share Breakdown
chart_18: Competitive Benchmarking
Scenario Analysis Section (2 charts):
chart_13: Operating Metrics Dashboard
chart_14: Scenario Comparison (Bull/Base/Bear)
Valuation Section (7 charts):
chart_28: DCF Sensitivity Heatmap ⭐ MANDATORY
chart_29: DCF Valuation Waterfall
chart_30: Trading Comps Scatter Plot
chart_31: Peer Multiples Comparison
chart_32: Valuation Football Field ⭐ MANDATORY
chart_33: Price Target Scenarios
chart_34: Historical Valuation Multiples
Total: 25 Required Charts
10 OPTIONAL Charts (For 30-35 Range)
Add these for greater visual density and storytelling (reach 26-35 total):
chart_19: Customer Acquisition Trends
chart_20: Unit Economics Evolution
chart_21: Product Roadmap Timeline
chart_22: Geographic Expansion Map
chart_23: R&D Investment Trends
chart_24: Sales & Marketing Efficiency
chart_25: Working Capital Trends
chart_26: Debt Maturity Schedule
chart_27: Ownership Structure
chart_35: Analyst Price Target Distribution
Total Range: 25-35 Charts (25 required + 0-10 optional)
Data Source Mapping for Required Charts
Understanding where each chart's data comes from:
From Task 1 (Company Research) - 9 charts
chart_05: Company Overview → Task 1: Company Overview section
chart_06: Key Milestones → Task 1: Company History section
chart_07: Org Structure → Task 1: Management Team section
chart_08: Product Portfolio → Task 1: Products & Services section
chart_09: Customer Segmentation → Task 1: Customers & Go-to-Market section
chart_15: Market Size Evolution → Task 1: Market Opportunity (TAM) section
chart_16: Competitive Positioning → Task 1: Competitive Landscape section
chart_17: Market Share → Task 1: Competitive Landscape section
chart_18: Competitive Benchmarking → Task 1: Competitive Landscape section
From Task 2 (Financial Model) - 8 charts
chart_02: Revenue Growth → Income Statement tab (Revenue row)
chart_03: Revenue by Product ⭐ → Revenue Model tab (Product breakdown)
chart_04: Revenue by Geography ⭐ → Revenue Model tab (Geography breakdown)
chart_10: Gross Margin → Income Statement tab (Gross Profit / Revenue)
chart_11: EBITDA Margin → Income Statement tab (EBITDA / Revenue)
chart_12: Free Cash Flow → Cash Flow Statement tab (CFO - CapEx)
chart_13: Operating Metrics → Multiple tabs (Income Statement, Cash Flow)
chart_14: Scenario Comparison → Scenarios tab (Bull/Base/Bear)
From Task 3 (Valuation) - 6 charts
chart_28: DCF Sensitivity ⭐ → Sensitivity Analysis tab
chart_29: DCF Waterfall → DCF tab (Enterprise Value components)
chart_30: Trading Comps Scatter → Comparable Companies tab
chart_31: Peer Multiples → Comparable Companies tab
chart_32: Valuation Football Field ⭐ → Valuation Summary tab
chart_33: Price Target Scenarios → Valuation Summary tab (or calculate from scenarios)
From External Sources - 2 charts
chart_01: Stock Price Performance → Yahoo Finance, Bloomberg, Alpha Vantage
chart_34: Historical Valuation Multiples → Yahoo Finance, Bloomberg (historical P/E, EV/EBITDA)
IMPORTANT: Require ALL three tasks (1, 2, 3) complete PLUS external data access to create all 25 required charts.
Step-by-Step Chart Generation Workflow
Step 1: Set Up Environment
Install required libraries:
pip install matplotlib seaborn pandas numpy plotlyCreate Python script header:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
from matplotlib.patches import Rectangle
import warnings
warnings.filterwarnings('ignore')
# Set global style
plt.style.use('seaborn-v0_8-darkgrid')
sns.set_palette("husl")
# Global settings
DPI = 300
FIGURE_WIDTH = 10
FIGURE_HEIGHT = 6
TITLE_FONT_SIZE = 14
AXIS_FONT_SIZE = 12
LABEL_FONT_SIZE = 10Step 2: Extract Data from Model and Valuation
A. Extract Revenue Data
# Revenue by Product (from Task 2 model)
years = [2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029]
# Extract from Excel or define manually from model
product_a = [100, 120, 145, 175, 210, 252, 302, 363, 435, 522]
product_b = [80, 95, 115, 138, 165, 198, 238, 285, 342, 411]
product_c = [50, 62, 78, 98, 122, 153, 191, 239, 299, 374]
product_d = [30, 38, 48, 61, 77, 97, 122, 153, 191, 239]
# Revenue by Geography
north_america = [150, 180, 220, 265, 320, 384, 461, 553, 664, 797]
europe = [80, 95, 115, 140, 170, 204, 245, 294, 353, 423]
asia_pacific = [40, 50, 63, 80, 101, 127, 159, 199, 249, 311]
rest_of_world = [20, 25, 32, 40, 51, 64, 80, 100, 125, 156]B. Extract Margin Data
# Margin evolution
gross_margin = [58.0, 59.2, 60.5, 61.8, 63.0, 64.5, 66.0, 67.0, 67.5, 68.0]
ebitda_margin = [12.0, 15.5, 18.8, 22.0, 25.0, 28.0, 30.5, 32.0, 33.0, 34.0]
fcf_margin = [8.0, 11.0, 14.5, 18.0, 21.0, 24.0, 26.5, 28.0, 29.0, 30.0]C. Extract DCF Sensitivity Data
# DCF Sensitivity (from Task 3 valuation)
wacc_values = [7.0, 8.0, 9.0, 10.0, 11.0, 12.0]
terminal_growth = [1.5, 2.0, 2.5, 3.0, 3.5]
# Price per share matrix (rows = WACC, columns = terminal growth)
dcf_sensitivity = np.array([
[66, 71, 76, 82, 89],
[58, 62, 67, 72, 78],
[52, 55, 59, 63, 68],
[47, 50, 53, 56, 60],
[42, 45, 48, 51, 54],
[39, 41, 44, 46, 49]
])D. Extract Valuation Ranges
# Valuation Football Field (from Task 3)
valuation_methods = ['DCF Analysis', 'Trading Comps\n(NTM)', 'Precedent\nTransactions']
valuation_low = [48, 45, 52]
valuation_high = [62, 57, 66]
current_price = 50
target_price = 55Step 3: Create Mandatory Charts
Chart 1: Revenue by Product - Stacked Area ⭐ MANDATORY
def create_revenue_by_product_chart():
"""Create revenue by product stacked area chart"""
fig, ax = plt.subplots(figsize=(10, 6))
# Create stacked area chart
ax.stackplot(years, product_a, product_b, product_c, product_d,
labels=['Product A', 'Product B', 'Product C', 'Product D'],
colors=['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728'],
alpha=0.8)
# Formatting
ax.set_xlabel('Year', fontsize=12, fontweight='bold')
ax.set_ylabel('Revenue ($M)', fontsize=12, fontweight='bold')
ax.set_title('Figure 3 - Revenue by Product/Segment (2020-2029E)',
fontsize=14, fontweight='bold', pad=20)
# Legend
ax.legend(loc='upper left', frameon=False, fontsize=10)
# Grid
ax.grid(axis='y', alpha=0.3, linestyle='--')
ax.set_axisbelow(True)
# Remove top and right spines
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
# Add vertical line to separate historical from projected
ax.axvline(x=2024, color='gray', linestyle='--', linewidth=1, alpha=0.5)
ax.text(2024.2, ax.get_ylim()[1]*0.95, 'Projected →',
fontsize=9, color='gray', ha='left')
# Source line
fig.text(0.12, 0.02, 'Source: Company data, [Firm] estimates',
fontsize=9, style='italic', color='gray')
# Save
plt.tight_layout()
plt.savefig('chart_03_revenue_by_product_stacked_area.png',
dpi=300, bbox_inches='tight', facecolor='white')
plt.close()
print("✓ Created: chart_03_revenue_by_product_stacked_area.png")
create_revenue_by_product_chart()Chart 2: Revenue by Geography - Stacked Bar ⭐ MANDATORY
def create_revenue_by_geography_chart():
"""Create revenue by geography stacked bar chart"""
years_labels = ['2020', '2021', '2022', '2023', '2024',
'2025E', '2026E', '2027E', '2028E', '2029E']
fig, ax = plt.subplots(figsize=(10, 6))
# Create stacked bar chart
width = 0.6
x = np.arange(len(years_labels))
p1 = ax.bar(x, north_america, width, label='North America', color='#1f77b4')
p2 = ax.bar(x, europe, width, bottom=north_america,
label='Europe', color='#ff7f0e')
p3 = ax.bar(x, asia_pacific, width,
bottom=np.array(north_america) + np.array(europe),
label='Asia-Pacific', color='#2ca02c')
p4 = ax.bar(x, rest_of_world, width,
bottom=np.array(north_america) + np.array(europe) + np.array(asia_pacific),
label='Rest of World', color='#d62728')
# Formatting
ax.set_xlabel('Year', fontsize=12, fontweight='bold')
ax.set_ylabel('Revenue ($M)', fontsize=12, fontweight='bold')
ax.set_title('Figure 4 - Revenue by Geography (2020-2029E)',
fontsize=14, fontweight='bold', pad=20)
ax.set_xticks(x)
ax.set_xticklabels(years_labels, rotation=45, ha='right')
# Legend
ax.legend(loc='upper left', frameon=False, fontsize=10)
# Grid
ax.grid(axis='y', alpha=0.3, linestyle='--')
ax.set_axisbelow(True)
# Remove top and right spines
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
# Source line
fig.text(0.12, 0.02, 'Source: Company data, [Firm] estimates',
fontsize=9, style='italic', color='gray')
# Save
plt.tight_layout()
plt.savefig('chart_04_revenue_by_geography_stacked_bar.png',
dpi=300, bbox_inches='tight', facecolor='white')
plt.close()
print("✓ Created: chart_04_revenue_by_geography_stacked_bar.png")
create_revenue_by_geography_chart()Chart 3: DCF Sensitivity - Heatmap ⭐ MANDATORY
def create_dcf_sensitivity_heatmap():
"""Create DCF sensitivity analysis heatmap"""
# Create DataFrame
df = pd.DataFrame(dcf_sensitivity,
index=[f'{w}%' for w in wacc_values],
columns=[f'{g}%' for g in terminal_growth])
fig, ax = plt.subplots(figsize=(8, 6))
# Create heatmap
sns.heatmap(df, annot=True, fmt='d', cmap='RdYlGn',
cbar_kws={'label': 'Price per Share ($)'},
linewidths=0.5, linecolor='white',
ax=ax, vmin=35, vmax=95)
# Formatting
ax.set_xlabel('Terminal Growth Rate', fontsize=12, fontweight='bold')
ax.set_ylabel('WACC', fontsize=12, fontweight='bold')
ax.set_title('Figure 28 - DCF Sensitivity Analysis ($/share)',
fontsize=14, fontweight='bold', pad=20)
# Rotate y-axis labels
plt.yticks(rotation=0)
# Source line
fig.text(0.12, 0.02, 'Source: [Firm] estimates',
fontsize=9, style='italic', color='gray')
# Save
plt.tight_layout()
plt.savefig('chart_28_dcf_sensitivity_heatmap.png',
dpi=300, bbox_inches='tight', facecolor='white')
plt.close()
print("✓ Created: chart_28_dcf_sensitivity_heatmap.png")
create_dcf_sensitivity_heatmap()Chart 4: Valuation Football Field ⭐ MANDATORY
def create_valuation_football_field():
"""Create valuation football field chart"""
fig, ax = plt.subplots(figsize=(10, 5))
# Create horizontal bars
y_positions = np.arange(len(valuation_methods))
colors = ['#1f77b4', '#ff7f0e', '#2ca02c']
for i, (method, low, high, color) in enumerate(
zip(valuation_methods, valuation_low, valuation_high, colors)):
ax.barh(i, high - low, left=low, height=0.6,
color=color, alpha=0.7, label=method)
# Add value labels at ends
ax.text(low - 1, i, f'${low}', va='center', ha='right', fontsize=10)
ax.text(high + 1, i, f'${high}', va='center', ha='left', fontsize=10)
# Add current price line
ax.axvline(x=current_price, color='red', linestyle='--', linewidth=2,
label=f'Current: ${current_price}', alpha=0.7)
# Add target price line
ax.axvline(x=target_price, color='black', linestyle='-', linewidth=2,
label=f'Target: ${target_price}')
# Formatting
ax.set_yticks(y_positions)
ax.set_yticklabels(valuation_methods, fontsize=11)
ax.set_xlabel('Price Per Share ($)', fontsize=12, fontweight='bold')
ax.set_title('Figure 32 - Valuation Football Field',
fontsize=14, fontweight='bold', pad=20)
# Set x-axis limits
ax.set_xlim(40, 70)
# Remove spines
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_visible(False)
# Grid
ax.grid(axis='x', alpha=0.3, linestyle='--')
ax.set_axisbelow(True)
# Legend
ax.legend(loc='upper right', frameon=False, fontsize=9)
# Source line
fig.text(0.12, 0.02, 'Source: [Firm] estimates',
fontsize=9, style='italic', color='gray')
# Save
plt.tight_layout()
plt.savefig('chart_32_valuation_football_field.png',
dpi=300, bbox_inches='tight', facecolor='white')
plt.close()
print("✓ Created: chart_32_valuation_football_field.png")
create_valuation_football_field()Step 4: Create Remaining Required Charts (Charts 1-34)
Complete the 25 REQUIRED charts by creating all remaining charts from the required list. Each chart has a specific purpose in Task 5.
Investment Summary (1 chart)
# chart_01: Stock Price Performance (12-24 months)
# - Line chart showing stock price over time vs. market index
# - Used on Page 1 of final reportFinancial Performance (5 additional charts beyond chart_03 and chart_04)
# chart_02: Revenue Growth Trajectory
# chart_10: Gross Margin Evolution
# chart_11: EBITDA Margin Progression
# chart_12: Free Cash Flow Trend
# chart_14: Scenario Comparison (Bull/Base/Bear)Company 101 Section (7 charts)
# chart_05: Company Overview/Timeline
# chart_06: Key Milestones Timeline
# chart_07: Organizational Structure
# chart_08: Product Portfolio Overview
# chart_09: Customer Segmentation
# chart_15: Market Size Evolution (TAM)
# chart_16: Competitive Positioning MatrixCompetitive & Market (2 charts)
# chart_17: Market Share Breakdown
# chart_18: Competitive BenchmarkingScenario Analysis (1 chart)
# chart_13: Operating Metrics DashboardValuation Section (6 additional charts beyond chart_28 and chart_32)
# chart_29: DCF Valuation Waterfall
# chart_30: Trading Comps Scatter Plot
# chart_31: Peer Multiples Comparison
# chart_33: Price Target Scenarios
# chart_34: Historical Valuation MultiplesUse consistent formatting across all charts:
300 DPI resolution
Professional color scheme
Clear labels, legends, and titles
Figure numbers (e.g., "Figure 5 - Company Timeline")
Source citations at bottom
Step 4B: Create Optional Charts (For 26-35 Total)
Optional: Add 1-10 additional charts from this list for greater visual density:
# chart_19: Customer Acquisition Trends
# chart_20: Unit Economics Evolution
# chart_21: Product Roadmap Timeline
# chart_22: Geographic Expansion Map
# chart_23: R&D Investment Trends
# chart_24: Sales & Marketing Efficiency
# chart_25: Working Capital Trends
# chart_26: Debt Maturity Schedule
# chart_27: Ownership Structure
# chart_35: Analyst Price Target DistributionThese optional charts provide additional visual storytelling and help achieve the "1 chart per 200-300 words" density target in Task 5.
Step 5: Create Chart Index
Create a text file documenting all charts:
def create_chart_index():
"""Create index of all charts"""
# 25 REQUIRED CHARTS
required_charts = [
"chart_01_stock_price_performance.png - Stock Price Performance (12-24M)",
"chart_02_revenue_growth_trajectory.png - Revenue Growth Trajectory",
"chart_03_revenue_by_product_stacked_area.png - Revenue by Product [MANDATORY]",
"chart_04_revenue_by_geography_stacked_bar.png - Revenue by Geography [MANDATORY]",
"chart_05_company_overview.png - Company Overview/Timeline",
"chart_06_key_milestones_timeline.png - Key Milestones Timeline",
"chart_07_organizational_structure.png - Organizational Structure",
"chart_08_product_portfolio.png - Product Portfolio Overview",
"chart_09_customer_segmentation.png - Customer Segmentation",
"chart_10_gross_margin_evolution.png - Gross Margin Evolution",
"chart_11_ebitda_margin_progression.png - EBITDA Margin Progression",
"chart_12_free_cash_flow_trend.png - Free Cash Flow Trend",
"chart_13_operating_metrics_dashboard.png - Operating Metrics Dashboard",
"chart_14_scenario_comparison.png - Scenario Comparison (Bull/Base/Bear)",
"chart_15_market_size_evolution.png - Market Size Evolution (TAM)",
"chart_16_competitive_positioning.png - Competitive Positioning Matrix",
"chart_17_market_share.png - Market Share Breakdown",
"chart_18_competitive_benchmarking.png - Competitive Benchmarking",
"chart_28_dcf_sensitivity_heatmap.png - DCF Sensitivity Heatmap [MANDATORY]",
"chart_29_dcf_waterfall.png - DCF Valuation Waterfall",
"chart_30_trading_comps_scatter.png - Trading Comps Scatter Plot",
"chart_31_peer_multiples_comparison.png - Peer Multiples Comparison",
"chart_32_valuation_football_field.png - Valuation Football Field [MANDATORY]",
"chart_33_price_target_scenarios.png - Price Target Scenarios",
"chart_34_historical_valuation_multiples.png - Historical Valuation Multiples",
]
# 10 OPTIONAL CHARTS (for 26-35 range)
optional_charts = [
"chart_19_customer_acquisition_trends.png - Customer Acquisition Trends [OPTIONAL]",
"chart_20_unit_economics_evolution.png - Unit Economics Evolution [OPTIONAL]",
"chart_21_product_roadmap_timeline.png - Product Roadmap Timeline [OPTIONAL]",
"chart_22_geographic_expansion_map.png - Geographic Expansion Map [OPTIONAL]",
"chart_23_rd_investment_trends.png - R&D Investment Trends [OPTIONAL]",
"chart_24_sales_marketing_efficiency.png - Sales & Marketing Efficiency [OPTIONAL]",
"chart_25_working_capital_trends.png - Working Capital Trends [OPTIONAL]",
"chart_26_debt_maturity_schedule.png - Debt Maturity Schedule [OPTIONAL]",
"chart_27_ownership_structure.png - Ownership Structure [OPTIONAL]",
"chart_35_analyst_price_targets.png - Analyst Price Target Distribution [OPTIONAL]",
]
with open('chart_index.txt', 'w') as f:
f.write("CHART INDEX FOR [COMPANY] EQUITY RESEARCH REPORT\n")
f.write("=" * 60 + "\n\n")
f.write("4 MANDATORY CHARTS (Must be present):\n")
f.write("- chart_03: Revenue by Product (Stacked Area) ⭐\n")
f.write("- chart_04: Revenue by Geography (Stacked Bar) ⭐\n")
f.write("- chart_28: DCF Sensitivity (Heatmap) ⭐\n")
f.write("- chart_32: Valuation Football Field ⭐\n\n")
f.write("25 REQUIRED CHARTS:\n")
for chart in required_charts:
f.write(f" {chart}\n")
f.write("\n10 OPTIONAL CHARTS (for 26-35 total):\n")
for chart in optional_charts:
f.write(f" {chart}\n")
f.write("\n" + "=" * 60 + "\n")
f.write("NOTE: Task 5 will embed ALL charts created (25-35) throughout\n")
f.write("the report for visual density (1 chart every 200-300 words).\n")
print("✓ Created: chart_index.txt")
create_chart_index()Step 6: Quality Check
Run verification checks:
import os
def verify_charts():
"""Verify all charts were created successfully"""
mandatory_charts = [
'chart_03_revenue_by_product_stacked_area.png',
'chart_04_revenue_by_geography_stacked_bar.png',
'chart_28_dcf_sensitivity_heatmap.png',
'chart_32_valuation_football_field.png'
]
print("\n" + "="*60)
print("CHART GENERATION VERIFICATION")
print("="*60)
# Check mandatory charts
print("\n1. MANDATORY CHARTS:")
all_mandatory_present = True
for chart in mandatory_charts:
if os.path.exists(chart):
size = os.path.getsize(chart) / 1024 # KB
print(f" ✓ {chart} ({size:.1f} KB)")
else:
print(f" ✗ MISSING: {chart}")
all_mandatory_present = False
# Count total charts
chart_files = [f for f in os.listdir('.') if f.startswith('chart_') and f.endswith('.png')]
print(f"\n2. TOTAL CHARTS: {len(chart_files)}")
print(f" Target: 25-35 charts")
print(f" Status: {'✓ PASS' if 25 <= len(chart_files) <= 35 else '⚠ WARNING'}")
# Check file sizes (should be > 50KB for 300 DPI)
print("\n3. FILE SIZE CHECK:")
small_files = []
for chart in chart_files[:5]: # Sample first 5
size = os.path.getsize(chart) / 1024
if size < 50:
small_files.append(chart)
print(f" {chart}: {size:.1f} KB")
if small_files:
print(f" ⚠ WARNING: {len(small_files)} files may be low resolution")
else:
print(f" ✓ All sampled files have adequate size")
# Final verdict
print("\n" + "="*60)
if all_mandatory_present and 25 <= len(chart_files) <= 35:
print("✓ VERIFICATION PASSED - Ready for Task 5")
else:
print("✗ VERIFICATION FAILED - Review missing charts")
print("="*60 + "\n")
verify_charts()Quality Standards
Visual Quality
[ ] High resolution (300 DPI minimum)
[ ] Professional color scheme (consistent across all charts)
[ ] Clear, legible text (no fonts smaller than 9pt)
[ ] Proper aspect ratio (no distortion)
[ ] No pixelation or artifacts
Data Accuracy
[ ] Data matches source (financial model and valuation)
[ ] Proper units and labels ($ millions, percentages, etc.)
[ ] Appropriate scale and range
[ ] Consistent time periods across charts
[ ] Verified calculations
Formatting Quality
[ ] Consistent styling across all charts
[ ] Proper figure numbering (sequential)
[ ] Clear titles and captions
[ ] Source citations on every chart
[ ] Professional appearance
Completeness
[ ] All 4 mandatory charts created
[ ] 25-35 total charts
[ ] Proper file naming (chart_01, chart_02, etc.)
[ ] Chart index created
[ ] Ready for embedding in Word
Chart Types Reference
When to Use Each Chart Type
Line Charts: Time series trends (revenue, margins, stock price)
Stacked Area: Revenue by product ⭐, market size composition
Stacked Bar: Revenue by geography ⭐, quarterly breakdowns
Heatmap: DCF sensitivity ⭐, correlation matrices
Horizontal Bar: Valuation football field ⭐, peer rankings
Waterfall: Revenue bridges, margin analysis, DCF build-up
Scatter/Bubble: Growth vs. valuation, competitive positioning
2×2 Matrix: Competitive positioning, product portfolio
File Naming Convention
Always use this format:
chart_[NUMBER]_[DESCRIPTION].png
Examples:
chart_01_stock_price_performance.png
chart_03_revenue_by_product_stacked_area.png
chart_28_dcf_sensitivity_heatmap.pngNumber charts sequentially based on their position in the report, not creation order.
Common Chart Generation Issues
Issue 1: Low Resolution
Problem: Chart looks pixelated
Solution: Ensure dpi=300 in plt.savefig()
Issue 2: Text Cutoff
Problem: Labels or titles cut off at edges
Solution: Use bbox_inches='tight' in plt.savefig()
Issue 3: Poor Colors
Problem: Colors don't look professional Solution: Use established palettes like Tableau10 or define custom corporate colors
Issue 4: Overlapping Labels
Problem: Axis labels overlap
Solution: Rotate labels (e.g., rotation=45) or reduce font size
Issue 5: White Space
Problem: Too much white space around chart
Solution: Use plt.tight_layout() before saving
Success Criteria
A successful chart package should:
Include all 4 mandatory charts (verified) ⭐
chart_03: Revenue by Product
chart_04: Revenue by Geography
chart_28: DCF Sensitivity
chart_32: Valuation Football Field
Create 25 required charts minimum (verified)
Optional: 1-10 additional charts for 26-35 total
Have consistent professional styling across all charts
Be high resolution (300 DPI) for print quality
Have clear labels, legends, and titles on every chart
Include proper figure numbers and source citations
Be ready for immediate embedding in Word
Cover all key financial metrics and analyses
Tell a visual story complementing the written analysis
Be accurate and auditable to source data (model/valuation)
All charts packaged in zip file with chart index
Remember: Task 5 will embed ALL charts created (25-35) throughout the report for visual density.
Output Files
After completing Task 4, deliverables include:
25 REQUIRED Chart Files (Minimum):
chart_01_stock_price_performance.png
chart_02_revenue_growth_trajectory.png
chart_03_revenue_by_product_stacked_area.png ⭐ MANDATORY
chart_04_revenue_by_geography_stacked_bar.png ⭐ MANDATORY
chart_05_company_overview.png
chart_06_key_milestones_timeline.png
chart_07_organizational_structure.png
chart_08_product_portfolio.png
chart_09_customer_segmentation.png
chart_10_gross_margin_evolution.png
chart_11_ebitda_margin_progression.png
chart_12_free_cash_flow_trend.png
chart_13_operating_metrics_dashboard.png
chart_14_scenario_comparison.png
chart_15_market_size_evolution.png
chart_16_competitive_positioning.png
chart_17_market_share.png
chart_18_competitive_benchmarking.png 19-27. Reserved for optional charts if created
chart_28_dcf_sensitivity_heatmap.png ⭐ MANDATORY
chart_29_dcf_waterfall.png
chart_30_trading_comps_scatter.png
chart_31_peer_multiples_comparison.png
chart_32_valuation_football_field.png ⭐ MANDATORY
chart_33_price_target_scenarios.png
chart_34_historical_valuation_multiples.png
Reserved for optional chart if created
10 OPTIONAL Chart Files (For 26-35 Total):
chart_19 through chart_27, chart_35 (if created)
Chart Index (1 text file):
chart_index.txt (listing all charts with descriptions and categories)
All chart files must be:
300 DPI resolution (print quality)
6-10 inches wide (standard Word embedding size)
White background (professional appearance)
PNG format (lossless quality)
Ready for immediate Word embedding
Final Step: Package All Charts
Create a zip file containing all chart files and the chart index:
[Company]_Charts_[Date].zip
├── chart_01_stock_price_performance.png
├── chart_02_revenue_growth_trajectory.png
├── chart_03_revenue_by_product_stacked_area.png ⭐
├── chart_04_revenue_by_geography_stacked_bar.png ⭐
├── chart_05_company_overview.png
├── ... (all 25-35 chart files)
├── chart_28_dcf_sensitivity_heatmap.png ⭐
├── chart_32_valuation_football_field.png ⭐
├── chart_34_historical_valuation_multiples.png
└── chart_index.txtExample: Tesla_Charts_2024-10-28.zip
Why this matters: Task 5 will embed ALL charts created (25-35) throughout the report. The report requires visual density (1 chart per 200-300 words), so all charts serve a purpose—either for specific analytical sections or for visual storytelling and page density.
Verify all 25-35 charts are present
Extract charts for Task 5 (Report Assembly)
Next Steps
After completing Task 4, the zip file will be used for:
Task 5 (Report Assembly): Extract charts and embed all into the final DOCX report at appropriate locations throughout the document
The 4 mandatory charts are critical for the valuation and financial analysis sections of the report.
Requirements and compatibility
Written for: Claude Code, Claude apps
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Names Claude Code tools
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Anthropic
- Publisher
- Anthropic (Official)
- Source
- anthropics/financial-services · plugins/vertical-plugins/equity-research/skills/initiating-coverage · commit 6056506
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Anthropic or Anthropic.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download initiating-coverage.zip