{"id":"fea4cb46-a6b2-4f65-aaaa-bfaa7d8a3ca2","entityType":"agent","slug":"clawhub-ashley-aihr-cn-recruiting-workflow","name":"招聘推进助手 / Recruiting Follow-up Copilot","canonicalUrl":"https://www.xpersona.co/agent/clawhub-ashley-aihr-cn-recruiting-workflow","canonicalPath":"/agent/clawhub-ashley-aihr-cn-recruiting-workflow","generatedAt":"2026-10-10T10:52:48.639Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T04:48:35.493Z","emptyReason":null},"description":"帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update tra... Skill: 招聘推进助手 / Recruiting Follow-up Copilot Owner: ashley-aihr Summary: 帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update tra... Tags: china:0.3.0, hr:0.3.0, latest:0.3.0, recruiting:0.3.0 Version history: v0.3.0 | 2026-05-18T19:31:45.818Z | user 新增第二个可交付场景：JD+简历初筛，支持初筛评估、候选人沟通稿和进展记录文件输出。 / Add a second production","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.7K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s1709qwt8f7axz6nyace1xk5s5840gbe:cn-recruiting-workflow","sourceUrl":"https://clawhub.ai/ashley-aihr/cn-recruiting-workflow","homepage":"https://clawhub.ai/ashley-aihr/skills/cn-recruiting-workflow","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/ashley-aihr/cn-recruiting-workflow","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/ashley-aihr/skills/cn-recruiting-workflow","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update tra..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T04:48:35.493Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T04:48:35.493Z","emptyReason":null},"stars":null,"forks":null,"downloads":1673,"packageName":null,"latestVersion":"0.3.0","tractionLabel":"1.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T04:48:35.493Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T04:48:35.493Z","lastCrawledAt":"2026-10-10T04:48:35.493Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T04:48:35.493Z","lastVerifiedAt":null,"highlights":[{"version":"0.3.0","createdAt":"2026-05-18T19:31:45.818Z","changelog":"新增第二个可交付场景：JD+简历初筛，支持初筛评估、候选人沟通稿和进展记录文件输出。 / Add a second production-ready scenario for JD-plus-resume screening with memo, candidate message, and progress record outputs.","fileCount":14,"zipByteSize":25114},{"version":"0.2.4","createdAt":"2026-05-17T18:28:03.368Z","changelog":"Rename the skill with more localized, higher-click Chinese positioning. / 用更中国本地化、更适合点击的中文定位重命名 Skill。","fileCount":7,"zipByteSize":12772},{"version":"0.2.3","createdAt":"2026-05-17T17:19:47.055Z","changelog":"Update repository metadata for Ashley-AIHR and refresh public skill metadata. / 更新 Ashley-AIHR 仓库链接并刷新 Skill 元数据。","fileCount":9,"zipByteSize":15424},{"version":"0.2.2","createdAt":"2026-05-17T14:51:56.617Z","changelog":"将所有面向用户的中国地区表述从‘中国大陆 / mainland China’统一调整为更自然的‘中国 / China’。 / Replace user-facing region wording with the more native China phrasing in Chinese and English.","fileCount":9,"zipByteSize":15429},{"version":"0.2.1","createdAt":"2026-05-17T14:48:39.588Z","changelog":"新增中文优先元数据与中英双语说明，ClawHub 展示信息改为简体中文在前、英文在后。 / Add Chinese-first metadata and bilingual copy so ClawHub surfaces show Simplified Chinese first, then English.","fileCount":9,"zipByteSize":15441},{"version":"0.2.0","createdAt":"2026-05-17T14:36:30.527Z","changelog":"Add one concrete production-ready workflow for interview feedback summarization, including a realistic internet recruiting scenario, a local packet generator, sample input, and downloadable DOCX/CSV outputs.","fileCount":8,"zipByteSize":13624},{"version":"0.1.0","createdAt":"2026-05-17T14:26:10.962Z","changelog":"Initial release of a mainland China recruiting workflow skill with candidate scoring, interview feedback normalization, offer approval drafting, candidate messaging, and tracker write-back support.","fileCount":3,"zipByteSize":3629}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1709qwt8f7axz6nyace1xk5s5840gbe:cn-recruiting-workflow","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T10:52:48.636Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ashley-aihr-cn-recruiting-workflow/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T04:48:35.493Z","emptyReason":null},"readme":"Skill: 招聘推进助手 / Recruiting Follow-up Copilot\n\nOwner: ashley-aihr\n\nSummary: 帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update tra...\n\nTags: china:0.3.0, hr:0.3.0, latest:0.3.0, recruiting:0.3.0\n\nVersion history:\n\nv0.3.0 | 2026-05-18T19:31:45.818Z | user\n\n新增第二个可交付场景：JD+简历初筛，支持初筛评估、候选人沟通稿和进展记录文件输出。 / Add a second production-ready scenario for JD-plus-resume screening with memo, candidate message, and progress record outputs.\n\nv0.2.4 | 2026-05-17T18:28:03.368Z | user\n\nRename the skill with more localized, higher-click Chinese positioning. / 用更中国本地化、更适合点击的中文定位重命名 Skill。\n\nv0.2.3 | 2026-05-17T17:19:47.055Z | user\n\nUpdate repository metadata for Ashley-AIHR and refresh public skill metadata. / 更新 Ashley-AIHR 仓库链接并刷新 Skill 元数据。\n\nv0.2.2 | 2026-05-17T14:51:56.617Z | user\n\n将所有面向用户的中国地区表述从‘中国大陆 / mainland China’统一调整为更自然的‘中国 / China’。 / Replace user-facing region wording with the more native China phrasing in Chinese and English.\n\nv0.2.1 | 2026-05-17T14:48:39.588Z | user\n\n新增中文优先元数据与中英双语说明，ClawHub 展示信息改为简体中文在前、英文在后。 / Add Chinese-first metadata and bilingual copy so ClawHub surfaces show Simplified Chinese first, then English.\n\nv0.2.0 | 2026-05-17T14:36:30.527Z | user\n\nAdd one concrete production-ready workflow for interview feedback summarization, including a realistic internet recruiting scenario, a local packet generator, sample input, and downloadable DOCX/CSV outputs.\n\nv0.1.0 | 2026-05-17T14:26:10.962Z | user\n\nInitial release of a mainland China recruiting workflow skill with candidate scoring, interview feedback normalization, offer approval drafting, candidate messaging, and tracker write-back support.\n\nArchive index:\n\nArchive v0.3.0: 14 files, 25114 bytes\n\nFiles: agents/openai.yaml (377b), assets/generated-sample/candidate-tracker-update.csv (939b), assets/generated-sample/workflow-output.json (3754b), assets/generated-screening-sample/resume-screening-output.json (3498b), assets/generated-screening-sample/resume-screening-update.csv (658b), assets/interview-packet-input.sample.json (2426b), assets/resume-screening-input.sample.json (1914b), references/real-user-scenario.md (2705b), references/recruiting-fields.md (1616b), scripts/generate_interview_packet.js (10221b), scripts/generate_screening_packet.js (10599b), skill-card.md (2617b), SKILL.md (9560b), _meta.json (141b)\n\nFile v0.3.0:SKILL.md\n\n---\nname: cn-recruiting-workflow\ndescription: 帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update trackers.\nversion: 0.3.0\nmetadata:\n  openclaw:\n    homepage: https://github.com/Ashley-AIHR/hrskill\n    envVars:\n      - name: ATS_EXPORT_PATH\n        required: false\n        description: Optional local export path for tracker rows or CSV write-back.\n---\n\n# 招聘推进助手 / Recruiting Follow-up Copilot\n\n当用户在处理招聘推进、面试反馈汇总、候选人沟通或 Offer 前置材料时使用这个 skill。它更像一个会帮 HR 往前推流程的小助手，而不是一个只会解释概念的 HR 机器人。 / Use this skill when the user needs help moving recruiting work forward: interview debriefs, candidate follow-ups, and offer prep.\n\n这个 skill 设计了 5 个招聘动作，目前已经有 2 个能真正落地交付文件的场景： / This skill is optimized for 5 recruiting actions, and currently has 2 production-ready scenarios:\n\n1. `互联网招聘里的面试反馈汇总与推进`\n2. `JD + 简历初筛与推进建议`\n\n这个场景覆盖了互联网招聘里最常见的一类 HR 痛点： / That scenario covers a very common recruiting pain point:\n\n1. a recruiter or HRBP receives messy interviewer notes from Feishu, WeCom, email, or forms\n2. the hiring manager wants a short hiring recommendation fast\n3. HR needs a candidate-facing follow-up message\n4. HR needs a tracker update that can be pasted into ATS or a spreadsheet\n5. HR often still needs a downloadable debrief memo for internal circulation\n\n当前附带了可直接使用的文件： / This skill includes bundled files for these scenarios:\n\n1. [references/real-user-scenario.md](references/real-user-scenario.md)\n2. [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)\n3. [assets/resume-screening-input.sample.json](assets/resume-screening-input.sample.json)\n4. [scripts/generate_interview_packet.js](scripts/generate_interview_packet.js)\n5. [scripts/generate_screening_packet.js](scripts/generate_screening_packet.js)\n\n支持的动作有： / The supported actions are:\n\n1. `score_candidate`\n2. `summarize_interview_feedback`\n3. `create_offer_approval_pack`\n4. `generate_candidate_message`\n5. `update_candidate_tracker`\n\n## 输出标准 / Outcome Standard\n\n处理任意招聘工作流时，始终产出以下结构： / When handling any recruiting workflow, always produce these sections:\n\n```text\nnormalized_data\ndecision_summary\nmissing_information\nnext_action\nmessage_draft\nrecord_update\ncompliance_warning_if_any\n```\n\n规则： / Rules:\n\n1. `normalized_data` must be structured and easy to map into ATS, Feishu Bitable, DingTalk approval forms, Notion, Google Sheets, or CSV.\n2. `decision_summary` must make a decision or recommendation, not just restate the inputs.\n3. `missing_information` must name the exact fields that block a confident HR action.\n4. `next_action` must be something an HR operator can actually do today.\n5. `message_draft` should be directly reusable in WeCom, Feishu, email, or a candidate chat.\n6. `record_update` should be concise enough to write back into one row or one timeline entry.\n7. `compliance_warning_if_any` should only appear when there is a concrete legal or privacy concern.\n\n## 工作流路由 / Workflow Routing\n\n### 1. `score_candidate`\n\n当输入包含 JD 和简历或候选人资料时使用。 / Use when the input includes a JD and a resume or candidate profile.\n\n常见输入形态： / Expected input shapes:\n\n1. JD in Markdown, DOCX export, PDF text, or pasted text\n2. Resume in PDF text, DOCX export, pasted text, or profile notes\n3. Optional hiring preference such as `conservative`, `aggressive`, `fast-hiring`, or `high-bar`\n\n至少抽取以下字段： / Always extract at least:\n\n```text\ncandidate_name\ntarget_role\nmatch_score\nmust_have_match\npreferred_match\nrisk_flags\ninterview_focus\nnext_action\nmessage_to_candidate\nrecord_summary\n```\n\n### 2. `summarize_interview_feedback`\n\n当输入包含多位面试官意见、零散备注、聊天记录或表单片段时使用。 / Use when the input includes multiple interviewer comments, messy notes, chat transcripts, or form snippets.\n\n这是当前版本里最完整的工作流。如果用户只要一个真正能从输入跑到产出的场景，优先使用它。 / This is the most complete workflow in the current version. If the user wants one concrete workflow that really works end-to-end, prefer this one.\n\n将反馈归一化为： / Normalize feedback into:\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n然后产出： / Then produce:\n\n```text\ncandidate_summary\ninterviewer_opinions\nkey_strengths\nkey_concerns\nconflict_between_feedback\nrecommended_decision\nfollow_up_questions\ncandidate_reply_draft\nrecord_summary\n```\n\n如果用户需要可下载文件，还要生成： / If the user wants downloadable artifacts, also generate:\n\n1. an internal interview debrief memo in DOCX\n2. a candidate communication draft in DOCX or plain text\n3. a tracker update row in CSV\n\n如果在这个 skill 仓库本地运行，使用： / If working locally in this skill repo, use:\n\n```text\nnode scripts/generate_interview_packet.js <input.json> <output-dir>\n```\n\n示例输入见 [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)。 / See the sample payload in [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json).\n\n### `score_candidate` 也已支持文件产出\n\n如果用户希望把初筛结论直接落成文件，可以生成：\n\n1. 初筛评估 Word\n2. 候选人初筛沟通稿\n3. 进展记录 CSV\n\n本地运行命令：\n\n```text\nnode scripts/generate_screening_packet.js <input.json> <output-dir>\n```\n\n示例输入见 [assets/resume-screening-input.sample.json](assets/resume-screening-input.sample.json)。\n\n### 3. `create_offer_approval_pack`\n\n当 HR 已经掌握足够候选人信息、准备发 Offer 前的内部审批材料时使用。 / Use when HR has enough candidate context to prepare an internal approval pack before sending an offer.\n\n重点检查以下缺失或风险字段： / Check for missing or risky fields such as:\n\n1. target role or grade\n2. department or reporting line\n3. employment entity\n4. work location\n5. base salary or total cash\n6. bonus, allowance, or stock notes\n7. budget range\n8. expected onboard date\n9. trial period\n\n始终产出： / Always produce:\n\n```text\noffer_approval_summary\ncandidate_value_summary\nsalary_budget_check\nmissing_fields\napproval_recommendation\nrisk_notes\noffer_message_draft\nrecord_summary\n```\n\n### 4. `generate_candidate_message`\n\n当用户已经知道下一步动作，只需要一段面向候选人的沟通话术时使用。 / Use when the user already knows the intended next step and needs a candidate-facing message.\n\n默认语气： / Default tone:\n\n1. clear\n2. respectful\n3. concise\n4. realistic about timing\n\n支持的意图： / Supported intents:\n\n1. invite to interview\n2. request missing materials\n3. advance to next round\n4. hold in pipeline\n5. reject politely\n6. start offer discussion\n\n### 5. `update_candidate_tracker`\n\n当用户需要把结果回写到 ATS 或表格时使用。 / Use when the user wants a write-back summary for ATS or a spreadsheet.\n\n默认 tracker 行格式： / Default tracker row format:\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\n如果用户提供已有 tracker schema，则优先遵循用户 schema。 / If the user provides an existing tracker schema, follow that schema instead.\n\n## 工作方式 / Working Style\n\n1. 优先输出小而可执行的 HR 动作，而不是大段 SOP 说明。 / Prefer small executable HR actions over large SOP explanations.\n2. 默认输入可能来自 PDF、DOCX 导出、OCR、聊天记录和表格单元格，且可能不完整。 / Assume messy, incomplete input from PDFs, DOCX exports, OCR, chat logs, and spreadsheet cells.\n3. 优先给出招聘判断、风险和下一步，不追求空泛文采。 / Prioritize hiring decisions, risks, and next steps over pretty prose.\n4. 仅在问题具体且实质时提示隐私或劳动法风险。 / Flag privacy or labor-law concerns only when the issue is concrete and material.\n5. 如果材料不足或自相矛盾导致把握不高，要明确说出，并收窄建议。 / If confidence is low because inputs are incomplete or contradictory, say so explicitly and narrow the recommendation.\n\n## Mainland China context\n\nKeep outputs aligned with common recruiting practice in China:\n\n1. JDs often include hard requirements, preferred requirements, reporting line, city, and salary range.\n2. Resumes often omit salary expectation, notice period, or true interview motivation.\n3. Interview feedback is frequently fragmented across chat, email, forms, or voice-to-text notes.\n4. Internal approval flows usually require concise business value, budget fit, and risk notes before an offer can move forward.\n\nFor common field shapes and examples, see [references/recruiting-fields.md](references/recruiting-fields.md).\nFor the detailed production-ready workflow, see [references/real-user-scenario.md](references/real-user-scenario.md).\n\nFile v0.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn7cfgqtq1167ctj7rfp8cg3yn840js9\",\n  \"slug\": \"cn-recruiting-workflow\",\n  \"version\": \"0.3.0\",\n  \"publishedAt\": 1779132705818\n}\n\nFile v0.3.0:references/real-user-scenario.md\n\n# Real User Scenario\n\n## Recommended first production scenario\n\nUse this skill first for:\n\n`互联网公司社招场景下，HR 汇总多位面试官反馈并产出推进材料`\n\nThis is a realistic recruiting workflow in China because:\n\n1. feedback is often fragmented across Feishu, WeCom, forms, and verbal notes\n2. the hiring manager needs a quick go or no-go recommendation\n3. HR still needs documentation that can be forwarded, archived, and pasted back into ATS\n\n## Typical trigger\n\nAn HRBP or recruiter says something like:\n\n1. \"这是产品经理候选人的三轮面试反馈，帮我汇总成一版给老板看的纪要，再给候选人一条推进消息。\"\n2. \"面试官反馈很散，你帮我判断要不要进终面，并给我一行 tracker 更新。\"\n3. \"把这些反馈整理成结论，顺手给我生成一个 Word 版纪要。\"\n\n## Typical inputs\n\n1. Candidate basic profile\n2. Target JD or a short role summary\n3. Interview feedback from 2 to 5 interviewers\n4. Optional salary expectation or notice-period info\n\n## Minimum useful outputs\n\n1. normalized feedback summary\n2. recommendation with confidence level\n3. candidate-facing follow-up draft\n4. tracker update row\n5. internal interview debrief memo\n\n## Recommended second production scenario\n\nUse this skill next for:\n\n`JD + 简历初筛，输出是否推进、面试重点、候选人消息和跟进记录`\n\nThis is another strong recruiting use case because:\n\n1. almost every recruiting team does resume screening every day\n2. the input is stable enough to structure\n3. the output can directly move the process forward\n\nTypical trigger:\n\n1. \"这是岗位 JD 和候选人简历，帮我判断要不要推进。\"\n2. \"给我一版初筛结论，再补 3 个面试重点。\"\n3. \"顺手生成候选人沟通话术和一行进展记录。\"\n\nMinimum useful outputs:\n\n1. match score and match rationale\n2. risk flags\n3. interview focus\n4. candidate-facing follow-up draft\n5. progress-record update\n\n## Internet-company flavor\n\nThis scenario is especially common in internet hiring because:\n\n1. recruiting speed matters, so HR often cannot wait for perfectly formatted feedback\n2. interviewers frequently leave short comments such as \"还行\", \"项目深度一般\", \"推进但要补看 owner 意识\"\n3. HR has to translate vague feedback into a structured decision for the hiring manager\n\n## Decision policy\n\nWhen summarizing feedback for this scenario:\n\n1. distinguish hard blockers from soft concerns\n2. call out disagreement between interviewers explicitly\n3. do not overstate certainty when feedback is thin\n4. keep the candidate message aligned with the actual next action\n5. keep the memo concise enough to circulate internally\n\nFile v0.3.0:references/recruiting-fields.md\n\n# Recruiting Fields Reference\n\nUse this reference when the user needs stronger normalization for recruiting documents and workflow records used in China.\n\n## JD fields\n\n```text\njob_title\ndepartment\nhiring_manager\nlocation\nemployment_type\nmust_have_skills\npreferred_skills\nyears_of_experience\neducation_requirement\nindustry_background\nlanguage_requirement\nsalary_range\nurgency\ninterview_stages\n```\n\n## Resume fields\n\n```text\ncandidate_name\ncurrent_title\nyears_of_experience\neducation\nindustry_experience\ncore_skills\ncompany_history\nproject_highlights\nmanagement_scope\nstability_signals\nsalary_expectation\navailability\nlocation\n```\n\n## Interview feedback fields\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n## Offer approval fields\n\n```text\ncandidate_name\ntarget_role\ndepartment\nreporting_line\nwork_location\nemployment_entity\nbase_salary\nbonus_scheme\ntrial_period\nexpected_onboard_date\nbudget_range\napprover_chain\ninterview_summary\nrisk_notes\n```\n\n## Common source formats\n\n1. JD: Word, PDF, Feishu doc, pasted text, or email body\n2. Resume: PDF, DOCX, OCR text, recruiter notes, or ATS export\n3. Interview feedback: form fields, Feishu/WeCom chat, email, call notes, or voice transcription\n4. Approval pack inputs: spreadsheet rows, approval forms, salary bands, or hiring manager notes\n\n## Recommended record-update shape\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\nFile v0.3.0:skill-card.md\n\n## Description:\n\n帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update trackers.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[ashley-aihr](https://clawhub.ai/user/ashley-aihr)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nRecruiters, HRBPs, and hiring teams use this skill to turn messy interview feedback, JD and resume inputs, and offer-prep details into recruiting decisions, candidate messages, and tracker-ready records for China-focused hiring workflows.\n\n### Deployment Geography for Use:\n\nGlobal, with Mainland China recruiting context\n\n## Known Risks and Mitigations:\n\nRisk: Sensitive recruiting records may be written to disk in generated DOCX, CSV, and JSON files.\n\nMitigation: Use the skill only with recruiting data the operator is authorized to process, choose a controlled output directory, and redact salary or interview details when they are not needed.\n\nRisk: Generated CSV files may preserve spreadsheet formulas from candidate data.\n\nMitigation: Sanitize CSV output or add formula-injection hardening before opening generated CSV files in spreadsheet tools.\n\nRisk: Recruiting recommendations may affect hiring decisions when inputs are incomplete or inconsistent.\n\nMitigation: Review the recommendation, missing-information fields, and candidate-facing drafts before using them in a live recruiting workflow.\n\n## Reference(s):\n\n- [Real User Scenario](references/real-user-scenario.md)\n- [Recruiting Fields Reference](references/recruiting-fields.md)\n- [ClawHub skill page](https://clawhub.ai/ashley-aihr/skills/cn-recruiting-workflow)\n- [Project homepage](https://github.com/Ashley-AIHR/hrskill)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance, files]\n\n**Output Format:** [Structured Markdown or text, plus optional DOCX, CSV, and JSON files generated from local JSON inputs.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The packaged scripts can produce interview debrief memos, candidate messages, tracker CSV rows, resume-screening notes, and JSON workflow summaries.]\n\n## Skill Version(s):\n\n0.3.0 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.3.0:assets/generated-sample/workflow-output.json\n\n{\n  \"normalized_data\": {\n    \"candidate\": {\n      \"candidate_name\": \"陈雨桐\",\n      \"target_role\": \"高级产品经理（增长方向）\",\n      \"department\": \"增长产品部\",\n      \"city\": \"上海\",\n      \"years_of_experience\": \"7年\",\n      \"current_company\": \"某头部本地生活平台\",\n      \"salary_expectation\": \"税前月薪 42k-46k\",\n      \"notice_period\": \"30天\",\n      \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n    },\n    \"job\": {\n      \"job_title\": \"高级产品经理（增长方向）\",\n      \"must_have_skills\": [\n        \"增长策略设计\",\n        \"A/B实验\",\n        \"跨团队协作\",\n        \"数据分析\"\n      ],\n      \"preferred_skills\": [\n        \"会员体系经验\",\n        \"本地生活或电商行业经验\"\n      ],\n      \"hiring_manager\": \"增长产品负责人\",\n      \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n    },\n    \"interviews\": [\n      {\n        \"interviewer_name\": \"李晨\",\n        \"interview_round\": \"HR初筛\",\n        \"source\": \"Feishu notes\",\n        \"hire_recommendation\": \"推进\",\n        \"confidence_level\": \"high\",\n        \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\"\n      },\n      {\n        \"interviewer_name\": \"王敏\",\n        \"interview_round\": \"业务一面\",\n        \"source\": \"WeCom chat\",\n        \"hire_recommendation\": \"有条件推进\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\"\n      },\n      {\n        \"interviewer_name\": \"周凯\",\n        \"interview_round\": \"业务二面\",\n        \"source\": \"email\",\n        \"hire_recommendation\": \"推进但保守定级\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\"\n      }\n    ],\n    \"match_score\": 83\n  },\n  \"decision_summary\": \"陈雨桐 应聘 高级产品经理（增长方向），综合匹配度 83/100。\\n主要亮点：数据分析和增长指标敏感度较好；跨团队协作与推动经验较强；行业和增长场景匹配度较高；沟通表达稳定。\\n主要风险：owner意识或系统性策略深度需补充验证；薪资或定级存在博弈空间；偏执行型，需继续判断独立规划能力。\\n建议结论：建议推进补充面/终面\\n下一步：安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"missing_information\": [],\n  \"next_action\": \"安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"message_draft\": \"陈雨桐，你好，感谢你参加我们高级产品经理（增长方向）岗位的面试。团队已经完成当前轮次的沟通，整体反馈积极，我们希望继续推进下一步。接下来我们会尽快帮你安排后续面试/沟通，并同步具体时间。也欢迎你提前整理下对岗位、团队和业务的关注点，我们下一轮可以一起详细聊。\",\n  \"record_update\": {\n    \"stage\": \"业务面完成\",\n    \"decision\": \"建议推进补充面/终面\",\n    \"risk_flags\": [\n      \"owner意识或系统性策略深度需补充验证\",\n      \"薪资或定级存在博弈空间\",\n      \"偏执行型，需继续判断独立规划能力\"\n    ]\n  },\n  \"compliance_warning_if_any\": []\n}\n\nFile v0.3.0:assets/generated-screening-sample/resume-screening-output.json\n\n{\n  \"normalized_data\": {\n    \"candidate\": {\n      \"candidate_name\": \"林可欣\",\n      \"current_title\": \"高级产品经理\",\n      \"current_company\": \"某中型内容平台\",\n      \"city\": \"上海\",\n      \"years_of_experience\": \"6年\",\n      \"education\": \"本科\",\n      \"industry_experience\": [\n        \"内容平台\",\n        \"会员增长\",\n        \"用户运营协同\"\n      ],\n      \"core_skills\": [\n        \"增长漏斗分析\",\n        \"活动转化优化\",\n        \"会员策略\",\n        \"跨部门协同\"\n      ],\n      \"project_highlights\": [\n        \"负责会员首购转化项目，3个月提升付费转化12%\",\n        \"推动拉新落地页实验体系，迭代8轮实验\",\n        \"与运营、研发、商业化团队协同推进季度增长项目\"\n      ],\n      \"salary_expectation\": \"税前月薪 35k-40k\",\n      \"availability\": \"30天\",\n      \"resume_summary\": \"有内容平台增长和会员体系经验，做过多轮增长实验和跨团队项目推进，但没有明确电商或本地生活背景。\"\n    },\n    \"job\": {\n      \"job_title\": \"用户增长产品经理\",\n      \"department\": \"增长产品部\",\n      \"city\": \"上海\",\n      \"hiring_manager\": \"增长产品负责人\",\n      \"hiring_preference\": \"业务急招，优先看增长项目实战和跨团队推动力\",\n      \"must_have_skills\": [\n        \"增长策略\",\n        \"数据分析\",\n        \"A/B实验\",\n        \"跨团队协作\"\n      ],\n      \"preferred_skills\": [\n        \"电商或本地生活经验\",\n        \"会员体系经验\",\n        \"带项目 owner 经验\"\n      ],\n      \"jd_summary\": \"负责用户增长、留存和转化相关产品策略设计，推动实验、数据分析和跨团队落地，要求候选人具备成熟增长项目经验和较强业务理解。\"\n    },\n    \"must_have_match\": [\n      {\n        \"skill\": \"增长策略\",\n        \"matched\": true\n      },\n      {\n        \"skill\": \"数据分析\",\n        \"matched\": true\n      },\n      {\n        \"skill\": \"A/B实验\",\n        \"matched\": true\n      },\n      {\n        \"skill\": \"跨团队协作\",\n        \"matched\": true\n      }\n    ],\n    \"preferred_match\": [\n      {\n        \"skill\": \"电商或本地生活经验\",\n        \"matched\": true\n      },\n      {\n        \"skill\": \"会员体系经验\",\n        \"matched\": true\n      },\n      {\n        \"skill\": \"带项目 owner 经验\",\n        \"matched\": false\n      }\n    ],\n    \"match_score\": 92\n  },\n  \"decision_summary\": \"林可欣 应聘 用户增长产品经理，简历初筛匹配度 92/100；结论：建议推进首轮面试；主要风险：简历里 owner 角色描述偏少，建议补看独立推动能力；下一步：联系候选人安排首轮面试，并提醒用人经理重点补看 owner 意识与行业迁移能力。\",\n  \"missing_information\": [],\n  \"next_action\": \"联系候选人安排首轮面试，并提醒用人经理重点补看 owner 意识与行业迁移能力。\",\n  \"message_draft\": \"林可欣，你好，我们已经看过你的简历，整体和用户增长产品经理岗位有较高匹配度，特别是增长项目和跨团队协作相关经历。我们希望继续推进下一步面试，稍后会和你确认可沟通时间，也欢迎你提前整理下近期主导的增长项目和结果复盘。\",\n  \"record_update\": {\n    \"stage\": \"简历评估\",\n    \"decision\": \"建议推进首轮面试\",\n    \"risk_flags\": [\n      \"简历里 owner 角色描述偏少，建议补看独立推动能力\"\n    ]\n  },\n  \"compliance_warning_if_any\": []\n}\n\nFile v0.3.0:assets/interview-packet-input.sample.json\n\n{\n  \"meta\": {\n    \"generated_for\": \"china internet recruiting\",\n    \"workflow\": \"summarize_interview_feedback\",\n    \"prepared_by\": \"HRBP\",\n    \"date\": \"2026-05-17\"\n  },\n  \"candidate\": {\n    \"candidate_name\": \"陈雨桐\",\n    \"target_role\": \"高级产品经理（增长方向）\",\n    \"department\": \"增长产品部\",\n    \"city\": \"上海\",\n    \"years_of_experience\": \"7年\",\n    \"current_company\": \"某头部本地生活平台\",\n    \"salary_expectation\": \"税前月薪 42k-46k\",\n    \"notice_period\": \"30天\",\n    \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n  },\n  \"job\": {\n    \"job_title\": \"高级产品经理（增长方向）\",\n    \"must_have_skills\": [\n      \"增长策略设计\",\n      \"A/B实验\",\n      \"跨团队协作\",\n      \"数据分析\"\n    ],\n    \"preferred_skills\": [\n      \"会员体系经验\",\n      \"本地生活或电商行业经验\"\n    ],\n    \"hiring_manager\": \"增长产品负责人\",\n    \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n  },\n  \"interviews\": [\n    {\n      \"interviewer_name\": \"李晨\",\n      \"interview_round\": \"HR初筛\",\n      \"source\": \"Feishu notes\",\n      \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\",\n      \"hire_recommendation\": \"推进\",\n      \"confidence_level\": \"high\"\n    },\n    {\n      \"interviewer_name\": \"王敏\",\n      \"interview_round\": \"业务一面\",\n      \"source\": \"WeCom chat\",\n      \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\",\n      \"hire_recommendation\": \"有条件推进\",\n      \"confidence_level\": \"medium\"\n    },\n    {\n      \"interviewer_name\": \"周凯\",\n      \"interview_round\": \"业务二面\",\n      \"source\": \"email\",\n      \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\",\n      \"hire_recommendation\": \"推进但保守定级\",\n      \"confidence_level\": \"medium\"\n    }\n  ],\n  \"hr_owner\": {\n    \"owner_name\": \"May\",\n    \"tracker_stage\": \"业务面完成\"\n  }\n}\n\nFile v0.3.0:assets/resume-screening-input.sample.json\n\n{\n  \"meta\": {\n    \"generated_for\": \"china internet recruiting\",\n    \"workflow\": \"score_candidate\",\n    \"prepared_by\": \"招聘经理\",\n    \"date\": \"2026-05-19\"\n  },\n  \"job\": {\n    \"job_title\": \"用户增长产品经理\",\n    \"department\": \"增长产品部\",\n    \"city\": \"上海\",\n    \"hiring_manager\": \"增长产品负责人\",\n    \"hiring_preference\": \"业务急招，优先看增长项目实战和跨团队推动力\",\n    \"must_have_skills\": [\n      \"增长策略\",\n      \"数据分析\",\n      \"A/B实验\",\n      \"跨团队协作\"\n    ],\n    \"preferred_skills\": [\n      \"电商或本地生活经验\",\n      \"会员体系经验\",\n      \"带项目 owner 经验\"\n    ],\n    \"jd_summary\": \"负责用户增长、留存和转化相关产品策略设计，推动实验、数据分析和跨团队落地，要求候选人具备成熟增长项目经验和较强业务理解。\"\n  },\n  \"candidate\": {\n    \"candidate_name\": \"林可欣\",\n    \"current_title\": \"高级产品经理\",\n    \"current_company\": \"某中型内容平台\",\n    \"city\": \"上海\",\n    \"years_of_experience\": \"6年\",\n    \"education\": \"本科\",\n    \"industry_experience\": [\n      \"内容平台\",\n      \"会员增长\",\n      \"用户运营协同\"\n    ],\n    \"core_skills\": [\n      \"增长漏斗分析\",\n      \"活动转化优化\",\n      \"会员策略\",\n      \"跨部门协同\"\n    ],\n    \"project_highlights\": [\n      \"负责会员首购转化项目，3个月提升付费转化12%\",\n      \"推动拉新落地页实验体系，迭代8轮实验\",\n      \"与运营、研发、商业化团队协同推进季度增长项目\"\n    ],\n    \"salary_expectation\": \"税前月薪 35k-40k\",\n    \"availability\": \"30天\",\n    \"resume_summary\": \"有内容平台增长和会员体系经验，做过多轮增长实验和跨团队项目推进，但没有明确电商或本地生活背景。\"\n  },\n  \"hr_owner\": {\n    \"owner_name\": \"May\",\n    \"tracker_stage\": \"简历评估\"\n  }\n}\n\nFile v0.3.0:agents/openai.yaml\n\ninterface:\n  display_name: \"招聘推进助手 / Recruiting Follow-up Copilot\"\n  short_description: \"汇总面试反馈，生成推进话术、纪要和跟进记录 / Debrief, follow-up, and tracker updates\"\n  default_prompt: \"使用 $cn-recruiting-workflow 处理招聘推进场景，优先输出简体中文，并直接给我结论、候选人沟通稿和可回写记录。\"\n\nArchive v0.2.4: 7 files, 12772 bytes\n\nFiles: agents/openai.yaml (377b), assets/interview-packet-input.sample.json (2426b), references/real-user-scenario.md (1962b), references/recruiting-fields.md (1616b), scripts/generate_interview_packet.js (10221b), SKILL.md (8960b), _meta.json (141b)\n\nFile v0.2.4:SKILL.md\n\n---\nname: cn-recruiting-workflow\ndescription: 帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update trackers.\nversion: 0.2.4\nmetadata:\n  openclaw:\n    homepage: https://github.com/Ashley-AIHR/hrskill\n    envVars:\n      - name: ATS_EXPORT_PATH\n        required: false\n        description: Optional local export path for tracker rows or CSV write-back.\n---\n\n# 招聘推进助手 / Recruiting Follow-up Copilot\n\n当用户在处理招聘推进、面试反馈汇总、候选人沟通或 Offer 前置材料时使用这个 skill。它更像一个会帮 HR 往前推流程的小助手，而不是一个只会解释概念的 HR 机器人。 / Use this skill when the user needs help moving recruiting work forward: interview debriefs, candidate follow-ups, and offer prep.\n\n这个 skill 设计了 5 个招聘动作，但当前最完整、最适合真实上线使用的场景是： / This skill is optimized for 5 recruiting actions, but the current production-ready scenario is:\n\n`互联网招聘里的面试反馈汇总与推进`\n\n这个场景覆盖了互联网招聘里最常见的一类 HR 痛点： / That scenario covers a very common recruiting pain point:\n\n1. a recruiter or HRBP receives messy interviewer notes from Feishu, WeCom, email, or forms\n2. the hiring manager wants a short hiring recommendation fast\n3. HR needs a candidate-facing follow-up message\n4. HR needs a tracker update that can be pasted into ATS or a spreadsheet\n5. HR often still needs a downloadable debrief memo for internal circulation\n\n这个场景已经附带了可直接使用的文件： / This skill includes bundled files for that scenario:\n\n1. [references/real-user-scenario.md](references/real-user-scenario.md)\n2. [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)\n3. [scripts/generate_interview_packet.js](scripts/generate_interview_packet.js)\n\n支持的动作有： / The supported actions are:\n\n1. `score_candidate`\n2. `summarize_interview_feedback`\n3. `create_offer_approval_pack`\n4. `generate_candidate_message`\n5. `update_candidate_tracker`\n\n## 输出标准 / Outcome Standard\n\n处理任意招聘工作流时，始终产出以下结构： / When handling any recruiting workflow, always produce these sections:\n\n```text\nnormalized_data\ndecision_summary\nmissing_information\nnext_action\nmessage_draft\nrecord_update\ncompliance_warning_if_any\n```\n\n规则： / Rules:\n\n1. `normalized_data` must be structured and easy to map into ATS, Feishu Bitable, DingTalk approval forms, Notion, Google Sheets, or CSV.\n2. `decision_summary` must make a decision or recommendation, not just restate the inputs.\n3. `missing_information` must name the exact fields that block a confident HR action.\n4. `next_action` must be something an HR operator can actually do today.\n5. `message_draft` should be directly reusable in WeCom, Feishu, email, or a candidate chat.\n6. `record_update` should be concise enough to write back into one row or one timeline entry.\n7. `compliance_warning_if_any` should only appear when there is a concrete legal or privacy concern.\n\n## 工作流路由 / Workflow Routing\n\n### 1. `score_candidate`\n\n当输入包含 JD 和简历或候选人资料时使用。 / Use when the input includes a JD and a resume or candidate profile.\n\n常见输入形态： / Expected input shapes:\n\n1. JD in Markdown, DOCX export, PDF text, or pasted text\n2. Resume in PDF text, DOCX export, pasted text, or profile notes\n3. Optional hiring preference such as `conservative`, `aggressive`, `fast-hiring`, or `high-bar`\n\n至少抽取以下字段： / Always extract at least:\n\n```text\ncandidate_name\ntarget_role\nmatch_score\nmust_have_match\npreferred_match\nrisk_flags\ninterview_focus\nnext_action\nmessage_to_candidate\nrecord_summary\n```\n\n### 2. `summarize_interview_feedback`\n\n当输入包含多位面试官意见、零散备注、聊天记录或表单片段时使用。 / Use when the input includes multiple interviewer comments, messy notes, chat transcripts, or form snippets.\n\n这是当前版本里最完整的工作流。如果用户只要一个真正能从输入跑到产出的场景，优先使用它。 / This is the most complete workflow in the current version. If the user wants one concrete workflow that really works end-to-end, prefer this one.\n\n将反馈归一化为： / Normalize feedback into:\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n然后产出： / Then produce:\n\n```text\ncandidate_summary\ninterviewer_opinions\nkey_strengths\nkey_concerns\nconflict_between_feedback\nrecommended_decision\nfollow_up_questions\ncandidate_reply_draft\nrecord_summary\n```\n\n如果用户需要可下载文件，还要生成： / If the user wants downloadable artifacts, also generate:\n\n1. an internal interview debrief memo in DOCX\n2. a candidate communication draft in DOCX or plain text\n3. a tracker update row in CSV\n\n如果在这个 skill 仓库本地运行，使用： / If working locally in this skill repo, use:\n\n```text\nnode scripts/generate_interview_packet.js <input.json> <output-dir>\n```\n\n示例输入见 [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)。 / See the sample payload in [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json).\n\n### 3. `create_offer_approval_pack`\n\n当 HR 已经掌握足够候选人信息、准备发 Offer 前的内部审批材料时使用。 / Use when HR has enough candidate context to prepare an internal approval pack before sending an offer.\n\n重点检查以下缺失或风险字段： / Check for missing or risky fields such as:\n\n1. target role or grade\n2. department or reporting line\n3. employment entity\n4. work location\n5. base salary or total cash\n6. bonus, allowance, or stock notes\n7. budget range\n8. expected onboard date\n9. trial period\n\n始终产出： / Always produce:\n\n```text\noffer_approval_summary\ncandidate_value_summary\nsalary_budget_check\nmissing_fields\napproval_recommendation\nrisk_notes\noffer_message_draft\nrecord_summary\n```\n\n### 4. `generate_candidate_message`\n\n当用户已经知道下一步动作，只需要一段面向候选人的沟通话术时使用。 / Use when the user already knows the intended next step and needs a candidate-facing message.\n\n默认语气： / Default tone:\n\n1. clear\n2. respectful\n3. concise\n4. realistic about timing\n\n支持的意图： / Supported intents:\n\n1. invite to interview\n2. request missing materials\n3. advance to next round\n4. hold in pipeline\n5. reject politely\n6. start offer discussion\n\n### 5. `update_candidate_tracker`\n\n当用户需要把结果回写到 ATS 或表格时使用。 / Use when the user wants a write-back summary for ATS or a spreadsheet.\n\n默认 tracker 行格式： / Default tracker row format:\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\n如果用户提供已有 tracker schema，则优先遵循用户 schema。 / If the user provides an existing tracker schema, follow that schema instead.\n\n## 工作方式 / Working Style\n\n1. 优先输出小而可执行的 HR 动作，而不是大段 SOP 说明。 / Prefer small executable HR actions over large SOP explanations.\n2. 默认输入可能来自 PDF、DOCX 导出、OCR、聊天记录和表格单元格，且可能不完整。 / Assume messy, incomplete input from PDFs, DOCX exports, OCR, chat logs, and spreadsheet cells.\n3. 优先给出招聘判断、风险和下一步，不追求空泛文采。 / Prioritize hiring decisions, risks, and next steps over pretty prose.\n4. 仅在问题具体且实质时提示隐私或劳动法风险。 / Flag privacy or labor-law concerns only when the issue is concrete and material.\n5. 如果材料不足或自相矛盾导致把握不高，要明确说出，并收窄建议。 / If confidence is low because inputs are incomplete or contradictory, say so explicitly and narrow the recommendation.\n\n## Mainland China context\n\nKeep outputs aligned with common recruiting practice in China:\n\n1. JDs often include hard requirements, preferred requirements, reporting line, city, and salary range.\n2. Resumes often omit salary expectation, notice period, or true interview motivation.\n3. Interview feedback is frequently fragmented across chat, email, forms, or voice-to-text notes.\n4. Internal approval flows usually require concise business value, budget fit, and risk notes before an offer can move forward.\n\nFor common field shapes and examples, see [references/recruiting-fields.md](references/recruiting-fields.md).\nFor the detailed production-ready workflow, see [references/real-user-scenario.md](references/real-user-scenario.md).\n\nFile v0.2.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cfgqtq1167ctj7rfp8cg3yn840js9\",\n  \"slug\": \"cn-recruiting-workflow\",\n  \"version\": \"0.2.4\",\n  \"publishedAt\": 1779042483368\n}\n\nFile v0.2.4:references/real-user-scenario.md\n\n# Real User Scenario\n\n## Recommended first production scenario\n\nUse this skill first for:\n\n`互联网公司社招场景下，HR 汇总多位面试官反馈并产出推进材料`\n\nThis is a realistic recruiting workflow in China because:\n\n1. feedback is often fragmented across Feishu, WeCom, forms, and verbal notes\n2. the hiring manager needs a quick go or no-go recommendation\n3. HR still needs documentation that can be forwarded, archived, and pasted back into ATS\n\n## Typical trigger\n\nAn HRBP or recruiter says something like:\n\n1. \"这是产品经理候选人的三轮面试反馈，帮我汇总成一版给老板看的纪要，再给候选人一条推进消息。\"\n2. \"面试官反馈很散，你帮我判断要不要进终面，并给我一行 tracker 更新。\"\n3. \"把这些反馈整理成结论，顺手给我生成一个 Word 版纪要。\"\n\n## Typical inputs\n\n1. Candidate basic profile\n2. Target JD or a short role summary\n3. Interview feedback from 2 to 5 interviewers\n4. Optional salary expectation or notice-period info\n\n## Minimum useful outputs\n\n1. normalized feedback summary\n2. recommendation with confidence level\n3. candidate-facing follow-up draft\n4. tracker update row\n5. internal interview debrief memo\n\n## Internet-company flavor\n\nThis scenario is especially common in internet hiring because:\n\n1. recruiting speed matters, so HR often cannot wait for perfectly formatted feedback\n2. interviewers frequently leave short comments such as \"还行\", \"项目深度一般\", \"推进但要补看 owner 意识\"\n3. HR has to translate vague feedback into a structured decision for the hiring manager\n\n## Decision policy\n\nWhen summarizing feedback for this scenario:\n\n1. distinguish hard blockers from soft concerns\n2. call out disagreement between interviewers explicitly\n3. do not overstate certainty when feedback is thin\n4. keep the candidate message aligned with the actual next action\n5. keep the memo concise enough to circulate internally\n\nFile v0.2.4:references/recruiting-fields.md\n\n# Recruiting Fields Reference\n\nUse this reference when the user needs stronger normalization for recruiting documents and workflow records used in China.\n\n## JD fields\n\n```text\njob_title\ndepartment\nhiring_manager\nlocation\nemployment_type\nmust_have_skills\npreferred_skills\nyears_of_experience\neducation_requirement\nindustry_background\nlanguage_requirement\nsalary_range\nurgency\ninterview_stages\n```\n\n## Resume fields\n\n```text\ncandidate_name\ncurrent_title\nyears_of_experience\neducation\nindustry_experience\ncore_skills\ncompany_history\nproject_highlights\nmanagement_scope\nstability_signals\nsalary_expectation\navailability\nlocation\n```\n\n## Interview feedback fields\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n## Offer approval fields\n\n```text\ncandidate_name\ntarget_role\ndepartment\nreporting_line\nwork_location\nemployment_entity\nbase_salary\nbonus_scheme\ntrial_period\nexpected_onboard_date\nbudget_range\napprover_chain\ninterview_summary\nrisk_notes\n```\n\n## Common source formats\n\n1. JD: Word, PDF, Feishu doc, pasted text, or email body\n2. Resume: PDF, DOCX, OCR text, recruiter notes, or ATS export\n3. Interview feedback: form fields, Feishu/WeCom chat, email, call notes, or voice transcription\n4. Approval pack inputs: spreadsheet rows, approval forms, salary bands, or hiring manager notes\n\n## Recommended record-update shape\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\nFile v0.2.4:assets/interview-packet-input.sample.json\n\n{\n  \"meta\": {\n    \"generated_for\": \"china internet recruiting\",\n    \"workflow\": \"summarize_interview_feedback\",\n    \"prepared_by\": \"HRBP\",\n    \"date\": \"2026-05-17\"\n  },\n  \"candidate\": {\n    \"candidate_name\": \"陈雨桐\",\n    \"target_role\": \"高级产品经理（增长方向）\",\n    \"department\": \"增长产品部\",\n    \"city\": \"上海\",\n    \"years_of_experience\": \"7年\",\n    \"current_company\": \"某头部本地生活平台\",\n    \"salary_expectation\": \"税前月薪 42k-46k\",\n    \"notice_period\": \"30天\",\n    \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n  },\n  \"job\": {\n    \"job_title\": \"高级产品经理（增长方向）\",\n    \"must_have_skills\": [\n      \"增长策略设计\",\n      \"A/B实验\",\n      \"跨团队协作\",\n      \"数据分析\"\n    ],\n    \"preferred_skills\": [\n      \"会员体系经验\",\n      \"本地生活或电商行业经验\"\n    ],\n    \"hiring_manager\": \"增长产品负责人\",\n    \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n  },\n  \"interviews\": [\n    {\n      \"interviewer_name\": \"李晨\",\n      \"interview_round\": \"HR初筛\",\n      \"source\": \"Feishu notes\",\n      \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\",\n      \"hire_recommendation\": \"推进\",\n      \"confidence_level\": \"high\"\n    },\n    {\n      \"interviewer_name\": \"王敏\",\n      \"interview_round\": \"业务一面\",\n      \"source\": \"WeCom chat\",\n      \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\",\n      \"hire_recommendation\": \"有条件推进\",\n      \"confidence_level\": \"medium\"\n    },\n    {\n      \"interviewer_name\": \"周凯\",\n      \"interview_round\": \"业务二面\",\n      \"source\": \"email\",\n      \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\",\n      \"hire_recommendation\": \"推进但保守定级\",\n      \"confidence_level\": \"medium\"\n    }\n  ],\n  \"hr_owner\": {\n    \"owner_name\": \"May\",\n    \"tracker_stage\": \"业务面完成\"\n  }\n}\n\nFile v0.2.4:agents/openai.yaml\n\ninterface:\n  display_name: \"招聘推进助手 / Recruiting Follow-up Copilot\"\n  short_description: \"汇总面试反馈，生成推进话术、纪要和跟进记录 / Debrief, follow-up, and tracker updates\"\n  default_prompt: \"使用 $cn-recruiting-workflow 处理招聘推进场景，优先输出简体中文，并直接给我结论、候选人沟通稿和可回写记录。\"\n\nArchive v0.2.3: 9 files, 15424 bytes\n\nFiles: agents/openai.yaml (341b), assets/generated-sample/candidate-tracker-update.csv (939b), assets/generated-sample/workflow-output.json (3754b), assets/interview-packet-input.sample.json (2426b), references/real-user-scenario.md (1962b), references/recruiting-fields.md (1616b), scripts/generate_interview_packet.js (10221b), SKILL.md (9055b), _meta.json (141b)\n\nFile v0.2.3:SKILL.md\n\n---\nname: cn-recruiting-workflow\ndescription: 面向中国招聘 HR 的微工作流：支持 JD 与简历匹配、面试反馈归一化、Offer 审批包草拟、候选人沟通稿生成与 tracker 回写。 / Micro-workflows for recruiting HR teams in China: score resumes against JD requirements, normalize interview feedback, draft offer approval packs, generate candidate messages, and produce tracker-ready record updates.\nversion: 0.2.3\nmetadata:\n  openclaw:\n    homepage: https://github.com/Ashley-AIHR/hrskill\n    envVars:\n      - name: ATS_EXPORT_PATH\n        required: false\n        description: Optional local export path for tracker rows or CSV write-back.\n---\n\n# 中国招聘工作流 Skill / CN Recruiting Workflow Skill\n\n在用户处理中国招聘执行工作、并需要“可执行输出”而不是泛泛 HR 解释时使用这个 skill。 / Use this skill when the user is doing recruiting operations in China and needs actionable workflow output instead of a generic HR explainer.\n\n这个 skill 设计了 5 个招聘动作，但当前最完整、最适合真实上线使用的场景是： / This skill is optimized for 5 recruiting actions, but the current production-ready scenario is:\n\n`summarize_interview_feedback for internet-company recruiting in China`\n\n这个场景覆盖了互联网招聘里最常见的一类 HR 痛点： / That scenario covers the most common real-world HR pain point:\n\n1. a recruiter or HRBP receives messy interviewer notes from Feishu, WeCom, email, or forms\n2. the hiring manager wants a short hiring recommendation fast\n3. HR needs a candidate-facing follow-up message\n4. HR needs a tracker update that can be pasted into ATS or a spreadsheet\n5. HR often still needs a downloadable debrief memo for internal circulation\n\n这个场景已经附带了可直接使用的文件： / This skill includes bundled files for that scenario:\n\n1. [references/real-user-scenario.md](references/real-user-scenario.md)\n2. [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)\n3. [scripts/generate_interview_packet.js](scripts/generate_interview_packet.js)\n\n支持的动作有： / The supported actions are:\n\n1. `score_candidate`\n2. `summarize_interview_feedback`\n3. `create_offer_approval_pack`\n4. `generate_candidate_message`\n5. `update_candidate_tracker`\n\n## 输出标准 / Outcome Standard\n\n处理任意招聘工作流时，始终产出以下结构： / When handling any recruiting workflow, always produce these sections:\n\n```text\nnormalized_data\ndecision_summary\nmissing_information\nnext_action\nmessage_draft\nrecord_update\ncompliance_warning_if_any\n```\n\n规则： / Rules:\n\n1. `normalized_data` must be structured and easy to map into ATS, Feishu Bitable, DingTalk approval forms, Notion, Google Sheets, or CSV.\n2. `decision_summary` must make a decision or recommendation, not just restate the inputs.\n3. `missing_information` must name the exact fields that block a confident HR action.\n4. `next_action` must be something an HR operator can actually do today.\n5. `message_draft` should be directly reusable in WeCom, Feishu, email, or a candidate chat.\n6. `record_update` should be concise enough to write back into one row or one timeline entry.\n7. `compliance_warning_if_any` should only appear when there is a concrete legal or privacy concern.\n\n## 工作流路由 / Workflow Routing\n\n### 1. `score_candidate`\n\n当输入包含 JD 和简历或候选人资料时使用。 / Use when the input includes a JD and a resume or candidate profile.\n\n常见输入形态： / Expected input shapes:\n\n1. JD in Markdown, DOCX export, PDF text, or pasted text\n2. Resume in PDF text, DOCX export, pasted text, or profile notes\n3. Optional hiring preference such as `conservative`, `aggressive`, `fast-hiring`, or `high-bar`\n\n至少抽取以下字段： / Always extract at least:\n\n```text\ncandidate_name\ntarget_role\nmatch_score\nmust_have_match\npreferred_match\nrisk_flags\ninterview_focus\nnext_action\nmessage_to_candidate\nrecord_summary\n```\n\n### 2. `summarize_interview_feedback`\n\n当输入包含多位面试官意见、零散备注、聊天记录或表单片段时使用。 / Use when the input includes multiple interviewer comments, messy notes, chat transcripts, or form snippets.\n\n这是当前版本里最完整的工作流。如果用户只要一个真正能从输入跑到产出的场景，优先使用它。 / This is the most complete workflow in the current version. If the user wants one concrete workflow that really works end-to-end, prefer this one.\n\n将反馈归一化为： / Normalize feedback into:\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n然后产出： / Then produce:\n\n```text\ncandidate_summary\ninterviewer_opinions\nkey_strengths\nkey_concerns\nconflict_between_feedback\nrecommended_decision\nfollow_up_questions\ncandidate_reply_draft\nrecord_summary\n```\n\n如果用户需要可下载文件，还要生成： / If the user wants downloadable artifacts, also generate:\n\n1. an internal interview debrief memo in DOCX\n2. a candidate communication draft in DOCX or plain text\n3. a tracker update row in CSV\n\n如果在这个 skill 仓库本地运行，使用： / If working locally in this skill repo, use:\n\n```text\nnode scripts/generate_interview_packet.js <input.json> <output-dir>\n```\n\n示例输入见 [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)。 / See the sample payload in [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json).\n\n### 3. `create_offer_approval_pack`\n\n当 HR 已经掌握足够候选人信息、准备发 Offer 前的内部审批材料时使用。 / Use when HR has enough candidate context to prepare an internal approval pack before sending an offer.\n\n重点检查以下缺失或风险字段： / Check for missing or risky fields such as:\n\n1. target role or grade\n2. department or reporting line\n3. employment entity\n4. work location\n5. base salary or total cash\n6. bonus, allowance, or stock notes\n7. budget range\n8. expected onboard date\n9. trial period\n\n始终产出： / Always produce:\n\n```text\noffer_approval_summary\ncandidate_value_summary\nsalary_budget_check\nmissing_fields\napproval_recommendation\nrisk_notes\noffer_message_draft\nrecord_summary\n```\n\n### 4. `generate_candidate_message`\n\n当用户已经知道下一步动作，只需要一段面向候选人的沟通话术时使用。 / Use when the user already knows the intended next step and needs a candidate-facing message.\n\n默认语气： / Default tone:\n\n1. clear\n2. respectful\n3. concise\n4. realistic about timing\n\n支持的意图： / Supported intents:\n\n1. invite to interview\n2. request missing materials\n3. advance to next round\n4. hold in pipeline\n5. reject politely\n6. start offer discussion\n\n### 5. `update_candidate_tracker`\n\n当用户需要把结果回写到 ATS 或表格时使用。 / Use when the user wants a write-back summary for ATS or a spreadsheet.\n\n默认 tracker 行格式： / Default tracker row format:\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\n如果用户提供已有 tracker schema，则优先遵循用户 schema。 / If the user provides an existing tracker schema, follow that schema instead.\n\n## 工作方式 / Working Style\n\n1. 优先输出小而可执行的 HR 动作，而不是大段 SOP 说明。 / Prefer small executable HR actions over large SOP explanations.\n2. 默认输入可能来自 PDF、DOCX 导出、OCR、聊天记录和表格单元格，且可能不完整。 / Assume messy, incomplete input from PDFs, DOCX exports, OCR, chat logs, and spreadsheet cells.\n3. 优先给出招聘判断、风险和下一步，不追求空泛文采。 / Prioritize hiring decisions, risks, and next steps over pretty prose.\n4. 仅在问题具体且实质时提示隐私或劳动法风险。 / Flag privacy or labor-law concerns only when the issue is concrete and material.\n5. 如果材料不足或自相矛盾导致把握不高，要明确说出，并收窄建议。 / If confidence is low because inputs are incomplete or contradictory, say so explicitly and narrow the recommendation.\n\n## Mainland China context\n\nKeep outputs aligned with common recruiting practice in China:\n\n1. JDs often include hard requirements, preferred requirements, reporting line, city, and salary range.\n2. Resumes often omit salary expectation, notice period, or true interview motivation.\n3. Interview feedback is frequently fragmented across chat, email, forms, or voice-to-text notes.\n4. Internal approval flows usually require concise business value, budget fit, and risk notes before an offer can move forward.\n\nFor common field shapes and examples, see [references/recruiting-fields.md](references/recruiting-fields.md).\nFor the detailed production-ready workflow, see [references/real-user-scenario.md](references/real-user-scenario.md).\n\nFile v0.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cfgqtq1167ctj7rfp8cg3yn840js9\",\n  \"slug\": \"cn-recruiting-workflow\",\n  \"version\": \"0.2.3\",\n  \"publishedAt\": 1779038387055\n}\n\nFile v0.2.3:references/real-user-scenario.md\n\n# Real User Scenario\n\n## Recommended first production scenario\n\nUse this skill first for:\n\n`互联网公司社招场景下，HR 汇总多位面试官反馈并产出推进材料`\n\nThis is a realistic recruiting workflow in China because:\n\n1. feedback is often fragmented across Feishu, WeCom, forms, and verbal notes\n2. the hiring manager needs a quick go or no-go recommendation\n3. HR still needs documentation that can be forwarded, archived, and pasted back into ATS\n\n## Typical trigger\n\nAn HRBP or recruiter says something like:\n\n1. \"这是产品经理候选人的三轮面试反馈，帮我汇总成一版给老板看的纪要，再给候选人一条推进消息。\"\n2. \"面试官反馈很散，你帮我判断要不要进终面，并给我一行 tracker 更新。\"\n3. \"把这些反馈整理成结论，顺手给我生成一个 Word 版纪要。\"\n\n## Typical inputs\n\n1. Candidate basic profile\n2. Target JD or a short role summary\n3. Interview feedback from 2 to 5 interviewers\n4. Optional salary expectation or notice-period info\n\n## Minimum useful outputs\n\n1. normalized feedback summary\n2. recommendation with confidence level\n3. candidate-facing follow-up draft\n4. tracker update row\n5. internal interview debrief memo\n\n## Internet-company flavor\n\nThis scenario is especially common in internet hiring because:\n\n1. recruiting speed matters, so HR often cannot wait for perfectly formatted feedback\n2. interviewers frequently leave short comments such as \"还行\", \"项目深度一般\", \"推进但要补看 owner 意识\"\n3. HR has to translate vague feedback into a structured decision for the hiring manager\n\n## Decision policy\n\nWhen summarizing feedback for this scenario:\n\n1. distinguish hard blockers from soft concerns\n2. call out disagreement between interviewers explicitly\n3. do not overstate certainty when feedback is thin\n4. keep the candidate message aligned with the actual next action\n5. keep the memo concise enough to circulate internally\n\nFile v0.2.3:references/recruiting-fields.md\n\n# Recruiting Fields Reference\n\nUse this reference when the user needs stronger normalization for recruiting documents and workflow records used in China.\n\n## JD fields\n\n```text\njob_title\ndepartment\nhiring_manager\nlocation\nemployment_type\nmust_have_skills\npreferred_skills\nyears_of_experience\neducation_requirement\nindustry_background\nlanguage_requirement\nsalary_range\nurgency\ninterview_stages\n```\n\n## Resume fields\n\n```text\ncandidate_name\ncurrent_title\nyears_of_experience\neducation\nindustry_experience\ncore_skills\ncompany_history\nproject_highlights\nmanagement_scope\nstability_signals\nsalary_expectation\navailability\nlocation\n```\n\n## Interview feedback fields\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n## Offer approval fields\n\n```text\ncandidate_name\ntarget_role\ndepartment\nreporting_line\nwork_location\nemployment_entity\nbase_salary\nbonus_scheme\ntrial_period\nexpected_onboard_date\nbudget_range\napprover_chain\ninterview_summary\nrisk_notes\n```\n\n## Common source formats\n\n1. JD: Word, PDF, Feishu doc, pasted text, or email body\n2. Resume: PDF, DOCX, OCR text, recruiter notes, or ATS export\n3. Interview feedback: form fields, Feishu/WeCom chat, email, call notes, or voice transcription\n4. Approval pack inputs: spreadsheet rows, approval forms, salary bands, or hiring manager notes\n\n## Recommended record-update shape\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\nFile v0.2.3:assets/generated-sample/workflow-output.json\n\n{\n  \"normalized_data\": {\n    \"candidate\": {\n      \"candidate_name\": \"陈雨桐\",\n      \"target_role\": \"高级产品经理（增长方向）\",\n      \"department\": \"增长产品部\",\n      \"city\": \"上海\",\n      \"years_of_experience\": \"7年\",\n      \"current_company\": \"某头部本地生活平台\",\n      \"salary_expectation\": \"税前月薪 42k-46k\",\n      \"notice_period\": \"30天\",\n      \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n    },\n    \"job\": {\n      \"job_title\": \"高级产品经理（增长方向）\",\n      \"must_have_skills\": [\n        \"增长策略设计\",\n        \"A/B实验\",\n        \"跨团队协作\",\n        \"数据分析\"\n      ],\n      \"preferred_skills\": [\n        \"会员体系经验\",\n        \"本地生活或电商行业经验\"\n      ],\n      \"hiring_manager\": \"增长产品负责人\",\n      \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n    },\n    \"interviews\": [\n      {\n        \"interviewer_name\": \"李晨\",\n        \"interview_round\": \"HR初筛\",\n        \"source\": \"Feishu notes\",\n        \"hire_recommendation\": \"推进\",\n        \"confidence_level\": \"high\",\n        \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\"\n      },\n      {\n        \"interviewer_name\": \"王敏\",\n        \"interview_round\": \"业务一面\",\n        \"source\": \"WeCom chat\",\n        \"hire_recommendation\": \"有条件推进\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\"\n      },\n      {\n        \"interviewer_name\": \"周凯\",\n        \"interview_round\": \"业务二面\",\n        \"source\": \"email\",\n        \"hire_recommendation\": \"推进但保守定级\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\"\n      }\n    ],\n    \"match_score\": 83\n  },\n  \"decision_summary\": \"陈雨桐 应聘 高级产品经理（增长方向），综合匹配度 83/100。\\n主要亮点：数据分析和增长指标敏感度较好；跨团队协作与推动经验较强；行业和增长场景匹配度较高；沟通表达稳定。\\n主要风险：owner意识或系统性策略深度需补充验证；薪资或定级存在博弈空间；偏执行型，需继续判断独立规划能力。\\n建议结论：建议推进补充面/终面\\n下一步：安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"missing_information\": [],\n  \"next_action\": \"安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"message_draft\": \"陈雨桐，你好，感谢你参加我们高级产品经理（增长方向）岗位的面试。团队已经完成当前轮次的沟通，整体反馈积极，我们希望继续推进下一步。接下来我们会尽快帮你安排后续面试/沟通，并同步具体时间。也欢迎你提前整理下对岗位、团队和业务的关注点，我们下一轮可以一起详细聊。\",\n  \"record_update\": {\n    \"stage\": \"业务面完成\",\n    \"decision\": \"建议推进补充面/终面\",\n    \"risk_flags\": [\n      \"owner意识或系统性策略深度需补充验证\",\n      \"薪资或定级存在博弈空间\",\n      \"偏执行型，需继续判断独立规划能力\"\n    ]\n  },\n  \"compliance_warning_if_any\": []\n}\n\nFile v0.2.3:assets/interview-packet-input.sample.json\n\n{\n  \"meta\": {\n    \"generated_for\": \"china internet recruiting\",\n    \"workflow\": \"summarize_interview_feedback\",\n    \"prepared_by\": \"HRBP\",\n    \"date\": \"2026-05-17\"\n  },\n  \"candidate\": {\n    \"candidate_name\": \"陈雨桐\",\n    \"target_role\": \"高级产品经理（增长方向）\",\n    \"department\": \"增长产品部\",\n    \"city\": \"上海\",\n    \"years_of_experience\": \"7年\",\n    \"current_company\": \"某头部本地生活平台\",\n    \"salary_expectation\": \"税前月薪 42k-46k\",\n    \"notice_period\": \"30天\",\n    \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n  },\n  \"job\": {\n    \"job_title\": \"高级产品经理（增长方向）\",\n    \"must_have_skills\": [\n      \"增长策略设计\",\n      \"A/B实验\",\n      \"跨团队协作\",\n      \"数据分析\"\n    ],\n    \"preferred_skills\": [\n      \"会员体系经验\",\n      \"本地生活或电商行业经验\"\n    ],\n    \"hiring_manager\": \"增长产品负责人\",\n    \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n  },\n  \"interviews\": [\n    {\n      \"interviewer_name\": \"李晨\",\n      \"interview_round\": \"HR初筛\",\n      \"source\": \"Feishu notes\",\n      \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\",\n      \"hire_recommendation\": \"推进\",\n      \"confidence_level\": \"high\"\n    },\n    {\n      \"interviewer_name\": \"王敏\",\n      \"interview_round\": \"业务一面\",\n      \"source\": \"WeCom chat\",\n      \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\",\n      \"hire_recommendation\": \"有条件推进\",\n      \"confidence_level\": \"medium\"\n    },\n    {\n      \"interviewer_name\": \"周凯\",\n      \"interview_round\": \"业务二面\",\n      \"source\": \"email\",\n      \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\",\n      \"hire_recommendation\": \"推进但保守定级\",\n      \"confidence_level\": \"medium\"\n    }\n  ],\n  \"hr_owner\": {\n    \"owner_name\": \"May\",\n    \"tracker_stage\": \"业务面完成\"\n  }\n}\n\nFile v0.2.3:agents/openai.yaml\n\ninterface:\n  display_name: \"中国招聘工作流 / CN Recruiting Workflow\"\n  short_description: \"中文优先招聘工作流 / Chinese-first recruiting workflow\"\n  default_prompt: \"使用 $cn-recruiting-workflow 处理中国招聘场景，先用简体中文输出，再附英文说明，并优先生成可执行结论与可下载文档。\"\n\nArchive v0.2.2: 9 files, 15429 bytes\n\nFiles: agents/openai.yaml (341b), assets/generated-sample/candidate-tracker-update.csv (939b), assets/generated-sample/workflow-output.json (3754b), assets/interview-packet-input.sample.json (2426b), references/real-user-scenario.md (1962b), references/recruiting-fields.md (1616b), scripts/generate_interview_packet.js (10221b), SKILL.md (9062b), _meta.json (141b)\n\nFile v0.2.2:SKILL.md\n\n---\nname: cn-recruiting-workflow\ndescription: 面向中国招聘 HR 的微工作流：支持 JD 与简历匹配、面试反馈归一化、Offer 审批包草拟、候选人沟通稿生成与 tracker 回写。 / Micro-workflows for recruiting HR teams in China: score resumes against JD requirements, normalize interview feedback, draft offer approval packs, generate candidate messages, and produce tracker-ready record updates.\nversion: 0.2.2\nmetadata:\n  openclaw:\n    homepage: https://github.com/yongthelaoma-cyber/hrskill\n    envVars:\n      - name: ATS_EXPORT_PATH\n        required: false\n        description: Optional local export path for tracker rows or CSV write-back.\n---\n\n# 中国招聘工作流 Skill / CN Recruiting Workflow Skill\n\n在用户处理中国招聘执行工作、并需要“可执行输出”而不是泛泛 HR 解释时使用这个 skill。 / Use this skill when the user is doing recruiting operations in China and needs actionable workflow output instead of a generic HR explainer.\n\n这个 skill 设计了 5 个招聘动作，但当前最完整、最适合真实上线使用的场景是： / This skill is optimized for 5 recruiting actions, but the current production-ready scenario is:\n\n`summarize_interview_feedback for internet-company recruiting in China`\n\n这个场景覆盖了互联网招聘里最常见的一类 HR 痛点： / That scenario covers the most common real-world HR pain point:\n\n1. a recruiter or HRBP receives messy interviewer notes from Feishu, WeCom, email, or forms\n2. the hiring manager wants a short hiring recommendation fast\n3. HR needs a candidate-facing follow-up message\n4. HR needs a tracker update that can be pasted into ATS or a spreadsheet\n5. HR often still needs a downloadable debrief memo for internal circulation\n\n这个场景已经附带了可直接使用的文件： / This skill includes bundled files for that scenario:\n\n1. [references/real-user-scenario.md](references/real-user-scenario.md)\n2. [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)\n3. [scripts/generate_interview_packet.js](scripts/generate_interview_packet.js)\n\n支持的动作有： / The supported actions are:\n\n1. `score_candidate`\n2. `summarize_interview_feedback`\n3. `create_offer_approval_pack`\n4. `generate_candidate_message`\n5. `update_candidate_tracker`\n\n## 输出标准 / Outcome Standard\n\n处理任意招聘工作流时，始终产出以下结构： / When handling any recruiting workflow, always produce these sections:\n\n```text\nnormalized_data\ndecision_summary\nmissing_information\nnext_action\nmessage_draft\nrecord_update\ncompliance_warning_if_any\n```\n\n规则： / Rules:\n\n1. `normalized_data` must be structured and easy to map into ATS, Feishu Bitable, DingTalk approval forms, Notion, Google Sheets, or CSV.\n2. `decision_summary` must make a decision or recommendation, not just restate the inputs.\n3. `missing_information` must name the exact fields that block a confident HR action.\n4. `next_action` must be something an HR operator can actually do today.\n5. `message_draft` should be directly reusable in WeCom, Feishu, email, or a candidate chat.\n6. `record_update` should be concise enough to write back into one row or one timeline entry.\n7. `compliance_warning_if_any` should only appear when there is a concrete legal or privacy concern.\n\n## 工作流路由 / Workflow Routing\n\n### 1. `score_candidate`\n\n当输入包含 JD 和简历或候选人资料时使用。 / Use when the input includes a JD and a resume or candidate profile.\n\n常见输入形态： / Expected input shapes:\n\n1. JD in Markdown, DOCX export, PDF text, or pasted text\n2. Resume in PDF text, DOCX export, pasted text, or profile notes\n3. Optional hiring preference such as `conservative`, `aggressive`, `fast-hiring`, or `high-bar`\n\n至少抽取以下字段： / Always extract at least:\n\n```text\ncandidate_name\ntarget_role\nmatch_score\nmust_have_match\npreferred_match\nrisk_flags\ninterview_focus\nnext_action\nmessage_to_candidate\nrecord_summary\n```\n\n### 2. `summarize_interview_feedback`\n\n当输入包含多位面试官意见、零散备注、聊天记录或表单片段时使用。 / Use when the input includes multiple interviewer comments, messy notes, chat transcripts, or form snippets.\n\n这是当前版本里最完整的工作流。如果用户只要一个真正能从输入跑到产出的场景，优先使用它。 / This is the most complete workflow in the current version. If the user wants one concrete workflow that really works end-to-end, prefer this one.\n\n将反馈归一化为： / Normalize feedback into:\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n然后产出： / Then produce:\n\n```text\ncandidate_summary\ninterviewer_opinions\nkey_strengths\nkey_concerns\nconflict_between_feedback\nrecommended_decision\nfollow_up_questions\ncandidate_reply_draft\nrecord_summary\n```\n\n如果用户需要可下载文件，还要生成： / If the user wants downloadable artifacts, also generate:\n\n1. an internal interview debrief memo in DOCX\n2. a candidate communication draft in DOCX or plain text\n3. a tracker update row in CSV\n\n如果在这个 skill 仓库本地运行，使用： / If working locally in this skill repo, use:\n\n```text\nnode scripts/generate_interview_packet.js <input.json> <output-dir>\n```\n\n示例输入见 [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)。 / See the sample payload in [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json).\n\n### 3. `create_offer_approval_pack`\n\n当 HR 已经掌握足够候选人信息、准备发 Offer 前的内部审批材料时使用。 / Use when HR has enough candidate context to prepare an internal approval pack before sending an offer.\n\n重点检查以下缺失或风险字段： / Check for missing or risky fields such as:\n\n1. target role or grade\n2. department or reporting line\n3. employment entity\n4. work location\n5. base salary or total cash\n6. bonus, allowance, or stock notes\n7. budget range\n8. expected onboard date\n9. trial period\n\n始终产出： / Always produce:\n\n```text\noffer_approval_summary\ncandidate_value_summary\nsalary_budget_check\nmissing_fields\napproval_recommendation\nrisk_notes\noffer_message_draft\nrecord_summary\n```\n\n### 4. `generate_candidate_message`\n\n当用户已经知道下一步动作，只需要一段面向候选人的沟通话术时使用。 / Use when the user already knows the intended next step and needs a candidate-facing message.\n\n默认语气： / Default tone:\n\n1. clear\n2. respectful\n3. concise\n4. realistic about timing\n\n支持的意图： / Supported intents:\n\n1. invite to interview\n2. request missing materials\n3. advance to next round\n4. hold in pipeline\n5. reject politely\n6. start offer discussion\n\n### 5. `update_candidate_tracker`\n\n当用户需要把结果回写到 ATS 或表格时使用。 / Use when the user wants a write-back summary for ATS or a spreadsheet.\n\n默认 tracker 行格式： / Default tracker row format:\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\n如果用户提供已有 tracker schema，则优先遵循用户 schema。 / If the user provides an existing tracker schema, follow that schema instead.\n\n## 工作方式 / Working Style\n\n1. 优先输出小而可执行的 HR 动作，而不是大段 SOP 说明。 / Prefer small executable HR actions over large SOP explanations.\n2. 默认输入可能来自 PDF、DOCX 导出、OCR、聊天记录和表格单元格，且可能不完整。 / Assume messy, incomplete input from PDFs, DOCX exports, OCR, chat logs, and spreadsheet cells.\n3. 优先给出招聘判断、风险和下一步，不追求空泛文采。 / Prioritize hiring decisions, risks, and next steps over pretty prose.\n4. 仅在问题具体且实质时提示隐私或劳动法风险。 / Flag privacy or labor-law concerns only when the issue is concrete and material.\n5. 如果材料不足或自相矛盾导致把握不高，要明确说出，并收窄建议。 / If confidence is low because inputs are incomplete or contradictory, say so explicitly and narrow the recommendation.\n\n## Mainland China context\n\nKeep outputs aligned with common recruiting practice in China:\n\n1. JDs often include hard requirements, preferred requirements, reporting line, city, and salary range.\n2. Resumes often omit salary expectation, notice period, or true interview motivation.\n3. Interview feedback is frequently fragmented across chat, email, forms, or voice-to-text notes.\n4. Internal approval flows usually require concise business value, budget fit, and risk notes before an offer can move forward.\n\nFor common field shapes and examples, see [references/recruiting-fields.md](references/recruiting-fields.md).\nFor the detailed production-ready workflow, see [references/real-user-scenario.md](references/real-user-scenario.md).\n\nFile v0.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn7cfgqtq1167ctj7rfp8cg3yn840js9\",\n  \"slug\": \"cn-recruiting-workflow\",\n  \"version\": \"0.2.2\",\n  \"publishedAt\": 1779029516617\n}\n\nFile v0.2.2:references/real-user-scenario.md\n\n# Real User Scenario\n\n## Recommended first production scenario\n\nUse this skill first for:\n\n`互联网公司社招场景下，HR 汇总多位面试官反馈并产出推进材料`\n\nThis is a realistic recruiting workflow in China because:\n\n1. feedback is often fragmented across Feishu, WeCom, forms, and verbal notes\n2. the hiring manager needs a quick go or no-go recommendation\n3. HR still needs documentation that can be forwarded, archived, and pasted back into ATS\n\n## Typical trigger\n\nAn HRBP or recruiter says something like:\n\n1. \"这是产品经理候选人的三轮面试反馈，帮我汇总成一版给老板看的纪要，再给候选人一条推进消息。\"\n2. \"面试官反馈很散，你帮我判断要不要进终面，并给我一行 tracker 更新。\"\n3. \"把这些反馈整理成结论，顺手给我生成一个 Word 版纪要。\"\n\n## Typical inputs\n\n1. Candidate basic profile\n2. Target JD or a short role summary\n3. Interview feedback from 2 to 5 interviewers\n4. Optional salary expectation or notice-period info\n\n## Minimum useful outputs\n\n1. normalized feedback summary\n2. recommendation with confidence level\n3. candidate-facing follow-up draft\n4. tracker update row\n5. internal interview debrief memo\n\n## Internet-company flavor\n\nThis scenario is especially common in internet hiring because:\n\n1. recruiting speed matters, so HR often cannot wait for perfectly formatted feedback\n2. interviewers frequently leave short comments such as \"还行\", \"项目深度一般\", \"推进但要补看 owner 意识\"\n3. HR has to translate vague feedback into a structured decision for the hiring manager\n\n## Decision policy\n\nWhen summarizing feedback for this scenario:\n\n1. distinguish hard blockers from soft concerns\n2. call out disagreement between interviewers explicitly\n3. do not overstate certainty when feedback is thin\n4. keep the candidate message aligned with the actual next action\n5. keep the memo concise enough to circulate internally\n\nFile v0.2.2:references/recruiting-fields.md\n\n# Recruiting Fields Reference\n\nUse this reference when the user needs stronger normalization for recruiting documents and workflow records used in China.\n\n## JD fields\n\n```text\njob_title\ndepartment\nhiring_manager\nlocation\nemployment_type\nmust_have_skills\npreferred_skills\nyears_of_experience\neducation_requirement\nindustry_background\nlanguage_requirement\nsalary_range\nurgency\ninterview_stages\n```\n\n## Resume fields\n\n```text\ncandidate_name\ncurrent_title\nyears_of_experience\neducation\nindustry_experience\ncore_skills\ncompany_history\nproject_highlights\nmanagement_scope\nstability_signals\nsalary_expectation\navailability\nlocation\n```\n\n## Interview feedback fields\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n## Offer approval fields\n\n```text\ncandidate_name\ntarget_role\ndepartment\nreporting_line\nwork_location\nemployment_entity\nbase_salary\nbonus_scheme\ntrial_period\nexpected_onboard_date\nbudget_range\napprover_chain\ninterview_summary\nrisk_notes\n```\n\n## Common source formats\n\n1. JD: Word, PDF, Feishu doc, pasted text, or email body\n2. Resume: PDF, DOCX, OCR text, recruiter notes, or ATS export\n3. Interview feedback: form fields, Feishu/WeCom chat, email, call notes, or voice transcription\n4. Approval pack inputs: spreadsheet rows, approval forms, salary bands, or hiring manager notes\n\n## Recommended record-update shape\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\nFile v0.2.2:assets/generated-sample/workflow-output.json\n\n{\n  \"normalized_data\": {\n    \"candidate\": {\n      \"candidate_name\": \"陈雨桐\",\n      \"target_role\": \"高级产品经理（增长方向）\",\n      \"department\": \"增长产品部\",\n      \"city\": \"上海\",\n      \"years_of_experience\": \"7年\",\n      \"current_company\": \"某头部本地生活平台\",\n      \"salary_expectation\": \"税前月薪 42k-46k\",\n      \"notice_period\": \"30天\",\n      \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n    },\n    \"job\": {\n      \"job_title\": \"高级产品经理（增长方向）\",\n      \"must_have_skills\": [\n        \"增长策略设计\",\n        \"A/B实验\",\n        \"跨团队协作\",\n        \"数据分析\"\n      ],\n      \"preferred_skills\": [\n        \"会员体系经验\",\n        \"本地生活或电商行业经验\"\n      ],\n      \"hiring_manager\": \"增长产品负责人\",\n      \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n    },\n    \"interviews\": [\n      {\n        \"interviewer_name\": \"李晨\",\n        \"interview_round\": \"HR初筛\",\n        \"source\": \"Feishu notes\",\n        \"hire_recommendation\": \"推进\",\n        \"confidence_level\": \"high\",\n        \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\"\n      },\n      {\n        \"interviewer_name\": \"王敏\",\n        \"interview_round\": \"业务一面\",\n        \"source\": \"WeCom chat\",\n        \"hire_recommendation\": \"有条件推进\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\"\n      },\n      {\n        \"interviewer_name\": \"周凯\",\n        \"interview_round\": \"业务二面\",\n        \"source\": \"email\",\n        \"hire_recommendation\": \"推进但保守定级\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\"\n      }\n    ],\n    \"match_score\": 83\n  },\n  \"decision_summary\": \"陈雨桐 应聘 高级产品经理（增长方向），综合匹配度 83/100。\\n主要亮点：数据分析和增长指标敏感度较好；跨团队协作与推动经验较强；行业和增长场景匹配度较高；沟通表达稳定。\\n主要风险：owner意识或系统性策略深度需补充验证；薪资或定级存在博弈空间；偏执行型，需继续判断独立规划能力。\\n建议结论：建议推进补充面/终面\\n下一步：安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"missing_information\": [],\n  \"next_action\": \"安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"message_draft\": \"陈雨桐，你好，感谢你参加我们高级产品经理（增长方向）岗位的面试。团队已经完成当前轮次的沟通，整体反馈积极，我们希望继续推进下一步。接下来我们会尽快帮你安排后续面试/沟通，并同步具体时间。也欢迎你提前整理下对岗位、团队和业务的关注点，我们下一轮可以一起详细聊。\",\n  \"record_update\": {\n    \"stage\": \"业务面完成\",\n    \"decision\": \"建议推进补充面/终面\",\n    \"risk_flags\": [\n      \"owner意识或系统性策略深度需补充验证\",\n      \"薪资或定级存在博弈空间\",\n      \"偏执行型，需继续判断独立规划能力\"\n    ]\n  },\n  \"compliance_warning_if_any\": []\n}\n\nFile v0.2.2:assets/interview-packet-input.sample.json\n\n{\n  \"meta\": {\n    \"generated_for\": \"china internet recruiting\",\n    \"workflow\": \"summarize_interview_feedback\",\n    \"prepared_by\": \"HRBP\",\n    \"date\": \"2026-05-17\"\n  },\n  \"candidate\": {\n    \"candidate_name\": \"陈雨桐\",\n    \"target_role\": \"高级产品经理（增长方向）\",\n    \"department\": \"增长产品部\",\n    \"city\": \"上海\",\n    \"years_of_experience\": \"7年\",\n    \"current_company\": \"某头部本地生活平台\",\n    \"salary_expectation\": \"税前月薪 42k-46k\",\n    \"notice_period\": \"30天\",\n    \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n  },\n  \"job\": {\n    \"job_title\": \"高级产品经理（增长方向）\",\n    \"must_have_skills\": [\n      \"增长策略设计\",\n      \"A/B实验\",\n      \"跨团队协作\",\n      \"数据分析\"\n    ],\n    \"preferred_skills\": [\n      \"会员体系经验\",\n      \"本地生活或电商行业经验\"\n    ],\n    \"hiring_manager\": \"增长产品负责人\",\n    \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n  },\n  \"interviews\": [\n    {\n      \"interviewer_name\": \"李晨\",\n      \"interview_round\": \"HR初筛\",\n      \"source\": \"Feishu notes\",\n      \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\",\n      \"hire_recommendation\": \"推进\",\n      \"confidence_level\": \"high\"\n    },\n    {\n      \"interviewer_name\": \"王敏\",\n      \"interview_round\": \"业务一面\",\n      \"source\": \"WeCom chat\",\n      \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\",\n      \"hire_recommendation\": \"有条件推进\",\n      \"confidence_level\": \"medium\"\n    },\n    {\n      \"interviewer_name\": \"周凯\",\n      \"interview_round\": \"业务二面\",\n      \"source\": \"email\",\n      \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\",\n      \"hire_recommendation\": \"推进但保守定级\",\n      \"confidence_level\": \"medium\"\n    }\n  ],\n  \"hr_owner\": {\n    \"owner_name\": \"May\",\n    \"tracker_stage\": \"业务面完成\"\n  }\n}\n\nFile v0.2.2:agents/openai.yaml\n\ninterface:\n  display_name: \"中国招聘工作流 / CN Recruiting Workflow\"\n  short_description: \"中文优先招聘工作流 / Chinese-first recruiting workflow\"\n  default_prompt: \"使用 $cn-recruiting-workflow 处理中国招聘场景，先用简体中文输出，再附英文说明，并优先生成可执行结论与可下载文档。\"\n\nArchive v0.2.1: 9 files, 15441 bytes\n\nFiles: agents/openai.yaml (353b), assets/generated-sample/candidate-tracker-update.csv (939b), assets/generated-sample/workflow-output.json (3754b), assets/interview-packet-input.sample.json (2436b), references/real-user-scenario.md (1969b), references/recruiting-fields.md (1618b), scripts/generate_interview_packet.js (10221b), SKILL.md (9105b), _meta.json (141b)\n\nFile v0.2.1:SKILL.md\n\n---\nname: cn-recruiting-workflow\ndescription: 面向中国大陆招聘 HR 的微工作流：支持 JD 与简历匹配、面试反馈归一化、Offer 审批包草拟、候选人沟通稿生成与 tracker 回写。 / Micro-workflows for mainland China recruiting HR: score resumes against JD requirements, normalize interview feedback, draft offer approval packs, generate candidate messages, and produce tracker-ready record updates.\nversion: 0.2.1\nmetadata:\n  openclaw:\n    homepage: https://github.com/yongthelaoma-cyber/hrskill\n    envVars:\n      - name: ATS_EXPORT_PATH\n        required: false\n        description: Optional local export path for tracker rows or CSV write-back.\n---\n\n# 中国大陆招聘工作流 Skill / CN Recruiting Workflow Skill\n\n在用户处理中国大陆招聘执行工作、并需要“可执行输出”而不是泛泛 HR 解释时使用这个 skill。 / Use this skill when the user is doing recruiting operations for mainland China and needs actionable workflow output instead of a generic HR explainer.\n\n这个 skill 设计了 5 个招聘动作，但当前最完整、最适合真实上线使用的场景是： / This skill is optimized for 5 recruiting actions, but the current production-ready scenario is:\n\n`summarize_interview_feedback for internet-company recruiting in mainland China`\n\n这个场景覆盖了互联网招聘里最常见的一类 HR 痛点： / That scenario covers the most common real-world HR pain point:\n\n1. a recruiter or HRBP receives messy interviewer notes from Feishu, WeCom, email, or forms\n2. the hiring manager wants a short hiring recommendation fast\n3. HR needs a candidate-facing follow-up message\n4. HR needs a tracker update that can be pasted into ATS or a spreadsheet\n5. HR often still needs a downloadable debrief memo for internal circulation\n\n这个场景已经附带了可直接使用的文件： / This skill includes bundled files for that scenario:\n\n1. [references/real-user-scenario.md](references/real-user-scenario.md)\n2. [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)\n3. [scripts/generate_interview_packet.js](scripts/generate_interview_packet.js)\n\n支持的动作有： / The supported actions are:\n\n1. `score_candidate`\n2. `summarize_interview_feedback`\n3. `create_offer_approval_pack`\n4. `generate_candidate_message`\n5. `update_candidate_tracker`\n\n## 输出标准 / Outcome Standard\n\n处理任意招聘工作流时，始终产出以下结构： / When handling any recruiting workflow, always produce these sections:\n\n```text\nnormalized_data\ndecision_summary\nmissing_information\nnext_action\nmessage_draft\nrecord_update\ncompliance_warning_if_any\n```\n\n规则： / Rules:\n\n1. `normalized_data` must be structured and easy to map into ATS, Feishu Bitable, DingTalk approval forms, Notion, Google Sheets, or CSV.\n2. `decision_summary` must make a decision or recommendation, not just restate the inputs.\n3. `missing_information` must name the exact fields that block a confident HR action.\n4. `next_action` must be something an HR operator can actually do today.\n5. `message_draft` should be directly reusable in WeCom, Feishu, email, or a candidate chat.\n6. `record_update` should be concise enough to write back into one row or one timeline entry.\n7. `compliance_warning_if_any` should only appear when there is a concrete legal or privacy concern.\n\n## 工作流路由 / Workflow Routing\n\n### 1. `score_candidate`\n\n当输入包含 JD 和简历或候选人资料时使用。 / Use when the input includes a JD and a resume or candidate profile.\n\n常见输入形态： / Expected input shapes:\n\n1. JD in Markdown, DOCX export, PDF text, or pasted text\n2. Resume in PDF text, DOCX export, pasted text, or profile notes\n3. Optional hiring preference such as `conservative`, `aggressive`, `fast-hiring`, or `high-bar`\n\n至少抽取以下字段： / Always extract at least:\n\n```text\ncandidate_name\ntarget_role\nmatch_score\nmust_have_match\npreferred_match\nrisk_flags\ninterview_focus\nnext_action\nmessage_to_candidate\nrecord_summary\n```\n\n### 2. `summarize_interview_feedback`\n\n当输入包含多位面试官意见、零散备注、聊天记录或表单片段时使用。 / Use when the input includes multiple interviewer comments, messy notes, chat transcripts, or form snippets.\n\n这是当前版本里最完整的工作流。如果用户只要一个真正能从输入跑到产出的场景，优先使用它。 / This is the most complete workflow in the current version. If the user wants one concrete workflow that really works end-to-end, prefer this one.\n\n将反馈归一化为： / Normalize feedback into:\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n然后产出： / Then produce:\n\n```text\ncandidate_summary\ninterviewer_opinions\nkey_strengths\nkey_concerns\nconflict_between_feedback\nrecommended_decision\nfollow_up_questions\ncandidate_reply_draft\nrecord_summary\n```\n\n如果用户需要可下载文件，还要生成： / If the user wants downloadable artifacts, also generate:\n\n1. an internal interview debrief memo in DOCX\n2. a candidate communication draft in DOCX or plain text\n3. a tracker update row in CSV\n\n如果在这个 skill 仓库本地运行，使用： / If working locally in this skill repo, use:\n\n```text\nnode scripts/generate_interview_packet.js <input.json> <output-dir>\n```\n\n示例输入见 [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)。 / See the sample payload in [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json).\n\n### 3. `create_offer_approval_pack`\n\n当 HR 已经掌握足够候选人信息、准备发 Offer 前的内部审批材料时使用。 / Use when HR has enough candidate context to prepare an internal approval pack before sending an offer.\n\n重点检查以下缺失或风险字段： / Check for missing or risky fields such as:\n\n1. target role or grade\n2. department or reporting line\n3. employment entity\n4. work location\n5. base salary or total cash\n6. bonus, allowance, or stock notes\n7. budget range\n8. expected onboard date\n9. trial period\n\n始终产出： / Always produce:\n\n```text\noffer_approval_summary\ncandidate_value_summary\nsalary_budget_check\nmissing_fields\napproval_recommendation\nrisk_notes\noffer_message_draft\nrecord_summary\n```\n\n### 4. `generate_candidate_message`\n\n当用户已经知道下一步动作，只需要一段面向候选人的沟通话术时使用。 / Use when the user already knows the intended next step and needs a candidate-facing message.\n\n默认语气： / Default tone:\n\n1. clear\n2. respectful\n3. concise\n4. realistic about timing\n\n支持的意图： / Supported intents:\n\n1. invite to interview\n2. request missing materials\n3. advance to next round\n4. hold in pipeline\n5. reject politely\n6. start offer discussion\n\n### 5. `update_candidate_tracker`\n\n当用户需要把结果回写到 ATS 或表格时使用。 / Use when the user wants a write-back summary for ATS or a spreadsheet.\n\n默认 tracker 行格式： / Default tracker row format:\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\n如果用户提供已有 tracker schema，则优先遵循用户 schema。 / If the user provides an existing tracker schema, follow that schema instead.\n\n## 工作方式 / Working Style\n\n1. 优先输出小而可执行的 HR 动作，而不是大段 SOP 说明。 / Prefer small executable HR actions over large SOP explanations.\n2. 默认输入可能来自 PDF、DOCX 导出、OCR、聊天记录和表格单元格，且可能不完整。 / Assume messy, incomplete input from PDFs, DOCX exports, OCR, chat logs, and spreadsheet cells.\n3. 优先给出招聘判断、风险和下一步，不追求空泛文采。 / Prioritize hiring decisions, risks, and next steps over pretty prose.\n4. 仅在问题具体且实质时提示隐私或劳动法风险。 / Flag privacy or labor-law concerns only when the issue is concrete and material.\n5. 如果材料不足或自相矛盾导致把握不高，要明确说出，并收窄建议。 / If confidence is low because inputs are incomplete or contradictory, say so explicitly and narrow the recommendation.\n\n## Mainland China context\n\nKeep outputs aligned with common mainland China recruiting practice:\n\n1. JDs often include hard requirements, preferred requirements, reporting line, city, and salary range.\n2. Resumes often omit salary expectation, notice period, or true interview motivation.\n3. Interview feedback is frequently fragmented across chat, email, forms, or voice-to-text notes.\n4. Internal approval flows usually require concise business value, budget fit, and risk notes before an offer can move forward.\n\nFor common field shapes and examples, see [references/recruiting-fields.md](references/recruiting-fields.md).\nFor the detailed production-ready workflow, see [references/real-user-scenario.md](references/real-user-scenario.md).\n\nFile v0.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn7cfgqtq1167ctj7rfp8cg3yn840js9\",\n  \"slug\": \"cn-recruiting-workflow\",\n  \"version\": \"0.2.1\",\n  \"publishedAt\": 1779029319588\n}\n\nFile v0.2.1:references/real-user-scenario.md\n\n# Real User Scenario\n\n## Recommended first production scenario\n\nUse this skill first for:\n\n`互联网公司社招场景下，HR 汇总多位面试官反馈并产出推进材料`\n\nThis is a realistic mainland China recruiting workflow because:\n\n1. feedback is often fragmented across Feishu, WeCom, forms, and verbal notes\n2. the hiring manager needs a quick go or no-go recommendation\n3. HR still needs documentation that can be forwarded, archived, and pasted back into ATS\n\n## Typical trigger\n\nAn HRBP or recruiter says something like:\n\n1. \"这是产品经理候选人的三轮面试反馈，帮我汇总成一版给老板看的纪要，再给候选人一条推进消息。\"\n2. \"面试官反馈很散，你帮我判断要不要进终面，并给我一行 tracker 更新。\"\n3. \"把这些反馈整理成结论，顺手给我生成一个 Word 版纪要。\"\n\n## Typical inputs\n\n1. Candidate basic profile\n2. Target JD or a short role summary\n3. Interview feedback from 2 to 5 interviewers\n4. Optional salary expectation or notice-period info\n\n## Minimum useful outputs\n\n1. normalized feedback summary\n2. recommendation with confidence level\n3. candidate-facing follow-up draft\n4. tracker update row\n5. internal interview debrief memo\n\n## Internet-company flavor\n\nThis scenario is especially common in internet hiring because:\n\n1. recruiting speed matters, so HR often cannot wait for perfectly formatted feedback\n2. interviewers frequently leave short comments such as \"还行\", \"项目深度一般\", \"推进但要补看 owner 意识\"\n3. HR has to translate vague feedback into a structured decision for the hiring manager\n\n## Decision policy\n\nWhen summarizing feedback for this scenario:\n\n1. distinguish hard blockers from soft concerns\n2. call out disagreement between interviewers explicitly\n3. do not overstate certainty when feedback is thin\n4. keep the candidate message aligned with the actual next action\n5. keep the memo concise enough to circulate internally\n\nFile v0.2.1:references/recruiting-fields.md\n\n# Recruiting Fields Reference\n\nUse this reference when the user needs stronger normalization for mainland China recruiting documents and workflow records.\n\n## JD fields\n\n```text\njob_title\ndepartment\nhiring_manager\nlocation\nemployment_type\nmust_have_skills\npreferred_skills\nyears_of_experience\neducation_requirement\nindustry_background\nlanguage_requirement\nsalary_range\nurgency\ninterview_stages\n```\n\n## Resume fields\n\n```text\ncandidate_name\ncurrent_title\nyears_of_experience\neducation\nindustry_experience\ncore_skills\ncompany_history\nproject_highlights\nmanagement_scope\nstability_signals\nsalary_expectation\navailability\nlocation\n```\n\n## Interview feedback fields\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n## Offer approval fields\n\n```text\ncandidate_name\ntarget_role\ndepartment\nreporting_line\nwork_location\nemployment_entity\nbase_salary\nbonus_scheme\ntrial_period\nexpected_onboard_date\nbudget_range\napprover_chain\ninterview_summary\nrisk_notes\n```\n\n## Common source formats\n\n1. JD: Word, PDF, Feishu doc, pasted text, or email body\n2. Resume: PDF, DOCX, OCR text, recruiter notes, or ATS export\n3. Interview feedback: form fields, Feishu/WeCom chat, email, call notes, or voice transcription\n4. Approval pack inputs: spreadsheet rows, approval forms, salary bands, or hiring manager notes\n\n## Recommended record-update shape\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\nFile v0.2.1:assets/generated-sample/workflow-output.json\n\n{\n  \"normalized_data\": {\n    \"candidate\": {\n      \"candidate_name\": \"陈雨桐\",\n      \"target_role\": \"高级产品经理（增长方向）\",\n      \"department\": \"增长产品部\",\n      \"city\": \"上海\",\n      \"years_of_experience\": \"7年\",\n      \"current_company\": \"某头部本地生活平台\",\n      \"salary_expectation\": \"税前月薪 42k-46k\",\n      \"notice_period\": \"30天\",\n      \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n    },\n    \"job\": {\n      \"job_title\": \"高级产品经理（增长方向）\",\n      \"must_have_skills\": [\n        \"增长策略设计\",\n        \"A/B实验\",\n        \"跨团队协作\",\n        \"数据分析\"\n      ],\n      \"preferred_skills\": [\n        \"会员体系经验\",\n        \"本地生活或电商行业经验\"\n      ],\n      \"hiring_manager\": \"增长产品负责人\",\n      \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n    },\n    \"interviews\": [\n      {\n        \"interviewer_name\": \"李晨\",\n        \"interview_round\": \"HR初筛\",\n        \"source\": \"Feishu notes\",\n        \"hire_recommendation\": \"推进\",\n        \"confidence_level\": \"high\",\n        \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\"\n      },\n      {\n        \"interviewer_name\": \"王敏\",\n        \"interview_round\": \"业务一面\",\n        \"source\": \"WeCom chat\",\n        \"hire_recommendation\": \"有条件推进\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\"\n      },\n      {\n        \"interviewer_name\": \"周凯\",\n        \"interview_round\": \"业务二面\",\n        \"source\": \"email\",\n        \"hire_recommendation\": \"推进但保守定级\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\"\n      }\n    ],\n    \"match_score\": 83\n  },\n  \"decision_summary\": \"陈雨桐 应聘 高级产品经理（增长方向），综合匹配度 83/100。\\n主要亮点：数据分析和增长指标敏感度较好；跨团队协作与推动经验较强；行业和增长场景匹配度较高；沟通表达稳定。\\n主要风险：owner意识或系统性策略深度需补充验证；薪资或定级存在博弈空间；偏执行型，需继续判断独立规划能力。\\n建议结论：建议推进补充面/终面\\n下一步：安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"missing_information\": [],\n  \"next_action\": \"安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"message_draft\": \"陈雨桐，你好，感谢你参加我们高级产品经理（增长方向）岗位的面试。团队已经完成当前轮次的沟通，整体反馈积极，我们希望继续推进下一步。接下来我们会尽快帮你安排后续面试/沟通，并同步具体时间。也欢迎你提前整理下对岗位、团队和业务的关注点，我们下一轮可以一起详细聊。\",\n  \"record_update\": {\n    \"stage\": \"业务面完成\",\n    \"decision\": \"建议推进补充面/终面\",\n    \"risk_flags\": [\n      \"owner意识或系统性策略深度需补充验证\",\n      \"薪资或定级存在博弈空间\",\n      \"偏执行型，需继续判断独立规划能力\"\n    ]\n  },\n  \"compliance_warning_if_any\": []\n}\n\nFile v0.2.1:assets/interview-packet-input.sample.json\n\n{\n  \"meta\": {\n    \"generated_for\": \"mainland-china internet recruiting\",\n    \"workflow\": \"summarize_interview_feedback\",\n    \"prepared_by\": \"HRBP\",\n    \"date\": \"2026-05-17\"\n  },\n  \"candidate\": {\n    \"candidate_name\": \"陈雨桐\",\n    \"target_role\": \"高级产品经理（增长方向）\",\n    \"department\": \"增长产品部\",\n    \"city\": \"上海\",\n    \"years_of_experience\": \"7年\",\n    \"current_company\": \"某头部本地生活平台\",\n    \"salary_expectation\": \"税前月薪 42k-46k\",\n    \"notice_period\": \"30天\",\n    \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n  },\n  \"job\": {\n    \"job_title\": \"高级产品经理（增长方向）\",\n    \"must_have_skills\": [\n      \"增长策略设计\",\n      \"A/B实验\",\n      \"跨团队协作\",\n      \"数据分析\"\n    ],\n    \"preferred_skills\": [\n      \"会员体系经验\",\n      \"本地生活或电商行业经验\"\n    ],\n    \"hiring_manager\": \"增长产品负责人\",\n    \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n  },\n  \"interviews\": [\n    {\n      \"interviewer_name\": \"李晨\",\n      \"interview_round\": \"HR初筛\",\n      \"source\": \"Feishu notes\",\n      \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\",\n      \"hire_recommendation\": \"推进\",\n      \"confidence_level\": \"high\"\n    },\n    {\n      \"interviewer_name\": \"王敏\",\n      \"interview_round\": \"业务一面\",\n      \"source\": \"WeCom chat\",\n      \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\",\n      \"hire_recommendation\": \"有条件推进\",\n      \"confidence_level\": \"medium\"\n    },\n    {\n      \"interviewer_name\": \"周凯\",\n      \"interview_round\": \"业务二面\",\n      \"source\": \"email\",\n      \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\",\n      \"hire_recommendation\": \"推进但保守定级\",\n      \"confidence_level\": \"medium\"\n    }\n  ],\n  \"hr_owner\": {\n    \"owner_name\": \"May\",\n    \"tracker_stage\": \"业务面完成\"\n  }\n}\n\nFile v0.2.1:agents/openai.yaml\n\ninterface:\n  display_name: \"中国大陆招聘工作流 / CN Recruiting Workflow\"\n  short_description: \"中文优先招聘工作流 / Chinese-first recruiting workflow\"\n  default_prompt: \"使用 $cn-recruiting-workflow 处理中国大陆招聘场景，先用简体中文输出，再附英文说明，并优先生成可执行结论与可下载文档。\"\n\nArchive v0.2.0: 8 files, 13624 bytes\n\nFiles: assets/generated-sample/candidate-tracker-update.csv (939b), assets/generated-sample/workflow-output.json (3754b), assets/interview-packet-input.sample.json (2436b), references/real-user-scenario.md (1969b), references/recruiting-fields.md (1618b), scripts/generate_interview_packet.js (10221b), SKILL.md (6894b), _meta.json (141b)\n\nFile v0.2.0:SKILL.md\n\n---\nname: cn-recruiting-workflow\ndescription: Micro-workflows for mainland China recruiting HR: score resumes against JD requirements, normalize interview feedback, draft offer approval packs, generate candidate messages, and produce tracker-ready record updates.\nversion: 0.2.0\nmetadata:\n  openclaw:\n    homepage: https://github.com/yongthelaoma-cyber/hrskill\n    envVars:\n      - name: ATS_EXPORT_PATH\n        required: false\n        description: Optional local export path for tracker rows or CSV write-back.\n---\n\n# CN Recruiting Workflow Skill\n\nUse this skill when the user is doing recruiting operations for mainland China and needs actionable workflow output instead of a generic HR explainer.\n\nThis skill is optimized for 5 recruiting actions, but the current production-ready scenario is:\n\n`summarize_interview_feedback for internet-company recruiting in mainland China`\n\nThat scenario covers the most common real-world HR pain point:\n\n1. a recruiter or HRBP receives messy interviewer notes from Feishu, WeCom, email, or forms\n2. the hiring manager wants a short hiring recommendation fast\n3. HR needs a candidate-facing follow-up message\n4. HR needs a tracker update that can be pasted into ATS or a spreadsheet\n5. HR often still needs a downloadable debrief memo for internal circulation\n\nThis skill includes bundled files for that scenario:\n\n1. [references/real-user-scenario.md](references/real-user-scenario.md)\n2. [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)\n3. [scripts/generate_interview_packet.js](scripts/generate_interview_packet.js)\n\nThe supported actions are:\n\n1. `score_candidate`\n2. `summarize_interview_feedback`\n3. `create_offer_approval_pack`\n4. `generate_candidate_message`\n5. `update_candidate_tracker`\n\n## Outcome standard\n\nWhen handling any recruiting workflow, always produce these sections:\n\n```text\nnormalized_data\ndecision_summary\nmissing_information\nnext_action\nmessage_draft\nrecord_update\ncompliance_warning_if_any\n```\n\nRules:\n\n1. `normalized_data` must be structured and easy to map into ATS, Feishu Bitable, DingTalk approval forms, Notion, Google Sheets, or CSV.\n2. `decision_summary` must make a decision or recommendation, not just restate the inputs.\n3. `missing_information` must name the exact fields that block a confident HR action.\n4. `next_action` must be something an HR operator can actually do today.\n5. `message_draft` should be directly reusable in WeCom, Feishu, email, or a candidate chat.\n6. `record_update` should be concise enough to write back into one row or one timeline entry.\n7. `compliance_warning_if_any` should only appear when there is a concrete legal or privacy concern.\n\n## Workflow routing\n\n### 1. `score_candidate`\n\nUse when the input includes a JD and a resume or candidate profile.\n\nExpected input shapes:\n\n1. JD in Markdown, DOCX export, PDF text, or pasted text\n2. Resume in PDF text, DOCX export, pasted text, or profile notes\n3. Optional hiring preference such as `conservative`, `aggressive`, `fast-hiring`, or `high-bar`\n\nAlways extract at least:\n\n```text\ncandidate_name\ntarget_role\nmatch_score\nmust_have_match\npreferred_match\nrisk_flags\ninterview_focus\nnext_action\nmessage_to_candidate\nrecord_summary\n```\n\n### 2. `summarize_interview_feedback`\n\nUse when the input includes multiple interviewer comments, messy notes, chat transcripts, or form snippets.\n\nThis is the most complete workflow in the current version. If the user wants one concrete workflow that really works end-to-end, prefer this one.\n\nNormalize feedback into:\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\nThen produce:\n\n```text\ncandidate_summary\ninterviewer_opinions\nkey_strengths\nkey_concerns\nconflict_between_feedback\nrecommended_decision\nfollow_up_questions\ncandidate_reply_draft\nrecord_summary\n```\n\nIf the user wants downloadable artifacts, also generate:\n\n1. an internal interview debrief memo in DOCX\n2. a candidate communication draft in DOCX or plain text\n3. a tracker update row in CSV\n\nIf working locally in this skill repo, use:\n\n```text\nnode scripts/generate_interview_packet.js <input.json> <output-dir>\n```\n\nSee the sample payload in [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json).\n\n### 3. `create_offer_approval_pack`\n\nUse when HR has enough candidate context to prepare an internal approval pack before sending an offer.\n\nCheck for missing or risky fields such as:\n\n1. target role or grade\n2. department or reporting line\n3. employment entity\n4. work location\n5. base salary or total cash\n6. bonus, allowance, or stock notes\n7. budget range\n8. expected onboard date\n9. trial period\n\nAlways produce:\n\n```text\noffer_approval_summary\ncandidate_value_summary\nsalary_budget_check\nmissing_fields\napproval_recommendation\nrisk_notes\noffer_message_draft\nrecord_summary\n```\n\n### 4. `generate_candidate_message`\n\nUse when the user already knows the intended next step and needs a candidate-facing message.\n\nDefault tone:\n\n1. clear\n2. respectful\n3. concise\n4. realistic about timing\n\nSupported intents:\n\n1. invite to interview\n2. request missing materials\n3. advance to next round\n4. hold in pipeline\n5. reject politely\n6. start offer discussion\n\n### 5. `update_candidate_tracker`\n\nUse when the user wants a write-back summary for ATS or a spreadsheet.\n\nDefault tracker row format:\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\nIf the user provides an existing tracker schema, follow that schema instead.\n\n## Working style\n\n1. Prefer small executable HR actions over large SOP explanations.\n2. Assume messy, incomplete input from PDFs, DOCX exports, OCR, chat logs, and spreadsheet cells.\n3. Prioritize hiring decisions, risks, and next steps over pretty prose.\n4. Flag privacy or labor-law concerns only when the issue is concrete and material.\n5. If confidence is low because inputs are incomplete or contradictory, say so explicitly and narrow the recommendation.\n\n## Mainland China context\n\nKeep outputs aligned with common mainland China recruiting practice:\n\n1. JDs often include hard requirements, preferred requirements, reporting line, city, and salary range.\n2. Resumes often omit salary expectation, notice period, or true interview motivation.\n3. Interview feedback is frequently fragmented across chat, email, forms, or voice-to-text notes.\n4. Internal approval flows usually require concise business value, budget fit, and risk notes before an offer can move forward.\n\nFor common field shapes and examples, see [references/recruiting-fields.md](references/recruiting-fields.md).\nFor the detailed production-ready workflow, see [references/real-user-scenario.md](references/real-user-scenario.md).\n\nFile v0.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7cfgqtq1167ctj7rfp8cg3yn840js9\",\n  \"slug\": \"cn-recruiting-workflow\",\n  \"version\": \"0.2.0\",\n  \"publishedAt\": 1779028590527\n}\n\nFile v0.2.0:references/real-user-scenario.md\n\n# Real User Scenario\n\n## Recommended first production scenario\n\nUse this skill first for:\n\n`互联网公司社招场景下，HR 汇总多位面试官反馈并产出推进材料`\n\nThis is a realistic mainland China recruiting workflow because:\n\n1. feedback is often fragmented across Feishu, WeCom, forms, and verbal notes\n2. the hiring manager needs a quick go or no-go recommendation\n3. HR still needs documentation that can be forwarded, archived, and pasted back into ATS\n\n## Typical trigger\n\nAn HRBP or recruiter says something like:\n\n1. \"这是产品经理候选人的三轮面试反馈，帮我汇总成一版给老板看的纪要，再给候选人一条推进消息。\"\n2. \"面试官反馈很散，你帮我判断要不要进终面，并给我一行 tracker 更新。\"\n3. \"把这些反馈整理成结论，顺手给我生成一个 Word 版纪要。\"\n\n## Typical inputs\n\n1. Candidate basic profile\n2. Target JD or a short role summary\n3. Interview feedback from 2 to 5 interviewers\n4. Optional salary expectation or notice-period info\n\n## Minimum useful outputs\n\n1. normalized feedback summary\n2. recommendation with confidence level\n3. candidate-facing follow-up draft\n4. tracker update row\n5. internal interview debrief memo\n\n## Internet-company flavor\n\nThis scenario is especially common in internet hiring because:\n\n1. recruiting speed matters, so HR often cannot wait for perfectly formatted feedback\n2. interviewers frequently leave short comments such as \"还行\", \"项目深度一般\", \"推进但要补看 owner 意识\"\n3. HR has to translate vague feedback into a structured decision for the hiring manager\n\n## Decision policy\n\nWhen summarizing feedback for this scenario:\n\n1. distinguish hard blockers from soft concerns\n2. call out disagreement between interviewers explicitly\n3. do not overstate certainty when feedback is thin\n4. keep the candidate message aligned with the actual next action\n5. keep the memo concise enough to circulate internally\n\nFile v0.2.0:references/recruiting-fields.md\n\n# Recruiting Fields Reference\n\nUse this reference when the user needs stronger normalization for mainland China recruiting documents and workflow records.\n\n## JD fields\n\n```text\njob_title\ndepartment\nhiring_manager\nlocation\nemployment_type\nmust_have_skills\npreferred_skills\nyears_of_experience\neducation_requirement\nindustry_background\nlanguage_requirement\nsalary_range\nurgency\ninterview_stages\n```\n\n## Resume fields\n\n```text\ncandidate_name\ncurrent_title\nyears_of_experience\neducation\nindustry_experience\ncore_skills\ncompany_history\nproject_highlights\nmanagement_scope\nstability_signals\nsalary_expectation\navailability\nlocation\n```\n\n## Interview feedback fields\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n## Offer approval fields\n\n```text\ncandidate_name\ntarget_role\ndepartment\nreporting_line\nwork_location\nemployment_entity\nbase_salary\nbonus_scheme\ntrial_period\nexpected_onboard_date\nbudget_range\napprover_chain\ninterview_summary\nrisk_notes\n```\n\n## Common source formats\n\n1. JD: Word, PDF, Feishu doc, pasted text, or email body\n2. Resume: PDF, DOCX, OCR text, recruiter notes, or ATS export\n3. Interview feedback: form fields, Feishu/WeCom chat, email, call notes, or voice transcription\n4. Approval pack inputs: spreadsheet rows, approval forms, salary bands, or hiring manager notes\n\n## Recommended record-update shape\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\nFile v0.2.0:assets/generated-sample/workflow-output.json\n\n{\n  \"normalized_data\": {\n    \"candidate\": {\n      \"candidate_name\": \"陈雨桐\",\n      \"target_role\": \"高级产品经理（增长方向）\",\n      \"department\": \"增长产品部\",\n      \"city\": \"上海\",\n      \"years_of_experience\": \"7年\",\n      \"current_company\": \"某头部本地生活平台\",\n      \"salary_expectation\": \"税前月薪 42k-46k\",\n      \"notice_period\": \"30天\",\n      \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n    },\n    \"job\": {\n      \"job_title\": \"高级产品经理（增长方向）\",\n      \"must_have_skills\": [\n        \"增长策略设计\",\n        \"A/B实验\",\n        \"跨团队协作\",\n        \"数据分析\"\n      ],\n      \"preferred_skills\": [\n        \"会员体系经验\",\n        \"本地生活或电商行业经验\"\n      ],\n      \"hiring_manager\": \"增长产品负责人\",\n      \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n    },\n    \"interviews\": [\n      {\n        \"interviewer_name\": \"李晨\",\n        \"interview_round\": \"HR初筛\",\n        \"source\": \"Feishu notes\",\n        \"hire_recommendation\": \"推进\",\n        \"confidence_level\": \"high\",\n        \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\"\n      },\n      {\n        \"interviewer_name\": \"王敏\",\n        \"interview_round\": \"业务一面\",\n        \"source\": \"WeCom chat\",\n        \"hire_recommendation\": \"有条件推进\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\"\n      },\n      {\n        \"interviewer_name\": \"周凯\",\n        \"interview_round\": \"业务二面\",\n        \"source\": \"email\",\n        \"hire_recommendation\": \"推进但保守定级\",\n        \"confidence_level\": \"medium\",\n        \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\"\n      }\n    ],\n    \"match_score\": 83\n  },\n  \"decision_summary\": \"陈雨桐 应聘 高级产品经理（增长方向），综合匹配度 83/100。\\n主要亮点：数据分析和增长指标敏感度较好；跨团队协作与推动经验较强；行业和增长场景匹配度较高；沟通表达稳定。\\n主要风险：owner意识或系统性策略深度需补充验证；薪资或定级存在博弈空间；偏执行型，需继续判断独立规划能力。\\n建议结论：建议推进补充面/终面\\n下一步：安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"missing_information\": [],\n  \"next_action\": \"安排一轮聚焦 owner 意识、长期策略和级别校准的补充面试。\",\n  \"message_draft\": \"陈雨桐，你好，感谢你参加我们高级产品经理（增长方向）岗位的面试。团队已经完成当前轮次的沟通，整体反馈积极，我们希望继续推进下一步。接下来我们会尽快帮你安排后续面试/沟通，并同步具体时间。也欢迎你提前整理下对岗位、团队和业务的关注点，我们下一轮可以一起详细聊。\",\n  \"record_update\": {\n    \"stage\": \"业务面完成\",\n    \"decision\": \"建议推进补充面/终面\",\n    \"risk_flags\": [\n      \"owner意识或系统性策略深度需补充验证\",\n      \"薪资或定级存在博弈空间\",\n      \"偏执行型，需继续判断独立规划能力\"\n    ]\n  },\n  \"compliance_warning_if_any\": []\n}\n\nFile v0.2.0:assets/interview-packet-input.sample.json\n\n{\n  \"meta\": {\n    \"generated_for\": \"mainland-china internet recruiting\",\n    \"workflow\": \"summarize_interview_feedback\",\n    \"prepared_by\": \"HRBP\",\n    \"date\": \"2026-05-17\"\n  },\n  \"candidate\": {\n    \"candidate_name\": \"陈雨桐\",\n    \"target_role\": \"高级产品经理（增长方向）\",\n    \"department\": \"增长产品部\",\n    \"city\": \"上海\",\n    \"years_of_experience\": \"7年\",\n    \"current_company\": \"某头部本地生活平台\",\n    \"salary_expectation\": \"税前月薪 42k-46k\",\n    \"notice_period\": \"30天\",\n    \"summary\": \"有内容增长、用户增长和活动运营配合经验，做过拉新转化、留存优化、会员增长相关项目。\"\n  },\n  \"job\": {\n    \"job_title\": \"高级产品经理（增长方向）\",\n    \"must_have_skills\": [\n      \"增长策略设计\",\n      \"A/B实验\",\n      \"跨团队协作\",\n      \"数据分析\"\n    ],\n    \"preferred_skills\": [\n      \"会员体系经验\",\n      \"本地生活或电商行业经验\"\n    ],\n    \"hiring_manager\": \"增长产品负责人\",\n    \"hiring_preference\": \"快速招人，但不接受明显 owner 意识不足\"\n  },\n  \"interviews\": [\n    {\n      \"interviewer_name\": \"李晨\",\n      \"interview_round\": \"HR初筛\",\n      \"source\": \"Feishu notes\",\n      \"feedback\": \"候选人沟通顺畅，求职动机比较明确，主要想去更成熟的平台做更大盘子的增长。薪资期望略高但还在可谈范围。对我们业务有基本了解。\",\n      \"hire_recommendation\": \"推进\",\n      \"confidence_level\": \"high\"\n    },\n    {\n      \"interviewer_name\": \"王敏\",\n      \"interview_round\": \"业务一面\",\n      \"source\": \"WeCom chat\",\n      \"feedback\": \"项目经历比较扎实，讲会员拉新和活动转化那段不错，数据敏感度可以。问题是有两次回答偏执行，owner意识和长期策略深度一般，建议补看一次系统性思考。\",\n      \"hire_recommendation\": \"有条件推进\",\n      \"confidence_level\": \"medium\"\n    },\n    {\n      \"interviewer_name\": \"周凯\",\n      \"interview_round\": \"业务二面\",\n      \"source\": \"email\",\n      \"feedback\": \"行业经验匹配，跨团队推动案例是真实的，抗压也还可以。整体在P7边缘，更像强P6. 如果团队急招可以推进终面，但定级和薪资要保守。\",\n      \"hire_recommendation\": \"推进但保守定级\",\n      \"confidence_level\": \"medium\"\n    }\n  ],\n  \"hr_owner\": {\n    \"owner_name\": \"May\",\n    \"tracker_stage\": \"业务面完成\"\n  }\n}\n\nArchive v0.1.0: 3 files, 3629 bytes\n\nFiles: references/recruiting-fields.md (1618b), SKILL.md (5323b), _meta.json (141b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: cn-recruiting-workflow\ndescription: Micro-workflows for mainland China recruiting HR: score resumes against JD requirements, normalize interview feedback, draft offer approval packs, generate candidate messages, and produce tracker-ready record updates.\nversion: 0.1.0\nmetadata:\n  openclaw:\n    homepage: https://github.com/yongthelaoma-cyber/hrskill\n    envVars:\n      - name: ATS_EXPORT_PATH\n        required: false\n        description: Optional local export path for tracker rows or CSV write-back.\n---\n\n# CN Recruiting Workflow Skill\n\nUse this skill when the user is doing recruiting operations for mainland China and needs actionable workflow output instead of a generic HR explainer.\n\nThis skill is optimized for 5 recruiting actions:\n\n1. `score_candidate`\n2. `summarize_interview_feedback`\n3. `create_offer_approval_pack`\n4. `generate_candidate_message`\n5. `update_candidate_tracker`\n\n## Outcome standard\n\nWhen handling any recruiting workflow, always produce these sections:\n\n```text\nnormalized_data\ndecision_summary\nmissing_information\nnext_action\nmessage_draft\nrecord_update\ncompliance_warning_if_any\n```\n\nRules:\n\n1. `normalized_data` must be structured and easy to map into ATS, Feishu Bitable, DingTalk approval forms, Notion, Google Sheets, or CSV.\n2. `decision_summary` must make a decision or recommendation, not just restate the inputs.\n3. `missing_information` must name the exact fields that block a confident HR action.\n4. `next_action` must be something an HR operator can actually do today.\n5. `message_draft` should be directly reusable in WeCom, Feishu, email, or a candidate chat.\n6. `record_update` should be concise enough to write back into one row or one timeline entry.\n7. `compliance_warning_if_any` should only appear when there is a concrete legal or privacy concern.\n\n## Workflow routing\n\n### 1. `score_candidate`\n\nUse when the input includes a JD and a resume or candidate profile.\n\nExpected input shapes:\n\n1. JD in Markdown, DOCX export, PDF text, or pasted text\n2. Resume in PDF text, DOCX export, pasted text, or profile notes\n3. Optional hiring preference such as `conservative`, `aggressive`, `fast-hiring`, or `high-bar`\n\nAlways extract at least:\n\n```text\ncandidate_name\ntarget_role\nmatch_score\nmust_have_match\npreferred_match\nrisk_flags\ninterview_focus\nnext_action\nmessage_to_candidate\nrecord_summary\n```\n\n### 2. `summarize_interview_feedback`\n\nUse when the input includes multiple interviewer comments, messy notes, chat transcripts, or form snippets.\n\nNormalize feedback into:\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\nThen produce:\n\n```text\ncandidate_summary\ninterviewer_opinions\nkey_strengths\nkey_concerns\nconflict_between_feedback\nrecommended_decision\nfollow_up_questions\ncandidate_reply_draft\nrecord_summary\n```\n\n### 3. `create_offer_approval_pack`\n\nUse when HR has enough candidate context to prepare an internal approval pack before sending an offer.\n\nCheck for missing or risky fields such as:\n\n1. target role or grade\n2. department or reporting line\n3. employment entity\n4. work location\n5. base salary or total cash\n6. bonus, allowance, or stock notes\n7. budget range\n8. expected onboard date\n9. trial period\n\nAlways produce:\n\n```text\noffer_approval_summary\ncandidate_value_summary\nsalary_budget_check\nmissing_fields\napproval_recommendation\nrisk_notes\noffer_message_draft\nrecord_summary\n```\n\n### 4. `generate_candidate_message`\n\nUse when the user already knows the intended next step and needs a candidate-facing message.\n\nDefault tone:\n\n1. clear\n2. respectful\n3. concise\n4. realistic about timing\n\nSupported intents:\n\n1. invite to interview\n2. request missing materials\n3. advance to next round\n4. hold in pipeline\n5. reject politely\n6. start offer discussion\n\n### 5. `update_candidate_tracker`\n\nUse when the user wants a write-back summary for ATS or a spreadsheet.\n\nDefault tracker row format:\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```\n\nIf the user provides an existing tracker schema, follow that schema instead.\n\n## Working style\n\n1. Prefer small executable HR actions over large SOP explanations.\n2. Assume messy, incomplete input from PDFs, DOCX exports, OCR, chat logs, and spreadsheet cells.\n3. Prioritize hiring decisions, risks, and next steps over pretty prose.\n4. Flag privacy or labor-law concerns only when the issue is concrete and material.\n5. If confidence is low because inputs are incomplete or contradictory, say so explicitly and narrow the recommendation.\n\n## Mainland China context\n\nKeep outputs aligned with common mainland China recruiting practice:\n\n1. JDs often include hard requirements, preferred requirements, reporting line, city, and salary range.\n2. Resumes often omit salary expectation, notice period, or true interview motivation.\n3. Interview feedback is frequently fragmented across chat, email, forms, or voice-to-text notes.\n4. Internal approval flows usually require concise business value, budget fit, and risk notes before an offer can move forward.\n\nFor common field shapes and examples, see [references/recruiting-fields.md](references/recruiting-fields.md).\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7cfgqtq1167ctj7rfp8cg3yn840js9\",\n  \"slug\": \"cn-recruiting-workflow\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1779027970962\n}\n\nFile v0.1.0:references/recruiting-fields.md\n\n# Recruiting Fields Reference\n\nUse this reference when the user needs stronger normalization for mainland China recruiting documents and workflow records.\n\n## JD fields\n\n```text\njob_title\ndepartment\nhiring_manager\nlocation\nemployment_type\nmust_have_skills\npreferred_skills\nyears_of_experience\neducation_requirement\nindustry_background\nlanguage_requirement\nsalary_range\nurgency\ninterview_stages\n```\n\n## Resume fields\n\n```text\ncandidate_name\ncurrent_title\nyears_of_experience\neducation\nindustry_experience\ncore_skills\ncompany_history\nproject_highlights\nmanagement_scope\nstability_signals\nsalary_expectation\navailability\nlocation\n```\n\n## Interview feedback fields\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n## Offer approval fields\n\n```text\ncandidate_name\ntarget_role\ndepartment\nreporting_line\nwork_location\nemployment_entity\nbase_salary\nbonus_scheme\ntrial_period\nexpected_onboard_date\nbudget_range\napprover_chain\ninterview_summary\nrisk_notes\n```\n\n## Common source formats\n\n1. JD: Word, PDF, Feishu doc, pasted text, or email body\n2. Resume: PDF, DOCX, OCR text, recruiter notes, or ATS export\n3. Interview feedback: form fields, Feishu/WeCom chat, email, call notes, or voice transcription\n4. Approval pack inputs: spreadsheet rows, approval forms, salary bands, or hiring manager notes\n\n## Recommended record-update shape\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```","readmeExcerpt":"Skill: 招聘推进助手 / Recruiting Follow-up Copilot Owner: ashley-aihr Summary: 帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update tra... Tags: china:0.3.0, hr:0.3.0, latest:0.3.0, recruiting:0.3.0 Version history: v0.3.0 | 2026-05-18T19:31:45.818Z | user 新增第二个可交付场景：JD+简历初筛，支持初筛评估、候选人沟通稿和进展记录文件输出。 / Add a second production","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"normalized_data\ndecision_summary\nmissing_information\nnext_action\nmessage_draft\nrecord_update\ncompliance_warning_if_any"},{"language":"text","snippet":"candidate_name\ntarget_role\nmatch_score\nmust_have_match\npreferred_match\nrisk_flags\ninterview_focus\nnext_action\nmessage_to_candidate\nrecord_summary"},{"language":"text","snippet":"interviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level"},{"language":"text","snippet":"candidate_summary\ninterviewer_opinions\nkey_strengths\nkey_concerns\nconflict_between_feedback\nrecommended_decision\nfollow_up_questions\ncandidate_reply_draft\nrecord_summary"},{"language":"text","snippet":"node scripts/generate_interview_packet.js <input.json> <output-dir>"},{"language":"text","snippet":"node scripts/generate_screening_packet.js <input.json> <output-dir>"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: cn-recruiting-workflow\ndescription: 帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update trackers.\nversion: 0.3.0\nmetadata:\n  openclaw:\n    homepage: https://github.com/Ashley-AIHR/hrskill\n    envVars:\n      - name: ATS_EXPORT_PATH\n        required: false\n        description: Optional local export path for tracker rows or CSV write-back.\n---\n\n# 招聘推进助手 / Recruiting Follow-up Copilot\n\n当用户在处理招聘推进、面试反馈汇总、候选人沟通或 Offer 前置材料时使用这个 skill。它更像一个会帮 HR 往前推流程的小助手，而不是一个只会解释概念的 HR 机器人。 / Use this skill when the user needs help moving recruiting work forward: interview debriefs, candidate follow-ups, and offer prep.\n\n这个 skill 设计了 5 个招聘动作，目前已经有 2 个能真正落地交付文件的场景： / This skill is optimized for 5 recruiting actions, and currently has 2 production-ready scenarios:\n\n1. `互联网招聘里的面试反馈汇总与推进`\n2. `JD + 简历初筛与推进建议`\n\n这个场景覆盖了互联网招聘里最常见的一类 HR 痛点： / That scenario covers a very common recruiting pain point:\n\n1. a recruiter or HRBP receives messy interviewer notes from Feishu, WeCom, email, or forms\n2. the hiring manager wants a short hiring recommendation fast\n3. HR needs a candidate-facing follow-up message\n4. HR needs a tracker update that can be pasted into ATS or a spreadsheet\n5. HR often still needs a downloadable debrief memo for internal circulation\n\n当前附带了可直接使用的文件： / This skill includes bundled files for these scenarios:\n\n1. [references/real-user-scenario.md](references/real-user-scenario.md)\n2. [assets/interview-packet-input.sample.json](assets/interview-packet-input.sample.json)\n3. [assets/resume-screening-input.sample.json](assets/resume-screening-input.sample.json)\n4. [scripts/generate_interview_packet.js](scripts/generate_interview_packet.js)\n5. [scripts/generate_screening_packet.js](scripts/generate_screening_packet.js)\n\n支持的动作有： / The supported actions are:\n\n1. `score_candidate`\n2. `summarize_interview_feedback`\n3. `create_offer_approval_pack`\n4. `generate_candidate_message`\n5. `update_candidate_tracker`\n\n## 输出标准 / Outcome Standard\n\n处理任意招聘工作流时，始终产出以下结构： / When handling any recruiting workflow, always produce these sections:\n\n```text\nnormalized_data\ndecision_summary\nmissing_information\nnext_action\nmessage_draft\nrecord_update\ncompliance_warning_if_any\n```\n\n规则： / Rules:\n\n1. `normalized_data` must be structured and easy to map into ATS, Feishu Bitable, DingTalk approval forms, Notion, Google Sheets, or CSV.\n2. `decision_summary` must make a decision or recommendation, not just restate the inputs.\n3. `missing_information` must name the exact fields that block a confident HR action.\n4. `next_action` must be something an HR operator can actually do today.\n5. `message_draft` should be directly reusable in WeCom, Feishu, email, or a candidate chat.\n6. `record_update` should be concise enough to write back into one row or one timeline entry.\n7. `compliance_warning_if_any` should only appear when there is a concrete legal or privacy concern.\n\n## 工作流路由 / Workflow Routing\n\n#"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cfgqtq1167ctj7rfp8cg3yn840js9\",\n  \"slug\": \"cn-recruiting-workflow\",\n  \"version\": \"0.3.0\",\n  \"publishedAt\": 1779132705818\n}"},{"path":"references/real-user-scenario.md","content":"# Real User Scenario\n\n## Recommended first production scenario\n\nUse this skill first for:\n\n`互联网公司社招场景下，HR 汇总多位面试官反馈并产出推进材料`\n\nThis is a realistic recruiting workflow in China because:\n\n1. feedback is often fragmented across Feishu, WeCom, forms, and verbal notes\n2. the hiring manager needs a quick go or no-go recommendation\n3. HR still needs documentation that can be forwarded, archived, and pasted back into ATS\n\n## Typical trigger\n\nAn HRBP or recruiter says something like:\n\n1. \"这是产品经理候选人的三轮面试反馈，帮我汇总成一版给老板看的纪要，再给候选人一条推进消息。\"\n2. \"面试官反馈很散，你帮我判断要不要进终面，并给我一行 tracker 更新。\"\n3. \"把这些反馈整理成结论，顺手给我生成一个 Word 版纪要。\"\n\n## Typical inputs\n\n1. Candidate basic profile\n2. Target JD or a short role summary\n3. Interview feedback from 2 to 5 interviewers\n4. Optional salary expectation or notice-period info\n\n## Minimum useful outputs\n\n1. normalized feedback summary\n2. recommendation with confidence level\n3. candidate-facing follow-up draft\n4. tracker update row\n5. internal interview debrief memo\n\n## Recommended second production scenario\n\nUse this skill next for:\n\n`JD + 简历初筛，输出是否推进、面试重点、候选人消息和跟进记录`\n\nThis is another strong recruiting use case because:\n\n1. almost every recruiting team does resume screening every day\n2. the input is stable enough to structure\n3. the output can directly move the process forward\n\nTypical trigger:\n\n1. \"这是岗位 JD 和候选人简历，帮我判断要不要推进。\"\n2. \"给我一版初筛结论，再补 3 个面试重点。\"\n3. \"顺手生成候选人沟通话术和一行进展记录。\"\n\nMinimum useful outputs:\n\n1. match score and match rationale\n2. risk flags\n3. interview focus\n4. candidate-facing follow-up draft\n5. progress-record update\n\n## Internet-company flavor\n\nThis scenario is especially common in internet hiring because:\n\n1. recruiting speed matters, so HR often cannot wait for perfectly formatted feedback\n2. interviewers frequently leave short comments such as \"还行\", \"项目深度一般\", \"推进但要补看 owner 意识\"\n3. HR has to translate vague feedback into a structured decision for the hiring manager\n\n## Decision policy\n\nWhen summarizing feedback for this scenario:\n\n1. distinguish hard blockers from soft concerns\n2. call out disagreement between interviewers explicitly\n3. do not overstate certainty when feedback is thin\n4. keep the candidate message aligned with the actual next action\n5. keep the memo concise enough to circulate internally"},{"path":"references/recruiting-fields.md","content":"# Recruiting Fields Reference\n\nUse this reference when the user needs stronger normalization for recruiting documents and workflow records used in China.\n\n## JD fields\n\n```text\njob_title\ndepartment\nhiring_manager\nlocation\nemployment_type\nmust_have_skills\npreferred_skills\nyears_of_experience\neducation_requirement\nindustry_background\nlanguage_requirement\nsalary_range\nurgency\ninterview_stages\n```\n\n## Resume fields\n\n```text\ncandidate_name\ncurrent_title\nyears_of_experience\neducation\nindustry_experience\ncore_skills\ncompany_history\nproject_highlights\nmanagement_scope\nstability_signals\nsalary_expectation\navailability\nlocation\n```\n\n## Interview feedback fields\n\n```text\ninterviewer_name\ninterview_round\ncapability_feedback\nexperience_feedback\nmotivation_feedback\ncommunication_feedback\nculture_fit_feedback\nsalary_risk\nstability_risk\nhire_recommendation\nfollow_up_questions\nconfidence_level\n```\n\n## Offer approval fields\n\n```text\ncandidate_name\ntarget_role\ndepartment\nreporting_line\nwork_location\nemployment_entity\nbase_salary\nbonus_scheme\ntrial_period\nexpected_onboard_date\nbudget_range\napprover_chain\ninterview_summary\nrisk_notes\n```\n\n## Common source formats\n\n1. JD: Word, PDF, Feishu doc, pasted text, or email body\n2. Resume: PDF, DOCX, OCR text, recruiter notes, or ATS export\n3. Interview feedback: form fields, Feishu/WeCom chat, email, call notes, or voice transcription\n4. Approval pack inputs: spreadsheet rows, approval forms, salary bands, or hiring manager notes\n\n## Recommended record-update shape\n\n```text\ncandidate_name\ntarget_role\nstage\ndecision\nrisk_flags\nowner\nnext_action\nlast_update_summary\n```"},{"path":"skill-card.md","content":"## Description:\n\n帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update trackers.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[ashley-aihr](https://clawhub.ai/user/ashley-aihr)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nRecruiters, HRBPs, and hiring teams use this skill to turn messy interview feedback, JD and resume inputs, and offer-prep details into recruiting decisions, candidate messages, and tracker-ready records for China-focused hiring workflows.\n\n### Deployment Geography for Use:\n\nGlobal, with Mainland China recruiting context\n\n## Known Risks and Mitigations:\n\nRisk: Sensitive recruiting records may be written to disk in generated DOCX, CSV, and JSON files.\n\nMitigation: Use the skill only with recruiting data the operator is authorized to process, choose a controlled output directory, and redact salary or interview details when they are not needed.\n\nRisk: Generated CSV files may preserve spreadsheet formulas from candidate data.\n\nMitigation: Sanitize CSV output or add formula-injection hardening before opening generated CSV files in spreadsheet tools.\n\nRisk: Recruiting recommendations may affect hiring decisions when inputs are incomplete or inconsistent.\n\nMitigation: Review the recommendation, missing-information fields, and candidate-facing drafts before using them in a live recruiting workflow.\n\n## Reference(s):\n\n- [Real User Scenario](references/real-user-scenario.md)\n- [Recruiting Fields Reference](references/recruiting-fields.md)\n- [ClawHub skill page](https://clawhub.ai/ashley-aihr/skills/cn-recruiting-workflow)\n- [Project homepage](https://github.com/Ashley-AIHR/hrskill)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance, files]\n\n**Output Format:** [Structured Markdown or text, plus optional DOCX, CSV, and JSON files generated from local JSON inputs.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The packaged scripts can produce interview debrief memos, candidate messages, tracker CSV rows, resume-screening notes, and JSON workflow summaries.]\n\n## Skill Version(s):\n\n0.3.0 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update tra... Skill: 招聘推进助手 / Recruiting Follow-up Copilot Owner: ashley-aihr Summary: 帮招聘 HR 快速汇总面试反馈、生成候选人推进话术、整理 Offer 材料并回写跟进记录。 / Help recruiting teams debrief interviews, draft candidate follow-ups, prepare offer materials, and update tra... Tags: china:0.3.0, hr:0.3.0, latest:0.3.0, recruiting:0.3.0 Version history: v0.3.0 | 2026-05-18T19:31:45.818Z | user 新增第二个可交付场景：JD+简历初筛，支持初筛评估、候选人沟通稿和进展记录文件输出。 / Add a second production","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1509,"uniquenessScore":45,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T04:48:35.493Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T04:48:35.493Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:52:48.639Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}