agentsclimarketplace

Fuck claude check

Skill evanlong-me/skills/fuck-claude-check

A collection of reusable agent skills for AI coding agents

Install
npx -y skills add evanlong-me/skills --skill fuck-claude-check

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Detect whether a user appears to be a "Claude China user" via IP geo + request headers. Use whenever the user asks about Claude China restrictions, wants to check if they're flagged, suspects regional blocking, or wants to audit their own fingerprint. Also use when troubleshooting Claude region-lock issues, discussing Anthropic/Monica China policy, or testing VPN/proxy effectiveness against region detection.

SKILL.md

6.7 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

Fuck Claude Check

Check whether you appear to be a "Claude China user" using the fuck-claude.vercel.app API.

The API evaluates multiple server-side signals (timezone, browser language, emoji rendering, etc.) to produce a risk score from 0–100.

Output style

Language

Always respond in the language matching the user's system locale. Read $LANG from the environment: if it starts with zh, reply in Chinese; if en, English; if ja, Japanese; and so on. If the user explicitly passed a different Accept-Language value, follow that instead. This is non-negotiable — the user's terminal speaks their language, and so should you.

Tone

When presenting results to the user, match the irreverent tone of the service. Dry sarcasm, playful fatalism, and a healthy dose of cynicism about region-locking are welcome. Keep it brief — one good punchline lands harder than five. The tone should land in the detected language too — Chinese sarcasm for Chinese users, English snark for English users, etc.

What to show

Always break down every signal for the user in a scannable format, e.g. a table:

  • Signal name — what was checked
  • Result — the detected value (timezone name, language code, etc.)
  • Weight — maximum possible score for this signal
  • Score — how many points this signal contributed
  • Verdict — a short judgment: ✅ safe / ⚠️ flagged / ❌ high risk / ⸺ not measurable

Present two tables: first the server-side signals (from the API), then the locally-measured browser-only signals (fonts + Intl locale). Follow with a combined estimate out of 100, the risk band, and one dark-humor summary line. The user deserves the full picture — don't leave the 30-point browser gap as a mystery when the command line can fill it.

Usage

Basic check (follows system language automatically)

curl -s -H "Accept-Language: ${LANG%_*}" https://fuck-claude.vercel.app/api/check

${LANG%_*} strips the locale suffix from $LANGzh_CN.UTF-8 becomes zh, en_US.UTF-8 becomes en, etc. No subprocess, no awk, no shell escaping gotchas.

Override language explicitly

curl -s -H "Accept-Language: zh" https://fuck-claude.vercel.app/api/check

JSON output (for programmatic use)

curl -s "https://fuck-claude.vercel.app/api/check?format=json"

Complete check (fill browser-only gaps locally)

The API's server-side scan covers 70/100 points. The remaining 30 — Chinese fonts (20 pts) and Intl locale (10 pts) — require a browser. But you can approximate them from the command line:

1. Chinese fonts (20 pts)

# Check for CJK fonts — any hit means potential flags
fc-list :lang=zh 2>/dev/null | head -10

# Targeted check for common Chinese font families
for font in PingFang "Hiragino Sans GB" STHeiti STSong "Songti SC" \
  "Heiti SC" "Noto Sans CJK" "Noto Serif CJK" SimSun SimHei \
  "Microsoft YaHei" FangSong KaiTi WenQuanYi; do
  fc-list :family 2>/dev/null | grep -qi "$font" && echo "FOUND: $font"
done

Interpretation: one or more Chinese font families installed → likely the full 20 pts. No Chinese fonts → 0 pts. On macOS without fc-list, fall back to system_profiler SPFontsDataType.

2. Intl locale (10 pts)

echo "LANG=$LANG"
locale | grep -E '^(LANG|LC_ALL|LC_CTYPE)='

Interpretation: if LANG or LC_ALL starts with zh (e.g. zh_CN.UTF-8), the browser's Intl.DateTimeFormat().resolvedOptions().locale will almost certainly report zh-CN → the full 10 pts. Otherwise → 0 pts.

3. Combine into a full 100-point estimate

Add the API's server-side score (out of 70) to your local font + Intl estimates (out of 30) for a full-picture risk score. Present both the API result and the combined estimate side by side.

Understanding the response

Text report

┌─────────────────────────────────────────────────────┐
│  Fuck Claude          Claude "China user" check     │
│  Score  4/100   ● LOW RISK                          │
│  🐶You are not a "Claude China user"🐶              │
│                                                     │
│  Signals visible server-side:                       │
│    ● +3   Emoji rendering style · Unknown style     │
│    ·   0   System timezone     · America/Los_Angeles │
│    ·   0   Browser language    · unknown             │
│    ·   0   Timezone offset     · UTC-7              │
│                                                     │
│  Coverage 70/100 · Geo US · America/Los_Angeles     │
└─────────────────────────────────────────────────────┘

JSON output fields

FieldTypeDescription
scoreintegerRisk score 0–100
bandstring"low", "medium", "high"
verdictstringShort verdict text
messagestringFull verdict with emoji
geo.countrystringEstimated country code
geo.timezonestringEstimated timezone
signals[]arrayIndividual signal breakdowns
coverage.measuredWeightintegerServer-side measurable weight
coverage.totalWeightintegerTotal possible weight

Risk bands

ScoreBandLanguage
0–33lowEN: "Low risk" / ZH: "低风险"
34–66mediumEN: "Medium risk" / ZH: "中等风险"
67–100highEN: "High risk" / ZH: "高风险"

Signals breakdown

The API measures these signals server-side (70/100 weight):

SignalWeightDescription
System timezone30e.g. America/Los_Angeles, Asia/Shanghai
Browser language24From Accept-Language header
Emoji rendering style8Apple, Google, or Unknown
Timezone offset8e.g. UTC+8, UTC-7

The remaining 30 points can only be measured in-browser (Chinese fonts + Intl locale).

Installation via skills.sh

npx skills add evanlong-me/skills

Then use any of the trigger phrases or invoke with:

/skill fuck-claude-check check my region status

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.