Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 0 additions & 138 deletions skills/company-research/references/report-template.html
Original file line number Diff line number Diff line change
@@ -1,139 +1 @@
<!DOCTYPE html>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HTML template content entirely deleted, breaking report generation

High Severity

The entire 139-line HTML template has been replaced with a single blank line. compile_report.mjs reads this file at runtime (line 56) and performs placeholder replacements ({{TITLE}}, {{TABLE_ROWS}}, etc.) to generate index.html. With an empty template, the script will produce a blank/broken report file, completely breaking the company research report generation feature.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c66f6f9. Configure here.

<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Company Research — {{COMPANY_NAME}}</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
:root {
--brand: #F03603;
--high: #90C94D;
--medium: #F4BA41;
--low: #F03603;
--blue: #4DA9E4;
--black: #100D0D;
--gray: #514F4F;
--border: #edebeb;
--bg: #F9F6F4;
--card: #ffffff;
--text: #100D0D;
--muted: #514F4F;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; font-size: 16px; }
.container { max-width: 1060px; margin: 0 auto; padding: 2rem 1.5rem; }

/* Header */
header { margin-bottom: 2rem; display: flex; align-items: center; justify-content: space-between; }
.header-left h1 { font-size: 1.5rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--black); }
.header-left .meta { color: var(--muted); font-size: 0.875rem; }

/* Summary bar */
.summary { display: flex; gap: 0.75rem; margin-bottom: 2rem; flex-wrap: wrap; }
.stat { background: var(--card); border: 1px solid var(--border); border-radius: 4px; padding: 1rem 1.25rem; flex: 1; min-width: 120px; }
.stat .label { font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); font-weight: 600; margin-bottom: 0.25rem; }
.stat .value { font-size: 1.5rem; font-weight: 700; color: var(--black); }
.stat .value.high { color: var(--high); }
.stat .value.medium { color: var(--medium); }
.stat .value.low { color: var(--low); }

/* Score distribution bar */
.score-bar { background: var(--card); border: 1px solid var(--border); border-radius: 4px; padding: 1rem 1.25rem; margin-bottom: 2rem; }
.score-bar .bar-track { height: 8px; background: #f6f5f5; border-radius: 4px; overflow: hidden; margin-top: 0.5rem; display: flex; }
.score-bar .bar-segment { height: 100%; }
.score-bar .bar-segment.high { background: var(--high); }
.score-bar .bar-segment.medium { background: var(--medium); }
.score-bar .bar-segment.low { background: var(--low); }
.score-bar .legend { display: flex; gap: 1.5rem; margin-top: 0.5rem; font-size: 0.75rem; color: var(--muted); }
.score-bar .legend span::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 4px; vertical-align: middle; }
.score-bar .legend .l-high::before { background: var(--high); }
.score-bar .legend .l-medium::before { background: var(--medium); }
.score-bar .legend .l-low::before { background: var(--low); }

