Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Tone Check

ASecurity

Check a document for AI-generated writing markers and mismatches with the user's personal tone. Two-pass analysis — generic AI detection plus voice/style comparison against the user's own writing samples from past sessions.

39 stars
0 votes
0 copies
0 views
Added 9/20/2026
toolsgobash

Works with

claude code

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add benjaminshoemaker/ai_coding_project_base --skill tone-check --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tone Check?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Tone Check
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/benjaminshoemaker-tone-check/badge)](https://www.skillsdirectory.com/skills/benjaminshoemaker-tone-check)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: tone-check
description: Check a document for AI-generated writing markers and mismatches with the user's personal tone. Two-pass analysis — generic AI detection plus voice/style comparison against the user's own writing samples from past sessions.
argument-hint: "<file-path> [--strict] [--samples <N>]"
allowed-tools: Read, Bash, Glob, Grep
---

Analyze a document for signs of AI-generated writing and tone mismatches with the user's personal voice.

@shared/SESSION_PARSING.md

## Arguments

- **file-path** (required) — path to the document to check
- `--strict` — flag even mild AI markers (default: only flag moderate/strong signals)
- `--samples <N>` — number of user writing samples to collect for tone comparison (default: 20)

## Workflow

### 1. Read the Target Document

Read the file at the given path. If it doesn't exist, report the error and stop.

Note the document type (markdown, plain text, email draft, etc.) as this affects what markers are relevant.

### 2. AI Marker Analysis

Scan the document for these categories of AI writing markers. For each instance found, note the exact text and location.

**A. Filler & Hedge Phrases**
- "It's important to note that", "It's worth mentioning", "It should be noted"
- "In order to" (instead of "to")
- "At the end of the day", "Moving forward", "Going forward"
- "Leverage", "Utilize" (instead of "use")
- "Facilitate", "Streamline", "Optimize"
- "Comprehensive", "Robust", "Holistic", "Synergy"
- "Navigate" (used metaphorically), "Landscape"

**B. Structural Patterns**
- Numbered lists where prose would be more natural
- Every paragraph starting with a bold keyword
- Bullet points that each begin with a gerund ("-ing")
- Formulaic topic sentence → supporting points → summary sentence per section
- Excessive use of colons to introduce lists
- "Let's dive in", "Let's break this down", "Here's the thing"

**C. Hedging & Over-qualification**
- "While X, it's also true that Y" (unnecessary balance)
- "This is a nuanced topic" / "There are many factors to consider"
- Triple-stacked adjectives ("a comprehensive, robust, and scalable solution")
- Excessive "however" / "that said" / "on the other hand" transitions

**D. Summarization Tells**
- "In summary", "To summarize", "In conclusion", "Overall"
- Restating the question before answering
- Ending with a forward-looking statement that adds no information

**E. Emotional Flatness / Corporate Tone**
- Absence of contractions in otherwise informal text
- "I" statements that feel performative rather than personal
- Lack of specificity — vague claims without concrete examples
- "Excited to", "Thrilled to", "Passionate about" (hollow enthusiasm)

### 3. Collect User Writing Samples

To compare tone, collect samples of the user's actual writing from past sessions.

Find recent Claude Code sessions:
```bash
find ~/.claude/projects -name "*.jsonl" -not -path "*/subagents/*" -mtime -30 -type f | head -30
```

For each file, extract user messages that are likely **authored text** (not commands, not pasted content):
- Must be 50+ characters
- Must NOT start with `<` (system tags)
- Must NOT look like a pasted transcript, code block, or URL dump
- Must NOT be a slash command invocation
- Prefer messages that are conversational, opinionated, or explanatory — these reveal voice

Collect up to N samples (default 20). Also check Codex sessions:
```bash
find ~/.codex/sessions -name "*.jsonl" -mtime -30 -type f | head -10
```

For Codex, extract user messages from `response_item` payloads with `role: "user"`, same filtering rules.

### 4. Characterize the User's Voice

From the collected samples, identify:

- **Sentence structure**: short/punchy vs. long/complex? Fragments OK?
- **Formality level**: contractions? slang? technical jargon?
- **Directness**: does the user hedge or state things plainly?
- **Vocabulary patterns**: words/phrases the user favors
- **Emotional register**: dry, enthusiastic, sardonic, matter-of-fact?
- **Punctuation habits**: em-dashes, ellipses, exclamation marks?

### 5. Tone Comparison

Compare the target document against the user's voice profile. Flag passages where:

- The document is significantly more formal than the user's natural voice
- The document uses vocabulary the user never uses
- The document hedges where the user would be direct (or vice versa)
- The document has a different emotional register than the user's samples
- The sentence structure differs markedly (e.g., all long compound sentences when the user writes short ones)

### 6. Report

```
# Tone Check: FILENAME

## AI Marker Summary

**Overall AI signal:** Low / Medium / High
**Markers found:** N instances across M categories

### Flagged Passages

1. **[LINE/SECTION]** "QUOTED TEXT"
   → CATEGORY: EXPLANATION
   → Suggested rewrite: ALTERNATIVE

2. ...

## Voice Comparison

**Your typical voice:** [2-3 sentence characterization based on samples]

### Tone Mismatches

1. **[LINE/SECTION]** "QUOTED TEXT"
   → This reads as [MORE FORMAL / HEDGING / GENERIC] compared to your voice
   → In your style, this might be: ALTERNATIVE

## Score

- AI markers: X/10 (0 = fully human, 10 = obvious AI)
- Voice match: X/10 (0 = sounds nothing like you, 10 = indistinguishable)
```

Keep the report actionable — every flag should have a concrete suggestion. Don't flag things that are fine for the document type (e.g., formal structure in a PRD is appropriate).

Attribution

benjaminshoemakerbenjaminshoemaker
View sourceMore from benjaminshoemaker →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

ucoz-landing-skill

Playbook for creating and editing uCoz landing pages via MCP tools (`templates_tool`, `ftp_tool`, `modules_tool`). Use for tasks such as: "build a landing page", "update the homepage as a landing page", "create a promo page on the homepage", "add a lead form / menu / SEO to the homepage". Homepage: `page_list`, `page_get`; first publish — `page_update` with full `page_tmpl`; HTML edits after generation — `patch_template` (module_id=2, template_id=1), not `update_template`. Activate the mail f...

107 votes

Paperclip

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

805541 votes

Instantly Rdsthomas Mission Control

Instantly.ai cold email outreach API - manage campaigns, leads, accounts, and analytics. Use for cold email automation, lead management, campaign creation/monitoring, and email account warmup.

761 votes

Daw Music

Digital Audio Workstation usage, music composition, interactive music systems, and game audio implementation for immersive soundscapes.

761 votes

Caveman Compress

Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman-compress FILEPATH or "compress memory file"

1023330 votes
View all in tools →