Beisen Interview logo

Beisen Interview

Community
infometa
beisen-interview

北森招聘面试一体化。本 Skill 覆盖招聘进展查询、面试官待办、面试质量分析、竞品情报分析、招聘需求查询与详情。当用户询问招聘进展、面试进展、面试官待办、待面试、待评价、面试质量、竞品分析、招聘需求等面试一体化相关问题时触发。职位/候选人/人才库等招聘主流程问题请走 beisen-recruitment。

Overview

Publisherinfometa
Repositoryworkbuddyskills
Skill namebeisen-interview
Stars
376
Forks
124
Bundled files
5
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 5 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by infometa on GitHub. Read the source before you install it.

Installation

Install the Beisen Interview AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/infometa/workbuddyskills/tree/main/connectors/beisen-cli/skills/beisen-interview
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/infometa/workbuddyskills.git /tmp/workbuddyskills
mkdir -p .claude/skills
cp -r /tmp/workbuddyskills/connectors/beisen-cli/skills/beisen-interview .claude/skills/beisen-interview
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Beisen Interview in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Beisen Interview on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Beisen Interview is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

招聘面试一体化

CRITICAL — 开始前 MUST 读取 ../beisen-shared/SKILL.md

容易混淆的概念,先分清楚再回答:

  • 候选人 vs 申请:候选人是人,申请是这个人投在某个职位下的流程记录。同一个人可以有多条申请,阶段、评分、推荐理由都挂在申请上,不要跨申请混用。
  • 职位 vs 招聘需求:需求(HC)是「要招几个人、招得怎么样了」,职位是对外发布的岗位与要求。问进度查需求,问职责要求查职位;两者可以关联,但不是一回事。
  • 招聘通知 vs 审批待办:候选人推荐、面试变更这类提醒走招聘通知;员工自己发起或待办的审批与各类待办走审批清单。名字像,来源不同。
  • 人才推荐 ≠ 候选人:人才推荐是按职位算出来的「可能合适的人」,不代表已进入招聘流程。

路由优先级

本 Skill 处理:招聘面试一体化(招聘进展、面试官待办、面试质量分析、竞品情报、招聘需求)

不归本 Skill 处理:

命令速查

场景CLI 命令说明
查询招聘进展beisen-cli interview recruitmentProgress getRecruitmentProgress按时间范围/职位查询招聘进展
下钻查询申请明细beisen-cli recruitment apply bs_search_apply_list用招聘进展返回的 searchBatchId + jobId 下钻查询具体申请列表
查询面试官待办beisen-cli interview interviewerTodo getInterviewerTodo查询当前用户的面试待办、待评价等
面试质量分析beisen-cli interview_ai interviewAnalysis analyzeInterviewQuality面试官质量评估报告(异步)
竞品情报分析beisen-cli interview_ai interviewAnalysis analyzeCompetitorIntelligence竞品公司情报分析报告(异步)
查询招聘需求列表beisen-cli interview recruitRequirement bs_search_requirements_list按状态/名称/编号/提出人查询招聘需求
获取招聘需求详情beisen-cli interview recruitRequirement getRecruitRequirementDetail按 requirementId 获取需求详情

跨域命令说明:本 Skill 的下钻查询和异步任务轮询实际调用 beisen-cli recruitment / beisen-cli recruitment_ai 域的命令(recruitment apply bs_search_apply_list、recruitment_ai async_task bs_get_async_task_status)。相关命令的参数规则、L2 数据处理及异步轮询协议详见 ../beisen-recruitment/SKILL.md。

命令示例

bash
# 查询招聘进展(默认最近 1 个月)
beisen-cli interview recruitmentProgress getRecruitmentProgress --data '{}'

# 查询最近 3 个月招聘进展
beisen-cli interview recruitmentProgress getRecruitmentProgress --data '{"dateRange":2}'

# 查询指定职位招聘进展
beisen-cli interview recruitmentProgress getRecruitmentProgress --data '{"jobIds":["<jobId>"]}'

# 自定义日期范围(间隔不能超过半年)
beisen-cli interview recruitmentProgress getRecruitmentProgress --data '{"startDate":"2026-07-11","endDate":"2026-08-11"}'

# 下钻查询某统计项的具体申请列表(searchBatchId + jobId 来自上一步返回)
beisen-cli recruitment apply bs_search_apply_list --data '{"jobId":"<jobId>","searchBatchId":"<searchBatchId>","pageIndex":0,"pageSize":30}'

