Token导航 LogoToken导航

Agent Skill · 前端设计

fact-check(事实核查)

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

fact-check 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证为 MIT,第三方扫描有提醒项,按安装量在前端设计类的 10,216 个 Skill 里排第 1,228。

总安装 6,821周安装 290GitHub Stars 66,305下载 2,390核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:fact-check(事实核查)
来源仓库:https://github.com/leonardomso/33-js-concepts
仓库路径:skills/fact-check
安装命令:
npx skills add https://github.com/leonardomso/33-js-concepts --skill fact-check
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/leonardomso/33-js-concepts --skill fact-check

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

辅助前端开发的事实核查工具,确保代码示例、链接和技术声明的准确性。适用于 React、Vue、Next.js 等项目的技术文档维护与代码审查场景。自动运行测试、验证 MDN 链接、检查外部资源可访问性并记录审核结果。需配合 npm test 和本地构建环境使用,确保输出与实际运行结果一致。

涉及技术声明时,应以官方文档和可复现的测试为准,避免主观推断。

来源仓库内路径:skills/fact-check

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/leonardomso/33-js-concepts --skill fact-check;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

fact-check 怎么安装?

在终端执行 npx skills add https://github.com/leonardomso/33-js-concepts --skill fact-check。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

fact-check 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

fact-check 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

fact-check 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

fact-check 用的人多吗?

公开数据是累计安装 6,821 次,近一周安装 290 次,下载 2,390 次,GitHub 66,305 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

fact-check 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 来源仓库有 66,305 星,维护活跃度相对可查。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
fact-check

事实核查 · 本页

6,82166,305操作浏览器MIT有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Skill: JavaScript Fact Checker

Use this skill to verify the technical accuracy of concept documentation pages for the 33 JavaScript Concepts project. This ensures we're not spreading misinformation about JavaScript.

When to Use

  • Before publishing a new concept page
  • After significant edits to existing content
  • When reviewing community contributions
  • When updating pages with new JavaScript features
  • Periodic accuracy audits of existing content

What We're Protecting Against

  • Incorrect JavaScript behavior claims
  • Outdated information (pre-ES6 patterns presented as current)
  • Code examples that don't produce stated outputs
  • Broken or misleading external resource links
  • Common misconceptions stated as fact
  • Browser-specific behavior presented as universal
  • Inaccurate API descriptions

Fact-Checking Methodology

Follow these five phases in order for a complete fact check.

Phase 1: Code Example Verification

Every code example in the concept page must be verified for accuracy.

Step-by-Step Process
  1. Identify all code blocks in the document
  2. For each code block:

