by lynote-ai
A cautious, explainable AI text detector for local workflows and coding agents. Need production detection in your app? Try the Lynote AI Detector API → lynote.ai/ai-detector-api
# Add to your Claude Code skills
git clone https://github.com/lynote-ai/ai-text-detectorGuides for using ai agents skills like ai-text-detector.
Last scanned: 10/17/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-10-17T08:18:42.270Z",
"npmAuditRan": true,
"pipAuditRan": false,
"promptInjectionRan": true
}See how ai-text-detector compares with popular alternatives.
ai-text-detector is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by lynote-ai. A cautious, explainable AI text detector for local workflows and coding agents. Need production detection in your app? Try the Lynote AI Detector API → lynote.ai/ai-detector-api. It has 543 GitHub stars.
Yes. ai-text-detector passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/lynote-ai/ai-text-detector" and add it to your Claude Code skills directory (see the Installation section above). ai-text-detector ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
ai-text-detector is primarily written in Python. It is open-source under lynote-ai on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh ai-text-detector against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
This skill wraps the local ai-detector-skill analyzer into a reusable open source Codex-style skill.
It is designed for:
This skill returns a risk estimate, not proof of authorship.
Use this skill when:
ai-detect path/to/text.txt --json
or:
python -m aidetect.cli path/to/text.txt --json
or from the repository helper:
python scripts/detect.py path/to/text.txt --json
scoreconfidenceverdictconclusionsignalscaveatsRespond in this order:
One-sentence conclusion with uncertainty.
Score and confidence.
Strongest evidence signals.
Caveats.
Next steps only when useful.
Good phrasing:
Avoid:
SKILL.md: skill contract and usage rulesscripts/detect.py: repository-local wrapper for the detectorscripts/setup.sh: local environment bootstrapreferences/api-reference.md: response contract and CLI referenceassets/templates/report.md: reusable response template🚀 New: the Lynote AI Detector API is live. Need AI-text detection inside your own app, LMS, or moderation pipeline? Call Lynote's production detector with one REST request — no model to train or host. Get an API key → lynote.ai/ai-detector-api
Other Quality Projects AI Humanize Text:https://github.com/lynote-ai/humanize-text AI Image Detector:https://github.com/lynote-ai/ai-image-detector
Two tiers in this repo. This page documents the lightweight local analyzer — an explainable, no-network CLI/skill for fast triage. The production two-level model (trained, multilingual, served) lives in
detection-model-pipeline/; see How the production model works.
Most AI text detectors are either overconfident, opaque, or awkward to embed inside agent workflows.
ai-detector-skill takes the opposite approach:
If you want a triage tool that stays cautious and leaves room for human review, this repo is built for that.
The heavyweight detector behind Lynote is a two-level model that, in one forward pass, labels a document (human / ai / mixed) and every sentence (human / ai / paraphrased). It is trained, not rule-based — the full pipeline (data prep → train → calibrate → eval → serve) lives in detection-model-pipeline/.
flowchart LR
csv["detection-log export (CSV)"] --> prep["prepare · dedup + soft labels"]
prep --> train["train · joint doc + sentence heads"]
hub["public backbone · XLM-R / ModernBERT"] --> train
train --> cal["calibrate · temperature scaling"]
train --> eval["eval · two-level metrics"]
cal --> serve["serve · FastAPI, {code,msg,data}"]
L = L_doc + α·L_sent. Differentiable sentence-probability statistics feed the document head — which is what makes the mixed class trainable.make check gates (manifest / demo / docs / tests). No weights, datasets, or service logs are shipped, and no accuracy claims are made.Full method: MODEL.md · ARCHITECTURE.md · DATA_CONSTRUCTION.md · API.md
The local analyzer here is built for cautious, offline triage, and the production model above ships as a pipeline, not weights. If you need production-grade detection inside your own product, the Lynote AI Detector API serves Lynote's production detector through a single endpoint:
curl https://api.lynote.ai/v1/detect \
-H "Authorization: Bearer $LYNOTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "The rapid adoption of large language models has reshaped how teams write."}'
Plans, rate limits, and full docs: lynote.ai/ai-detector-api. As with any detector, treat results as a signal for human review, not proof of authorship.
pip install -e .
ai-detect examples/sample_ai_like.txt --json
Or bootstrap a local environment:
bash scripts/setup.sh
Example output:
Conclusion: AI-like signals are present, but this medium-confidence score is a risk estimate rather than proof.
Score: 84/100
Confidence: medium
Verdict: high_ai_likelihood
Words analyzed: 256
score: 0-100 AI-like writing risk estimateverdict: insufficient_text, low_ai_likelihood, mixed_or_uncertain, or high_ai_likelihoodconfidence: currently low or mediumsignals: strongest weighted evidence signalscaveats: warnings that stay attached to the resultnext_steps: practical follow-up actions when usefulThis is designed to help an agent say:
Not:
ai-detect examples/sample_ai_like.txt
cat essay.txt | ai-detect --json
python scripts/detect.py examples/sample_human_like.txt --json
from aidetect import analyze_text
text = open("essay.txt", encoding="utf-8").read()
result = analyze_text(text)
print(result.score, result.confidence, result.verdict)
for signal in result.strongest_signals():
print(signal.name, signal.note)
cp -R ai-detector-skill "$CODEX_HOME/skills/"
Use the root SKILL.md as the portable skill definition, and keep AGENTS.md at the repo root for repo-aware agents.
We ran a reproducible evaluation on the public HC3 dataset, using the English finance, medicine, and open_qa subsets with the first 100 rows from each subset.
Snapshot of the lightweight local analyzer on that slice (not the production two-level model):
5.418.413.0 points0.4270.920score >= 45: 0.317What that means in practice:
See the full report in docs/HC3_EVALUATION.md.
Reproduce it with:
make eval-hc3
A teacher receives a polished 400-word reflection and wants a cautious signal before doing manual review.
Suggested workflow:
ai-detect submission.txt --json.An editor wants to spot formulaic product reviews or guest posts before spending time on manual edits.
Why it fits:
A moderation team wants to sort suspicious long-form posts into a manual review queue, not auto-remove them.
Why it fits:
A team compares human drafts and AI-assisted drafts to see where language starts sounding too generic.
Why it fits:
detection-model-pipeline/ # production two-level model — prepare → train → calibrate → eval → serve
├── code/ # pipeline stages (i..m) + harness validators
├── model_entity/ # joint model: ModernBERT + XLM-R backbones
├── data/demos/ # synthetic dem