/* Table */
.results-table { width: 100%; border-collapse: collapse; background: var(--card); border: 1px solid var(--border); border-radius: 4px; overflow: hidden; margin-bottom: 2rem; }
.results-table th { text-align: left; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); font-weight: 600; padding: 0.75rem 1rem; border-bottom: 1px solid var(--border); background: #fafafa; }
.results-table td { padding: 0.625rem 1rem; border-bottom: 1px solid var(--border); font-size: 0.875rem; vertical-align: top; }
.results-table tr:last-child td { border-bottom: none; }
.results-table tr:hover { background: #fdfcfb; }
.results-table a { color: var(--brand); text-decoration: none; font-weight: 500; }
.results-table a:hover { text-decoration: underline; }

/* Score badge */
.score { display: inline-block; font-size: 0.8125rem; font-weight: 700; padding: 2px 10px; border-radius: 2px; min-width: 32px; text-align: center; }
.score.high { background: rgba(144,201,77,0.12); color: #5a8a1a; border: 1px solid rgba(144,201,77,0.3); }
.score.medium { background: rgba(244,186,65,0.12); color: #9a7520; border: 1px solid rgba(244,186,65,0.3); }
.score.low { background: rgba(240,54,3,0.08); color: var(--low); border: 1px solid rgba(240,54,3,0.2); }

/* Reasoning text */
.reasoning { color: var(--muted); font-size: 0.8125rem; max-width: 300px; }

/* Footer */
footer { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 0.75rem; color: var(--muted); }
footer a { color: var(--brand); text-decoration: none; font-weight: 500; }
footer a:hover { text-decoration: underline; }
</style>
</head>
<body>

<div class="container">
<header>
<div class="header-left">
<h1>{{TITLE}}</h1>
<div class="meta">{{META}}</div>
</div>
<a href="https://browserbase.com" target="_blank" rel="noopener" style="display:flex;align-items:center;gap:0.5rem;text-decoration:none;color:var(--muted);font-size:0.8125rem;font-weight:500;">
<span>Powered by Browserbase</span>
<svg width="32" height="32" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" rx="8" fill="#F03603"/><path d="M36 72.2222V27.7778H51.2381C57.5873 27.7778 62.6667 32.8571 62.6667 39.2063V41.746C62.6667 44.6667 61.5873 47.3968 59.7461 49.3651C62.2858 51.4603 63.9366 54.6349 63.9366 58.254V60.7936C63.9366 67.1428 58.8572 72.2222 52.508 72.2222H36ZM42.3493 65.873H52.508C55.3651 65.873 57.5873 63.6508 57.5873 60.7936V58.254C57.5873 55.3968 55.3651 53.1746 52.508 53.1746H42.3493V65.873ZM42.3493 46.8254H51.2381C54.0953 46.8254 56.3175 44.6032 56.3175 41.746V39.2063C56.3175 36.3492 54.0953 34.127 51.2381 34.127H42.3493V46.8254Z" fill="white"/></svg>
</a>
</header>

<div class="summary">
<div class="stat"><div class="label">Companies</div><div class="value">{{TOTAL}}</div></div>
<div class="stat"><div class="label">Strong Fit (8-10)</div><div class="value high">{{HIGH_COUNT}}</div></div>
<div class="stat"><div class="label">Partial Fit (5-7)</div><div class="value medium">{{MEDIUM_COUNT}}</div></div>
<div class="stat"><div class="label">Weak Fit (1-4)</div><div class="value low">{{LOW_COUNT}}</div></div>
</div>

<div class="score-bar">
<div style="display:flex;justify-content:space-between;align-items:baseline;">
<span style="font-size:0.875rem;font-weight:500;">Score Distribution</span>
<span style="font-size:0.875rem;font-weight:600;color:var(--high);">{{HIGH_PCT}}% strong fit</span>
</div>
<div class="bar-track">
<div class="bar-segment high" style="width:{{HIGH_PCT}}%"></div>
<div class="bar-segment medium" style="width:{{MEDIUM_PCT}}%"></div>
<div class="bar-segment low" style="width:{{LOW_PCT}}%"></div>
</div>
<div class="legend">
<span class="l-high">Strong (8-10)</span>
<span class="l-medium">Partial (5-7)</span>
<span class="l-low">Weak (1-4)</span>
</div>
</div>

<table class="results-table">
<thead>
<tr>
<th>Score</th>
<th>Company</th>
<th>Product</th>
<th>Industry</th>
<th>Fit Reasoning</th>
</tr>
</thead>
<tbody>
{{TABLE_ROWS}}
</tbody>
</table>
</div>

<footer>
<svg width="16" height="16" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" rx="8" fill="#F03603"/><path d="M36 72.2222V27.7778H51.2381C57.5873 27.7778 62.6667 32.8571 62.6667 39.2063V41.746C62.6667 44.6667 61.5873 47.3968 59.7461 49.3651C62.2858 51.4603 63.9366 54.6349 63.9366 58.254V60.7936C63.9366 67.1428 58.8572 72.2222 52.508 72.2222H36ZM42.3493 65.873H52.508C55.3651 65.873 57.5873 63.6508 57.5873 60.7936V58.254C57.5873 55.3968 55.3651 53.1746 52.508 53.1746H42.3493V65.873ZM42.3493 46.8254H51.2381C54.0953 46.8254 56.3175 44.6032 56.3175 41.746V39.2063C56.3175 36.3492 54.0953 34.127 51.2381 34.127H42.3493V46.8254Z" fill="white"/></svg>
Generated by <a href="https://github.com/anthropics/skills">company-research</a> · Powered by <a href="https://browserbase.com">Browserbase</a>
</footer>

</body>
</html>