knowme-careerforge-skill 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +227 -0
- package/README.zh-CN.md +231 -0
- package/SKILL.md +179 -0
- package/agents/claude/knowme-careerforge.md +16 -0
- package/agents/codex/knowme-careerforge.yaml +15 -0
- package/agents/cursor/knowme-careerforge.mdc +12 -0
- package/agents/gemini/knowme-careerforge.json +6 -0
- package/agents/opencode/skill.yaml +11 -0
- package/agents/windsurf/knowme-careerforge.rules +10 -0
- package/bin/knowme.js +32 -0
- package/dist/cli/src/commands/init.d.ts +10 -0
- package/dist/cli/src/commands/init.js +130 -0
- package/dist/cli/src/commands/list.d.ts +5 -0
- package/dist/cli/src/commands/list.js +92 -0
- package/dist/cli/src/index.d.ts +6 -0
- package/dist/cli/src/index.js +149 -0
- package/dist/scripts/render-pdf.d.ts +11 -0
- package/dist/scripts/render-pdf.js +105 -0
- package/dist/scripts/validate-ats.d.ts +23 -0
- package/dist/scripts/validate-ats.js +169 -0
- package/dist/scripts/validate-layout.d.ts +24 -0
- package/dist/scripts/validate-layout.js +161 -0
- package/package.json +58 -0
- package/scripts/analyze-jd.py +108 -0
- package/scripts/build-gallery.py +233 -0
- package/scripts/build-knowledge.py +81 -0
- package/scripts/instantiate-resume.py +83 -0
- package/scripts/release.py +101 -0
- package/scripts/render-pdf.ts +86 -0
- package/scripts/run-all-tests.py +41 -0
- package/scripts/search-template.py +147 -0
- package/scripts/sync-version.py +57 -0
- package/scripts/validate-ats.ts +173 -0
- package/scripts/validate-layout.ts +161 -0
- package/scripts/validate-resume.py +139 -0
- package/skill.json +47 -0
- package/src/knowledge/ats-rules.json +37 -0
- package/src/knowledge/career/seniority-signals.json +24 -0
- package/src/knowledge/index.json +734 -0
- package/src/knowledge/industries/enterprise-saas.json +21 -0
- package/src/knowledge/industries/fintech.json +21 -0
- package/src/knowledge/industries/tech-ai.json +21 -0
- package/src/knowledge/layouts.json +59 -0
- package/src/knowledge/resume/action-verbs.json +20 -0
- package/src/knowledge/resume/fab-model.json +22 -0
- package/src/knowledge/roles/ai-agent-engineer.json +52 -0
- package/src/knowledge/roles/android-engineer.json +45 -0
- package/src/knowledge/roles/architect.json +48 -0
- package/src/knowledge/roles/cpp-systems.json +47 -0
- package/src/knowledge/roles/frontend.json +49 -0
- package/src/knowledge/roles/ios-engineer.json +45 -0
- package/src/knowledge/roles/java-backend.json +49 -0
- package/src/knowledge/roles/node-fullstack.json +49 -0
- package/src/knowledge/roles/product-manager.json +48 -0
- package/src/knowledge/skills/skill-matrix.json +29 -0
- package/src/knowledge/styles.json +73 -0
- package/src/knowledge/templates.json +255 -0
- package/src/references/ats.md +17 -0
- package/src/references/evidence-first.md +22 -0
- package/src/references/pdf.md +40 -0
- package/src/references/resume-writing.md +25 -0
- package/src/references/template-design.md +57 -0
- package/src/templates/classic/README.md +12 -0
- package/src/templates/classic/metadata.json +34 -0
- package/src/templates/classic/style.css +164 -0
- package/src/templates/classic/template.html +133 -0
- package/src/templates/common/resume-contract.md +69 -0
- package/src/templates/executive/README.md +12 -0
- package/src/templates/executive/metadata.json +37 -0
- package/src/templates/executive/style.css +235 -0
- package/src/templates/executive/template.html +101 -0
- package/src/templates/minimal/README.md +12 -0
- package/src/templates/minimal/metadata.json +37 -0
- package/src/templates/minimal/style.css +219 -0
- package/src/templates/minimal/template.html +114 -0
- package/src/templates/modern/README.md +12 -0
- package/src/templates/modern/metadata.json +38 -0
- package/src/templates/modern/style.css +277 -0
- package/src/templates/modern/template.html +139 -0
- package/src/workflows/analyze-job.md +16 -0
- package/src/workflows/define-goal.md +16 -0
- package/src/workflows/forge-resume.md +25 -0
- package/src/workflows/know-me.md +21 -0
- package/src/workflows/position.md +19 -0
- package/src/workflows/review.md +31 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 KnowMe CareerForge Authors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# KnowMe CareerForge
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="README.zh-CN.md">🇨🇳 简体中文</a> |
|
|
5
|
+
<a href="README.md">🇺🇸 English</a>
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://github.com/Max-Samson/knowme-careerforge-skill/releases"><img src="https://img.shields.io/github/v/release/Max-Samson/knowme-careerforge-skill?style=for-the-badge&color=blue" alt="GitHub Release"></a>
|
|
10
|
+
<img src="https://img.shields.io/badge/role_profiles-9_standard-green?style=for-the-badge" alt="9 Role Profiles">
|
|
11
|
+
<img src="https://img.shields.io/badge/templates-4_baseline_A4-purple?style=for-the-badge" alt="4 Baseline A4 Templates">
|
|
12
|
+
<img src="https://img.shields.io/badge/python-3.9+-yellow?style=for-the-badge&logo=python&logoColor=white" alt="Python 3.9+">
|
|
13
|
+
<a href="LICENSE"><img src="https://img.shields.io/github/license/Max-Samson/knowme-careerforge-skill?style=for-the-badge&color=green" alt="License: MIT"></a>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="https://www.npmjs.com/package/knowme-careerforge-skill"><img src="https://img.shields.io/npm/v/knowme-careerforge-skill?style=flat-square&logo=npm&label=npm" alt="npm package"></a>
|
|
18
|
+
<a href="https://github.com/Max-Samson/knowme-careerforge-skill/stargazers"><img src="https://img.shields.io/github/stars/Max-Samson/knowme-careerforge-skill?style=flat-square&logo=github" alt="GitHub stars"></a>
|
|
19
|
+
<img src="https://img.shields.io/badge/architecture-HTML%20Intermediate%20Canvas%20%2B%20Design%20Tokens-blue?style=flat-square" alt="HTML Intermediate Canvas">
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
> **Know Yourself. Define Your Direction. Forge Your Opportunity.**
|
|
23
|
+
>
|
|
24
|
+
> *An agent-native skill for self-discovery, career positioning, and tailored resume engineering.*
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 1. What is KnowMe CareerForge?
|
|
29
|
+
|
|
30
|
+
**KnowMe CareerForge** is an industrial-grade, agent-native resume engineering skill for Claude Code, Cursor, Codex, Windsurf, and Gemini CLI.
|
|
31
|
+
|
|
32
|
+
Traditional AI resume tools treat resume writing as a superficial text-generation task: feed a prompt to an LLM, get a block of Markdown, and convert it through black-box tools into a fragile, hallucination-prone PDF.
|
|
33
|
+
|
|
34
|
+
**KnowMe CareerForge** fundamentally rethinks this paradigm into a structured, dual-engine system:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
knowme-careerforge-skill
|
|
38
|
+
│
|
|
39
|
+
▼
|
|
40
|
+
KnowMe CareerForge
|
|
41
|
+
│
|
|
42
|
+
┌─────┴─────┐
|
|
43
|
+
▼ ▼
|
|
44
|
+
KnowMe CareerForge
|
|
45
|
+
│ │
|
|
46
|
+
Self Discovery Tailored Career Story
|
|
47
|
+
& Evidence & Engineering Delivery
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
- **KnowMe (Self-Discovery & Evidence Engine)**: Helps candidates discover who they are, uncover their verifiable career evidence (L1~L3), and map their true competitive strengths.
|
|
51
|
+
- **CareerForge (Career Positioning & Resume Engineering)**: Translates genuine strengths into targeted positioning for specific job opportunities, tailoring high-impact content inside an **HTML Intermediate Working Canvas** with **Design Tokens**, and delivering deterministic, pixel-perfect PDFs via Playwright.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 2. Core Philosophy & Guiding Principle
|
|
56
|
+
|
|
57
|
+
> ### *"The goal is not to make the candidate look better than they are. The goal is to make their real strengths visible to the right opportunity."*
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
WRONG DIRECTION (Generic AI Hallucination):
|
|
61
|
+
JD ──> Keyword Stuffing ──> AI Guessing ──> Superficial Fluff ──> Inflated Claims (Fragile in Interviews)
|
|
62
|
+
|
|
63
|
+
RIGHT DIRECTION (KnowMe CareerForge):
|
|
64
|
+
Real Experience ──> Grounded Evidence ──> True Strengths ──> Job Match ──> Precise Engineering & Narrative
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 3. Installation
|
|
70
|
+
|
|
71
|
+
You can install and use KnowMe CareerForge via **CLI (Zero Clone)** or directly through **Agent-Native Manifests**:
|
|
72
|
+
|
|
73
|
+
### Option A: Using CLI (Recommended)
|
|
74
|
+
|
|
75
|
+
Run directly with `npx` (no clone required):
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Go to your project directory
|
|
79
|
+
cd /path/to/your/project
|
|
80
|
+
|
|
81
|
+
# Install for your preferred AI assistant
|
|
82
|
+
npx knowme-careerforge-skill init --ai cursor # Cursor (.cursor/rules/)
|
|
83
|
+
npx knowme-careerforge-skill init --ai claude # Claude Code (~/.claude/skills/)
|
|
84
|
+
npx knowme-careerforge-skill init --ai codex # Codex CLI (~/.codex/skills/)
|
|
85
|
+
npx knowme-careerforge-skill init --ai windsurf # Windsurf (.windsurfrules)
|
|
86
|
+
npx knowme-careerforge-skill init --ai gemini # Gemini CLI (~/.gemini/skills/)
|
|
87
|
+
npx knowme-careerforge-skill init --ai opencode # OpenCode (.opencode/skills/)
|
|
88
|
+
npx knowme-careerforge-skill init --all # All supported assistants
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Or install globally:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm install -g knowme-careerforge-skill
|
|
95
|
+
knowme init --ai cursor
|
|
96
|
+
knowme list
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### Option B: Direct Agent Integration
|
|
102
|
+
|
|
103
|
+
| Platform | Target Configuration Path | Setup Command |
|
|
104
|
+
| :--- | :--- | :--- |
|
|
105
|
+
| **Cursor** | `.cursor/rules/knowme-careerforge.mdc` | `cp SKILL.md .cursor/rules/knowme-careerforge.mdc` |
|
|
106
|
+
| **Claude Code** | `~/.claude/skills/knowme-careerforge/` | `cp -r knowme-careerforge-skill ~/.claude/skills/` |
|
|
107
|
+
| **Codex** | `~/.codex/skills/knowme-careerforge/` | `cp -r knowme-careerforge-skill ~/.codex/skills/` |
|
|
108
|
+
| **Windsurf** | `.windsurfrules` | `cat agents/windsurf/knowme-careerforge.rules >> .windsurfrules` |
|
|
109
|
+
| **OpenCode** | `.opencode/skills/knowme-careerforge/` | `cp -r knowme-careerforge-skill ~/.opencode/skills/` |
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 4. The 3 Operational Modes
|
|
114
|
+
|
|
115
|
+
```text
|
|
116
|
+
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
117
|
+
│ Mode A: Target-Role Mode │
|
|
118
|
+
│ User specifies a career direction (e.g., "Senior AI Agent Engineer"). │
|
|
119
|
+
│ ▶ Agent loads role skill tree, extracts matching evidence, builds variant. │
|
|
120
|
+
├─────────────────────────────────────────────────────────────────────────────┤
|
|
121
|
+
│ Mode B: JD-Specific Mode │
|
|
122
|
+
│ User pastes a concrete Job Description (JD). │
|
|
123
|
+
│ ▶ Agent runs analyze-jd.py, performs gap analysis, highlights hiring keys. │
|
|
124
|
+
├─────────────────────────────────────────────────────────────────────────────┤
|
|
125
|
+
│ Mode C: Repo-to-Resume Mode │
|
|
126
|
+
│ User supplies a GitHub repository / codebase / project notes. │
|
|
127
|
+
│ ▶ Agent inspects code/config files, grades evidence into L1~L3, builds FAB. │
|
|
128
|
+
└─────────────────────────────────────────────────────────────────────────────┘
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 5. End-to-End Execution Workflow
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
Know (Evidence L1~3) ──> Define (Goal) ──> Understand (JD Signals) ──> Position (Strategy) ──> Forge (HTML Canvas) ──> Review (Dual QA)
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
1. **[KnowMe] Evidence Mapping**: Candidate experience is analyzed and strictly categorized into L1 (Code/Config proven), L2 (Module/Dependency inferred), and L3 (Contextual inference).
|
|
140
|
+
2. **[Define & Understand] Signal Extraction**: The target JD is parsed to extract must-have competencies and hiring signals.
|
|
141
|
+
3. **[Position] Strategy Formulation**: Gap analysis maps real candidate evidence to target JD requirements.
|
|
142
|
+
4. **[CareerForge] Template Search & Assembly**: The best HTML template is chosen using multi-criteria BM25 ranking (`search-template.py`) and instantiated to `workspace/resume.html`.
|
|
143
|
+
5. **[Review & Dual QA] Self-Healing**: Layout box model height overflow and ATS textual readability tests run automatically. If an overflow is detected, CSS spacing tokens are auto-calibrated.
|
|
144
|
+
6. **[PDF Export] Deterministic Output**: Playwright renders pixel-perfect `workspace/resume.pdf` with `@media print` A4 rules.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 6. Token Self-Healing & Visual Tuning Cheat Sheet
|
|
149
|
+
|
|
150
|
+
All visual parameters are concentrated in `:root` variables inside `workspace/resume.html`:
|
|
151
|
+
|
|
152
|
+
| CSS Token | Default | Compact (1-Page Squeeze) | Relaxed (2-Page Flow) | Purpose |
|
|
153
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
154
|
+
| `--resume-space-section` | `12pt` | `9.5pt` ~ `10.5pt` | `14pt` ~ `16pt` | Section vertical gap (primary self-healing knob) |
|
|
155
|
+
| `--resume-space-item` | `8pt` | `6.5pt` ~ `7pt` | `9pt` ~ `11pt` | Item gap between jobs/projects |
|
|
156
|
+
| `--resume-font-size-body` | `9.2pt` | `8.8pt` ~ `9.0pt` | `9.5pt` ~ `10pt` | Body text size (safe legibility floor is 8.8pt) |
|
|
157
|
+
| `--resume-line-height-body` | `1.45` | `1.38` | `1.50` | Line height ratio |
|
|
158
|
+
| `--resume-color-accent` | `#2563eb` | Custom Hex | Custom Hex | Primary theme accent color |
|
|
159
|
+
| `--resume-sidebar-width` | `32%` | `30%` | `35%` | Sidebar width (for modern/executive templates) |
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## 7. Core Templates Matrix
|
|
164
|
+
|
|
165
|
+
| Template ID | Style | Category | ATS Tier | Best For | Target Pages |
|
|
166
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
167
|
+
| **`minimal`** | Single-Column Minimal | Tech / AI | Tier 1 (Optimal) | Backend, Algorithms, AI Research, Systems | 1 Page |
|
|
168
|
+
| **`modern`** | Two-Column Split (32:68) | Tech / Fullstack | Tier 1 (Optimal) | Fullstack, AI Agent, Frontend, Global Roles | 1~2 Pages |
|
|
169
|
+
| **`executive`** | Executive Banner + 33:67 | Leadership / Product | Tier 1 (Optimal) | Tech Director, Chief Architect, Tech Lead | 1~2 Pages |
|
|
170
|
+
| **`classic`** | Structured Table Grid | Corporate / Gov | Tier 1 (Optimal) | State Enterprises, Finance, Hardware, Civil | 1 Page |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 8. CLI & Script Reference
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# 1. Search best template for target role
|
|
178
|
+
knowme search "AI Agent Engineer" --style "two-column-split"
|
|
179
|
+
|
|
180
|
+
# 2. Analyze a target Job Description
|
|
181
|
+
python3 scripts/analyze-jd.py --jd examples/ai-engineer/jd.md
|
|
182
|
+
|
|
183
|
+
# 3. Instantiate Intermediate Working Canvas
|
|
184
|
+
python3 scripts/instantiate-resume.py --template modern --keywords "Python,LLM,RAG" --output workspace/resume.html
|
|
185
|
+
|
|
186
|
+
# 4. Validate working canvas layout & ATS compliance
|
|
187
|
+
knowme validate
|
|
188
|
+
|
|
189
|
+
# 5. Render deterministic pixel-perfect PDF via Playwright
|
|
190
|
+
npx ts-node scripts/render-pdf.ts --input workspace/resume.html --output workspace/resume.pdf
|
|
191
|
+
|
|
192
|
+
# 6. Build & view static HTML Template Gallery
|
|
193
|
+
knowme gallery
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 9. Automated Testing & Verification
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# Run full automated test suite (21/21 passing in 0.3s)
|
|
202
|
+
npm test
|
|
203
|
+
# Or:
|
|
204
|
+
python3 scripts/run-all-tests.py
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 10. NPM Build, Release & Publishing
|
|
210
|
+
|
|
211
|
+
This package is ready to be built, tested, and published to the NPM Registry:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# 1. Automated release preparation & verification
|
|
215
|
+
npm run release -- 0.0.1
|
|
216
|
+
|
|
217
|
+
# 2. Publish to public NPM registry
|
|
218
|
+
npm publish --access public
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
See the full [NPM Publishing & Update Guide](docs/PUBLISHING.md) for step-by-step release instructions.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 11. License
|
|
226
|
+
|
|
227
|
+
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# KnowMe CareerForge
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="README.zh-CN.md">🇨🇳 简体中文</a> |
|
|
5
|
+
<a href="README.md">🇺🇸 English</a>
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://github.com/Max-Samson/knowme-careerforge-skill/releases"><img src="https://img.shields.io/github/v/release/Max-Samson/knowme-careerforge-skill?style=for-the-badge&color=blue" alt="GitHub Release"></a>
|
|
10
|
+
<img src="https://img.shields.io/badge/岗位画像-9套标准画像-green?style=for-the-badge" alt="9 Role Profiles">
|
|
11
|
+
<img src="https://img.shields.io/badge/A4模板-4套黄金基准-purple?style=for-the-badge" alt="4 Baseline A4 Templates">
|
|
12
|
+
<img src="https://img.shields.io/badge/python-3.9+-yellow?style=for-the-badge&logo=python&logoColor=white" alt="Python 3.9+">
|
|
13
|
+
<a href="LICENSE"><img src="https://img.shields.io/github/license/Max-Samson/knowme-careerforge-skill?style=for-the-badge&color=green" alt="License: MIT"></a>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="https://www.npmjs.com/package/knowme-careerforge-skill"><img src="https://img.shields.io/npm/v/knowme-careerforge-skill?style=flat-square&logo=npm&label=npm" alt="npm package"></a>
|
|
18
|
+
<a href="https://github.com/Max-Samson/knowme-careerforge-skill/stargazers"><img src="https://img.shields.io/github/stars/Max-Samson/knowme-careerforge-skill?style=flat-square&logo=github" alt="GitHub stars"></a>
|
|
19
|
+
<img src="https://img.shields.io/badge/核心架构-HTML中间修改场%20%2B%20Design%20Tokens-blue?style=flat-square" alt="HTML Intermediate Canvas">
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
> **认识自己,明确方向,锻造属于你的职业机会。**
|
|
23
|
+
>
|
|
24
|
+
> *Know Yourself. Define Your Direction. Forge Your Opportunity.*
|
|
25
|
+
>
|
|
26
|
+
> *面向主流 AI Agent 的自我认知、职业定位与岗位定制简历工程 Skill。*
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 1. 什么是 KnowMe CareerForge?
|
|
31
|
+
|
|
32
|
+
**KnowMe CareerForge** 是一款专为 Claude Code、Cursor、Codex、Windsurf 及 Gemini CLI 打造的工业级、Agent-Native 简历工程 Skill。
|
|
33
|
+
|
|
34
|
+
传统的 AI 简历工具通常将写简历视为简单的“文本生成任务”:给大模型一段提示词,吐出一堆 Markdown,再经由黑盒转换器输出格式混乱、排版错位、充斥幻觉的 PDF。
|
|
35
|
+
|
|
36
|
+
**KnowMe CareerForge** 从底层重构了这一范式,打造为结构化的**双引擎协作系统**:
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
knowme-careerforge-skill
|
|
40
|
+
│
|
|
41
|
+
▼
|
|
42
|
+
KnowMe CareerForge
|
|
43
|
+
│
|
|
44
|
+
┌─────┴─────┐
|
|
45
|
+
▼ ▼
|
|
46
|
+
KnowMe CareerForge
|
|
47
|
+
│ │
|
|
48
|
+
认识自己 锻造职业表达
|
|
49
|
+
真实经历与证据 工程化定制交付
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
- **KnowMe(自我认知与证据挖掘引擎)**:帮助候选人深入认知自我,系统梳理真实经历与可验证的代码/项目证据(L1~L3 分级),提炼真正具备竞争壁垒的优势点。
|
|
53
|
+
- **CareerForge(职业定位与简历工程引擎)**:将候选人的真实优势精准对齐目标岗位(JD),以 **HTML 中间工作区(Intermediate Canvas)** 与 **Design Tokens(设计系统变量)** 为工作场进行微调排版,最终通过 Playwright 无头浏览器导出确定性、像素级的矢量 PDF。
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 2. 核心价值观与设计原则
|
|
58
|
+
|
|
59
|
+
> ### *"目标不是让候选人看起来比真实情况更优秀,而是让真实的优势被正确的机会看见。"*
|
|
60
|
+
>
|
|
61
|
+
> *(The goal is not to make the candidate look better than they are. The goal is to make their real strengths visible to the right opportunity.)*
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
【错误方向 (传统 AI 盲目夸大与幻觉)】
|
|
65
|
+
目标 JD ──> 提取关键词 ──> AI 凭空猜测 ──> 虚假包装 ──> 夸大造假 (面试必露馅)
|
|
66
|
+
|
|
67
|
+
【正确方向 (KnowMe CareerForge 证据为先)】
|
|
68
|
+
真实经历 ──> 代码/事实证据 ──> 核心优势 ──> 岗位精准匹配 ──> 高质量职业叙事与工程交付
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 3. 安装与部署指南
|
|
74
|
+
|
|
75
|
+
你可以通过 **CLI 极速初始化 (无需 Clone)** 或直接通过 **Agent 原生规则文件** 接入:
|
|
76
|
+
|
|
77
|
+
### 方式 A:通过 CLI 快速安装 (推荐)
|
|
78
|
+
|
|
79
|
+
直接使用 `npx` 免安装初始化:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# 进入你的目标项目目录
|
|
83
|
+
cd /path/to/your/project
|
|
84
|
+
|
|
85
|
+
# 为你所使用的 AI 编程助手一键安装 Skill
|
|
86
|
+
npx knowme-careerforge-skill init --ai cursor # Cursor (.cursor/rules/)
|
|
87
|
+
npx knowme-careerforge-skill init --ai claude # Claude Code (~/.claude/skills/)
|
|
88
|
+
npx knowme-careerforge-skill init --ai codex # Codex CLI (~/.codex/skills/)
|
|
89
|
+
npx knowme-careerforge-skill init --ai windsurf # Windsurf (.windsurfrules)
|
|
90
|
+
npx knowme-careerforge-skill init --ai gemini # Gemini CLI (~/.gemini/skills/)
|
|
91
|
+
npx knowme-careerforge-skill init --ai opencode # OpenCode (.opencode/skills/)
|
|
92
|
+
npx knowme-careerforge-skill init --all # 为所有支持的平台一键安装
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
或全局安装 CLI:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npm install -g knowme-careerforge-skill
|
|
99
|
+
knowme init --ai cursor
|
|
100
|
+
knowme list
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
### 方式 B:Agent 平台原生手动配置
|
|
106
|
+
|
|
107
|
+
| 平台 | 目标注入路径 | 配置方法 |
|
|
108
|
+
| :--- | :--- | :--- |
|
|
109
|
+
| **Cursor** | `.cursor/rules/knowme-careerforge.mdc` | `cp SKILL.md .cursor/rules/knowme-careerforge.mdc` |
|
|
110
|
+
| **Claude Code** | `~/.claude/skills/knowme-careerforge/` | `cp -r knowme-careerforge-skill ~/.claude/skills/` |
|
|
111
|
+
| **Codex** | `~/.codex/skills/knowme-careerforge/` | `cp -r knowme-careerforge-skill ~/.codex/skills/` |
|
|
112
|
+
| **Windsurf** | `.windsurfrules` | `cat agents/windsurf/knowme-careerforge.rules >> .windsurfrules` |
|
|
113
|
+
| **OpenCode** | `.opencode/skills/knowme-careerforge/` | `cp -r knowme-careerforge-skill ~/.opencode/skills/` |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 4. 三大运行模式 (Operational Modes)
|
|
118
|
+
|
|
119
|
+
```text
|
|
120
|
+
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
121
|
+
│ 模式 A:目标岗位模式 (Target-Role Mode) │
|
|
122
|
+
│ 用户指定职业发展方向(如“资深 AI Agent 研发工程师”)。 │
|
|
123
|
+
│ ▶ Agent 加载岗位能力树,从经历库中提取强匹配证据,派生对应 Resume Variant。 │
|
|
124
|
+
├─────────────────────────────────────────────────────────────────────────────┤
|
|
125
|
+
│ 模式 B:具体 JD 定制模式 (JD-Specific Mode) │
|
|
126
|
+
│ 用户粘贴具体的招聘需求 (Job Description)。 │
|
|
127
|
+
│ ▶ Agent 运行 analyze-jd.py 执行差距分析,提取加分项并高亮核心招聘信号。 │
|
|
128
|
+
├─────────────────────────────────────────────────────────────────────────────┤
|
|
129
|
+
│ 模式 C:代码库到经历挖掘模式 (Repo-to-Resume Mode) │
|
|
130
|
+
│ 用户提供 GitHub 仓库链接、代码目录或工程笔记。 │
|
|
131
|
+
│ ▶ Agent 审查源码与配置文件,判定 L1~L3 证据等级,重塑为高质量 FAB 论据。 │
|
|
132
|
+
└─────────────────────────────────────────────────────────────────────────────┘
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 5. 端到端执行工作流 (The 6-Stage Workflow)
|
|
138
|
+
|
|
139
|
+
```text
|
|
140
|
+
Know (证据分级) ──> Define (明确目标) ──> Understand (洞察JD) ──> Position (制定策略) ──> Forge (HTML修改场) ──> Review (双重QA)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
1. **[KnowMe] 证据挖掘**:分析候选人代码库与真实经历,严格划分为 L1 (代码配置直证)、L2 (模块依赖推断) 与 L3 (合理解读)。
|
|
144
|
+
2. **[Define & Understand] 信号提取**:解析目标 JD,提取必备项、加分项与团队招聘风格。
|
|
145
|
+
3. **[Position] 优势对齐**:差距分析匹配真实证据,规划模块优先级。
|
|
146
|
+
4. **[CareerForge] 模板检索与组装**:通过多维打分引擎检索最佳模板,实例化生成 `workspace/resume.html`。
|
|
147
|
+
5. **[Review & Dual QA] 闭环自愈**:无头浏览器检测 DOM 高度溢出与 ATS 文本流,自愈调校 CSS 间距 Tokens。
|
|
148
|
+
6. **[PDF Export] 确定性渲染**:通过 Playwright 导出无损矢量 `workspace/resume.pdf`。
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 6. CSS Design Tokens 调优与自愈速查表
|
|
153
|
+
|
|
154
|
+
所有排版参数均集中在 `workspace/resume.html` 的 `:root` 变量中,可进行全局即时微调:
|
|
155
|
+
|
|
156
|
+
| CSS Token 变量名 | 默认推荐值 | 紧凑模式 (单页微调) | 宽松模式 (双页饱满) | 调优核心作用 |
|
|
157
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
158
|
+
| `--resume-space-section` | `12pt` | `9.5pt` ~ `10.5pt` | `14pt` ~ `16pt` | 模块间纵向间距 (自愈核心旋钮) |
|
|
159
|
+
| `--resume-space-item` | `8pt` | `6.5pt` ~ `7pt` | `9pt` ~ `11pt` | 经历/项目条目间距 |
|
|
160
|
+
| `--resume-font-size-body` | `9.2pt` | `8.8pt` ~ `9.0pt` | `9.5pt` ~ `10pt` | 正文字号 (物理安全底线 8.8pt) |
|
|
161
|
+
| `--resume-line-height-body`| `1.45` | `1.38` | `1.50` | 正文行高比例 |
|
|
162
|
+
| `--resume-color-accent` | `#2563eb` | 自定义 Hex | 自定义 Hex | 主题强调色 (科技蓝/松石绿/经典深蓝) |
|
|
163
|
+
| `--resume-sidebar-width` | `32%` | `30%` | `35%` | 侧边栏占比 (双栏/高管模板有效) |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 7. 首期 4 款黄金基准模板
|
|
168
|
+
|
|
169
|
+
| 模板 ID | 版式风格 | 岗位分类 | ATS 评级 | 适用人群与设计特质 | 目标页数 |
|
|
170
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
171
|
+
| **`minimal`** | 单栏极简线性流 | 研发 / AI | Tier 1 (极佳) | 后端、算法、系统、AI 工程师;强调技术胶囊与代码证据 | 1 页 |
|
|
172
|
+
| **`modern`** | 左右双栏 (32:68) | 研发 / 全栈 | Tier 1 (极佳) | 全栈、AI 应用、海外远程;深海蓝侧栏,视觉层次丰满 | 1~2 页 |
|
|
173
|
+
| **`executive`** | 墨黑顶栏 + 33:67 双栏 | 管理 / 产品 | Tier 1 (极佳) | 技术总监、首席架构师、Team Lead;突出领导力与重大项目 | 1~2 页 |
|
|
174
|
+
| **`classic`** | 现代结构化表格网格 | 综合 / 政企 | Tier 1 (极佳) | 国企、金融科技、政企合规岗位;6列矩阵,最高信息密度 | 1 页 |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 8. CLI 命令参考
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# 1. 智能检索最匹配的 HTML 简历模板
|
|
182
|
+
knowme search "AI Agent Engineer" --style "two-column-split"
|
|
183
|
+
|
|
184
|
+
# 2. 深度解析目标 JD 文本与技能词频
|
|
185
|
+
python3 scripts/analyze-jd.py --jd examples/ai-engineer/jd.md
|
|
186
|
+
|
|
187
|
+
# 3. 实例化 HTML 中间工作区并注入关键词高亮
|
|
188
|
+
python3 scripts/instantiate-resume.py --template modern --keywords "Python,LLM,RAG,FastAPI" --output workspace/resume.html
|
|
189
|
+
|
|
190
|
+
# 4. 运行布局结构、Design Tokens 与文字密度验证
|
|
191
|
+
knowme validate
|
|
192
|
+
|
|
193
|
+
# 5. 通过 Playwright 确定性导出无损矢量 A4 PDF
|
|
194
|
+
npx ts-node scripts/render-pdf.ts --input workspace/resume.html --output workspace/resume.pdf
|
|
195
|
+
|
|
196
|
+
# 6. 编译生成可视化模板画廊
|
|
197
|
+
knowme gallery
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 9. 自动化测试与质量保障
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# 运行全链路自动化测试套件 (21/21 项测试 0.3 秒通过)
|
|
206
|
+
npm test
|
|
207
|
+
# 或:
|
|
208
|
+
python3 scripts/run-all-tests.py
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## 10. NPM 构建、发布与版本更新
|
|
214
|
+
|
|
215
|
+
本项目已配置为标准的 NPM Package,支持一键编译、测试与发布:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# 1. 执行发布前自动化测试与打包预检
|
|
219
|
+
npm run release -- 0.0.1
|
|
220
|
+
|
|
221
|
+
# 2. 发布至公共 NPM 注册表
|
|
222
|
+
npm publish --access public
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
更多详细发版与 SemVer 版本升级策略请参阅 [NPM 构建与发布更新指南](docs/PUBLISHING.zh-CN.md)。
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## 11. 开源协议
|
|
230
|
+
|
|
231
|
+
本项目采用 **MIT 开源协议**,详情请参阅 [LICENSE](LICENSE) 文件。
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: knowme-careerforge
|
|
3
|
+
displayName: KnowMe CareerForge
|
|
4
|
+
description: An agent-native skill for self-discovery, career positioning, and tailored resume engineering. Analyzes candidate evidence, maps strengths to target JDs, crafts tailored resumes inside an HTML Intermediate Canvas, self-heals layout/ATS, and exports pixel-perfect PDFs.
|
|
5
|
+
version: 0.0.1
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# KnowMe CareerForge — Agent Reasoning Contract & Execution Specification
|
|
9
|
+
|
|
10
|
+
> **"Know Yourself. Define Your Direction. Forge Your Opportunity."**
|
|
11
|
+
>
|
|
12
|
+
> *Core Mission: The goal is not to make the candidate look better than they are. The goal is to make their real strengths visible to the right opportunity.*
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. Operating Rules & Core Constraints
|
|
17
|
+
|
|
18
|
+
When this skill is activated, you are NOT a generic text generator. You act as a coordinated council of 6 specialized personas:
|
|
19
|
+
1. **Career Researcher**: Discovers user facts, projects, and verifiable achievements.
|
|
20
|
+
2. **Career Strategist**: Analyzes target JDs and formulates career positioning strategy.
|
|
21
|
+
3. **Evidence Analyst**: Strictly enforces L1~L3 evidence classification and eliminates hallucinations.
|
|
22
|
+
4. **Resume Writer**: Crafts high-impact FAB (Feature-Advantage-Benefit) bullet points.
|
|
23
|
+
5. **Resume Designer**: Calibrates CSS Design Tokens within the HTML canvas.
|
|
24
|
+
6. **Resume Reviewer**: Executes automated layout, overflow, and ATS Dual-QA tests.
|
|
25
|
+
|
|
26
|
+
### Non-Negotiable Invariants:
|
|
27
|
+
- **Evidence-First**: Every single claim on the resume MUST be grounded in candidate facts. Never invent unverified revenue numbers, false company tenures, or fake degrees.
|
|
28
|
+
- **HTML Intermediate Canvas as Source of Truth**: All modifications, tailoring, token tuning, and QA verification happen in `workspace/resume.html`. Never output raw unformatted text or bypass the HTML canvas.
|
|
29
|
+
- **Deterministic Rendering**: The final PDF (`workspace/resume.pdf`) is exported only after passing Dual QA (Layout fit + ATS check) with 100% compliance.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 2. The 6-Stage Deterministic Workflow
|
|
34
|
+
|
|
35
|
+
You MUST execute the following 6 stages in exact sequence:
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
|
|
39
|
+
│ 1. KNOW ME │ ──> │ 2. DEFINE │ ──> │ 3. UNDERSTAND │
|
|
40
|
+
│ Evidence L1~3│ │ Career Goal │ │ JD & Signals │
|
|
41
|
+
└──────────────┘ └──────────────┘ └──────────────────┘
|
|
42
|
+
│
|
|
43
|
+
▼
|
|
44
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
|
|
45
|
+
│ 6. REVIEW/QA │ <── │ 5. CAREER │ <── │ 4. POSITION │
|
|
46
|
+
│ Dual QA & PDF│ │ FORGE HTML │ │ Strategy & Map │
|
|
47
|
+
└──────────────┘ └──────────────┘ └──────────────────┘
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### Stage 1: Know Me (Self-Discovery & Evidence Extraction)
|
|
53
|
+
|
|
54
|
+
1. **Collect & Structure Facts**:
|
|
55
|
+
- Extract education, company tenures, project scopes, code repositories, system architectures, and technical competencies.
|
|
56
|
+
2. **Classify Evidence into 3 Strict Levels**:
|
|
57
|
+
- **Level 1 (Direct Evidence)**: Verified by code files, configuration files (`package.json`, `Dockerfile`), API contracts, Git commits, or published metrics.
|
|
58
|
+
- **Level 2 (Structural Evidence)**: Deduced from directory structure, tech stack dependencies, and architectural patterns.
|
|
59
|
+
- **Level 3 (Contextual Inference)**: Reasonable contextual deduction (MUST use conservative phrasing, e.g., *"Participated in the design and implementation of..."*).
|
|
60
|
+
- **Unsupported**: Facts not present in candidate records. **NEVER WRITE INTO RESUME**. If a core JD skill is missing, prompt the candidate to clarify rather than fabricating.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
### Stage 2: Define (Goal & Career Positioning)
|
|
65
|
+
|
|
66
|
+
1. **Clarify Career Target**:
|
|
67
|
+
- **Target Role Title**: e.g., *Senior AI Agent Engineer*, *Staff Frontend Architect*, *Tech Lead*.
|
|
68
|
+
- **Target Seniority**: Junior / Mid / Senior / Lead / Principal / Executive.
|
|
69
|
+
- **Industry Domain**: e.g., AI/LLM, Enterprise SaaS, FinTech, E-Commerce.
|
|
70
|
+
2. **Formulate Core Value Proposition (CVP)**:
|
|
71
|
+
- One concise statement (15~25 words) capturing the candidate's unique intersection of skills and business impact.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
### Stage 3: Understand (Job Description & Signal Extraction)
|
|
76
|
+
|
|
77
|
+
1. Run the JD Analysis script (or execute equivalent extraction logic):
|
|
78
|
+
```bash
|
|
79
|
+
python3 scripts/analyze-jd.py --jd "path/to/jd.txt"
|
|
80
|
+
```
|
|
81
|
+
2. **Extract Key Signals**:
|
|
82
|
+
- **Must-Have Skills**: Absolute prerequisites (e.g., Python, LangChain/LangGraph, RAG, FastAPI).
|
|
83
|
+
- **Nice-to-Have Skills**: Advantageous boosters (e.g., Kubernetes, VectorDB benchmarking).
|
|
84
|
+
- **Core Pain Points & Responsibilities**: What business problems is this hire expected to solve?
|
|
85
|
+
- **Hiring Signals & Cultural Cues**: High-frequency verbs and domain terminology.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
### Stage 4: Position Myself (Strength Mapping & Resume Strategy)
|
|
90
|
+
|
|
91
|
+
1. **Conduct Gap Analysis**:
|
|
92
|
+
- Compare Candidate Evidence (Stage 1) against JD Requirements (Stage 3).
|
|
93
|
+
- Identify **Strong Matches** (L1 evidence), **Potential Matches** (L2/L3), and **Gaps**.
|
|
94
|
+
2. **Define Resume Strategy**:
|
|
95
|
+
- **Section Priority**: e.g., for AI Engineer: `Skills` ➔ `Projects` ➔ `Experience` ➔ `Education`. For Executive: `Summary` ➔ `Experience` ➔ `Leadership Projects` ➔ `Skills`.
|
|
96
|
+
- **Keyword Highlight Targets**: 8~12 high-priority terms to emphasize visually.
|
|
97
|
+
- **Narrative Angle**: Tailor project bullets using the **FAB Formula** (*Feature: What was built; Advantage: How it was built better; Benefit: Measurable business impact*).
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### Stage 5: CareerForge (Template Selection, Canvas Instantiation & Editing)
|
|
102
|
+
|
|
103
|
+
1. **Search & Select Best Template**:
|
|
104
|
+
```bash
|
|
105
|
+
python3 scripts/search-template.py "<Target Role>" --style "<minimal|modern|executive|classic>" --target-pages 1
|
|
106
|
+
```
|
|
107
|
+
- `minimal`: Single-column, tech-dense, optimal for Backend/AI/Systems (1 page).
|
|
108
|
+
- `modern`: Two-column split (32:68), deep navy sidebar, fullstack/AI/global (1~2 pages).
|
|
109
|
+
- `executive`: Executive dark banner + 33:67 split, leadership & architecture (1~2 pages).
|
|
110
|
+
- `classic`: Modern structured table grid, formal/gov/corporate (1 page).
|
|
111
|
+
|
|
112
|
+
2. **Instantiate Intermediate Working Canvas**:
|
|
113
|
+
```bash
|
|
114
|
+
python3 scripts/instantiate-resume.py --template <template_id> --keywords "Python,LLM,RAG,FastAPI" --output workspace/resume.html
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
3. **Edit in Intermediate Canvas (`workspace/resume.html`)**:
|
|
118
|
+
- Inject candidate details into the semantic HTML structure.
|
|
119
|
+
- Wrap core matching keywords in `<strong>` or `<span class="tech-tag">`.
|
|
120
|
+
- Calibrate CSS Variables in `<style>`:
|
|
121
|
+
- Spacing: `--resume-space-section`, `--resume-space-item`, `--resume-space-bullet`.
|
|
122
|
+
- Typography: `--resume-font-size-body`, `--resume-line-height-body`.
|
|
123
|
+
- Accents: `--resume-color-accent`, `--resume-color-primary`.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
### Stage 6: Review & Dual QA (Verification, Self-Healing & PDF Export)
|
|
128
|
+
|
|
129
|
+
1. **Execute Automated Dual QA**:
|
|
130
|
+
```bash
|
|
131
|
+
# QA Test 1: Layout & DOM Height Overflow Check
|
|
132
|
+
python3 scripts/validate-resume.py --html workspace/resume.html --expected-pages 1
|
|
133
|
+
|
|
134
|
+
# QA Test 2: ATS Text Flow & Heading Hierarchy Check
|
|
135
|
+
npx ts-node scripts/validate-ats.ts --html workspace/resume.html
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
2. **Self-Healing Closed Loop (If QA Fails)**:
|
|
139
|
+
- **Case A: Page Overflow (e.g. DOM Height 1145px > 1122.5px)**:
|
|
140
|
+
1. In `workspace/resume.html`, reduce `--resume-space-section` by `1~2pt`.
|
|
141
|
+
2. Reduce `--resume-font-size-body` by `0.2pt` (minimum `8.8pt`).
|
|
142
|
+
3. Condense verbose bullet points while preserving evidence verbs and metrics.
|
|
143
|
+
4. Re-run `validate-resume.py` until 100% single page fit.
|
|
144
|
+
- **Case B: ATS Structure Warning**:
|
|
145
|
+
1. Ensure all section titles use standard H2 tags (`工作经历`, `专业技能`, `项目经历`, `教育背景`).
|
|
146
|
+
2. Ensure contact items are plain text in standard DOM nodes.
|
|
147
|
+
|
|
148
|
+
3. **Export Deterministic PDF**:
|
|
149
|
+
```bash
|
|
150
|
+
npx ts-node scripts/render-pdf.ts --input workspace/resume.html --output workspace/resume.pdf
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
4. **Deliver to User**:
|
|
154
|
+
- Provide `workspace/resume.html` and `workspace/resume.pdf`.
|
|
155
|
+
- Deliver an **Evidence & Strategy Traceability Summary** explaining how real strengths were mapped to the target JD.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 3. Anti-Hallucination & Evidence Rules Summary
|
|
160
|
+
|
|
161
|
+
| Evidence Level | Permitted Phrasing | Prohibited Phrasing |
|
|
162
|
+
| :--- | :--- | :--- |
|
|
163
|
+
| **L1 (Code/Config Proven)** | "Architected and implemented...", "Reduced latency by 40% (benchmarked in test suite)" | Phrasing that claims scope beyond repository evidence |
|
|
164
|
+
| **L2 (Dependency/Module Proven)** | "Built microservices utilizing FastAPI and PostgreSQL..." | Claiming senior ownership when code only shows minor integration |
|
|
165
|
+
| **L3 (Contextual Inference)** | "Collaborated on the deployment workflow...", "Participated in data pipeline optimization..." | Claiming "Solely designed and led entire enterprise migration" |
|
|
166
|
+
| **Unsupported (No Evidence)** | **DO NOT INCLUDE** | Inventing metrics, tools, or roles |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 4. Troubleshooting & Self-Healing Decision Matrix
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
QA Failure: Height Overflow (> 1122.5px)
|
|
174
|
+
│
|
|
175
|
+
├── Step 1: Reduce --resume-space-section (e.g., 11pt -> 9.5pt)
|
|
176
|
+
├── Step 2: Reduce --resume-space-item (e.g., 7.5pt -> 6pt)
|
|
177
|
+
├── Step 3: Reduce --resume-font-size-body (e.g., 9.2pt -> 9.0pt)
|
|
178
|
+
└── Step 4: Merge multi-line bullets into concise single-line bullets
|
|
179
|
+
```
|