📦 Frontend Cv — 技能工具

v1.0.1

Create professional HTML/PDF resumes from any input format (md/pdf/word/txt). Extracts resume data, converts to structured YAML, generates styled HTML with m...

0· 154·0 当前·0 累计
vintlin 头像by @vintlin (Vint)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/16
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
可疑
medium confidence
The skill appears to implement a local resume extractor/renderer that mostly matches its description, but there are several documentation/code mismatches and small surprises (external font links, undeclared save path, inconsistent dependency names) that merit review before use.
评估建议
This skill is mostly coherent with its advertised purpose (local resume extraction and HTML/PDF rendering), but review these before installing/using: 1) Dependencies: the README lists different package names than the scripts import (README: PyPDF2; code expects pypdf; README lists jinja2 but render_html.py doesn't import jinja2). Verify and install the correct Python packages in a virtual environment (or inspect/fix imports). 2) Files written: the skill will create preview/output files (it refer...
详细分析 ▾
用途与能力
The name/description align with the included scripts: extract_resume.py (PDF/DOCX/TXT/MD extraction) and render_html.py (YAML → themed HTML). This is coherent for a resume renderer. However the SKILL.md and README claim 'Zero Dependencies' and 'single HTML files', while the README and scripts require Python libraries (pypdf/python-docx/yaml) — an internal inconsistency in the stated zero-deps principle vs actual runtime needs.
指令范围
Runtime instructions are scoped to extracting text, converting to structured YAML, generating themed HTML previews, and exporting to PDF. That's within the stated purpose. A notable instruction is to save previews under .claude-design/cv-previews/ and 'open each preview automatically' — the skill writes files to the user's home area (persistent data) and may attempt to open previews, which is reasonable for this tool but should be understood by users. No instructions direct the agent to read unrelated system files or environment variables.
安装机制
There is no install spec (instruction-only), so nothing will be fetched automatically by an installer. The package includes local Python scripts which will run on the host. The README asks users to pip-install dependencies (PyPDF2, python-docx, pyyaml, jinja2) but the extract script refers to 'pypdf' and 'docx' modules and render_html imports 'yaml' (yaml.safe_load). These mismatches between documented package names and actual imports are an operational inconsistency (not necessarily malicious) and could cause runtime failure if not corrected.
凭证需求
The skill does not request environment variables or credentials — appropriate for this purpose. The only external references are font links (Google Fonts/Fontshare) embedded in the theme YAML files; generated HTML will include those external font URLs, which means opening the HTML may cause the browser to fetch resources from Google/Fontshare. That is expected for web-font usage but is an external network interaction to be aware of.
持久化与权限
always is false and there are no special privileges. The skill will write generated previews and outputs to disk (SKILL.md specifies .claude-design/cv-previews/ and scripts write output files such as resume_data.yaml and resume.html). This is appropriate for a generator, but the skill did not declare config paths in metadata despite referencing and creating a dot-directory in the user's home — users should be aware files will be written.
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.12026/3/18

Update frontend-cv

无害

安装命令

点击复制
官方npx clawhub@latest install frontend-cv
镜像加速npx clawhub@latest install frontend-cv --registry https://cn.longxiaskill.com

技能文档

Generate professional, print-ready HTML resumes that export cleanly to PDF. Prefer the bundled renderer for consistent theme layouts.

Core Principles

  • Zero Dependencies — Single HTML files with inline CSS. No npm, no build tools.
  • Print-First Design — Every style must look perfect in PDF export via browser print.
  • Structured Data — Extract and normalize resume data into clean YAML format.
  • Visual Choice — Show style previews, let users pick what resonates.
  • Theme Fidelity — The five built-in themes provide distinct professional styles: classic, modern, academic, and engineering-focused layouts.

Design Aesthetics

Create distinctive, professional resumes that stand out:

  • Typography: Use elegant, readable fonts (avoid generic system fonts)
  • Layout: Clear hierarchy, scannable sections, optimal whitespace
  • Color: Professional palettes that print well (consider B&W printing)
  • Print-Ready: Perfect @media print CSS for clean PDF export

Avoid generic templates:

  • Overused fonts (Arial, Times New Roman, Calibri)
  • Cluttered layouts with poor spacing
  • Colors that don't print well
  • Inconsistent styling

Phase 0: Detect Input Mode

Determine what the user provides:

  • Mode A: Structured Data — User provides YAML/JSON → Go to Phase 2
  • Mode B: Document Conversion — User provides PDF/Word/Markdown/Text → Go to Phase 1
  • Mode C: From Scratch — User wants to build from conversation → Go to Phase 1 (interactive)

Phase 1: Extract & Structure Data

Step 1.1: Extract Content

For document files (PDF/DOCX/TXT/MD):

Run extraction script:

python scripts/extract_resume.py  --output resume_data.txt

The script handles:

  • PDF: Extract text with layout preservation
  • DOCX: Parse document structure
  • TXT/MD: Direct text read

Step 1.2: AI-Assisted Structuring

Read the extracted text and convert to YAML format. Use this structure:

cv:
  name: Full Name
  headline: Professional Title
  location: City, Country
  email: email@example.com
  phone: +1234567890
  website: https://example.com
  social_networks:
    - network: LinkedIn
      username: username
    - network: GitHub
      username: username
  sections:
    summary:
      - Brief professional summary paragraph
    experience:
      - company: Company Name
        position: Job Title
        start_date: YYYY-MM
        end_date: present
        location: City, Country
        highlights:
          - Achievement or responsibility
          - Another achievement
    education:
      - institution: University Name
        degree: Degree Type
        area: Field of Study
        start_date: YYYY-MM
        end_date: YYYY-MM
        location: City, Country
        highlights:
          - Notable achievement
    skills:
      - label: Category
        details: Skill1, Skill2, Skill3
    projects:
      - name: Project Name
        date: YYYY
        summary: Brief description
        highlights:
          - Key feature or achievement

Save as resume_data.yaml and show to user for confirmation.

Ask user: "I've structured your resume data. Please review and let me know if anything needs adjustment."

Phase 2: Style Selection

Step 2.1: Ask Style Preference

Ask (header: "Style"): How do you want to choose your resume style?

  • "Show me previews (Recommended)" — Generate 5 visual previews
  • "Pick from list" — Choose from preset themes directly

If direct selection: Show available themes and skip to Phase 3.

Available themes:

  • Classic — Centered header with blue accents, stable and versatile
  • ModernCV — Left-aligned header with side date column
  • Sb2nov — Academic serif typography style
  • Engineering Classic — Light blue engineering aesthetic
  • Engineering Resumes — Black and white compact single-page layout

Step 2.2: Generate Style Previews

Generate 5 HTML previews using the bundled renderer and the user's real data.

Save to .claude-design/cv-previews/:

  • style-classic.html
  • style-moderncv.html
  • style-sb2nov.html
  • style-engineeringclassic.html
  • style-engineeringresumes.html

Open each preview automatically.

Step 2.3: User Selection

Ask (header: "Theme"): Which style do you prefer?

  • Classic
  • ModernCV
  • Sb2nov
  • Engineering Classic
  • Engineering Resumes
  • Mix elements

If "Mix elements", ask for specifics.

Phase 3: Generate Full Resume

Generate complete HTML resume using:

  • Structured YAML data from Phase 1
  • Selected style from Phase 2

Prefer the bundled renderer over hand-writing HTML:

python3 scripts/render_html.py resume_data.yaml resume.html classic

Supported renderer themes:

  • classic
  • modern
  • sb2nov
  • engineeringclassic
  • engineeringresumes

Before generating, read:

The bundled renderer already inlines print-safe CSS.

Key requirements:

  • Single self-contained HTML file
  • Use the bundled renderer's inline CSS output as the source of truth
  • Add @media print rules for clean PDF export
  • Use web fonts (Google Fonts/Fontshare)
  • Inline editing support (optional, ask user)
  • Detailed comments for each section

Print optimization:

  • Page breaks: page-break-inside: avoid for sections
  • Colors: Ensure readability in B&W
  • Margins: Standard print margins (0.5-0.75in)
  • Font sizes: 10-12pt body, appropriate hierarchy

Phase 4: PDF Export

After generating HTML:

  • Open in browser: open resume.html
  • Instruct user:
- Press Cmd+P (Mac) or Ctrl+P (Windows) - Select "Save as PDF" - Adjust margins if needed (usually "Default" works) - Save

Alternative: Provide Python script for automated PDF generation (requires weasyprint or playwright).

Phase 5: Delivery

  • Clean up — Delete .claude-design/cv-previews/ if exists
  • Open — Launch HTML in browser
  • Summarize:
- File location and theme name - How to export PDF (Cmd+P → Save as PDF) - How to edit: If editing enabled, click any text to edit, Ctrl+S to save - Customization: CSS variables in :root for colors/spacing

Supporting Files

FilePurposeWhen to Read
references/html-template.mdShared HTML shell and theme structurePhase 3 (generation)
references/theme-presets.mdFive theme specificationsPhase 2 (style selection)
scripts/extract_resume.pyDocument extraction scriptPhase 1 (extraction)
scripts/render_html.pyMain renderer for all five themesPhase 2-4
数据来源ClawHub ↗ · 中文优化:龙虾技能库