Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
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
  • Authors
  • 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
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Eval

ASecurity

This skill should be used when the user asks to score or evaluate a blog post, check their draft, or run draftloom eval. Trigger phrases: "draftloom eval", "score my post", "evaluate this draft", "check my blog post", "how does my writing score", "run eval on", "/draftloom:eval". Use this skill whenever the user wants to score an existing markdown file against SEO, hook, voice, and readability rubrics — even if they don't use the exact command name.

2 stars
0 votes
0 copies
1 views
Added 9/19/2026
ai-agents

Security Analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned 9/19/2026

$npx -y skills add neotherapper/claude-plugins --skill eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Eval?

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

Security grade badge for Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/neotherapper-eval/badge)](https://www.skillsdirectory.com/skills/neotherapper-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: eval
description: >
  This skill should be used when the user asks to score or evaluate a blog
  post, check their draft, or run draftloom eval. Trigger phrases: "draftloom
  eval", "score my post", "evaluate this draft", "check my blog post", "how
  does my writing score", "run eval on", "/draftloom:eval". Use this skill
  whenever the user wants to score an existing markdown file against SEO, hook,
  voice, and readability rubrics — even if they don't use the exact command
  name.
license: MIT
metadata:
  version: "0.1.0"
  author: Georgios Pilitsoglou
---

# Draftloom Eval Skill

Standalone scorer for an existing markdown file. Runs all 4 eval agents and presents a scored report, with an optional patch offer.

Use this skill to score any existing Markdown file — not just posts created by Draftloom. It creates a minimal workspace, runs all 4 eval agents (SEO, hook, voice, readability) in parallel via the orchestrator in eval-only mode, and presents a scored report. If any dimension fails, a single patch round is offered.

The 4 eval dimensions and their pass thresholds are defined in `skills/draft/references/scoring-rubric.md`. Voice scoring works with or without a profile — without a profile, it evaluates generic clarity and consistency rather than tone-matching.

## Step 1: Get the file path

Ask: "Path to the markdown file you'd like to score?"

Validate the file exists. If not, ask again.

## Step 2: Select a profile (for voice matching)

If profiles exist in `.draftloom/profiles/`, ask: "Score voice against which profile? (name or 'none' for generic)"

If "none" or no profiles exist: voice-eval uses generic clarity and consistency rubric — does not attempt to load a profile JSON.

## Step 3: Create workspace

Derive slug from the filename (strip extension, normalise to slug format). Check if `posts/{slug}/` already exists. If yes, append `-eval` suffix.

Create `posts/{slug}/`. Copy the provided file to `posts/{slug}/draft.md`.

Write minimal `meta.json`:
```json
{
  "schema_version": "1.0",
  "title": "{filename}",
  "slug": "{slug}",
  "profile_id": "{selected or null}",
  "keywords": [],
  "meta_description": null,
  "draft_status": "eval_only",
  "created_at": "{ISO-8601 UTC timestamp}",
  "updated_at": "{ISO-8601 UTC timestamp}"
}
```

## Step 4: Dispatch orchestrator in eval-only mode

Dispatch the `draftloom:orchestrator` agent with:
- Path: `posts/{slug}/`
- Profile JSON path (or null)
- Mode: "eval_only" (skip writer, skip brief, run 4 evals directly)

Load `references/eval-guide.md` for eval-only mode specifics.

## Step 5: Show scored report

When orchestrator signals eval complete, display (✓ = score ≥ 75, ⚠ = score < 75):

```
Score report: {filename}

SEO          {score}/100  {✓ or ⚠}
Hook         {score}/100  {✓ or ⚠}
Voice        {score}/100  {✓ or ⚠}
Readability  {score}/100  {✓ or ⚠}

Aggregate (minimum): {aggregate}/100

{For each ⚠ dimension:}
  ⚠ {dimension}: {feedback}
     Sections: {sections_affected}
     Suggestion: {recommend}
```

## Step 6: Patch offer

If any dimension scored below 75:
- Ask: "Patch failing dimensions? (y/n)"
- If yes: dispatch writer agent in patch mode, run a second eval pass, show delta

If all dimensions ≥ 75:
- Show: "All dimensions passing." No patch offer.

---

## Reference files

- **`references/eval-guide.md`** — eval-only mode orchestrator behaviour, voice-eval fallback rubric when no profile is selected, patch mode flow with before/after delta display (load at Step 4)
- **`skills/draft/references/scoring-rubric.md`** — pass threshold (≥ 75), per-dimension rubrics (SEO, Hook, Voice, Readability), routing rules (load if surfacing routing decisions to the user)

Attribution

neotherapperneotherapper
View sourceSee grades on GitHubMore from neotherapper →
SSkills Directory ProSkills Directory

Get any skill into Claude in one click.

Download any skill as a ZIP for Claude.ai, Claude Desktop, or .claude/skills. $9/mo.

See Pro

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 Directory ProSkills Directory

Get any skill into Claude in one click.

Download any skill as a ZIP for Claude.ai, Claude Desktop, or .claude/skills. $9/mo.

See Pro

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1087401 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

697551 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →