Not in the top 1,000 by GitHub stars
jennifer88huang/interview-skills
AI mock interview coach for FAANG, Big Tech, and startup job seekers. Generate personalized interview questions from JD + resume.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
8f72957468e1 → 8f72957468e1
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 8f72957468e1
No earlier version was observed for comparison.
Heat
4.0- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
interview-skills
When your agent uses it
大厂 AI 模拟面试官。覆盖阿里、腾讯、字节跳动、百度、美团、京东、华为、滴滴、拼多多、Google、Meta、Amazon、Microsoft 等国内外头部互联网/科技公司。用户输入目标公司名、岗位名和 JD 内容,上传简历后,Agent 扮演大厂面试官,结合 JD 要求与简历情况,输出 10 道高质量面试题(含难度、参考答案提示、追问方向),并支持生成「好答案 vs 差答案」对比示例、HR 面专项训练、薪资谈判话术指引与多轮完整面试连贯模拟。触发词:大厂面试、海外大厂面试、模拟面试、面试官、帮我面试、面试准备、interview practice、mock interview、我要面字节、阿里面试题、Google 面试、Meta 面试、Amazon 面试、AWS 面试、Microsoft 面试、帮我出10道面试题、好答案 vs 差答案、示范回答、回答对比、模拟HR面、离职原因、薪资谈判、职业规划、offer谈判、薪资话术、完整面试流程、多轮模拟、一面二面三面。
What it loads into context
Frontmatter
343 tokensAlways available to the agent
SKILL.md
7,019 tokensWhen the skill is activated
Reference documents
45,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 触发条件
- 工作原理
- 主流程
- 题目难度说明
- 面试轮次说明
- 各公司特色面试提醒
- 管理命令
- 参考资料
Scripts executed separately
extensions/export-md/export-md.jsextensions/mic-input/mic-input.jsextensions/model-config/model-config.jsextensions/reference-answer/reference-answer.jsextensions/server.jsextensions/start.batextensions/storage-sync/storage-sync.jsinstall-skill.shui/app.jsui/lib/pdf.min.jsui/lib/pdf.worker.min.jsui/storage.js
Files
.clawhubignoreasset237 bytes.gitignoreasset68 bytes64d09621e8b2a9947c426773235c1ecc.txtdoc32 bytesCONTRIBUTING.mddoc1,779 bytesFAQ.mddoc3,523 bytesINSTALL.mddoc943 bytesPRD.mddoc21,934 bytesREADME-en.mddoc15,808 bytesREADME.mddoc33,807 bytesSKILL.mdcore28,405 bytesassets/ali-JD.jpgasset50,632 bytesassets/interview-banner.pngasset1,205,237 bytesassets/interview-banner1.pngasset1,193,387 bytesassets/liang-JD-analysis.jpgasset49,924 bytesassets/mock-interview-ui-en.pngasset166,501 bytesassets/mock-interview-ui.pngasset165,817 bytesassets/readme-banner.pngasset1,821,025 bytesdocs/geo-article.mddoc14,179 bytesextensions/export-md/export-md.cssasset445 bytesextensions/export-md/export-md.jsruns13,067 bytesextensions/mic-input/mic-input.cssasset1,108 bytesextensions/mic-input/mic-input.jsruns12,704 bytesextensions/model-config/model-config.jsruns4,947 bytesextensions/model-config/model-config.jsonasset547 bytesextensions/reference-answer/reference-answer.cssasset1,285 bytesextensions/reference-answer/reference-answer.jsruns15,119 bytesextensions/server.jsruns8,414 bytesextensions/start.batruns260 bytesextensions/storage-sync/storage-sync.jsruns6,613 bytesgoogle808d46955510017e.htmlasset53 bytesindex.htmlasset13,133 bytesinstall-skill.shruns1,780 bytesllms.txtdoc2,046 bytesreferences/bei-framework.mddoc3,390 bytesreferences/chatbox-senior-ai-chatbot.mddoc55,167 bytesreferences/company-profiles.mddoc12,080 bytesreferences/github-similar-repos-research.mddoc5,424 bytesreferences/jd-parser.mddoc2,352 bytesreferences/question-design.mddoc6,898 bytesreferences/resume-parser.mddoc2,704 bytesrobots.txtdoc96 bytessitemap.txtdoc107 bytessitemap.xmlasset479 bytesui/README.mddoc3,104 bytesui/app.jsruns118,445 bytesui/index.htmlasset21,769 bytesui/lib/pdf.min.jsruns377,116 bytesui/lib/pdf.worker.min.jsruns1,133,660 bytesui/storage.jsruns7,176 bytesui/styles.cssasset32,154 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- interview-skills
Repository facts
- License
- No license detected
- Created
- Apr 5, 2026
- Last pushed
- Jul 10, 2026
- Forks
- 17
- Open issues
- 1
- Project activity
- Slowing
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 5 notes
ui/lib/pdf.min.js:22[Credential-related source omitted]ui/lib/pdf.min.js:20Analysis incomplete: physical or joined line exceeds character limitui/lib/pdf.worker.min.js:1Analysis incomplete: file exceeds text byte budgetui/lib/pdf.worker.min.js:22[Credential-related source omitted]ui/lib/pdf.worker.min.js:20Analysis incomplete: physical or joined line exceeds character limit
- 1 broad permissionin 1 file: SKILL.md:1
- No dangerous shell commands
- 191 network referencesin 22 files: index.html:12 ui/index.html:12 ui/app.js:192 and 19 more
- 3 obfuscation signalsin 3 files: ui/lib/pdf.min.js:22 ui/lib/pdf.worker.min.js:22 ui/storage.js:114
- No instruction overrides
- 12 executable scriptsin 12 files: extensions/export-md/export-md.js:1 extensions/mic-input/mic-input.js:1 extensions/model-config/model-config.js:1 and 9 more
- 9 references to secretsin 4 files: ui/storage.js:7 extensions/reference-answer/reference-answer.js:210 .gitignore:4 and 1 more
- No requests to vote in Hot
Show all 216 signals by file
.gitignore
- Access to secretsline 4
[Credential-related source omitted]
INSTALL.md
- Network accessline 18
# 在本仓库根目录运行 bash install-skill.sh https://github.com/jennifer88huang/interview-skills.git - Network accessline 19
bash install-skill.sh https://github.com/jennifer88huang/interview-skills.git - Network accessline 25
mkdir -p ~/.openclaw/skills git clone https://github.com/jennifer88huang/interview-skills.git ~/.openclaw/skills/interview-skills - Network accessline 26
git clone https://github.com/jennifer88huang/interview-skills.git ~/.openclaw/skills/interview-skills
PRD.md
README-en.md
- Network accessline 5
[](https://github.com/jennifer88huang/interview-skills/stargazers) - Network accessline 6
[](https://github.com/jennifer88huang/interview-skills/network/members) - Network accessline 7
[](https://github.com/jennifer88huang/interview-skills/commits/main) - Network accessline 8
[](LICENSE) - Network accessline 9
[]() - Network accessline 15
**Live Demo:** [Interview Skills AI Mock Interview Coach](https://jennifer88huang.github.io/interview-skills/) - Network accessline 16
**Web App:** [Start a mock interview from JD and resume](https://jennifer88huang.github.io/interview-skills/ui/?lang=en) - Network accessline 107
https://jennifer88huang.github.io/interview-skills/ui/?lang=en - Network accessline 132
bash install-skill.sh https://github.com/jennifer88huang/interview-skills.git - Network accessline 138
mkdir -p ~/.openclaw/skills git clone https://github.com/jennifer88huang/interview-skills.git ~/.openclaw/skills/interview-skills - Network accessline 139
git clone https://github.com/jennifer88huang/interview-skills.git ~/.openclaw/skills/interview-skills - Network accessline 238
Yes. Interview Skills is fully open-source under the MIT license and free to use. The browser UI at [jennifer88huang.github.io/interview-skills/ui/](https://jennifer88huang.github.io/interview-skills/ui/) requires no account. The OpenClaw S
README.md
- Network accessline 6
[](https://github.com/jennifer88huang/interview-skills/stargazers) - Network accessline 7
[](https://github.com/jennifer88huang/interview-skills/network/members) - Network accessline 8
[](https://github.com/jennifer88huang/interview-skills/commits/main) - Network accessline 9
[](LICENSE) - Network accessline 10
[]() - Network accessline 22
**Live Demo / 在线体验: [Interview Skills AI Mock Interview Coach](https://jennifer88huang.github.io/interview-skills/)** - Network accessline 24
**GitHub Pages UI: [Start a mock interview from JD and resume](https://jennifer88huang.github.io/interview-skills/ui/)** - Network accessline 74
https://jennifer88huang.github.io/interview-skills/ui/ - Network accessline 109
# 在本仓库根目录运行 bash install-skill.sh https://github.com/jennifer88huang/interview-skills.git - Network accessline 110
bash install-skill.sh https://github.com/jennifer88huang/interview-skills.git - Network accessline 116
mkdir -p ~/.openclaw/skills git clone https://github.com/jennifer88huang/interview-skills.git ~/.openclaw/skills/interview-skills - Network accessline 117
git clone https://github.com/jennifer88huang/interview-skills.git ~/.openclaw/skills/interview-skills
SKILL.md
- Broad permissionsline 1
Read, Write, Edit, Bash - Network accessline 5
openclaw: emoji: "🎯" homepage: https://github.com/jennifer88huang/interview-skills - Network accessline 6
emoji: "🎯" homepage: https://github.com/jennifer88huang/interview-skills version: 1.1.0 - Network accessline 7
homepage: https://github.com/jennifer88huang/interview-skills
docs/geo-article.md
- Network accessline 111
[Interview Skills](https://github.com/jennifer88huang/interview-skills) is a free, open-source AI mock interview tool available as a browser app and as an OpenClaw skill. - Network accessline 113
### Step 1: Open the tool Go to [https://jennifer88huang.github.io/interview-skills/ui/?lang=en](https://jennifer88huang.github.io/interview-skills/ui/?lang=en) — no account or API key required for basic use. - Network accessline 114
Go to [https://jennifer88huang.github.io/interview-skills/ui/?lang=en](https://jennifer88huang.github.io/interview-skills/ui/?lang=en) — no account or API key required for basic use. - Network accessline 165
Yes. [Interview Skills](https://github.com/jennifer88huang/interview-skills) is a free, open-source AI mock interview tool that generates personalized questions from a job description and resume. It supports Google, Meta, Amazon, Microsoft, - Network accessline 173
[Interview Skills](https://github.com/jennifer88huang/interview-skills) is open-source, free, and available today. If you are preparing for a technical interview at any of the companies listed above, the fastest way to start is to open the - Network accessline 179
*This guide is maintained as part of the [interview-skills repository](https://github.com/jennifer88huang/interview-skills). Last updated: July 2026.*
extensions/export-md/export-md.js
- Executable scriptline 1
Executable file
extensions/mic-input/mic-input.js
- Executable scriptline 1
Executable file - Access to secretsline 164
[Credential-related source omitted] - Network accessline 187
async function callOpenAICompatCorrect(sysPrompt, userMsg, apiKey, model, provider) { var ep = getEndpoint(provider); var r = await fetch(ep, { method: "POST", - Network accessline 188
[Credential-related source omitted] - Network accessline 189
var r = await fetch(ep, { method: "POST", - Network accessline 204
function getEndpoint(provider) { var c = getEl("#customEndpointInput"); if (c) return c; var m = { openai: "https://api.openai.com/v1/chat/completions", deepseek: "https://api.deepseek.com/chat/completions", qwen: "https://dashscope - Network accessline 205
var c = getEl("#customEndpointInput"); if (c) return c; var m = { openai: "https://api.openai.com/v1/chat/completions", deepseek: "https://api.deepseek.com/chat/completions", qwen: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat - Network accessline 206
var m = { openai: "https://api.openai.com/v1/chat/completions", deepseek: "https://api.deepseek.com/chat/completions", qwen: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions", kimi: "https://api.moonshot.cn/v1/chat/comple - Network accessline 207
return m[provider] || "https://api.openai.com/v1/chat/completions"; - Network accessline 210
async function callAnthropicCorrect(sysPrompt, userMsg, apiKey, model) { var r = await fetch("https://api.anthropic.com/v1/messages", { method: "POST", - Network accessline 211
var r = await fetch("https://api.anthropic.com/v1/messages", { method: "POST", - Network accessline 222
async function callGeminiCorrect(sysPrompt, userMsg, apiKey, model) { var r = await fetch("https://generativelanguage.googleapis.com/v1beta/models/" + model + ":generateContent?key=" + encodeURIComponent(apiKey), { - Network accessline 223
var r = await fetch("https://generativelanguage.googleapis.com/v1beta/models/" + model + ":generateContent?key=" + encodeURIComponent(apiKey), {
extensions/model-config/model-config.js
extensions/reference-answer/reference-answer.js
- Executable scriptline 1
Executable file - Access to secretsline 210
[Credential-related source omitted] - Access to secretsline 283
[Credential-related source omitted] - Network accessline 294
[Credential-related source omitted] - Network accessline 295
[Credential-related source omitted] - Network accessline 296
[Credential-related source omitted] - Network accessline 307
function getEndpoint(provider) { var c = getEl("#customEndpointInput"); if (c) return c; var m = { openai: "https://api.openai.com/v1/chat/completions", deepseek: "https://api.deepseek.com/chat/completions", qwen: "https://dashscope - Network accessline 308
var c = getEl("#customEndpointInput"); if (c) return c; var m = { openai: "https://api.openai.com/v1/chat/completions", deepseek: "https://api.deepseek.com/chat/completions", qwen: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat - Network accessline 309
var m = { openai: "https://api.openai.com/v1/chat/completions", deepseek: "https://api.deepseek.com/chat/completions", qwen: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions", kimi: "https://api.moonshot.cn/v1/chat/comple - Network accessline 310
return m[provider] || "https://api.openai.com/v1/chat/completions"; - Network accessline 313
async function callAnthropic(prompt, apiKey, model) { var r = await fetch("https://api.anthropic.com/v1/messages", { method: "POST", - Network accessline 314
var r = await fetch("https://api.anthropic.com/v1/messages", { method: "POST", - Network accessline 327
async function callGemini(prompt, apiKey, model) { var r = await fetch("https://generativelanguage.googleapis.com/v1beta/models/" + model + ":generateContent?key=" + encodeURIComponent(apiKey), { - Network accessline 328
var r = await fetch("https://generativelanguage.googleapis.com/v1beta/models/" + model + ":generateContent?key=" + encodeURIComponent(apiKey), {
extensions/server.js
- Executable scriptline 1
Executable file - Network accessline 18
const INJECT_HEAD = '\n<link rel="stylesheet" href="/extensions/export-md/export-md.css">\n<link rel="stylesheet" href="/extensions/mic-input/mic-input.css">\n<link rel="stylesheet" href="/extensions/reference-answer/reference-answer.css">\ - Network accessline 19
const INJECT_BODY = '\n<script src="/extensions/model-config/model-config.js"></script>\n<script src="/extensions/export-md/export-md.js"></script>\n<script src="/extensions/mic-input/mic-input.js"></script>\n<script src="/extensions/refere - Network accessline 144
server.listen(PORT, () => { console.log(`Server: http://localhost:${PORT}/`); - Network accessline 145
console.log(`Server: http://localhost:${PORT}/`); - Network accessline 146
console.log(`Interview: http://localhost:${PORT}/ui/`);
extensions/start.bat
- Executable scriptline 1
Executable file - Network accessline 5
cscript //nologo %TEMP%\start-interview.vbs del %TEMP%\start-interview.vbs start http://localhost:3000/ui/ - Network accessline 6
del %TEMP%\start-interview.vbs start http://localhost:3000/ui/ exit - Network accessline 7
start http://localhost:3000/ui/
extensions/storage-sync/storage-sync.js
- Executable scriptline 1
Executable file - Network accessline 7
var API = "http://localhost:3000"; - Network accessline 10
var ctrl = new AbortController(); var timer = setTimeout(function () { ctrl.abort(); }, 2000); return fetch(API + path, { signal: ctrl.signal }) - Network accessline 11
var timer = setTimeout(function () { ctrl.abort(); }, 2000); return fetch(API + path, { signal: ctrl.signal }) .then(function (r) { clearTimeout(timer); return r.ok ? r.json() : null; }) - Network accessline 12
return fetch(API + path, { signal: ctrl.signal }) - Network accessline 17
var ctrl = new AbortController(); var timer = setTimeout(function () { ctrl.abort(); }, 2000); return fetch(API + path, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body), signal: ctrl.sign - Network accessline 18
var timer = setTimeout(function () { ctrl.abort(); }, 2000); return fetch(API + path, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body), signal: ctrl.signal }) .catch(function () { retur - Network accessline 19
return fetch(API + path, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(body), signal: ctrl.signal }) - Network accessline 24
var ctrl = new AbortController(); var timer = setTimeout(function () { ctrl.abort(); }, 2000); return fetch(API + path, { method: "DELETE", signal: ctrl.signal }) - Network accessline 25
var timer = setTimeout(function () { ctrl.abort(); }, 2000); return fetch(API + path, { method: "DELETE", signal: ctrl.signal }) .catch(function () { return null; }) - Network accessline 26
return fetch(API + path, { method: "DELETE", signal: ctrl.signal })
index.html
- Network accessline 12
<meta name="google-site-verification" content="uXRhX5gesFoxwUtMh2J5TXwFEmEUhVI5hMuk_DImKas" /> <meta name="robots" content="index,follow" /> <link rel="canonical" href="https://jennifer88huang.github.io/interview-skills/" /> - Network accessline 13
<meta name="robots" content="index,follow" /> <link rel="canonical" href="https://jennifer88huang.github.io/interview-skills/" /> <meta property="og:title" content="Interview Skills - AI Mock Interview Coach" /> - Network accessline 14
<link rel="canonical" href="https://jennifer88huang.github.io/interview-skills/" /> - Network accessline 19
/> <meta property="og:type" content="website" /> <meta property="og:url" content="https://jennifer88huang.github.io/interview-skills/" /> - Network accessline 20
<meta property="og:type" content="website" /> <meta property="og:url" content="https://jennifer88huang.github.io/interview-skills/" /> <meta property="og:image" content="https://jennifer88huang.github.io/interview-skills/assets/mock - Network accessline 21
<meta property="og:url" content="https://jennifer88huang.github.io/interview-skills/" /> - Network accessline 22
<meta property="og:image" content="https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png" /> - Network accessline 27
content="AI mock interview coach for JD and resume-based Big Tech interview practice." /> <meta name="twitter:image" content="https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png" /> - Network accessline 28
/> <meta name="twitter:image" content="https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png" /> <link rel="alternate" type="text/plain" href="https://jennifer88huang.github.io/interview-skills/llms.txt" - Network accessline 29
<meta name="twitter:image" content="https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png" /> - Network accessline 30
<link rel="alternate" type="text/plain" href="https://jennifer88huang.github.io/interview-skills/llms.txt" title="LLMs.txt" /> - Network accessline 31
<script type="application/ld+json"> { "@context": "https://schema.org", - Network accessline 32
{ "@context": "https://schema.org", "@type": ["WebApplication", "SoftwareApplication"], - Network accessline 33
"@context": "https://schema.org", - Network accessline 37
"applicationCategory": "EducationalApplication", "operatingSystem": "Web", "url": "https://jennifer88huang.github.io/interview-skills/", - Network accessline 38
"operatingSystem": "Web", "url": "https://jennifer88huang.github.io/interview-skills/", "sameAs": "https://github.com/jennifer88huang/interview-skills", - Network accessline 39
"url": "https://jennifer88huang.github.io/interview-skills/", - Network accessline 40
"sameAs": "https://github.com/jennifer88huang/interview-skills", - Network accessline 41
"image": "https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png", - Network accessline 42
"screenshot": "https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png", - Network accessline 289
<div class="actions"> <a class="button" href="./ui/">Start Mock Interview</a> <a class="button secondary" href="https://github.com/jennifer88huang/interview-skills">GitHub Repository</a> - Network accessline 290
<a class="button" href="./ui/">Start Mock Interview</a> <a class="button secondary" href="https://github.com/jennifer88huang/interview-skills">GitHub Repository</a> <a class="button secondary" href="https://github.co - Network accessline 291
<a class="button secondary" href="https://github.com/jennifer88huang/interview-skills">GitHub Repository</a> - Network accessline 292
<a class="button secondary" href="https://github.com/jennifer88huang/interview-skills/blob/main/README-en.md">English README</a> - Network accessline 368
<article class="card repo"> <h3>Read the Source</h3> <p><a href="https://github.com/jennifer88huang/interview-skills">View interview-skills on GitHub</a></p> - Network accessline 369
<h3>Read the Source</h3> <p><a href="https://github.com/jennifer88huang/interview-skills">View interview-skills on GitHub</a></p> </article> - Network accessline 370
<p><a href="https://github.com/jennifer88huang/interview-skills">View interview-skills on GitHub</a></p> - Network accessline 372
<article class="card repo"> <h3>Install the Skill</h3> <p><a href="https://github.com/jennifer88huang/interview-skills#-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B">Install from the README</a></p> - Network accessline 373
<h3>Install the Skill</h3> <p><a href="https://github.com/jennifer88huang/interview-skills#-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B">Install from the README</a></p> </article> - Network accessline 374
<p><a href="https://github.com/jennifer88huang/interview-skills#-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B">Install from the README</a></p>
install-skill.sh
llms.txt
- Network accessline 7
- Live demo: https://jennifer88huang.github.io/interview-skills/ - Network accessline 8
- Interactive web app: https://jennifer88huang.github.io/interview-skills/ui/ - Network accessline 9
- English web app: https://jennifer88huang.github.io/interview-skills/ui/?lang=en - Network accessline 10
- GitHub repository: https://github.com/jennifer88huang/interview-skills - Network accessline 11
- English README: https://github.com/jennifer88huang/interview-skills/blob/main/README-en.md
robots.txt
- Network accessline 4
Sitemap: https://jennifer88huang.github.io/interview-skills/sitemap.xml
sitemap.txt
sitemap.xml
- Network accessline 1
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> - Network accessline 2
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> - Network accessline 3
<url> <loc>https://jennifer88huang.github.io/interview-skills/</loc> <lastmod>2026-06-05</lastmod> - Network accessline 4
<loc>https://jennifer88huang.github.io/interview-skills/</loc> - Network accessline 8
</url> <url> <loc>https://jennifer88huang.github.io/interview-skills/ui/</loc> - Network accessline 9
<url> <loc>https://jennifer88huang.github.io/interview-skills/ui/</loc> <lastmod>2026-06-05</lastmod> - Network accessline 10
<loc>https://jennifer88huang.github.io/interview-skills/ui/</loc>
ui/app.js
- Executable scriptline 1
Executable file - Network accessline 192
}; const providerConfig = { deepseek: { type: "openai-compatible", endpoint: "https://api.deepseek.com/chat/completions" }, - Network accessline 193
const providerConfig = { deepseek: { type: "openai-compatible", endpoint: "https://api.deepseek.com/chat/completions" }, qwen: { type: "openai-compatible", endpoint: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" } - Network accessline 194
deepseek: { type: "openai-compatible", endpoint: "https://api.deepseek.com/chat/completions" }, - Network accessline 195
qwen: { type: "openai-compatible", endpoint: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" }, - Network accessline 196
kimi: { type: "openai-compatible", endpoint: "https://api.moonshot.cn/v1/chat/completions" }, - Network accessline 197
glm: { type: "openai-compatible", endpoint: "https://open.bigmodel.cn/api/paas/v4/chat/completions" }, - Network accessline 198
minimax: { type: "openai-compatible", endpoint: "https://api.minimax.chat/v1/chat/completions" }, - Network accessline 199
mimo: { type: "openai-compatible", needsEndpoint: true }, xai: { type: "openai-compatible", endpoint: "https://api.x.ai/v1/chat/completions" }, mistral: { type: "openai-compatible", endpoint: "https://api.mistral.ai/v1/chat/completions" - Network accessline 200
xai: { type: "openai-compatible", endpoint: "https://api.x.ai/v1/chat/completions" }, - Network accessline 201
mistral: { type: "openai-compatible", endpoint: "https://api.mistral.ai/v1/chat/completions" }, - Network accessline 202
perplexity: { type: "openai-compatible", endpoint: "https://api.perplexity.ai/chat/completions" }, - Network accessline 203
openrouter: { type: "openai-compatible", endpoint: "https://openrouter.ai/api/v1/chat/completions" }, - Network accessline 354
apiKeyInput: ["sk-", "sk-"], customModelInput: ["例如:provider/model-name", "e.g. provider/model-name"], customEndpointInput: ["https://.../v1/chat/completions", "https://.../v1/chat/completions"], - Network accessline 355
customModelInput: ["例如:provider/model-name", "e.g. provider/model-name"], customEndpointInput: ["https://.../v1/chat/completions", "https://.../v1/chat/completions"], jdLink: ["https://...", "https://..."], - Network accessline 356
customEndpointInput: ["https://.../v1/chat/completions", "https://.../v1/chat/completions"], - Network accessline 357
jdLink: ["https://...", "https://..."], - Network accessline 1604
try { const response = await fetch(workerUrl); - Network accessline 1605
const response = await fetch(workerUrl); - Network accessline 1936
async function callOpenAICompatible(prompt, endpoint, apiKey, model, extraHeaders = {}) { const response = await fetch(endpoint, { - Network accessline 1937
const response = await fetch(endpoint, { - Network accessline 1977
if (provider === "anthropic") { const response = await fetch("https://api.anthropic.com/v1/messages", { - Network accessline 1978
const response = await fetch("https://api.anthropic.com/v1/messages", { - Network accessline 2002
if (provider === "gemini") { const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${encodeURIComponent(apiKey)}`, { - Network accessline 2003
const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${encodeURIComponent(apiKey)}`, { - Network accessline 2022
const response = await fetch("https://api.openai.com/v1/responses", {
ui/index.html
- Network accessline 12
<meta name="google-site-verification" content="uXRhX5gesFoxwUtMh2J5TXwFEmEUhVI5hMuk_DImKas" /> <meta name="robots" content="index,follow" /> <link rel="canonical" href="https://jennifer88huang.github.io/interview-skills/ui/" /> - Network accessline 13
<meta name="robots" content="index,follow" /> <link rel="canonical" href="https://jennifer88huang.github.io/interview-skills/ui/" /> <meta property="og:title" content="Interview Skills - AI Mock Interview Coach" /> - Network accessline 14
<link rel="canonical" href="https://jennifer88huang.github.io/interview-skills/ui/" /> - Network accessline 19
/> <meta property="og:type" content="website" /> <meta property="og:url" content="https://jennifer88huang.github.io/interview-skills/ui/" /> - Network accessline 20
<meta property="og:type" content="website" /> <meta property="og:url" content="https://jennifer88huang.github.io/interview-skills/ui/" /> <meta property="og:image" content="https://jennifer88huang.github.io/interview-skills/assets/m - Network accessline 21
<meta property="og:url" content="https://jennifer88huang.github.io/interview-skills/ui/" /> - Network accessline 22
<meta property="og:image" content="https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png" /> - Network accessline 27
content="AI mock interview coach for JD and resume-based Big Tech interview practice." /> <meta name="twitter:image" content="https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png" /> - Network accessline 28
/> <meta name="twitter:image" content="https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png" /> <script type="application/ld+json"> - Network accessline 29
<meta name="twitter:image" content="https://jennifer88huang.github.io/interview-skills/assets/mock-interview-ui-en.png" /> - Network accessline 30
<script type="application/ld+json"> { "@context": "https://schema.org", - Network accessline 31
{ "@context": "https://schema.org", "@type": "WebApplication", - Network accessline 32
"@context": "https://schema.org", - Network accessline 36
"applicationCategory": "EducationalApplication", "operatingSystem": "Web", "url": "https://jennifer88huang.github.io/interview-skills/ui/", - Network accessline 37
"operatingSystem": "Web", "url": "https://jennifer88huang.github.io/interview-skills/ui/", "sameAs": "https://github.com/jennifer88huang/interview-skills", - Network accessline 38
"url": "https://jennifer88huang.github.io/interview-skills/ui/", - Network accessline 39
"sameAs": "https://github.com/jennifer88huang/interview-skills", - Network accessline 46
} </script> <link rel="preconnect" href="https://fonts.googleapis.com" /> - Network accessline 47
</script> <link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> - Network accessline 48
<link rel="preconnect" href="https://fonts.googleapis.com" /> - Network accessline 49
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> - Network accessline 50
<link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=IBM+Plex+Sans+SC:wght@400;500;600;700&display=swap" rel="stylesheet" /> - Network accessline 189
<label id="customEndpointField" class="conditional-field hidden"> API 地址 <input id="customEndpointInput" type="url" placeholder="https://.../v1/chat/completions" /> - Network accessline 190
API 地址 <input id="customEndpointInput" type="url" placeholder="https://.../v1/chat/completions" /> </label> - Network accessline 191
<input id="customEndpointInput" type="url" placeholder="https://.../v1/chat/completions" /> - Network accessline 222
<label> JD 链接 <input id="jdLink" type="url" placeholder="https://..." /> - Network accessline 223
JD 链接 <input id="jdLink" type="url" placeholder="https://..." /> </label> - Network accessline 224
<input id="jdLink" type="url" placeholder="https://..." /> - Network accessline 443
<script src="./lib/pdf.min.js"></script> <script src="https://unpkg.com/mammoth@1.8.0/mammoth.browser.min.js"></script> - Network accessline 444
<script src="https://unpkg.com/mammoth@1.8.0/mammoth.browser.min.js"></script>
ui/lib/pdf.min.js
- Executable scriptline 1
Executable file - Network accessline 9
* You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 - Network accessline 10
* * http://www.apache.org/licenses/LICENSE-2.0 * - Network accessline 11
* http://www.apache.org/licenses/LICENSE-2.0 - Network accessline 20
* JavaScript code in this page */ !function webpackUniversalModuleDefinition(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=t.pdfjsLib=e():"function"==typeof define&&define.amd?define("pdfjs-dist/build/pdf",[],(()=>t - Network accessline 22
[Credential-related source omitted] - Possible obfuscationline 22
[Credential-related source omitted]
ui/lib/pdf.worker.min.js
- Executable scriptline 1
Executable file - Network accessline 9
* You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 - Network accessline 10
* * http://www.apache.org/licenses/LICENSE-2.0 * - Network accessline 11
* http://www.apache.org/licenses/LICENSE-2.0 - Possible obfuscationline 22
[Credential-related source omitted]
ui/storage.js
- Executable scriptline 1
Executable file - Access to secretsline 7
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 55
[Credential-related source omitted] - Access to secretsline 57
[Credential-related source omitted] - Possible obfuscationline 114
const binary = atob(base64); - Access to secretsline 229
[Credential-related source omitted]
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 36 facts
- Contacts api.openai.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts api.deepseek.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts dashscope.aliyuncs.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts api.moonshot.cn, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts open.bigmodel.cn, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts api.minimax.chat, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts api.x.ai, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts api.mistral.ai, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts api.perplexity.ai, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts openrouter.ai, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:206High confidence
- Contacts api.anthropic.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:211High confidence
- Contacts generativelanguage.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/mic-input/mic-input.js:223High confidence
- Contacts api.openai.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts api.deepseek.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts dashscope.aliyuncs.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts api.moonshot.cn, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts open.bigmodel.cn, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts api.minimax.chat, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts api.x.ai, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts api.mistral.ai, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts api.perplexity.ai, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts openrouter.ai, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:309High confidence
- Contacts api.anthropic.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:314High confidence
- Contacts generativelanguage.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionextensions/reference-answer/reference-answer.js:328High confidence
- Contacts api.deepseek.com, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:194High confidence
- Contacts dashscope.aliyuncs.com, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:195High confidence
- Contacts api.moonshot.cn, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:196High confidence
- Contacts open.bigmodel.cn, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:197High confidence
- Contacts api.minimax.chat, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:198High confidence
- Contacts api.x.ai, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:200High confidence
- Contacts api.mistral.ai, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:201High confidence
- Contacts api.perplexity.ai, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:202High confidence
- Contacts openrouter.ai, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:203High confidence
- Contacts api.anthropic.com, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:1978High confidence
- Contacts generativelanguage.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:2003High confidence
- Contacts api.openai.com, which SKILL.md, the README and the plugin manifest do not mentionui/app.js:2022High confidence
Signal confidence: 143 facts
- Network access in code of documentationINSTALL.md:18Low confidence
- Network access in code of documentationINSTALL.md:19Low confidence
- Network access in code of documentationINSTALL.md:25Low confidence
- Network access in code of documentationINSTALL.md:26Low confidence
- Network access in code of documentationPRD.md:524Low confidence
- Network access in code of documentationPRD.md:525Low confidence
- Network access in prose of documentationREADME-en.md:5Low confidence
- Network access in prose of documentationREADME-en.md:6Low confidence
- Network access in prose of documentationREADME-en.md:7Low confidence
- Network access in prose of documentationREADME-en.md:8Low confidence
- Network access in prose of documentationREADME-en.md:9Low confidence
- Network access in prose of documentationREADME-en.md:15Low confidence
- Network access in prose of documentationREADME-en.md:16Low confidence
- Network access in code of documentationREADME-en.md:107Low confidence
- Network access in code of documentationREADME-en.md:132Low confidence
- Network access in code of documentationREADME-en.md:138Low confidence
- Network access in code of documentationREADME-en.md:139Low confidence
- Network access in prose of documentationREADME-en.md:238Low confidence
- Network access in prose of documentationREADME.md:6Low confidence
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in prose of documentationREADME.md:8Low confidence
- Network access in prose of documentationREADME.md:9Low confidence
- Network access in prose of documentationREADME.md:10Low confidence
- Network access in prose of documentationREADME.md:22Low confidence
- Network access in prose of documentationREADME.md:24Low confidence
- Network access in code of documentationREADME.md:74Low confidence
- Network access in code of documentationREADME.md:109Low confidence
- Network access in code of documentationREADME.md:110Low confidence
- Network access in code of documentationREADME.md:116Low confidence
- Network access in code of documentationREADME.md:117Low confidence
- Broad permissions in the frontmatter of the SKILL.mdSKILL.md:1High confidence
- Network access in the frontmatter of the SKILL.mdSKILL.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdSKILL.md:6Low confidence
- Network access in the frontmatter of the SKILL.mdSKILL.md:7Low confidence
- Network access in prose of documentationdocs/geo-article.md:111Low confidence
- Network access in prose of documentationdocs/geo-article.md:113Low confidence
- Network access in prose of documentationdocs/geo-article.md:114Low confidence
- Network access in prose of documentationdocs/geo-article.md:165Low confidence
- Network access in prose of documentationdocs/geo-article.md:173Low confidence
- Network access in prose of documentationdocs/geo-article.md:179Low confidence
- Executable script in a comment of a file that runsextensions/export-md/export-md.js:1Low confidence
- Executable script in a comment of a file that runsextensions/mic-input/mic-input.js:1Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueextensions/mic-input/mic-input.js:164Low confidence
- Network access in code of a file that runsextensions/mic-input/mic-input.js:187High confidence
- Network access in code of a file that runsextensions/mic-input/mic-input.js:188High confidence
- Network access in code of a file that runsextensions/mic-input/mic-input.js:189High confidence
- Network access in code of a file that runsextensions/mic-input/mic-input.js:204High confidence
- Network access in code of a file that runsextensions/mic-input/mic-input.js:205High confidence
- Network access in code of a file that runsextensions/mic-input/mic-input.js:206High confidence
- Network access in code of a file that runsextensions/mic-input/mic-input.js:207High confidence
and 93 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.