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.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/peopleworks/SignsofAI ~/.claude/skills/signsofaiSkills overview
# ✍︎ Signs of AI Writing
[](https://peopleworks.github.io/SignsofAI/)
[](https://github.com/peopleworks/SignsofAI/releases?q=desktop&expanded=true)
[](LICENSE)
[](https://dotnet.microsoft.com/)
[](https://learn.microsoft.com/aspnet/core/blazor/)
[](https://github.com/peopleworks/SignsofAI/stargazers)
[](https://www.nuget.org/packages/SignsOfAI.Core)
[](https://www.nuget.org/packages/SignsOfAI.Cli)
[](https://www.nuget.org/packages/SignsOfAI.Mcp)
[](https://codeguilds.dev/packages/signsofai)
**[Are you a teacher? Start here →](https://peopleworks.github.io/SignsofAI/why.html)** — what this does and what it cannot do, in plain language, with the error rate drawn rather than tabulated. No badges, no interval notation, nothing to install. English & Spanish.
**[Try the live demo →](https://peopleworks.github.io/SignsofAI/)** — English & Spanish, runs in your browser. No signup, and the analysis uploads nothing.
**[Download the Windows app →](https://github.com/peopleworks/SignsofAI/releases?q=desktop&expanded=true)** — the same tool in a window. Nothing to install alongside it: the .NET runtime is bundled.

<sub>Real recording of the live demo — the score updates as you type, and every highlight comes with a suggested fix.</sub>
**Rather watch than read?** The two-minute explainer:
[**English**](https://youtu.be/pKkMRAku7ZQ) · [**Español**](https://youtu.be/7Rp3dlX_iig)
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.
> 🔒 **The analysis runs entirely in your browser, and nothing is uploaded to run it.** No account, no
> telemetry, no server that sees your text.
>
> Four features can send text off the device, and **not one of them runs unless you turn it on**, each
> disclosed in the interface at the moment you choose it: the **paraphrase check** and the
> **perplexity measurement** (both call a server you or we host), the **live rewrite** when you supply
> your own API key — the key stays on your device, the text goes to the provider you picked — and the
> optional **web spot-check** for a distinctive phrase, which exists only if the operator configured a
> search provider.
>
> Everything else — every rule, the score, the character scan, the citation cross-check, the writer
> baseline, the report — is computed locally and stays there. In the desktop app, the perplexity
> measurement is local too.
>
> The Windows app can also **check whether a newer version has been published**, because it has no
> auto-update and never will. That is not one of the four: it sends no text, no account and no
> identifier — one request to GitHub's public release list, the same one a browser would make. It
> **asks before its first check**, at most one a day, and it never downloads or runs anything for
> you.
Built with **.NET 10** and **Blazor WebAssembly** by **Pedro Hernández (PeopleWorks)**, [Microsoft MVP for .NET](https://mvp.microsoft.com/en-US/mvp/profile/24060a02-dbc6-44ec-bca5-c213ff9835c5) — for the .NET and Microsoft developer community, *por y para la comunidad educativa*.
Repo: https://github.com/peopleworks/SignsofAI
English and Spanish are supported in two **independent** ways:
- **The interface** switches EN ⇄ ES instantly from the toolbar — no page reload, remembered per
browser, and it follows your browser's language on a first visit. Translations are plain JSON files
anyone can contribute: see [*Translating the interface*](#translating-the-interface).
- **The analysis** runs against a per-language rule-pack, auto-detected or selectable. The Spanish
rule-pack is an original derivation of AI-writing markers for Spanish.
The two are separate on purpose, so findings stay in the language of the *text being analyzed*: advice
about English prose is given in English even when the interface is in Spanish, because that's the
language the advice is about.
---
## How often is it wrong about a human?
Every AI detector gets asked this and almost none of them answer. **[`Docs/CALIBRATION.md`](Docs/CALIBRATION.md)
is the answer**, measured against 296 texts written before 2022 — open-access
research articles, pre-2022 encyclopedia revisions in both languages, and **206 classroom essays by
adult learners of English**, one per student, from a corpus collected between 2006 and 2012.
At a threshold of **30/100 it flags 2 of them**: an observed 0.7%, with a 95% interval reaching 2.4%.
The recommendation is made from the uncertain end of the interval rather than the flattering one, so
it stays cautious while the corpus is small, and it follows the data in whichever direction they
move as the corpus grows.
The learners are the group this whole category is accused of harming — studies report that other
detectors flag 61% of their essays — and they are the reason the boundary sits at 30 rather than the 25 it sat at before they
joined: at 25 the tool flagged 9 of their 206 essays, 4.4%, and none of the 90 published texts. That
figure is on the page, by group, rather than averaged away. It is far below the numbers reported for
other tools, and it is not zero.
It is deliberately **not an accuracy figure**. Accuracy needs a collection of machine-written text,
which is a sample of whichever models were around that month; a false-positive rate needs only human
writing, and it measures the harm this category actually causes — studies report that detectors flag 61% of essays by
non-native English speakers, and none of them publish that about themselves.
The report also names **which rules misfire**, ranked. That list is uncomfortable and it is the most
useful thing the exercise produces.
The corpus is a JSON manifest anyone can extend, the tool that builds and measures it is in
`tools/SignsOfAI.Calibration`, and the whole thing re-runs in one command. See
[`Docs/Calibration/README.md`](Docs/Calibration/README.md) — Spanish academic writing is the most
wanted contribution.
---
## For teachers: the part that is not software
A detector is not what you need first. **[`Docs/Teaching/`](Docs/Teaching/README.md)** is syllabus
language you can paste, a one-page sheet to hand students before anything goes wrong, and a procedure
for the day a question becomes formal — all bilingual, all free of any licence, attribution or
permission.
None of it requires this tool. It exists because the hard part of AI writing in a classroom was never
detection; it is what you do on the morning you suspect something and have nobody to ask. All three
documents are built on the same rule: **a score is never the reason for a decision about a student**,
and a conversation about the work settles what no software can.
---
## 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.
- **Live rewrite (on-device, no key)** — your text and a de-AI-ified version side by side, rebuilt on
every keystroke, with the score dropping as you go. It runs off the rule-pack — no model, no network,
no API key — so it is instant and free. Every change is listed with alternatives to pick from and a
one-click *leave this one alone*. ThreeWhat 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 23 GitHub stars and its last recorded update is dated 2026-09-08.
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?
+
Our security agent has analyzed peopleworks/SignsofAI and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains peopleworks/SignsofAI?
+
peopleworks/SignsofAI is maintained by peopleworks. The last recorded GitHub activity is dated 2026-09-08, with 15 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.
[](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
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
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.
OmO: Drop your tokens. Ultrawork. Done.
Agent skill for beautiful, verifiable architecture, workflow, sequence, data-flow, and lifecycle diagrams—self-contained HTML with motion and crisp export.
Turn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000+ scientists worldwide. 165 ready-to-use validated 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.
A curated collection of 1000+ agent skills from official dev teams and the community, compatible with Claude Code, Codex, Gemini CLI, Cursor, and more.