AI Interview Skill
Turn a folder full of resumes into structured AI interview sessions. This skill uses Fuku.ai's free public API to generate AI interview reports.
🎯 Purpose
This is a Fuku.ai-specific skill that leverages their free, anonymous interview service. No user account, API key, or login required.
🔑 Authentication
This skill uses shared anonymous credentials provided by Fuku.ai for public access:
| Item | Value |
|---|
| Upload Endpoint | INLINECODE0 |
| Job API |
https://hapi.fuku.ai/hr/rc/anon/job/invite/ai_interview |
|
X-NUMBER Header |
job-Z4nV8cQ1LmT7XpR2bH9sJdK6WyEaF0 |
|
uid Query Param |
1873977344885133312 |
These are fixed, shared credentials for Fuku.ai's free tier. All users of this skill use the same endpoints and identifiers. This is intentional—the service is designed for anonymous, no-login usage.
Design Notes
- - No user credentials required: The service is free and public
- No environment variables: Endpoints and credentials are hardcoded by design
- Not self-hostable: This skill only works with Fuku.ai's hosted service
- Privacy consideration: Resume files are sent to Fuku.ai's servers. Review their privacy policy before uploading sensitive documents.
✅ What It Does
- 1. Collects three mandatory inputs: job title, company name, report email.
- Scans a resume folder for PDF/DOC/DOCX files (up to 100).
- Uploads each resume to Fuku.ai's public endpoint and captures the returned file URLs.
- Creates an AI interview job via Fuku.ai's API using the shared anonymous credentials.
- Logs minimal job metadata locally and confirms the report email destination.
🧭 Workflow
- 0. Install & Prepare
-
cd skills/ai-interview && npm install (installs
axios +
form-data).
- Subsequent runs only need
node run.js ....
- 1. Gather Inputs
- Ask the user for:
job title,
company,
email for reports (validate email format).
- Ask for the
resume folder path inside the workspace. Confirm contents before proceeding.
- 2. Scan Folder
- Accept only
.pdf,
.doc,
.docx files.
- Abort if folder is empty or missing.
- 3. Upload Resumes
- From
skills/ai-interview/, run
node run.js --folder <dir> --jobTitle <title> --company <company> --email <email>.
- The script auto-detects
.pdf/.doc/.docx files (up to 100), uploads each to Fuku.ai's upload endpoint, and captures the returned file URLs.
- On any failed upload, the script aborts and reports the
.desc field from the API.
- 4. Trigger Interview Job
- The same script immediately calls the interview creation endpoint with payload
{ jobTitle, company, email, fileUrls }.
- Authentication uses hardcoded credentials (see "Hardcoded Configuration" table above).
- Expect response
{ "code": 0, "data": { "id", "company", "title", ... } }.
- If
code is not 0, the script surfaces the error and stops.
- 5. Report Back
- Confirm job creation, list resumes included, and restate the email destination.
- Persist only the minimal identifiers (
id,
company,
title) into
ai-interview/jobs/<timestamp>.json—no need to keep full payloads.
- Remind the user that AI interview reports are delivered directly to the email they provided.
- A typical success response looks like:
CODEBLOCK0
🔒 Validation & Safety
- - Email: Must match
/^[^@\s]+@[^@\s]+\.[^@\s]+$/. - File count: Maximum 100 resumes per batch.
- Upload errors: The Fuku API must return
code: 0; otherwise surface the .desc field and ask whether to retry or skip that file. - PII handling: Do not log resume contents—only file names are logged (not full remote URLs).
- HTTPS: Both endpoints use HTTPS.
- Data destination: Resume files are sent to Fuku.ai's third-party service. Review their privacy policy before uploading sensitive documents.
📁 Local Storage
Minimal audit trail stored under ai-interview/jobs/:
CODEBLOCK1
Each file contains only the essential identifiers (no resume data or full API responses):
CODEBLOCK2
🧪 Testing Tips
- - Use dummy resumes and a test email address for initial runs.
- Validate that the email receives the AI interview report before marking the job done.
- Note: This skill only works with Fuku.ai's production endpoints—there is no staging/mock mode.
🆘 Troubleshooting
| Issue | Cause | Fix |
|---|
| Upload returns 413 | File too large | Compress resume or raise server limit |
| INLINECODE29 empty |
Upload failed silently | Check upload response for
success flag |
| API 400 | Missing fields | Ensure jobTitle/company/email/fileUrls filled |
📣 User Prompt Template
"Great! Need the job title, company name, a mailbox for the interview report, and the folder path containing the resumes (PDF/DOC/DOCX)."
🚀 Next Steps
- - Automate email notifications to confirm when the interview report is delivered (future enhancement).
- Add optional metadata per candidate (experience, notes) by extending the payload.
Happy interviewing! 🎙️
AI 面试技能
将装满简历的文件夹转化为结构化的AI面试会话。此技能使用 Fuku.ai 的免费公共 API 生成 AI 面试报告。
🎯 目的
这是一个 Fuku.ai 专属技能,利用其免费的匿名面试服务。无需用户账户、API 密钥或登录。
🔑 身份验证
此技能使用 Fuku.ai 提供的 共享匿名凭证 进行公共访问:
| 项目 | 值 |
|---|
| 上传端点 | https://hapi.fuku.ai/hr/rc/anon/file/upload |
| 职位 API |
https://hapi.fuku.ai/hr/rc/anon/job/invite/ai_interview |
|
X-NUMBER 标头 | job-Z4nV8cQ1LmT7XpR2bH9sJdK6WyEaF0 |
|
uid 查询参数 | 1873977344885133312 |
这些是 Fuku.ai 免费层的 固定共享凭证。此技能的所有用户使用相同的端点和标识符。这是有意为之——该服务设计用于匿名、无需登录的使用。
设计说明
- - 无需用户凭证:服务免费且公开
- 无需环境变量:端点和凭证按设计硬编码
- 不可自行托管:此技能仅适用于 Fuku.ai 的托管服务
- 隐私考虑:简历文件将发送至 Fuku.ai 的服务器。上传敏感文档前请查看其隐私政策。
✅ 功能说明
- 1. 收集三个必填输入:职位名称、公司名称、报告邮箱。
- 扫描简历文件夹中的 PDF/DOC/DOCX 文件(最多 100 个)。
- 将每份简历上传至 Fuku.ai 的公共端点,并捕获返回的文件 URL。
- 通过 Fuku.ai 的 API 使用共享匿名凭证创建 AI 面试任务。
- 在本地记录最少的任务元数据,并确认报告邮箱目的地。
🧭 工作流程
- 0. 安装与准备
- cd skills/ai-interview && npm install(安装 axios + form-data)。
- 后续运行只需 node run.js ...。
- 1. 收集输入
- 向用户询问:职位名称、公司、报告邮箱(验证邮箱格式)。
- 询问工作区内的
简历文件夹路径。继续前确认内容。
- 2. 扫描文件夹
- 仅接受 .pdf、.doc、.docx 文件。
- 如果文件夹为空或不存在则中止。
- 3. 上传简历
- 从 skills/ai-interview/ 运行 node run.js --folder
--jobTitle --company --email 。
- 脚本自动检测 .pdf/.doc/.docx 文件(最多 100 个),将每个文件上传至 Fuku.ai 的上传端点,并捕获返回的文件 URL。
- 任何上传失败时,脚本中止并报告 API 返回的 .desc 字段。
- 4. 触发面试任务
- 同一脚本立即调用面试创建端点,负载为 { jobTitle, company, email, fileUrls }。
- 身份验证使用硬编码凭证(见上方硬编码配置表)。
- 预期响应 { code: 0, data: { id, company, title, ... } }。
- 如果 code 不为 0,脚本显示错误并停止。
- 5. 报告结果
- 确认任务创建,列出包含的简历,并重申邮箱目的地。
- 仅将最小标识符(id、company、title)持久化到 ai-interview/jobs/.json——无需保留完整负载。
- 提醒用户 AI 面试报告将直接发送至其提供的邮箱。
- 典型的成功响应如下:
json
{
code: 0,
data: {
id: 5b16b2d2f5e947f78244246a9f24e2cb,
company: FUKU,
title: cfoe,
...(截断)
},
desc: successful
}
🔒 验证与安全
- - 邮箱:必须匹配 /^[^@\s]+@[^@\s]+\.[^@\s]+$/。
- 文件数量:每批最多 100 份简历。
- 上传错误:Fuku API 必须返回 code: 0;否则显示 .desc 字段并询问是否重试或跳过该文件。
- PII 处理:不记录简历内容——仅记录文件名(不记录完整远程 URL)。
- HTTPS:两个端点均使用 HTTPS。
- 数据目的地:简历文件发送至 Fuku.ai 的第三方服务。上传敏感文档前请查看其隐私政策。
📁 本地存储
最小审计记录存储在 ai-interview/jobs/ 下:
ai-interview/
jobs/
2026-02-27T08-30-00Z.json # 仅任务标识符
每个文件仅包含必要的标识符(无简历数据或完整 API 响应):
json
{
timestamp: 2026-02-27T08:30:00Z,
jobId: 5b16b2d2f5e947f78244246a9f24e2cb,
company: FUKU,
title: cfoe
}
🧪 测试提示
- - 初始运行时使用虚拟简历和测试邮箱地址。
- 在标记任务完成前,验证邮箱是否收到 AI 面试报告。
- 注意:此技能仅适用于 Fuku.ai 的生产端点——无暂存/模拟模式。
🆘 故障排除
| 问题 | 原因 | 修复 |
|---|
| 上传返回 413 | 文件过大 | 压缩简历或提高服务器限制 |
| fileUrls 为空 |
上传静默失败 | 检查上传响应中的 success 标志 |
| API 400 | 缺少字段 | 确保 jobTitle/company/email/fileUrls 已填写 |
📣 用户提示模板
太好了!需要职位名称、公司名称、接收面试报告的邮箱,以及包含简历(PDF/DOC/DOCX)的文件夹路径。
🚀 后续步骤
- - 自动化邮件通知以确认面试报告已送达(未来增强)。
- 通过扩展负载,为每位候选人添加可选元数据(经验、备注)。
祝面试愉快!🎙️