← ClaudeAtlas

did-ai-write-thislisted

Run Pangram's v3 AI-detection on a chunk of text and return a structured verdict (label + three fractions summing to 1.0). Use whenever the user asks "is this AI?", "did a human write this?", "did ChatGPT write this?", "is this AI-generated?", "check if AI", "verify this source", or any variant question about text authorship. **Does not auto-run on WebFetch by default** — every call costs a Pangram credit, so proactive use is opt-in. To enable proactive checks during research, the user can add an instruction to their CLAUDE.md (e.g. "When I'm in a research flow, run did-ai-write-this on every WebFetch'd page before citing"). Output is compact JSON (label, three fractions, char count) when stdout is piped, a one-line summary on a TTY; a fraction_ai >= 0.5 verdict means do not cite as human-authored. Pangram needs at least 50 words for reliable detection (the CLI rejects shorter input with exit 6).
AsteroidHunter/did-ai-write-this · ★ 1 · AI & Automation · score 75
Install: claude install-skill AsteroidHunter/did-ai-write-this
## When to use - **Direct user request** — the user pastes text and asks whether it was AI-written, or any phrasing of that question ("is this AI?", "did ChatGPT write this?", "human or AI?", etc.). This is the only auto-trigger case. - **Proactive post-WebFetch check (opt-in only)** — skipped by default because every call costs the user a Pangram credit. If the user has added an instruction to their `CLAUDE.md` along the lines of *"when researching, run did-ai-write-this on WebFetch'd pages before citing"*, honor that. Otherwise wait for an explicit ask — do not call this skill on every WebFetch. - Not for stylistic AI-detection guesses based on writing patterns — those are unreliable and this skill exists precisely to replace them with a calibrated, vendor-backed signal. ## How to invoke The CLI sits next to this `SKILL.md` and runs inside a self-contained venv populated by `install.py`. Always invoke through `${CLAUDE_SKILL_DIR}` so the path works regardless of where the skill is installed. **Positional argument** (short snippet, one shot): ```bash ${CLAUDE_SKILL_DIR}/.venv/bin/python ${CLAUDE_SKILL_DIR}/cli.py "the text to check" ``` **From a file** (longer documents): ```bash ${CLAUDE_SKILL_DIR}/.venv/bin/python ${CLAUDE_SKILL_DIR}/cli.py --file /path/to/document.txt ``` **From stdin** (piping output of another command, common for `WebFetch` content saved to a temp file or var): ```bash cat /tmp/fetched.txt | ${CLAUDE_SKILL_DIR}/.venv/bin/python ${CLAUDE_SKILL_D