dating-web
Consumer-grade matching dashboard: signal ticker + KPIs + 30-day bar chart + trends
1How It Works & Mechanism
The template itself contains no executable code: the loader reads the frontmatter and body from src/lib/templates/skills/<id>/SKILL.md, returning the body along with example content as LoadedSkill.
const raw = safeRead(path.join(dir, "SKILL.md"));
The host assembles the prompt in a fixed sequence before dispatch: the template body is sandwiched between SHARED_DESIGN_DIRECTIVES and [Input Format] / [User Content].
Wrap a per-template instruction body with the shared design directives and
Shared directives translate hard constraints into explicit prohibitions for the agent and enforce content-driven quantity (numbers in the template serve only as reference floors).
**禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。
The actual execution is handled by the coding agent CLI installed and logged in on the user's local machine: the host spawns a child process, passes the prompt to it, and captures HTML streamed from stdout.
import { spawn, type ChildProcessWithoutNullStreams } from "node:child_process";
/api/convert is the template's execution path: it assembles skill.body and user content into a prompt, then passes it to invokeAgent.
prompt = assemblePrompt({ body: skill.body, content, format });
The template is positioned as a consumer-product-grade data wall, distinguished from conventional admin dashboards by editorial typography (serif display + monospace numbers) and restrained highlight colors.
【意图】消费产品感的数据墙, editorial typography + 克制的高亮色。
A five-section layout: Left rail navigation → Ticker bar real-time signals → Headline KPIs → 30-day mutual-matches bar chart → Match-rate trend block.
- Ticker bar 实时信号
The top KPI area is implemented as a 3×3 metric wall (Mutuals on file / Replies in 24h / Communities / Match rate / 2nd dates / Exes…), each cell featuring a conversational annotation.
<div class="label">Match rate</div>
The 30-day bar chart is handcrafted with pure inline SVG (multiple rect elements, with the final one emphasized using highlight color #c14a2b), requiring no charting libraries or scripts.
<rect x="630" y="60" width="14" height="160" fill="#c14a2b"></rect>
The example collapses the left rail into a top bar on narrow screens (aside.rail removes its right border and adds a bottom border in media queries), demonstrating an intentional responsive fallback despite its desktop focus.
aside.rail { border-right: none; border-bottom: 1px solid var(--ink); }
The page incorporates productization details such as version numbering (mutuals.v0.6.1) and 'NEXT TIER AT 2,080 MUTUALS', mimicking real consumer app features.
<div style="opacity:0.7;margin-top:2px;">mutuals.v0.6.1</div>
2Core Capabilities
4Recommended Governance & Evidence
- SKILL.md: Composed purely of prompt instructions and rule text, with no script execution or external impact.
5Second-Pass Verification
- [discrepancy] KPI 数量与 SKILL.md 的关系 — SKILL.md 仅写 Headline KPIs 未给数量;示例实现为 3×3 共 9 格(含 Exes in your circle / Shared blocks / Logged-off hrs 等生活化指标)。属示例扩展而非模板要求,详情页不应把 9 格当作固定规格。
- [ok] 「无脚本」判定 — dating-web/ 内 <script> 计数为 0;30 天柱状图以 <rect> 手工排布(含高亮柱 fill="#c14a2b"),无图表库、无 Canvas。
- [ok] 端点与判级 — 目录内 http(s) 仅 fonts.googleapis.com(css2 样式表)与 fonts.gstatic.com(preconnect),均为产物期引用;SKILL.md 只写字族风格要求、未点名端点,执行期零外发,维持 green。
- [ok] 窄屏降级是否存在 — 媒体查询内 aside.rail 改为 border-right:none + border-bottom,左栏折叠为顶部条,与桌面 1440 定位不冲突,属可用的移动端降级。
- [ok] license / stars / commit 元数据 — GitHub API(api.github.com/repos/nexu-io/html-anything):spdx_id=Apache-2.0、stargazers_count=8827、pushed_at=2026-09-15T03:36:24Z;工作副本 git HEAD = 553ed98c283f9c0f489902d035416a972d6a9699(与任务表 pin 553ed98c283f 同源)。
- [ok] skill.path 与目录资产面 — pin 目录内该路径存在且含 SKILL.md;目录内文件清单已用 glob 全量核对(含隐藏文件),无 scripts/、无 references/、无二进制资产(competitive-teardown 的 assets/ 为纯 HTML,另行记录)。
6Verdict & Scenarios
e3773d07ae610754…