# 查询面试官待办(全部类型)
beisen-cli interview interviewerTodo getInterviewerTodo --data '{}'

# 查询待面试+待评价待办(近3个月)
beisen-cli interview interviewerTodo getInterviewerTodo --data '{"dateRange":2,"todoTypes":[2,3]}'

# 面试质量分析(异步,需轮询)
beisen-cli interview_ai interviewAnalysis analyzeInterviewQuality --data '{"userIdName":"张三"}'

# 竞品情报分析(异步,需轮询)
beisen-cli interview_ai interviewAnalysis analyzeCompetitorIntelligence --data '{"activeDimension":"人才策略","companyNames":["某科技公司"]}'

# 查询招聘需求列表
beisen-cli interview recruitRequirement bs_search_requirements_list --data '{"requirementStatus":40}'

# 获取招聘需求详情
beisen-cli interview recruitRequirement getRecruitRequirementDetail --data '{"requirementId":"<requirementId>"}'

工作流程

  1. 招聘进展:用户问"招聘进展/最新招聘情况"时,执行 beisen-cli interview recruitmentProgress getRecruitmentProgress。默认查询最近 1 个月,可用 dateRange(1=近1月、2=近3月、3=近半年)或自定义 startDate/endDate(间隔不能超过半年)控制范围;jobIds 可指定职位。返回 data.items 数组,每个元素对应一个职位,包含职位基本信息和 10 个统计项(每个统计项含 count 和 searchBatchId),按职位/统计项以表格展示各环节数量。

    下钻查询:当用户想看某个统计项的具体候选人明细时,取该统计项的 searchBatchId(不为空)和该职位的 jobId,调用 beisen-cli recruitment apply bs_search_apply_list --data '{"jobId":"<jobId>","searchBatchId":"<searchBatchId>","pageIndex":0,"pageSize":30}' 获取申请列表。searchBatchId 为空表示不支持下钻,需告知用户。下钻返回的 applyId 可继续传给 bs_get_apply_detail 查看单条申请详情。

  2. 面试官待办:用户问"我有什么面试待办/待面试/待评价/待处理简历"时,执行 beisen-cli interview interviewerTodo getInterviewerTodo。todoTypes 过滤待办类型:1=待筛选简历、2=待评价面试、3=待参加面试dateRange/startDate/endDate 控制统计范围。返回 pendingInterviews 列表及各类待办数量。

  3. 面试质量分析:用户需要面试官质量评估报告时,执行 beisen-cli interview_ai interviewAnalysis analyzeInterviewQuality。可用 userIdName(面试官 UserId 或姓名,有值时优先分析该面试官所有面试)、jobIdCode+interviewType(指定职位与面试轮次,必须同时有值)、assessmentFocus(考察重心)、reviewDimensions(自定义维度)。该接口为异步任务,返回 taskId,需轮询 bs_get_async_task_status 获取报告。

  4. 竞品情报分析:用户需要竞品公司分析时,执行 beisen-cli interview_ai interviewAnalysis analyzeCompetitorIntelligence --data '{"activeDimension":"<分析维度>","companyNames":["<公司名>"]}'。activeDimension 和 companyNames 为必填。该接口为异步任务,返回 taskId,需轮询获取报告。

  5. 招聘需求:用户问"有哪些招聘需求/需求进展"时,执行 beisen-cli interview recruitRequirement bs_search_requirements_list,可按 requirementStatus(20=审批中、30=审批未通过、40=进行中、50=已关闭、60=已完成、70=已暂停、80=审批已终止)、requirementName、requirementCode、createBy 筛选。查看详情用 getRecruitRequirementDetail --data '{"requirementId":"<id>"}'。

输出格式约束

  • 禁止生成 JSON 文件:不得将查询结果以 JSON 文件形式输出给用户
  • CSV 表头必须使用中文:生成 CSV 文件时,表头禁止使用英文字段名(如 name、educationLevel、phaseStatus),必须使用中文(如"姓名""学历""阶段状态")

