Skip to content

feat: add Fact-Check-X multi-platform verification skill - #1049

Open
ASI2030 wants to merge 1 commit into
sickn33:mainfrom
ASI2030:add-fact-check-x
Open

feat: add Fact-Check-X multi-platform verification skill#1049
ASI2030 wants to merge 1 commit into
sickn33:mainfrom
ASI2030:add-fact-check-x

Conversation

@ASI2030

@ASI2030 ASI2030 commented Jul 30, 2026

Copy link
Copy Markdown

Summary

Adds the official Fact-Check-X skill under skills/fact-check-x-complete/ as a complete 94-file runtime. It captures AI answers, citations, screenshots, and HTML evidence; compares atomic claims across selected platforms; optionally verifies claims with trusted search; and produces four traceable stage reports.

Supported web platforms are DKnowC, DKnowC Deep Research, Doubao, Tencent Yuanbao, DeepSeek, and Qwen. The selected set remains dynamic (N >= 1).

Source and distribution integrity

  • Official upstream: https://github.com/ASI2030/Fact-Check-X
  • Upstream release: https://github.com/ASI2030/Fact-Check-X/releases/tag/v1.1.0
  • License: Apache-2.0, preserved with LICENSE, NOTICE, and THIRD_PARTY_NOTICES.md.
  • All 94 upstream files are present. Non-SKILL.md file contents are byte-identical to the official skill directory.
  • The AAS copy only adds required catalog metadata, recognized When to Use / Limitations headings, and rewrites three placeholder Markdown-link examples as equivalent prose so the exact evidence audit reports no dangling links.
  • File modes are regular 100644; scripts are invoked through explicit Python or Node interpreters.
  • No generated registry, catalog, plugin mirror, or data artifacts are included.

Risk and safety

Declared risk: critical because the workflow drives authenticated browser sessions, writes evidence artifacts, and can configure a trusted-search credential after explicit user login. Login, CAPTCHA, and verification remain human-controlled. Platform capture failures stop the pipeline before later stages.

Validation

  • npm run chain
  • npm run validate:references
  • npm run security:docs
  • npm run check:warning-budget
  • npm test — 104 test files passed
  • python skills/fact-check-x-complete/scripts/fact_check_x.py locate
  • npm run check:readme-credits -- --base origin/main --head HEAD
  • npm run pr:evidence -- --base origin/main --head HEAD ...blocking=false, audit errors 0, security errors 0, warnings 0, unsafe entries 0

Change Classification

  • Skill PR
  • Docs PR
  • Infra PR

Quality Bar Checklist

  • Standards: Read docs/contributors/quality-bar.md and docs/contributors/security-guardrails.md.
  • Metadata: Frontmatter passes npm run validate.
  • Risk Label: Declared critical and reviewed against browser, credential, and filesystem behavior.
  • Triggers: Added a recognized and specific When to Use section.
  • Limitations: Added an explicit Limitations section.
  • Security: This is not an offensive skill.
  • Safety scan: npm run security:docs and changed-skill evidence both pass.
  • Automated Skill Review: Pending the GitHub Actions result for this PR.
  • Manual Logic Review: Reviewed stage gates, browser handoff, credential onboarding, source fidelity, failure modes, and declared risk.
  • Local Test: Complete repository suite and Fact-Check-X module location passed.
  • Repo Checks: Reference validation and warning-budget checks passed.
  • Source-Only PR: Generated registry artifacts are excluded.
  • Credits: Added the official upstream under README Official Sources.
  • License provenance: Apache-2.0 and the upstream license URL are declared and bundled notices are preserved.
  • Maintainer Edits: Allow edits from maintainers is enabled.

@ASI2030
ASI2030 requested a review from sickn33 as a code owner July 30, 2026 20:45
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​commander@​12.1.010010010085100
Addednpm/​zod@​3.25.7610010010088100
Addednpm/​@​playwright/​test@​1.61.110010010099100

View full report

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9aef2df258

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

},
"node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmmirror.com/zod/-/zod-3.25.76.tgz",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use public npm tarball URLs in the lockfile

In environments where registry.npmmirror.com is blocked, the documented first-run install cannot fetch this runtime: I reproduced npm ci --ignore-scripts --registry=https://registry.npmjs.org with npm 11 and it still requested the lockfile's https://registry.npmmirror.com/zod/-/zod-3.25.76.tgz, failing with 403. Because the skill depends on this package before browser capture can run, regenerate the lockfile against the public npm registry or avoid hard-pinning mirror tarball URLs.

Useful? React with 👍 / 👎.

const snippet = reference.snippet
? `<details class="ref-snippet"><summary>查看摘录</summary><p>${escapeHtml(reference.snippet)}</p></details>`
: "";
return `<li id="${referenceId(platform.platform, reference)}">${marker}${sourceBadge}${attribution}${scope}<a href="${escapeAttribute(reference.url)}">${escapeHtml(title)}</a>${originLink}${platformLink}${snippet}</li>`;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Sanitize captured reference URLs before rendering

When a captured page exposes a non-http(s) link such as javascript:..., the reference schema only requires a nonempty string and normalizeUrl preserves that scheme, so this renderer writes the untrusted URL directly into the local report. Users are instructed to open and click these evidence reports, which can turn captured platform/source content into executable report HTML; restrict report links to safe schemes or render unsafe URLs as text.

AGENTS.md reference: AGENTS.md:L52-L54

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants