PuPu: Skill for Claude Code

.claude/skills/ai-investigation/SKILL.md

ai-investigation is a skill for Claude Code, Codex from haoxiang-xu/PuPu. It costs 122 tokens per session (1,330 once invoked), scanned A, original, Apache-2.0.

A method for investigating unfamiliar open-source AI, agent, or language-model projects, or tracing how a local workflow behaves. It separates verified facts, hypotheses, and unknowns using evidence from the code and commands.

In plain words
What is it for?
Auditing repositories, tracing execution flows, checking documentation claims, and producing evidence-based investigation reports.
Why use it?
It reduces guesswork by requiring first-hand evidence and actively looking for evidence that could disprove each assumption.

Skill for Claude CodeCodex

Written for Claude Code and Codex: installed under .claude/, but also runs codex exec. Also seen: mentions Codex.

This is haoxiang-xu/PuPu's own configuration. It tells Claude Code and Codex how to work on PuPu itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything PuPu configures →

Reuse

Borrowing it

Nothing to install: this file belongs to haoxiang-xu/PuPu. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/haoxiang-xu/PuPu/main/.claude/skills/ai-investigation/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/haoxiang-xu/PuPu

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ai-investigation

README.md
[![agentmods](https://agentmods.dev/badge/skills/haoxiang-xu/pupu/ai-investigation/github.svg)](https://agentmods.dev/skills/haoxiang-xu/pupu/ai-investigation)
Your own site
<a href="https://agentmods.dev/skills/haoxiang-xu/pupu/ai-investigation"><img src="https://agentmods.dev/badge/skills/haoxiang-xu/pupu/ai-investigation/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ai-investigation

Your own site · 80×15
<a href="https://agentmods.dev/skills/haoxiang-xu/pupu/ai-investigation"><img src="https://agentmods.dev/badge/skills/haoxiang-xu/pupu/ai-investigation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 122 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,330 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 2 findings, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Excessive Agency · line 26
    Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
    Fix: Remove the model/provider override or disclose it prominently and require explicit operator approval before invoking an external coding CLI or billed model.
  • high Excessive Agency · line 29
    Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
    Fix: Remove the model/provider override or disclose it prominently and require explicit operator approval before invoking an external coding CLI or billed model.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00122 $0.01330
Opus 5 $0.00061 $0.00665
Sonnet 5 $0.00024 $0.00266
Haiku 4.5 $0.00012 $0.00133

Measured 12d ago against content hash 4a5155d85743, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

ai-investigation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/ai-investigation/SKILL.md · 69 lines

How it starts

The opening of the file, as written. The whole thing — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.

证据驱动调查

调查的产出不是"我认为",是 经得起证伪的事实。方法先于题目:零信念起步 → 先取一手证据 → 主动证伪每个假设 → 只有活下来的才叫结论。

Codex 是调查者,不是你。你的活是 划范围、发charter、验纪律、转达。你自己不去调查目标,也不用自己的先验覆盖 Codex 的发现。

流程

1. 划定 charter —— 一个可回答的问题 + 范围边界 + 目标(本地路径,或 OSS repo URL)。范围模糊就先收窄,不要让 Codex 自己决定范围。

2. 备 scratch 目录(Codex 的工作目录 永远 是 scratch,绝不是任何 repo of record):

SCRATCH="${TMPDIR:-/tmp}/pupu-investigation/$(date +%s)-<slug>"; mkdir -p "$SCRATCH"

3. 发 Codex(把下面的证伪协议与报告模板整段写进 charter):

# 本地代码目标:只读指向真实 repo,什么都不碰
codex exec -p researcher -s read-only -C <target-repo-path> "<完整 charter>"

# 外部 OSS 目标:让 Codex 自己 clone 进 scratch
codex exec -p researcher -C "$SCRATCH" "Clone <repo-url> into this directory, then investigate. <完整 charter>"

4. 验纪律再转达。 一行自检:有没有一手证据出处?有没有真的去证伪(不是只断言)?三个桶是不是都填了?缺了就 带着这个缺口重跑一次,再转达。

Codex 输出"断言无证据",那是你必须打回的失败,不是可以转达的结果。

写进 charter 的证伪协议(顺序不能变)

  1. 零信念起步。 不带先验,不假设"常见做法"。不把目标自己的 docs/README/注释当真相——它们是待验证的主张。不依赖对某个知名 OSS 的训练印象,当作第一次见。
  2. 证据先行。 读真实代码、跑只读命令、追执行流。形成任何假设之前先积累一手观察。每条观察带出处:file:line,或"命令 + 输出"。
  3. 假设只能从证据里长出来。 逐条显式登记。
  4. 主动证伪。 对每个假设去找 反证——那个会推翻它的情形——而不是去找确认。确认偏误是敌人。
  5. 活下来才算事实。 经受住诚实证伪 = FACT;被反证击破 = REFUTED;决定性证据取不到 = UNDETERMINED绝不因为"看起来合理"就升级为事实
  6. 三个桶,永不混淆:FACT(已证伪存活)/ HYPOTHESIS(已形成未验)/ UNKNOWN(证据不可得)。

报告模板(Codex 输出,你转达)

  1. Charter —— 原问题与范围边界,逐字
  2. 证据日志 —— 一手观察,每条带出处(file:line / 命令 + 输出)
  3. 假设登记表 —— 每条:假设、做过的证伪尝试、判定(FACT / REFUTED / UNDETERMINED)
  4. 结论 —— 只列存活者,各带置信度与回指的证据
  5. 未决问题 —— 定不下来的部分,以及 缺的到底是哪条证据
  6. 刻意没做的假设 —— 那些诱人但被拒绝的先验,让读者看见纪律是否守住了

舰队并行

大问题拆成 N 个 互不依赖 的子 charter(按模块 / 文件 / 子问题 / 项目),一个 slice 一次调查,一条消息里并发发出。每份报告 自足,不依赖兄弟的发现;跨报告对账与矛盾标记发生在合成步骤,由派发者做,不由调查者做。

质量线

  • 无一手证据与出处的主张不成立。"文档说 X" 不是 "X 为真" 的证据
  • 绝不把 HYPOTHESIS 或 UNKNOWN 当结论呈上。合理 ≠ 已证
  • 守住 charter 范围;发现范围划错了,明说,不要悄悄扩大
  • 工具不可用(如无网络无法 clone)→ 报为 UNKNOWN 的限制,不猜
  • 调查不决定任何事。它供给证据,取舍归 project owner

透明度

报告须附:规划/审阅模型 · Codex profile · 工作目录 · 命令形状(凭据 redacted)· 结果。命令要可审计,密钥绝不能出现。

Read the full file on GitHub · 69 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 69 lines · 122 tokens per session scan A 4a5155d85743

Subscribe to this mod's changes

ai-investigation is a skill published in the GitHub repository haoxiang-xu/PuPu (36 stars, last pushed today), licensed Apache-2.0. It adds 122 tokens to every session and 1,330 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

skill-creator

Create new Comis skills, modify and improve existing skills, and validate them against the platform's manifest schema. Use this skill whenever the user wants to create a skill from scratch, turn a workflow into a reusable skill, update or fix an existing skill, understand the skill format, or asks about how skills…

comisai/comis · 82 tokens

deep-research

MANDATORY: Conduct systematic, multi-angle web research before answering any request to understand or explain a topic properly, deeply, thoroughly, comprehensively, or beyond a short paragraph, even when general knowledge could produce an answer. Also use for comparisons, explicit research, current online information…

comisai/comis · 117 tokens

log-troubleshooting

Investigate and troubleshoot daemon logs at /.comis/logs/. Covers NDJSON log format, Pino level codes, field dictionary, and staged analysis strategies for efficient troubleshooting of large log files. Use this skill whenever the user asks about logs, errors, warnings, daemon issues, slow operations, debugging daemon…

comisai/comis · 89 tokens

autonomy

Use when a task is more than a single step — a read/research fan-out, spawning sub-agents, running a DAG, scheduling your own work, or messaging your channel. Teaches when to route work through orchestrate(script), how to fan out with capability attenuation, how to read a denial, and the bounded contract you operate…

comisai/comis · 76 tokens

find-skills

MANDATORY: For requests asking whether a skill or specialized capability exists, load this skill and run its catalog workflow before answering. This includes elliptical follow-ups such as 'find something that does' when the preceding turn names the task. Do not answer from general capabilities, search workspace…

comisai/comis · 67 tokens

image-generation

Generate images using structured prompts and optional reference images. Supports character design, scenes, product visualization, and any visual content creation. Use this skill when the user requests to generate, create, imagine, draw, or visualize images, characters, portraits, scenes, products, or any visual…

comisai/comis · 72 tokens