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.
Files changed (86) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +227 -0
  3. package/README.zh-CN.md +231 -0
  4. package/SKILL.md +179 -0
  5. package/agents/claude/knowme-careerforge.md +16 -0
  6. package/agents/codex/knowme-careerforge.yaml +15 -0
  7. package/agents/cursor/knowme-careerforge.mdc +12 -0
  8. package/agents/gemini/knowme-careerforge.json +6 -0
  9. package/agents/opencode/skill.yaml +11 -0
  10. package/agents/windsurf/knowme-careerforge.rules +10 -0
  11. package/bin/knowme.js +32 -0
  12. package/dist/cli/src/commands/init.d.ts +10 -0
  13. package/dist/cli/src/commands/init.js +130 -0
  14. package/dist/cli/src/commands/list.d.ts +5 -0
  15. package/dist/cli/src/commands/list.js +92 -0
  16. package/dist/cli/src/index.d.ts +6 -0
  17. package/dist/cli/src/index.js +149 -0
  18. package/dist/scripts/render-pdf.d.ts +11 -0
  19. package/dist/scripts/render-pdf.js +105 -0
  20. package/dist/scripts/validate-ats.d.ts +23 -0
  21. package/dist/scripts/validate-ats.js +169 -0
  22. package/dist/scripts/validate-layout.d.ts +24 -0
  23. package/dist/scripts/validate-layout.js +161 -0
  24. package/package.json +58 -0
  25. package/scripts/analyze-jd.py +108 -0
  26. package/scripts/build-gallery.py +233 -0
  27. package/scripts/build-knowledge.py +81 -0
  28. package/scripts/instantiate-resume.py +83 -0
  29. package/scripts/release.py +101 -0
  30. package/scripts/render-pdf.ts +86 -0
  31. package/scripts/run-all-tests.py +41 -0
  32. package/scripts/search-template.py +147 -0
  33. package/scripts/sync-version.py +57 -0
  34. package/scripts/validate-ats.ts +173 -0
  35. package/scripts/validate-layout.ts +161 -0
  36. package/scripts/validate-resume.py +139 -0
  37. package/skill.json +47 -0
  38. package/src/knowledge/ats-rules.json +37 -0
  39. package/src/knowledge/career/seniority-signals.json +24 -0
  40. package/src/knowledge/index.json +734 -0
  41. package/src/knowledge/industries/enterprise-saas.json +21 -0
  42. package/src/knowledge/industries/fintech.json +21 -0
  43. package/src/knowledge/industries/tech-ai.json +21 -0
  44. package/src/knowledge/layouts.json +59 -0
  45. package/src/knowledge/resume/action-verbs.json +20 -0
  46. package/src/knowledge/resume/fab-model.json +22 -0
  47. package/src/knowledge/roles/ai-agent-engineer.json +52 -0
  48. package/src/knowledge/roles/android-engineer.json +45 -0
  49. package/src/knowledge/roles/architect.json +48 -0
  50. package/src/knowledge/roles/cpp-systems.json +47 -0
  51. package/src/knowledge/roles/frontend.json +49 -0
  52. package/src/knowledge/roles/ios-engineer.json +45 -0
  53. package/src/knowledge/roles/java-backend.json +49 -0
  54. package/src/knowledge/roles/node-fullstack.json +49 -0
  55. package/src/knowledge/roles/product-manager.json +48 -0
  56. package/src/knowledge/skills/skill-matrix.json +29 -0
  57. package/src/knowledge/styles.json +73 -0
  58. package/src/knowledge/templates.json +255 -0
  59. package/src/references/ats.md +17 -0
  60. package/src/references/evidence-first.md +22 -0
  61. package/src/references/pdf.md +40 -0
  62. package/src/references/resume-writing.md +25 -0
  63. package/src/references/template-design.md +57 -0
  64. package/src/templates/classic/README.md +12 -0
  65. package/src/templates/classic/metadata.json +34 -0
  66. package/src/templates/classic/style.css +164 -0
  67. package/src/templates/classic/template.html +133 -0
  68. package/src/templates/common/resume-contract.md +69 -0
  69. package/src/templates/executive/README.md +12 -0
  70. package/src/templates/executive/metadata.json +37 -0
  71. package/src/templates/executive/style.css +235 -0
  72. package/src/templates/executive/template.html +101 -0
  73. package/src/templates/minimal/README.md +12 -0
  74. package/src/templates/minimal/metadata.json +37 -0
  75. package/src/templates/minimal/style.css +219 -0
  76. package/src/templates/minimal/template.html +114 -0
  77. package/src/templates/modern/README.md +12 -0
  78. package/src/templates/modern/metadata.json +38 -0
  79. package/src/templates/modern/style.css +277 -0
  80. package/src/templates/modern/template.html +139 -0
  81. package/src/workflows/analyze-job.md +16 -0
  82. package/src/workflows/define-goal.md +16 -0
  83. package/src/workflows/forge-resume.md +25 -0
  84. package/src/workflows/know-me.md +21 -0
  85. package/src/workflows/position.md +19 -0
  86. 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.
@@ -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
+ ```