← 返回 Skills 市场
zhangdong

AI Interview

作者 Dong · GitHub ↗ · v1.0.2
cross-platform ⚠ suspicious
441
总下载
0
收藏
1
当前安装
3
版本数
在 OpenClaw 中安装
/install ai-interview
功能描述
Run AI-powered mock interviews using Fuku.ai's free public service.
使用说明 (SKILL.md)

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 https://hapi.fuku.ai/hr/rc/anon/file/upload
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.
  2. Scans a resume folder for PDF/DOC/DOCX files (up to 100).
  3. Uploads each resume to Fuku.ai's public endpoint and captures the returned file URLs.
  4. Creates an AI interview job via Fuku.ai's API using the shared anonymous credentials.
  5. Logs minimal job metadata locally and confirms the report email destination.

🧭 Workflow

  1. Install & Prepare

    • cd skills/ai-interview && npm install (installs axios + form-data).
    • Subsequent runs only need node run.js ....
  2. 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.
  3. Scan Folder

    • Accept only .pdf, .doc, .docx files.
    • Abort if folder is empty or missing.
  4. Upload Resumes

    • From skills/ai-interview/, run node run.js --folder \x3Cdir> --jobTitle \x3Ctitle> --company \x3Ccompany> --email \x3Cemail>.
    • 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.
  5. 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.
  6. 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/\x3Ctimestamp>.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:
      {
        "code": 0,
        "data": {
          "id": "5b16b2d2f5e947f78244246a9f24e2cb",
          "company": "FUKU",
          "title": "cfoe",
          ... (truncated)
        },
        "desc": "successful"
      }
      

🔒 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/:

ai-interview/
  jobs/
    2026-02-27T08-30-00Z.json  # job identifiers only

Each file contains only the essential identifiers (no resume data or full API responses):

{
  "timestamp": "2026-02-27T08:30:00Z",
  "jobId": "5b16b2d2f5e947f78244246a9f24e2cb",
  "company": "FUKU",
  "title": "cfoe"
}

🧪 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
fileUrls 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! 🎙️

安全使用建议
This skill appears to do exactly what it says: it will upload resume files from a folder you specify to Fuku.ai's public anonymous API and create an interview job. The main risk is privacy: resumes often contain sensitive PII—do not upload real candidate data unless you have consent and have reviewed Fuku.ai's privacy policy. Test with dummy resumes and a throwaway email first. Also verify file size limits and that the returned file object/URL does not leak more information than you expect. If you require on-prem or private processing, this skill is not suitable as-is.
功能分析
Type: OpenClaw Skill Name: ai-interview Version: 1.0.2 The skill is classified as suspicious due to a path traversal vulnerability in `run.js`. The script directly uses the user-provided `folder` argument in `fs.readdirSync` without sanitization or explicit path validation. If an AI agent allows arbitrary paths for this input, an attacker could supply a path like `/etc` or `~/.ssh`, potentially leading to the unauthorized upload of sensitive system files or user credentials to the third-party Fuku.ai service. While the `SKILL.md` instructs the agent to use a folder 'inside the workspace', the `run.js` code does not enforce this constraint. There is no evidence of intentional malicious behavior such as backdoors, unrelated data exfiltration, or obfuscation.
能力评估
Purpose & Capability
Name and description match the actual behavior: run.js scans a user-specified folder for resumes, uploads them to the documented Fuku.ai endpoints, and triggers the interview job. Required capabilities (network access, ability to read workspace files) are appropriate for the task and no unrelated credentials or binaries are requested.
Instruction Scope
Runtime instructions and the script stay within the stated scope (collect inputs, read resumes from the given folder, upload to Fuku.ai, create job, store minimal audit record). Important privacy-related behavior is present and declared: resumes (potential PII) are uploaded to a third-party service. The SKILL.md explicitly warns about this; users should confirm they have permission to upload those resumes.
Install Mechanism
There is no automated installer; the SKILL.md instructs the user to run `npm install` which pulls well-known packages (axios, form-data) from npm. No downloads from arbitrary URLs or archive extraction occur. This is proportionate to the script's needs.
Credentials
The skill requests no environment variables or credentials; it uses a small set of hardcoded, shared anonymous identifiers and endpoints as documented in SKILL.md. Those hardcoded headers/uid align with the described public/anonymous usage model.
Persistence & Privilege
The skill does not request elevated or global privileges and is not always-on. It writes minimal audit JSON files into its own `jobs` directory under the skill, which matches the declared behavior. It does not modify other skills or system-wide config.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install ai-interview
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /ai-interview 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.2
Clarify Fuku.ai-specific design: free public service, shared anonymous credentials, no user auth required
v1.0.1
Fix transparency: removed env var support, documented hardcoded endpoints/credentials, reduced URL logging
v1.0.0
Initial release - batch resume upload and AI interview job creation
元数据
Slug ai-interview
版本 1.0.2
许可证
累计安装 1
当前安装数 1
历史版本数 3
常见问题

AI Interview 是什么?

Run AI-powered mock interviews using Fuku.ai's free public service. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 441 次。

如何安装 AI Interview?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install ai-interview」即可一键安装,无需额外配置。

AI Interview 是免费的吗?

是的,AI Interview 完全免费(开源免费),可自由下载、安装和使用。

AI Interview 支持哪些平台?

AI Interview 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 AI Interview?

由 Dong(@zhangdong)开发并维护,当前版本 v1.0.2。

💬 留言讨论