执行原则

  • 所有入参通过 --data 以 JSON 字符串传递,不使用 --query/--page/--size 等分散标志
  • jobId、requirementId、taskId 必须从 CLI 返回中提取,严禁编造
  • 候选人/求职者信息属于 L2 敏感数据,仅展示摘要,不回显原始 JSON
  • 异步任务(面试质量分析、竞品情报)返回 taskId 后,按 references/async-tasks.md 的轮询协议处理;分析类任务耗时较长,执行前提醒用户耐心等待
  • 招聘进展按职位/统计项汇总后以表格展示,突出待办快照(待筛简历、待安排面试、待面试、待发Offer、待入职)和完成量(已筛简历、已完成面试、已发Offer、已拒绝Offer、已入职)
  • 用户追问某统计项明细时,用 searchBatchId + jobId 下钻到 bs_search_apply_list 获取申请列表;searchBatchId 为空时告知用户该统计项暂不支持下钻
  • 面试官待办直接展示各类待办数量,即将到来的面试列表用表格呈现(候选人、职位、面试类型、方式、时间)

命令分组与参考

分组参考文件覆盖命令
招聘进展references/recruitment-progress.mdgetRecruitmentProgress
面试官待办references/interviewer-todo.mdgetInterviewerTodo
质量/情报分析references/analytics.mdanalyzeInterviewQuality, analyzeCompetitorIntelligence
招聘需求references/recruit-requirement.mdbs_search_requirements_list, getRecruitRequirementDetail
异步任务references/async-tasks.md异步结果轮询(调用 beisen-recruitment 域 recruitment_ai async_task)

Playbook 案例

案例 1:查询招聘进展

用户问:"帮我看看最新招聘进展"

执行步骤:

  1. 前置检查(beisen-shared 的 Step 1-3)
  2. 执行 beisen-cli interview recruitmentProgress getRecruitmentProgress --data '{}'(默认近 1 个月)
  3. 若用户要求更长周期,改用 --data '{"dateRange":2}' 或自定义日期
  4. 解析 data.items 数组,按职位/统计项以表格展示待办快照与完成量

案例 1.1:招聘进展下钻查询具体申请

用户追问:"帮我看看 XX 职位待面试的候选人有哪些"

执行步骤:

  1. 先执行 getRecruitmentProgress 获取招聘进展,找到该职位的 pendingInterview 统计项
  2. 检查 pendingInterview.searchBatchId 是否非空;若为空则告知用户该统计项暂不支持下钻
  3. 执行 beisen-cli recruitment apply bs_search_apply_list --data '{"jobId":"<该职位jobId>","searchBatchId":"<pendingInterview.searchBatchId>","pageIndex":0,"pageSize":30}'
  4. 以表格展示申请列表(姓名、学历、工作年限、最近公司、阶段状态、投递渠道等)
  5. 若用户需要某候选人更多详情,用返回的 applyId 调用 bs_get_apply_detail 查看

案例 2:查询面试官待办

用户问:"我最近有什么面试要参加?"

执行步骤:

  1. 前置检查
  2. 执行 beisen-cli interview interviewerTodo getInterviewerTodo --data '{}'
  3. 展示各类待办数量(待面试、待评价、待处理简历)
  4. 用表格展示即将到来的面试列表(候选人、职位、面试类型、方式、时间)

案例 3:竞品情报分析

用户问:"帮我分析一下 XX 公司的招聘情况"

执行步骤:

  1. 前置检查
  2. 执行 beisen-cli interview_ai interviewAnalysis analyzeCompetitorIntelligence --data '{"activeDimension":"人才策略","companyNames":["XX公司"]}'
  3. 提取 taskId,轮询 bs_get_async_task_status 直到 isFinished == true
  4. 从 resultJson 解析报告内容,向用户展示分析结论

详细参考

不在本 Skill 范围

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Beisen Interview AI skill do?

北森招聘面试一体化。本 Skill 覆盖招聘进展查询、面试官待办、面试质量分析、竞品情报分析、招聘需求查询与详情。当用户询问招聘进展、面试进展、面试官待办、待面试、待评价、面试质量、竞品分析、招聘需求等面试一体化相关问题时触发。职位/候选人/人才库等招聘主流程问题请走 beisen-recruitment。

Why use Beisen Interview on TypingMind?

Because you install it once and use it with any model. Beisen Interview is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Beisen Interview in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/infometa/workbuddyskills/tree/main/connectors/beisen-cli/skills/beisen-interview. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Beisen Interview?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Beisen Interview?

As many as you like. As long as a model supports skills, you can use Beisen Interview with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Beisen Interview AI skill free?

It is published on GitHub by infometa. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