Skip to main content
ClaudeWave

A free, privacy-first tool that flags the tells of AI-generated writing, overused vocabulary, rhetorical crutches, robotic sentence rhythm and, for every finding, tells you how to fix it.

SkillsOfficial Registry11 stars0 forksC#MITUpdated today
Install as a Claude Code skill
Method: Clone
Terminal
git clone https://github.com/peopleworks/SignsofAI ~/.claude/skills/signsofai
1. Clone the repository into your ~/.claude/skills directory (or copy the skill folder containing SKILL.md).
2. Start a new Claude Code session so the skill registry reloads.
3. Invoke it by name, or let Claude trigger it automatically when the task matches.
💡 If the repo bundles several skills, copy only the folders you need.
Use cases

Skills overview

# ✍︎ Signs of AI Writing

[![Live demo](https://img.shields.io/badge/demo-live-brightgreen?logo=googlechrome&logoColor=white)](https://peopleworks.github.io/SignsofAI/)
[![License: MIT](https://img.shields.io/github/license/peopleworks/SignsofAI?color=blue)](LICENSE)
[![.NET 10](https://img.shields.io/badge/.NET-10-512BD4?logo=dotnet&logoColor=white)](https://dotnet.microsoft.com/)
[![Blazor WebAssembly](https://img.shields.io/badge/Blazor-WASM-512BD4?logo=blazor&logoColor=white)](https://learn.microsoft.com/aspnet/core/blazor/)
[![GitHub stars](https://img.shields.io/github/stars/peopleworks/SignsofAI?style=social)](https://github.com/peopleworks/SignsofAI/stargazers)

[![NuGet Core](https://img.shields.io/nuget/v/SignsOfAI.Core?logo=nuget&label=Core)](https://www.nuget.org/packages/SignsOfAI.Core)
[![NuGet CLI](https://img.shields.io/nuget/v/SignsOfAI.Cli?logo=nuget&label=CLI)](https://www.nuget.org/packages/SignsOfAI.Cli)
[![NuGet MCP](https://img.shields.io/nuget/v/SignsOfAI.Mcp?logo=nuget&label=MCP%20server)](https://www.nuget.org/packages/SignsOfAI.Mcp)

**[Try the live demo →](https://peopleworks.github.io/SignsofAI/)** — English & Spanish, runs 100% in your browser. No signup, and nothing leaves your device.

![Signs of AI Writing analyzing text live: the score climbs as AI tells accumulate, then every tell is highlighted with a fix](Docs/screenshots/analyze-live.gif)

<sub>Real recording of the live demo — the score updates as you type, and every highlight comes with a suggested fix.</sub>

A free, privacy-first toolkit for **academic and writing integrity**. It does two things:

1. **De-AI-ify linter** — flags the tells of AI-generated writing (overused vocabulary, rhetorical
   crutches, robotic sentence rhythm) and, for **every** finding, tells you *how to fix it*.
2. **Originality checker** — *"did they write it, or copy it?"* Compares documents against each other
   and surfaces the passages they share — verbatim copies, **reworded paraphrases** (even across
   languages), and a whole-cohort overview — as **evidence a human judges**. Not a black-box verdict.

> 🔒 **Almost everything runs 100% in your browser. Your documents never leave your device.**
> The only exception is the optional paraphrase check, which is strictly opt-in and clearly disclosed.

Built with **.NET 10** and **Blazor WebAssembly** by **Pedro Hernández (PeopleWorks)**, Microsoft MVP
for .NET — for the .NET and Microsoft developer community, *por y para la comunidad educativa*.

Repo: https://github.com/peopleworks/SignsofAI

Both **English** and **Spanish** are supported throughout (auto-detected or selectable). The Spanish
rule-pack is an original derivation of AI-writing markers for Spanish.

---

## 1. The AI-writing linter ("Analyze")

Unlike black-box detectors that only spit out a score, this is an **explainable, actionable, educational**
linter. Paste, upload (`.docx` / `.txt` / `.md`), or **just start typing** — the 0–100 score, highlights,
statistics, and per-finding fixes update **as you write**.

| Category       | Examples |
|----------------|----------|
| **Lexical**     | *delve, tapestry, multifaceted, nuanced, pivotal, underscore, showcase, testament…* (weighted by post-ChatGPT excess frequency) |
| **Rhetorical**  | Negative parallelisms (*"it's not just X, it's Y"*), cliché openers (*"in today's digital age"*), hedging (*"it's worth noting that"*), false ranges, rule-of-three |
| **Syntactic**   | Copula avoidance (*"serves as a…"*, *"a testament to…"*), inflated constructions (*"plays a crucial role"*) |
| **Statistical** | **Burstiness** — sentence-length uniformity. Machine text hovers at 0.0–0.2; human prose 0.6–0.8 |

- **Sentence-rhythm visualization** — a per-sentence bar chart that makes *burstiness* visible.
- **Per-finding recommendations** — every flagged tell carries a concrete fix and the research behind it.
- **Humanize (optional, BYOK)** — connect an AI provider and rewrite the flagged text in one click.
  Anthropic (`claude-opus-4-8`, works from the browser), OpenAI / DeepSeek, Azure OpenAI, or **Ollama**
  (local, no key). Credentials live only in your browser and are sent **directly** to the provider.
- **Before/after diff** and a **shareable result card** (a PNG summary that never includes your text).
- **Custom catalogs (BYO rules)** — paste banned words or import a rule-pack JSON; merges live.
- **Catalog page** — a searchable library of every AI-writing sign, in both languages, ranked with an
  in-browser BM25 index.

![The annotated text with every AI tell highlighted, beside the recommendation list explaining and fixing each one](Docs/screenshots/evidence.png)

<sub>This is the difference: not "87% AI", but *which* words, *why* they were flagged, and *what to write instead*.</sub>

## 2. The Originality checker ("Originality")

*"¿Lo escribió la IA, lo copiaste, o lo parafraseaste para esconderlo?"* Drop in two or more documents —
a thesis and its sources, a batch of student submissions — and see exactly what they share. The guiding
principle is honest: **we surface the evidence and highlight it; a human judges. We never accuse.** This is
**not** a whole-internet index like Turnitin.

| Phase | What it catches | How | Where it runs |
|-------|-----------------|-----|---------------|
| **A — Literal copy** | verbatim shared passages, resistant to changed capitalization/accents | accent/case-folded word *k*-shingles + greedy longest-match tiling, verified token-by-token | 🔒 **in your browser** |
| **B — Paraphrase** | *reworded* copies — same idea, different words — **even across languages** | sentence embeddings (Google **EmbeddingGemma-300M**, ONNX) + cosine similarity | 🌐 optional server (**opt-in**) |
| **C — Cohort** | who copied whom across a whole class, at a glance | batch upload + an N×N **overlap heatmap**; click a cell to inspect the pair | 🔒 **in your browser** |
| **D — Web spot-check** | whether a passage already exists online | extracts a document's most **distinctive passages** and hands you one-click exact-phrase searches (Google/Bing/DuckDuckGo) | 🔒 **in your browser** |

- **Shared-passage evidence** — matches are highlighted in both documents, side by side; the headline
  overlap number equals exactly what you see highlighted (the evidence *is* the score).
- **Phase B is the one feature that leaves the device.** It's opt-in, disclosed in the UI, and sends only
  the sentences you choose to check to the PeopleWorks server. Everything else stays on your machine.
- **Phase D** is deliberately honest: we can't index the whole web, so instead of pretending to, we surface
  the passages worth checking and prepare the searches — nothing is sent anywhere until *you* click one.
  An **optional automatic web search** can be enabled by the server operator (see *Optional server* below).

![Cohort overlap matrix showing which documents share text, with the most similar pairs ranked below](Docs/screenshots/originality.png)

<sub>A whole class at a glance: every document against every other, then the shared passages themselves — evidence, not an accusation.</sub>

## 3. The predictability meter (optional server)

An honest reframing of perplexity. A small language model (Qwen2.5-0.5B or Microsoft Phi-4-mini, int8 ONNX)
measures how *predictable / generic* a text's phrasing is. **This is not an AI-vs-human verdict** — on a
labelled corpus the two overlap badly (memorized human text scores *predictable* too). We surface
predictability honestly as one signal among many, calibrated per language. Opt-in; runs on the PeopleWorks
server. The model lazily loads and idle-unloads to keep the server light.

## 4. Use it from other apps — MCP server

Everything above is also available to **Claude Desktop and any [MCP](https://modelcontextprotocol.io)
client** through `SignsOfAI.Mcp`, a Model Context Protocol server (built on the official
[`ModelContextProtocol`](https://www.nuget.org/packages/ModelContextProtocol) SDK, stdio transport). Because
the engine lives in `SignsOfAI.Core` — pure .NET, no browser — the server just exposes it as tools:

| Tool | What it does | Where it runs |
|------|--------------|---------------|
| `analyze_ai_writing` | score + verdict + findings (with fixes) + statistics | 🔒 on-device |
| `check_originality` | overlap % and shared passages across 2+ documents | 🔒 on-device |
| `search_catalog` | search the catalog of AI-writing signs (EN/ES) | 🔒 on-device |
| `extract_distinctive_phrases` | distinctive phrases + ready-made web-search links | 🔒 on-device |
| `measure_predictability` | perplexity via the optional server | 🌐 server (**opt-in**) |
| `check_paraphrase` | reworded/translated matches via EmbeddingGemma | 🌐 server (**opt-in**) |

The first four run entirely on the machine; the last two disclose that they send text to the server
(endpoint via the `SIGNSOFAI_API_ENDPOINT` environment variable).

It ships on NuGet as [`SignsOfAI.Mcp`](https://www.nuget.org/packages/SignsOfAI.Mcp), so nothing needs
building. Point Claude Desktop at it:

```jsonc
// %APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "signs-of-ai": {
  "command": "dnx",
  "args": ["SignsOfAI.Mcp", "--yes"]
}}}
```

Or install it as a global tool once — `dotnet tool install --global SignsOfAI.Mcp` — and use
`"command": "signsofai-mcp"`. See `src/SignsOfAI.Mcp/README.md` for details.

**VS Code**: the package ships an MCP manifest, so its
[NuGet page](https://www.nuget.org/packages/SignsOfAI.Mcp) has an **MCP Server** tab with the config
already generated — copy it into `.vscode/mcp.json` and you're done.

## 5. Use it as an agent skill — `/signs-of-ai`

Prefer to work inside your editor? `skill/signs-of-ai` is a drop-in **Claude Code / Codex / agent skill**
that de-slops a draft — or judges whether text reads as AI-written — in **English and Spanish**. It's a
human-readable distillation of the same `rules.en.json` / `rules.es.json` taxonomy, so it edits by the
same rules
academic-integrityai-detectionai-writingblazorblazor-webassemblyclaude-skillcsharpdotnetmcpnlpplagiarism-checkerspanishwriting-assistant

What people ask about SignsofAI

What is peopleworks/SignsofAI?

+

peopleworks/SignsofAI is skills for the Claude AI ecosystem. A free, privacy-first tool that flags the tells of AI-generated writing, overused vocabulary, rhetorical crutches, robotic sentence rhythm and, for every finding, tells you how to fix it. It has 11 GitHub stars and was last updated today.

How do I install SignsofAI?

+

You can install SignsofAI by cloning the repository (https://github.com/peopleworks/SignsofAI) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is peopleworks/SignsofAI safe to use?

+

peopleworks/SignsofAI has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.

Who maintains peopleworks/SignsofAI?

+

peopleworks/SignsofAI is maintained by peopleworks. The last recorded GitHub activity is from today, with 0 open issues.

Are there alternatives to SignsofAI?

+

Yes. On ClaudeWave you can browse similar skills at /categories/skills, sorted by popularity or recent activity.

Deploy SignsofAI to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: peopleworks/SignsofAI
[![Featured on ClaudeWave](https://claudewave.com/api/badge/peopleworks-signsofai)](https://claudewave.com/repo/peopleworks-signsofai)
<a href="https://claudewave.com/repo/peopleworks-signsofai"><img src="https://claudewave.com/api/badge/peopleworks-signsofai" alt="Featured on ClaudeWave: peopleworks/SignsofAI" width="320" height="64" /></a>

More Skills

SignsofAI alternatives
farion1231
cc-switch
today

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

121k8.1kRust
Skillsai-toolsclaude-codeInstall
Egonex-AI
Understand-Anything
3d ago

Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.

76k6.3kTypeScript
Skillsantigravity-skillsbusiness-knowledgeInstall
code-yeongyu
oh-my-openagent
today

omo/lazycodex: The coding agent for tokenmaxxers;the one and only agent harness for complex codebases. For your Codex, for your OpenCode

66.5k5.4kTypeScript
Skillsaiai-agentsInstall
K-Dense-AI
scientific-agent-skills
today

Turn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 160,000+ scientists worldwide. 148 ready-to-use skills plus 100+ scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.

31.7k3.2kPython
Skillsagent-skillsai-scientistInstall
nanocoai
nanoclaw
today

A lightweight alternative to OpenClaw that runs in containers for security. Connects to WhatsApp, Telegram, Slack, Discord, Gmail and other messaging apps,, has memory, scheduled jobs, and runs directly on Anthropic's Agents SDK

30.4k12.9kTypeScript
Skillsai-agentsai-assistantInstall
VoltAgent
awesome-agent-skills
14d ago

A curated collection of 1000+ agent skills from official dev teams and the community, compatible with Claude Code, Codex, Gemini CLI, Cursor, and more.

28.9k3.1k
Skillsagent-skillsai-agentsInstall