| name | company-analysis-writer |
| description | Skill for writing rigorous financial analysis articles about publicly listed companies (equity research, deep dives, company teardowns). Use when the user asks to write or draft a company analysis article, stock analysis, equity research note, or company deep dive — in French or English. Supports three output modes selectable at launch: X thread, Substack newsletter, or Hartza Capital blog post. Triggers on requests like 'écris une analyse de [société]', 'write a company analysis for [ticker]', 'analyse de société cotée', 'deep dive [company]', 'article sur [stock]', 'analyse financière [entreprise]'. |
Company Analysis Writer
Overview
This skill produces professional financial analysis content about publicly listed companies, following Hartza Capital editorial standards: rigorous, data-driven, bilingual capability (FR/EN), optimized for AI citability (GEO) and SEO.
Three output modes are available — select one at launch:
| Mode | Format | Length | Output |
|---|
| X | Thread Twitter/X | 8–15 tweets | Displayed in conversation |
| Substack | Newsletter article | 1,500–2,500 words | Displayed in conversation |
| Blog | Long-form article | 3,000–5,000 words | Saved to /Users/perriea/go/src/github.com/hartza-capital/website/content/blog/ |
Step 0 — Mode and Language Selection
If the user has not specified a mode, ask before doing anything else:
Quel format de publication ?
1. X — Thread Twitter (8–15 tweets, hook fort, chiffres clés)
2. Substack — Article newsletter (1 500–2 500 mots, ton éditorial)
3. Blog Hartza Capital — Deep dive long format (3 000–5 000 mots, sauvegardé localement)
Tapez 1, 2 ou 3.
For mode 3 (Blog), also ask the language if not already specified by the user:
Langue de l'article ?
- FR → sauvegardé dans content/blog/
- EN → sauvegardé dans content/en/blog/
Wait for both answers before proceeding. All following steps adapt to the selected mode and language.
Step 1 — Collect company data via web search
No financial MCP is connected. Use WebSearch and WebFetch in parallel to collect data. Adjust depth by mode:
- X mode: 3–4 searches minimum — focus on recent results, key metrics, one standout angle
- Substack mode: 5–6 searches — financials + narrative + 1–2 peer comparables
- Blog mode: 7+ searches — full coverage (see query list below)
Full query list for Blog mode (run simultaneously):
"[Company] annual report [year]"
"[Ticker] revenue EBITDA net income financial results [year]"
"[Company] business model competitive advantages moat"
"[Company] risk factors 2024 2025"
"[Ticker] valuation P/E EV/EBITDA sector peers comparables"
"[Company] news acquisitions strategy growth"
"[Ticker] site:macrotrends.net OR site:morningstar.com"
Priority sources: IR pages, Reuters, Bloomberg, FT, Les Echos, Macrotrends, Morningstar, Yahoo Finance, Boursorama.
Always cite sources — every figure must reference its origin with the publication and date.
→ See references/data-sources.md for the complete source list organized by data type.
Step 2 — Build the financial data sheet
Before writing, compile key metrics. Required minimum by mode:
X mode: Current market cap, revenue (latest year), net income or EBITDA, one key ratio (P/E or EV/EBITDA), stock performance YTD.
Substack mode: Same as X + 2-year revenue trend, margin evolution, debt level, dividend yield.
Blog mode: Full 3-year table:
| Metric | Year N-2 | Year N-1 | Year N | Source |
|---|
| Revenue (€/$ M) | | | | |
| EBITDA | | | | |
| EBITDA margin % | | | | |
| Net income | | | | |
| EPS | | | | |
| Free Cash Flow | | | | |
| Net debt / EBITDA | | | | |
Plus current valuation: P/E, EV/EBITDA, P/FCF, dividend yield, market cap, 52-week range.
→ See references/financial-metrics.md for the complete metric list by sector with formulas.
Step 3 — Write the content
Mode X — Twitter/X Thread
Format rules:
- Tweet 1 (hook): one striking fact or contrarian angle — must stop the scroll. End with 🧵
- Tweets 2–12: one idea per tweet, 240 chars max, short sentence rhythm
- Final tweet: forward-looking perspective + engagement question + "Suivez @HartzaCapital pour les prochaines analyses."
- Use numbers, %, and € or $ symbols to make data scannable
- No jargon — accessible to a non-specialist audience
- Each tweet numbered:
1/, 2/, etc.
Thread structure:
1/ [Hook — fait frappant ou thèse contre-intuitive] 🧵
2/ [Présentation de la société — 1 chiffre clé]
3/ [Business model — 1 phrase + avantage concurrentiel]
4/ [Performance financière — revenus + croissance]
5/ [Marges ou profitabilité]
6/ [Bilan ou dette]
7/ [Valorisation vs. secteur]
8/ [Catalyseur ou risque principal]
9/ [Thèse d'investissement — pourquoi maintenant]
10/ [Question d'engagement + CTA]
Legal compliance: Never make explicit buy/sell/hold recommendations. Add at the end: "Ceci n'est pas un conseil en investissement."
Mode Substack — Newsletter Article
Target length: 1,500–2,500 words.
Tone: More editorial and personal than the Blog mode. First person occasionally ("Ce qui m'a frappé ici, c'est…"). Hook the reader emotionally before going analytical. Can include a personal angle or market observation as intro.
Structure:
[Title — punchy, curiosity-driven]
[Intro hook — 150 words: why this company now? surprising angle]
## Le Business en une phrase
[Core business model, one simple paragraph]
## Les Chiffres Clés
[Financial table: 2 years minimum + current valuation ratios]
## Ce Qui Rend Cette Société Intéressante
[Competitive moat / growth driver / undervaluation thesis — 400 words]
## Les Risques à Surveiller
[2–3 main risks, concrete and specific — 300 words]
## Ma Lecture du Dossier
[Investment thesis / forward-looking perspective — 300 words]
---
*Cet article est publié à titre informatif uniquement et ne constitue pas un conseil en investissement.*
Do not include Hugo front matter for Substack mode. Output is for copy-pasting into Substack editor.
Mode Blog — Hartza Capital Long-Form Article
Target length: 3,000–5,000 words. Minimum 2,000 words.
Tone: Professional, rigorous, analytical — never promotional. Concrete facts and figures in every paragraph. Short paragraphs (60–100 words), sentences under 20 words. Use tables for financial data, bullet points for risks/advantages.
Structure:
H1: [Company name] — [One-line investment thesis / hook]
H2: Company Overview (~300 words)
H2: Business Model and Competitive Advantages (~400 words)
H2: Industry Analysis and Competitive Position (~500 words)
H2: Financial Performance (~700 words)
H2: Valuation (~500 words)
H2: Key Risk Factors (~400 words)
H2: Investment Thesis (~400 words)
H2: Conclusion (~200 words)
Each H2 section must be self-contained and citable (200–500 words) for AI citability.
Hugo front matter:
---
title: "[Company] — [Subtitle]"
date: YYYY-MM-DD
author: "Aurélien Perrier"
tags: ["finance", "analysis"]
categories: ["company-analysis"]
description: "[SEO meta description, 150 chars max]"
featured_image: "/images/blog/[slug]/logo.webp"
---
Legal compliance:
- Always include the
finance tag → triggers the financial disclaimer automatically
- Add
own tag only if Hartza Capital holds or has held a position in this company
- Never make explicit buy/sell/hold recommendations
→ See references/article-structure.md for the full template with section-by-section writing guidance.
Step 4 — Quality checklist
Run the relevant checklist before delivering the output.
Mode X:
Mode Substack:
Mode Blog:
Step 5 — Deliver the output
Mode X: Display the full thread in the conversation, tweets numbered and separated clearly.
Mode Substack: Display the full article in the conversation, ready to copy-paste into Substack.
Mode Blog: Use the Write tool to save the article as a .md file at:
- French:
/Users/perriea/go/src/github.com/hartza-capital/website/content/blog/[slug].md
- English:
/Users/perriea/go/src/github.com/hartza-capital/website/content/en/blog/[slug].md
Then confirm: "Article sauvegardé → content/[lang-path]/blog/[slug].md"
The slug must be kebab-case, descriptive, SEO-friendly, matching the company name and angle. Use the article language for the slug (French words for FR articles, English words for EN articles).
Reference Files
Load these files when needed:
references/article-structure.md — Full article template with section-by-section writing guidance and example phrases (Blog mode)
references/financial-metrics.md — Complete metric list by sector, formulas, and interpretation guidelines
references/data-sources.md — Reliable online sources for financial data, organized by data type