# Blog Check

> 技术博客与公开技术输出的原创性核验：整段正文逐字检索比对来源、全量标题批量筛查、分层抽样给出可复现的命中率，判断内容是原创实践还是未标注的搬运，并与简历经历做时间与内容交叉印证。凡是要评估某人技术写作的真实性或含金量就使用本技能——包括用户说"他博客写得怎么样""这些文章是不是抄的""原创 200 篇是真的吗""公众号/掘金/CSDN 这些内容可信吗"时。

- **Type:** Skill
- **Install:** `agentstack add skill-shaokeyibb-anti-asu-skills-blog-check`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [shaokeyibb](https://agentstack.voostack.com/s/shaokeyibb)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [shaokeyibb](https://github.com/shaokeyibb)
- **Source:** https://github.com/shaokeyibb/anti-asu-skills/tree/main/skills/blog-check

## Install

```sh
agentstack add skill-shaokeyibb-anti-asu-skills-blog-check
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# /blog-check：技术输出原创性核验

候选人在简历里放博客链接，是在主动提供一份"技术深度的样本"。核验它的价值在于：**博客比简历更难包装**——简历可以逐字打磨，而一篇技术文章要在几千字里持续伪装出不存在的理解，成本高得多。

反过来说，博客也是交叉印证简历的好材料：文章里提到的踩坑、时间、技术栈，可以和简历上的经历互相验证。

## 边界

- 只读候选人主动提供的链接。**不搜索候选人在其他平台的账号**，不追踪其网络身份。
- 只核验**技术内容**。博客里的生活记录、观点表达、个人心情、政治或宗教内容——一律跳过，不读、不记、不写入报告。看到时主动忽略。
- 抄袭判定门槛要高。技术写作中大量内容天然相似（同一个 API 的用法、同一份官方文档的翻译、同一个经典算法的讲解），**相似不等于抄袭**。
- 博客更新少、写得浅、停更多年——**都不是负面信号**。写博客是额外付出，不写是常态。这一维度只在候选人主动展示时才核验。

## 核验流程

### 第零步：先核验形容词，不是数量

**这是最容易跳过、也最致命的一步。**

当 claim 形如「**原创** 200+ 博客」「**独立完成** N 个项目」「**主导** X 次重构」时——**修饰语才是承载分量的部分，数量只是陪衬**。

> 核验"384 > 200"**不等于**核验了这条 claim。
> 如果 384 篇里大量是转述而被标为原创，那么「原创 200+」这条 claim 就是**不成立的**，哪怕数字远超。

**纪律**：拆开每条复合 claim，**先判修饰语，再看数量**。修饰语不成立时，数量成立不能挽救该 claim。

### 第一步：抽样（样本量必须随语料规模缩放）

**绝不能对任何规模的博客都只抽 3—5 篇。**

#### 样本量下限

| 文章总数 | 首轮最小样本 |
| --- | --- |
|  300 | **20，且必须覆盖每个内容板块** |

#### 分层抽样（关键：必须抽到"大宗"）

抽样最容易犯的错，是只抽**亮点**而漏掉**主体**。以下四层**缺一不可**：

| 层 | 抽法 | 为什么必须抽 |
| --- | --- | --- |
| **A. 大宗连载**（占比最高的系列） | 从最大的 1—2 个系列中**随机**抽 5—8 篇 | **这是判断整体性质的唯一依据。**大宗决定博客的真实构成 |
| **B. 高流量篇** | 阅读量最高的 3—5 篇 | 高流量常来自热门八股题，也是搬运高发区 |
| **C. 项目复盘篇** | 与其自有项目对应的 2—3 篇 | 最可能原创，用于确认"确有原创部分" |
| **D. 随机对照** | 全量列表中**纯随机**抽 3—5 篇 | 对冲前三层的选择偏差 |

> ⚠️ **原先的抽样标准（最相关 / 最长最硬 / 最新）系统性偏向 C 层**——也就是最可能原创的那批。只按那三条抽，等于把视线从大宗上移开。**C 层现在只占四层之一。**

#### 升级规则（强制）

> **首轮样本中若有 ≥2 篇命中搬运特征，必须扩大样本至 2 倍并重抽，不得直接下结论。**
>
> 扩样后若命中率仍 ≥30%，结论应指向**系统性**而非"偶发"，并在报告中给出**命中率**（"扩样 N 篇，M 篇命中，命中率 X%"），而不是笼统的定性词。

**永远给出命中率和样本量**，不要写"部分文章存在……"这类无法追溯的表述。

### 第一步半：标题级批量筛查（低成本、可全量）

打开每篇文章读内容很贵，**但比对标题几乎免费，而且可以全量做**。

搬运最强的痕迹是**标题逐字相同**——转述者通常保留原标题，因为那是原作者拟好的、最吸引点击的问句式标题。

**方法**：
1. 拉取全量文章标题列表（多数平台有 API 或分页列表）；
2. 与常见来源的章节目录逐一比对（见 [references/authenticity-signals.md](references/authenticity-signals.md) 的"高频被转述来源"清单）；
3. 统计**逐字命中数 / 总数**。

**这一步能在几分钟内给出全量而非抽样的结论**，且结果可复现、可追溯。发现批量命中时，再回到第一步做内容级抽样确认。

### 第二步：吞吐量作为扩样触发器

计算**篇数 / 月**。这不是判据，是**触发器**：

| 月产量 | 处理 |
| --- | --- |
| ≤ 15 篇/月 | 正常，无需额外处理 |
| 15—40 篇/月 | 记录，抽样时注意内容长度与实践密度 |
| **> 40 篇/月**，或**单月 > 80 篇** | **强制扩大样本**，并在报告中说明该月的内容构成 |

**必须排除的正当解释**：
- 教材/课程的**章节连载**（一次学习按小节拆成多篇），这是极常见且正当的记录方式；
- 集中整理旧笔记后批量发布；
- 短篇速记形态的博客。

**但"是连载"不等于"是原创"**——连载的是谁的内容，仍需第一步半的标题比对来判断。**不要用"这是章节连载"直接解释掉高吞吐量而跳过核验。**

### 第二步：原创性核验

读 [references/authenticity-signals.md](references/authenticity-signals.md)，按三类分别判断：

**A. 搬运/抄袭 —— 首选方法：整段正文逐字检索**

> **对每一篇抽样文章，取中部一个 100—300 字的解释性段落，加引号精确检索。**
>
> **不要去挑"特征句"。** 一段连续文字即使每句单独看都很通用，组合起来仍是唯一指纹；而"这句够不够独特"的判断恰恰是整套流程最容易失败的一环——技术讲解段落逐句看都像通用表述，核验者会因此跳过，整段搬运的内容就被漏掉了。
>
> 选段要点：避开导语和结尾（句式化程度高）、避开纯代码块、包含代码的段落取文字说明部分。搜索引擎对超长串支持不佳时，取前 2—3 句。

命中后**必须追溯到最早/权威出处**，不要停在任意一个结果上——内容农场会大量回声。详见 [references/authenticity-signals.md](references/authenticity-signals.md) S1。

命中高度雷同的更早发布内容时：
- 检查是否标注了转载来源、原文链接、参考资料；
- 检查发布时间先后；
- 检查是否为同一作者在多平台的同步发布（这完全正当）。

**必须排除**：翻译官方文档、转载并标注来源、同人多平台分发、引用并注明出处、通用代码示例的雷同。

**只有在"内容高度雷同 + 发布时间更晚 + 无任何来源标注 + 排除同人多平台"四项同时成立时**，才可标为 `部分属实`。这是本 skill 中唯一可能接近该强度的场景。

**B. AI 批量生成**
识别信号见 reference 文件。核心特征是**结构完美但信息空洞**：小标题工整、每段长度均匀、大量"首先/其次/此外/总而言之"、通篇是概念复述而无具体环境（版本号、报错信息、具体数值、实际配置）。

**极重要的免责**：
- **用 AI 辅助写作完全正当**，现在是标准实践；
- AI 检测在原理上就不可靠，**绝不能给出"这是 AI 写的"这种结论**；
- 正确的表述是"该文以概念复述为主，未见具体工程实践细节"——这是对**内容**的判断，不是对**写作工具**的指控。

**C. 东拼西凑**
同一篇文章中风格、深度、术语习惯明显断层，像是多个来源的片段拼接。同样只能是弱信号。

### 第三步：技术深度评估

这是比原创性更有价值的一层。真实实践留下的痕迹是难以伪造的：

**有实践痕迹的标志（加分，务必记录）**：
- 具体的版本号、环境、配置参数；
- 完整的报错信息与排查过程（尤其是走了弯路的部分）；
- "我一开始以为是 X，结果发现是 Y"这类真实的认知修正；
- 对官方文档没写清楚的地方的补充；
- 明确的适用边界和"这个方法在 XX 情况下不行"；
- 有数据的对比实验；
- 文章下方与读者的实质技术讨论。

**只有概念复述的标志**：
- 内容与官方文档/维基百科的信息量基本一致，没有增量；
- 代码示例都是 hello world 级别，且明显未运行过（有明显错误）；
- 提到问题从不提解决过程中的失败。

**注意**：入门教程、学习笔记类文章本来就以概念梳理为主，**这不是缺点**。评估时要区分文章的体裁意图。

### 第四步：与简历交叉印证

这是本 skill 对整体核验的独特贡献：

- 文章中提到的项目、技术栈、工作场景，是否与简历经历吻合？
- 文章发布时间与简历声称的经历时间是否对得上？（如简历写 2023 年做 A 项目，博客里 2023 年的文章全在讲完全无关的方向，值得追问——但也可能只是没写）
- 简历声称精通的技术，博客中的相关文章是否体现出对应深度？
- 反向发现：博客里体现出的某项能力，简历上完全没写——这是**加分发现**，应告诉面试官这是可挖掘的点。

## 输出

```markdown
### 技术输出核验

**核验对象**：[博客地址] | **抽样**：N 篇（列出标题与链接）

**原创性**：
- 整段检索结果：[逐篇说明：所取段落、命中源、源发布时间、追溯到的最早出处]
- **命中率**：抽样 N 篇，M 篇整段命中，命中率 X%（**必须给数字，不写"部分文章存在……"**）
- 标题级全量筛查：全量 T 篇，与已知来源逐字命中 K 篇，命中率 Y%
- 结论：[档位] | 已排除：[转载标注 / 多平台同步 / 翻译 / 引用]

**技术深度**：
- 实践痕迹：[有/部分/以概念复述为主] —— [具体例证]
- 体裁说明：[该文属于教程/笔记/实践复盘，评估已考虑体裁]

**与简历的交叉印证**：
- 吻合项：...
- 存疑项：...
- 加分发现：[博客体现但简历未写的能力]

**结论**：[档位]
**其他可能的解释**：[必填]
```

## 误判警示

| 观察 | 不能推出的结论 |
| --- | --- |
| 文章写得浅 | 不能推出能力差——可能是面向初学者的写作 |
| 更新频率低 / 已停更 | 完全正常，不是信号 |
| 与其他文章相似 | 讲同一技术必然相似，不等于抄袭 |
| 行文像 AI | **不能给出任何"AI 生成"的结论**，AI 检测不可靠且 AI 辅助写作正当 |
| 转载了他人内容 | 标注来源的转载是正当行为 |
| 博客里有非技术内容 | 与核验无关，跳过即可 |
| 没有博客 | 绝大多数工程师都没有，不是任何信号 |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [shaokeyibb](https://github.com/shaokeyibb)
- **Source:** [shaokeyibb/anti-asu-skills](https://github.com/shaokeyibb/anti-asu-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-shaokeyibb-anti-asu-skills-blog-check
- Seller: https://agentstack.voostack.com/s/shaokeyibb
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
