Token导航 LogoToken导航TokenDH.com
前端设计操作浏览器github未标认证来源可访问clear审计提醒

fact-check事实核查

Agent Skill

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

总安装

6,821

周安装

290

GitHub Stars

66,305

下载量

2,390
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 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

简介

辅助前端开发的事实核查工具,确保代码示例、链接和技术声明的准确性。

  • 适用于 React、Vue、Next.js 等项目的技术文档维护与代码审查场景。
  • 自动运行测试、验证 MDN 链接、检查外部资源可访问性并记录审核结果。
  • 需配合 npm test 和本地构建环境使用,确保输出与实际运行结果一致。
  • 涉及技术声明时,应以官方文档和可复现的测试为准,避免主观推断。

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 firstnpm 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.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

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 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills