Markdown → Marp → PDF/HTML executive reporting slide build pattern. Build is rejected on violation of the Dantelabs design guard.
Build command
cd /workspace
marp report.md --pdf --allow-local-files -o report.pdf
marp report.md --html --allow-local-files -o report.html
Standard 12-slide structure
| # | Section | Input |
|---|---|---|
| 1 | Cover + one-line conclusion | Analyst synthesis |
| 2 | Brand overview | brand_profile.md |
| 3 | Product·service lineup | brand_profile + Web Unlocker scrap |
| 4 | Competitor matrix | competitor_matrix.csv |
| 5 | Search trends (12 months) | serp_trends.json |
| 6 | Press·SNS mentions | social_mentions.json |
| 7 | Review analysis | Trustpilot dataset |
| 8 | Pricing policy comparison | pricing_scrape.csv |
| 9 | Market share / category trends | Naver/Coupang products dataset |
| 10 | SWOT matrix | swot_matrix.json (swot-from-signals) |
| 11 | Opportunities·risks TOP 3 | insights.md |
| 12 | Implications + next actions | Analyst synthesis |
Design guard (build rejected on violation)
- Palette: paper + ink + rust accent
- Signature: left 4px rust accent stripe
- Body: Myeongjo serif (Noto Serif KR)
- Header: slab serif
- Prohibited:
- Glassmorphism (
backdrop-filter) - gradient blob / mesh gradient
- neon
- blur shadow / color drop shadow
- emoji
- corner radius exceeding 8px
- Glassmorphism (
Charts
- Input:
chart_spec.json(chart spec dropped by the data analyst) - Output:
assets/charts/*.png - Library: matplotlib or plotly
- Color: use only design guard tokens
Validation
# 빌드 후 PDF 페이지 수 + 디자인 가드 위반 키워드 검색
pdfinfo report.pdf | grep "Pages:" # 12 이상
grep -E "backdrop-filter|blur\(|emoji" report.md && echo "WARN: 디자인 가드 위반"
Absolute constraints
- No arbitrary processing of data·wording. Quote analyst outputs as-is.
- Enforce 0 design guard violations.
- No exposing plaintext API keys.
brand-research-glossaryComply with notation rules.