- Read the code and any output comments (e.g., // "string") - Mentally execute the code or test in a JavaScript environment - Verify the output matches what's stated in comments - Check that variable names and logic are correct

  1. For "wrong" examples (marked with ❌):

- Verify they actually produce the wrong/unexpected behavior - Confirm the explanation of why it's wrong is accurate

  1. For "correct" examples (marked with ✓):

- Verify they work as stated - Confirm they follow current best practices

  1. Run project tests: # Run all tests npm test # Run tests for a specific concept npm test -- tests/fundamentals/call-stack/ npm test -- tests/fundamentals/primitive-types/
  2. Check test coverage:

- Look in /tests/{category}/{concept-name}/ - Verify tests exist for major code examples - Flag examples without test coverage

Code Verification Checklist
CheckHow to Verify
console.log outputs match commentsRun code or trace mentally
Variables are correctly named/usedRead through logic
Functions return expected valuesTrace execution
Async code resolves in stated orderUnderstand event loop
Error examples actually throwTest in try/catch
Array/object methods return correct typesCheck MDN
typeof results are accurateTest common cases
Strict mode behavior noted if relevantCheck if example depends on it
Common Output Mistakes to Catch
// Watch for these common mistakes:

// 1. typeof null
typeof null        // "object" (not "null"!)

// 2. Array methods that return new arrays vs mutate
const arr = [1, 2, 3]
arr.push(4)        // Returns 4 (length), not the array!
arr.map(x => x*2)  // Returns NEW array, doesn't mutate

// 3. Promise resolution order
Promise.resolve().then(() => console.log('micro'))
setTimeout(() => console.log('macro'), 0)
console.log('sync')
// Output: sync, micro, macro (NOT sync, macro, micro)

// 4. Comparison results
[] == false        // true
[] === false       // false
![]                // false (empty array is truthy!)

// 5. this binding
const obj = {
  name: 'Alice',
  greet: () => console.log(this.name)  // undefined! Arrow has no this
}

Phase 2: MDN Documentation Verification

All claims about JavaScript APIs, methods, and behavior should align with MDN documentation.

Step-by-Step Process
  1. Check all MDN links:

- Click each MDN link in the document - Verify the link returns 200 (not 404) - Confirm the linked page matches what's being referenced

  1. Verify API descriptions:

- Compare method signatures with MDN - Check parameter names and types - Verify return types - Confirm edge case behavior

  1. Check for deprecated APIs:

- Look for deprecation warnings on MDN - Flag any deprecated methods being taught as current

  1. Verify browser compatibility claims:

- Cross-reference with MDN compatibility tables - Check Can I Use for broader support data

MDN Link Patterns
Content TypeMDN URL Pattern
Web APIshttps://developer.mozilla.org/en-US/docs/Web/API/{APIName}
Global Objectshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/{Object}
Statementshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/{Statement}
Operatorshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/{Operator}
HTTPhttps://developer.mozilla.org/en-US/docs/Web/HTTP
What to Verify Against MDN
Claim TypeWhat to Check
Method signatureParameters, optional params, return type
Return valueExact type and possible values
Side effectsDoes it mutate? What does it affect?
ExceptionsWhat errors can it throw?
Browser supportCompatibility tables
Deprecation statusAny deprecation warnings?

Phase 3: ECMAScript Specification Compliance

For nuanced JavaScript behavior, verify against the ECMAScript specification.

When to Check the Spec
  • Edge cases and unusual behavior
  • Claims about "how JavaScript works internally"
  • Type coercion rules
  • Operator precedence
  • Execution order guarantees
  • Claims using words like "always", "never", "guaranteed"
How to Navigate the Spec

The ECMAScript specification is at: https://tc39.es/ecma262/

ConceptSpec Section
Type coercionAbstract Operations (7.1)
EqualityAbstract Equality Comparison (7.2.14), Strict Equality (7.2.15)
typeofThe typeof Operator (13.5.3)
ObjectsOrdinary and Exotic Objects' Behaviours (10)
FunctionsECMAScript Function Objects (10.2)
this bindingResolveThisBinding (9.4.4)
PromisesPromise Objects (27.2)
IterationIteration (27.1)
Spec Verification Examples
// Claim: "typeof null returns 'object' due to a bug"
// Spec says: typeof null → "object" (Table 41)
// Historical context: This is a known quirk from JS 1.0
// Verdict: ✓ Correct, though calling it a "bug" is slightly informal

// Claim: "Promises always resolve asynchronously"
// Spec says: Promise reaction jobs are enqueued (27.2.1.3.2)
// Verdict: ✓ Correct - even resolved promises schedule microtasks

// Claim: "=== is faster than =="
// Spec says: Nothing about performance
// Verdict: ⚠️ Needs nuance - this is implementation-dependent

Phase 4: External Resource Verification

All external links (articles, videos, courses) must be verified.

Step-by-Step Process
  1. Check link accessibility:

- Click each external link - Verify it loads (not 404, not paywalled) - Note any redirects to different URLs

  1. Verify content accuracy:

- Skim the resource for obvious errors - Check it's JavaScript-focused (not C#, Python, Java) - Verify it's not teaching anti-patterns

  1. Check publication date:

- For time-sensitive topics (async, modules, etc.), prefer recent content - Flag resources from before 2015 for ES6+ topics

  1. Verify description accuracy:

- Does our description match what the resource actually covers? - Is the description specific (not generic)?

External Resource Checklist
CheckPass Criteria
Link worksReturns 200, content loads
Not paywalledFree to access (or clearly marked)
JavaScript-focusedNot primarily about other languages
Not outdatedPost-2015 for modern JS topics
Accurate descriptionOur description matches actual content
No anti-patternsDoesn't teach bad practices
Reputable sourceFrom known/trusted creators
Red Flags in External Resources
  • Uses var everywhere for ES6+ topics
  • Uses callbacks for content about Promises/async
  • Teaches jQuery as modern DOM manipulation
  • Contains factual errors about JavaScript
  • Video is >2 hours without timestamp links
  • Content is primarily about another language
  • Uses deprecated APIs without noting deprecation

Phase 5: Technical Claims Audit

Review all prose claims about JavaScript behavior.

Claims That Need Verification
Claim TypeHow to Verify
Performance claimsNeed benchmarks or caveats
Browser behaviorSpecify which browsers, check MDN
Historical claimsVerify dates/versions
"Always" or "never" statementsCheck for exceptions
Comparisons (X vs Y)Verify both sides accurately
Red Flags in Technical Claims
  • "Always" or "never" without exceptions noted
  • Performance claims without benchmarks
  • Browser behavior claims without specifying browsers
  • Comparisons that oversimplify differences
  • Historical claims without dates
  • Claims about "how JavaScript works" without spec reference
Examples of Claims to Verify
❌ "async/await is always better than Promises"
→ Verify: Not always - Promise.all() is better for parallel operations

❌ "JavaScript is an interpreted language"
→ Verify: Modern JS engines use JIT compilation

❌ "Objects are passed by reference"
→ Verify: Technically "passed by sharing" - the reference is passed by value

❌ "=== is faster than =="
→ Verify: Implementation-dependent, not guaranteed by spec

✓ "JavaScript is single-threaded"
→ Verify: Correct for the main thread (Web Workers are separate)

✓ "Promises always resolve asynchronously"
→ Verify: Correct per ECMAScript spec

Common JavaScript Misconceptions

Watch for these misconceptions being stated as fact.

Type System Misconceptions

MisconceptionRealityHow to Verify
typeof null === "object" is intentionalIt's a bug from JS 1.0 that can't be fixed for compatibilityHistorical context, TC39 discussions
JavaScript has no typesJS is dynamically typed, not untypedECMAScript spec defines types
== is always wrong== null checks both null and undefined, has valid usesMany style guides allow this pattern
NaN === NaN is false "by mistake"It's intentional per IEEE 754 floating point specIEEE 754 standard

Function Misconceptions

MisconceptionRealityHow to Verify
Arrow functions are just shorter syntaxThey have no this, arguments, super, or new.targetMDN, ECMAScript spec
var is hoisted to function scope with its valueOnly declaration is hoisted, not initializationCode test, MDN
Closures are a special opt-in featureAll functions in JS are closuresECMAScript spec
IIFEs are obsoleteStill useful for one-time initializationModern codebases still use them

Async Misconceptions

MisconceptionRealityHow to Verify
Promises run in parallelJS is single-threaded; Promises are async, not parallelEvent loop explanation
async/await is different from PromisesIt's syntactic sugar over PromisesMDN, can await any thenable
setTimeout(fn, 0) runs immediatelyRuns after current execution + microtasksEvent loop, code test
await pauses the entire programOnly pauses the async function, not the event loopCode test

Object Misconceptions

MisconceptionRealityHow to Verify
Objects are "passed by reference"References are passed by value ("pass by sharing")Reassignment test
const makes objects immutableconst prevents reassignment, not mutationCode test
Everything in JavaScript is an objectPrimitives are not objects (though they have wrappers)typeof tests, MDN
Object.freeze() creates deep immutabilityIt's shallow - nested objects can still be mutatedCode test

Performance Misconceptions

MisconceptionRealityHow to Verify
=== is always faster than ==Implementation-dependent, not spec-guaranteedBenchmarks vary
for loops are faster than forEachModern engines optimize both; depends on use caseBenchmark
Arrow functions are fasterNo performance difference, just different behaviorBenchmark
Avoiding DOM manipulation is always fasterSometimes batch mutations are slower than individualDepends on browser, use case

Test Integration

Running the project's test suite is a key part of fact-checking.

Test Commands

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:coverage

# Run tests for specific concept
npm test -- tests/fundamentals/call-stack/
npm test -- tests/fundamentals/primitive-types/
npm test -- tests/fundamentals/value-reference-types/
npm test -- tests/fundamentals/type-coercion/
npm test -- tests/fundamentals/equality-operators/
npm test -- tests/fundamentals/scope-and-closures/

Test Directory Structure

tests/
├── fundamentals/              # Concepts 1-6
│   ├── call-stack/
│   ├── primitive-types/
│   ├── value-reference-types/
│   ├── type-coercion/
│   ├── equality-operators/
│   └── scope-and-closures/
├── functions-execution/       # Concepts 7-8
│   ├── event-loop/
│   └── iife-modules/
└── web-platform/              # Concepts 9-10
    ├── dom/
    └── http-fetch/

When Tests Are Missing

If a concept doesn't have tests:

  1. Flag this in the report as "needs test coverage"
  2. Manually verify code examples are correct
  3. Consider adding tests as a follow-up task

Verification Resources

Primary Sources

ResourceURLUse For
MDN Web Docshttps://developer.mozilla.orgAPI docs, guides, compatibility
ECMAScript Spechttps://tc39.es/ecma262Authoritative behavior
TC39 Proposalshttps://github.com/tc39/proposalsNew features, stages
Can I Usehttps://caniuse.comBrowser compatibility
Node.js Docshttps://nodejs.org/docsNode-specific APIs
V8 Bloghttps://v8.dev/blogEngine internals

Project Resources

ResourcePathUse For
Test Suite/tests/Verify code examples
Concept Pages/docs/concepts/Current content
Run Testsnpm testExecute all tests

Fact Check Report Template

Use this template to document your findings.

# Fact Check Report: [Concept Name]

**File:** `/docs/concepts/[slug].mdx`
**Date:** YYYY-MM-DD
**Reviewer:** [Name/Claude]
**Overall Status:** ✅ Verified | ⚠️ Minor Issues | ❌ Major Issues

---

## Executive Summary

[2-3 sentence summary of findings. State whether the page is accurate overall and highlight any critical issues.]

**Tests Run:** Yes/No
**Test Results:** X passing, Y failing
**External Links Checked:** X/Y valid

---

## Phase 1: Code Example Verification

| # | Description | Line | Status | Notes |
|---|-------------|------|--------|-------|
| 1 | [Brief description] | XX | ✅/⚠️/❌ | [Notes] |
| 2 | [Brief description] | XX | ✅/⚠️/❌ | [Notes] |
| 3 | [Brief description] | XX | ✅/⚠️/❌ | [Notes] |

### Code Issues Found

#### Issue 1: [Title]

**Location:** Line XX
**Severity:** Critical/Major/Minor
**Current Code:**

// The problematic code


**Problem:** [Explanation of what's wrong] **Correct Code:**

// The corrected code


---

## Phase 2: MDN/Specification Verification

| Claim | Location | Source | Status | Notes |
| --- | --- | --- | --- | --- |
| [Claim made] | Line XX | MDN/Spec | ✅/⚠️/❌ | [Notes] |

### MDN Link Status

| Link Text | URL | Status |
| --- | --- | --- |
| [Text] | [URL] | ✅ 200 / ❌ 404 |

### Specification Discrepancies

[If any claims don't match the ECMAScript spec, detail them here]

---

## Phase 3: External Resource Verification

| Resource | Type | Link | Content | Notes |
| --- | --- | --- | --- | --- |
| [Title] | Article/Video | ✅/❌ | ✅/⚠️/❌ | [Notes] |

### Broken Links

1. **Line XX:** [URL] - 404 Not Found
2. **Line YY:** [URL] - Domain expired

### Content Concerns

1. **[Resource name]:** [Concern - e.g., outdated, wrong language, anti-patterns]

### Description Accuracy

| Resource | Description Accurate? | Notes |
| --- | --- | --- |
| [Title] | ✅/❌ | [Notes] |

---

## Phase 4: Technical Claims Audit

| Claim | Location | Verdict | Notes |
| --- | --- | --- | --- |
| "[Claim]" | Line XX | ✅/⚠️/❌ | [Notes] |

### Claims Needing Revision

1. **Line XX:** "[Current claim]"
  - **Issue:** [What's wrong]
  - **Suggested:** "[Revised claim]"

---

## Phase 5: Test Results

**Test File:** `/tests/[category]/[concept]/[concept].test.js` **Tests Run:** XX **Passing:** XX **Failing:** XX

### Failing Tests

| Test Name | Expected | Actual | Related Doc Line |
| --- | --- | --- | --- |
| [Test] | [Expected] | [Actual] | Line XX |

### Coverage Gaps

Examples in documentation without corresponding tests:

- Line XX: [Description of untested example]
- Line YY: [Description of untested example]

---

## Issues Summary

### Critical (Must Fix Before Publishing)

1. **[Issue title]**
  - Location: Line XX
  - Problem: [Description]
  - Fix: [How to fix]

### Major (Should Fix)

1. **[Issue title]**
  - Location: Line XX
  - Problem: [Description]
  - Fix: [How to fix]

### Minor (Nice to Have)

1. **[Issue title]**
  - Location: Line XX
  - Suggestion: [Improvement]

---

## Recommendations

1. **[Priority 1]:** [Specific actionable recommendation]
2. **[Priority 2]:** [Specific actionable recommendation]
3. **[Priority 3]:** [Specific actionable recommendation]

---

## Verification Checklist

- All code examples verified for correct output
- All MDN links checked and valid
- API descriptions match MDN documentation
- ECMAScript compliance verified (if applicable)
- All external resource links accessible
- Resource descriptions accurately represent content
- No common JavaScript misconceptions found
- Technical claims are accurate and nuanced
- Project tests run and reviewed
- Report complete and ready for handoff

---

## Sign-off

**Verified by:** [Name/Claude] **Date:** YYYY-MM-DD **Recommendation:** ✅ Ready to publish | ⚠️ Fix issues first | ❌ Major revision needed

Quick Reference: Verification Commands

# Run all tests
npm test

# Run specific concept tests
npm test -- tests/fundamentals/call-stack/

# Check for broken links (if you have a link checker)
# Install: npm install -g broken-link-checker
# Run: blc https://developer.mozilla.org/... -ro

# Quick JavaScript REPL for testing
node
> typeof null
'object'
> [1,2,3].map(x => x * 2)
[ 2, 4, 6 ]

Summary

When fact-checking a concept page:

  1. Run tests first — npm test catches code errors automatically
  2. Verify every code example — Output comments must match reality
  3. Check all MDN links — Broken links and incorrect descriptions hurt credibility
  4. Verify external resources — Must be accessible, accurate, and JavaScript-focused
  5. Audit technical claims — Watch for misconceptions and unsupported statements
  6. Document everything — Use the report template for consistent, thorough reviews

Remember: Our readers trust us to teach them correct JavaScript. A single piece of misinformation can create confusion that takes years to unlearn. Take fact-checking seriously.

平台分布

Claude Code

26.67%
按下载量换算637

goose

23.52%
按下载量换算562

Gemini CLI

17.64%
按下载量换算422

Antigravity

11.41%
按下载量换算273

OpenCode

7.14%
按下载量换算171

Cursor

3.18%
按下载量换算76

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。

继续浏览同类 Skills