Signals Scout Anomaly Detection
PostHog/posthog
Signals scout that watches the project's most-viewed dashboards and insights for anomalies — bursts, drops, flat-lines, and trend breaks — against each insight's own seasonality-matched baseline.
Add, adjust or remove "China user" detection signals in the FuckClaude project (browser scan + /api/check).
$ npx skills add LinXiaoTao/FuckClaude --skill detection-signals -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LinXiaoTao/FuckClaude detection-signals --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LinXiaoTao/FuckClaude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/detection-signals .claude/skills/detection-signals && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "detection-signals" agent skill from https://github.com/LinXiaoTao/FuckClaude/tree/master/skills/detection-signals into .claude/skills/detection-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "detection-signals", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LinXiaoTao/FuckClaude/tree/master/skills/detection-signalsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LinXiaoTao/FuckClaude --skill detection-signals -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LinXiaoTao/FuckClaude detection-signals --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LinXiaoTao/FuckClaude.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/detection-signals .agents/skills/detection-signals && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "detection-signals" agent skill from https://github.com/LinXiaoTao/FuckClaude/tree/master/skills/detection-signals into .agents/skills/detection-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "detection-signals", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LinXiaoTao/FuckClaude --skill detection-signals -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LinXiaoTao/FuckClaude detection-signals --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LinXiaoTao/FuckClaude.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/detection-signals .cursor/skills/detection-signals && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "detection-signals" agent skill from https://github.com/LinXiaoTao/FuckClaude/tree/master/skills/detection-signals into .cursor/skills/detection-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "detection-signals", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LinXiaoTao/FuckClaude.git --path skills/detection-signals--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LinXiaoTao/FuckClaude --skill detection-signals -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LinXiaoTao/FuckClaude detection-signals --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LinXiaoTao/FuckClaude.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/detection-signals .gemini/skills/detection-signals && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "detection-signals" agent skill from https://github.com/LinXiaoTao/FuckClaude/tree/master/skills/detection-signals into .gemini/skills/detection-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "detection-signals", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LinXiaoTao/FuckClaude detection-signalsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LinXiaoTao/FuckClaude --skill detection-signals -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LinXiaoTao/FuckClaude.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/detection-signals .github/skills/detection-signals && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "detection-signals" agent skill from https://github.com/LinXiaoTao/FuckClaude/tree/master/skills/detection-signals into .github/skills/detection-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "detection-signals", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LinXiaoTao/FuckClaude --skill detection-signals -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LinXiaoTao/FuckClaude detection-signals --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LinXiaoTao/FuckClaude.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/detection-signals .opencode/skills/detection-signals && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "detection-signals" agent skill from https://github.com/LinXiaoTao/FuckClaude/tree/master/skills/detection-signals into .opencode/skills/detection-signals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "detection-signals", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
detection-signalsAdd, adjust or remove "China user" detection signals in the FuckClaude project (browser scan + /api/check).
Detection Signals is an agent skill from LinXiaoTao/FuckClaude. Add, adjust or remove "China user" detection signals in the FuckClaude project (browser scan + /api/check). Use when adding detection methods, changing signal weights or scorers, or when the user mentions 检测信号 / 检测手段 / 新增检测 / signals / weights / detectors.
Its SKILL.md is about 720 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e4aadac. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmcurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm and curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Detection Signals loads about 716 tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 151 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LinXiaoTao/FuckClaude at commit e4aadac, republished under its MIT licence (© LinXiaoTao). 151 words, ~716 tokens.
.claude/skills/detection-signals/SKILL.md (or your agent's skills folder).本项目的核心是一组「中国用户」指纹信号:浏览器端跑扫描动画逐项检测,服务端 /api/check 复用同一批纯评分函数做估算。所有检测只读浏览器 API,零上传。
export type SignalId = 'timezone' | /* … */ | 'emoji'; // 先扩展联合类型
interface SignalDef {
id: SignalId;
weight: number; // 所有信号权重之和必须恰好 = 100
claudeUsed?: boolean; // 仅当 Claude Code 真实机制读取该信号时为 true
icon: string; // 内联 SVG(24×24, stroke=currentColor, 复用 ICON 表)
detect: () => DetectOutcome | Promise<DetectOutcome>; // 支持 async(如 UA-CH 高熵值)
}
interface DetectOutcome {
raw: string; // 展示给用户的检测值,如 'Asia/Shanghai'、'none detected'
score: number; // 0..1 的「中国相似度」;≥0.25 记为命中,≥0.6 为 high
}detect() 内部禁止网络请求;异常无需自行兜底,调用方 detect.ts 已 try/catch。isFontAvailable(font, ctx)(canvas 宽度探测)。uaData() helper;高熵值(model 等)需 await getHighEntropyValues,拿不到时降级为纯 UA 正则。SignalId 联合类型加新 id。detectXxx();若服务端(仅凭请求头)也能测,把纯打分逻辑抽成
export function scoreXxx(probe: string) 供 API 复用(参照
scoreTimezone / scoreLanguages / scoreCnBrowser / scoreCnDevice)。SIGNALS 数组按权重降序插入,并重新分配权重使总和 = 100。ICON 表(线性 stroke 风格,与现有一致)。signal.<id>.name 与 signal.<id>.desc。signals.sub(N 项指纹)、how.p2(N-1 项叠加指纹列表)、faq.a2(其余 N-1 项)。analyze() 的 measured map 增加条目,复用第 1 步导出的纯评分函数。note 里的 browser-only 列表及可测权重数(当前 62/100)。featureList 追加 t('signal.<id>.name')。{ raw: 'none detected', score: 0 },不要抛错。signalVerdict — ≥0.6 high、≥0.25 medium(命中)、其余 low。pnpm build # tsc + astro 构建必须通过
pnpm dev # http://localhost:4321/zh/ 点「开始检测」,确认新信号出现、动画逐项走完、总分 ≤100。curl -s "http://localhost:4321/api/check?format=json" \
-H "User-Agent: Mozilla/5.0 (Linux; Android 12; HarmonyOS; NOH-AN00) MicroMessenger/8.0.47" \
-H "Accept-Language: zh-CN,zh;q=0.9"检查 JSON 里新信号 measured: true、coverage.measuredWeight 与注释一致。
ui.ts 是 en/zh 双份字典。/mi/ 会匹配 "Mozilla"):用 \b 边界并放到真机 UA 上验证。© LinXiaoTao, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/detection-signals of LinXiaoTao/FuckClaude.
Open the folder on GitHubat commit e4aadac
Detection Signals next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Detection Signals this skillLinXiaoTao/FuckClaude | 1k | — | ~716 | Automated safety check: Pass | MIT | |
| Signals Scout Anomaly DetectionPostHog/posthog | 40k | — | ~4.6k | Automated safety check: Pass | Custom licence | |
| Detecting Pv Signalsmaziyarpanahi/openmed | 5.5k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Trader Signalruvnet/ruflo | 74k | — | ~605 | Automated safety check: Notes | MIT | |
| SignalsPostHog/posthog | 40k | — | ~4.3k | Automated safety check: Pass | Custom licence | |
| Signal Detection Pipelinegooseworks-ai/goose-skills | 1.2k | 1 repos | ~608 | Automated safety check: Pass | MIT |
PostHog/posthog
Signals scout that watches the project's most-viewed dashboards and insights for anomalies — bursts, drops, flat-lines, and trend breaks — against each insight's own seasonality-matched baseline.
maziyarpanahi/openmed
Computes disproportionality signals — PRR, ROR, EBGM, and IC (BCPNN) — over FAERS / OpenFDA drug-event data to flag potential safety signals.
ruvnet/ruflo
Generate trading signals using npx neural-trader anomaly detection engine with Z-score scoring and neural prediction
PostHog/posthog
How to query the documentembeddings table for raw signal data using HogQL.
gooseworks-ai/goose-skills
Detect buying signals from multiple sources, qualify leads, and generate outreach context
NeuroAIHub/BrainPilot
Domain-validated decision logic, formulas, and interpretation guidelines for applying Signal Detection Theory to cognitive science data
Add, adjust or remove "China user" detection signals in the FuckClaude project (browser scan + /api/check). Detection Signals is an agent skill from LinXiaoTao/FuckClaude. Add, adjust or remove "China user" detection signals in the FuckClaude project (browser scan + /api/check).
Detection Signals fits situations like: adding detection methods; changing signal weights; the user mentions 检测信号 / 检测手段 / 新增检测 / signals / weights / detectors.
Run `npx skills add LinXiaoTao/FuckClaude --skill detection-signals -a claude-code`. Or copy the skill folder (skills/detection-signals in LinXiaoTao/FuckClaude) into .claude/skills/detection-signals in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LinXiaoTao/FuckClaude --skill detection-signals -a codex`. Or copy the skill folder (skills/detection-signals in LinXiaoTao/FuckClaude) into .agents/skills/detection-signals in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LinXiaoTao/FuckClaude --skill detection-signals -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/detection-signals, .gemini/skills/detection-signals, .github/skills/detection-signals and .opencode/skills/detection-signals in your project.
Going by SKILL.md and its folder, Detection Signals needs the command-line tools its instructions call (pnpm and curl).
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Detection Signals is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 716 tokens (SKILL.md is roughly 2.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Detection Signals: Signals Scout Anomaly Detection (PostHog/posthog, 40k stars), Detecting Pv Signals (maziyarpanahi/openmed, 5.5k stars), Trader Signal (ruvnet/ruflo, 74k stars) and Signals (PostHog/posthog, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LinXiaoTao (a GitHub user) maintains it in LinXiaoTao/FuckClaude, which has 1,030 GitHub stars. The repository was last updated on October 8, 2026.
Source: LinXiaoTao/FuckClaude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.