Ship humanize and ai-check as installable plugins - #12
Conversation
The repo now doubles as a plugin marketplace for Claude Code and Codex, so neither needs a clone or install.sh to pick up the skills. Skills move from the repo root to plugins/<name>/skills/<name>/, which is where both harnesses look. Each plugin carries a manifest per harness, and each harness reads its own marketplace file: .claude-plugin/marketplace.json for Claude Code, .agents/plugins/marketplace.json for Codex. install.sh resolves the new location with a fallback to the repo root, so clone installs keep working. The benchmark workflow, the scenario runner, the JSON-LD FAQ and the README all follow the paths. Existing symlink installs break on this change, since they point at the old root directories. The README says to re-run install.sh once after pulling. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Humanize skill benchmark — PASS ✅25 fixed AI-flavored inputs humanized with the PR's Scoring model: the official Binoculars zero-shot scorer (Hans et al., ICML 2024) running the How to read: each score estimates how human the text reads (higher = more human). A humanized output should score above the raw AI input it came from; the gate checks the average lift and how many outputs fell below their own input.
Per-input inspection (25 items)id 1 · Tech blog post · raw 0.874 → humanized 0.981 ✅ · 114 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
id 2 · Engineering postmortem · raw 0.940 → humanized 0.992 ✅ · 141 words · 2sOriginal (AI-flavored input):
Humanized (PR skill):
id 3 · Product launch announcement · raw 0.826 → humanized 0.986 ✅ · 123 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
id 4 · Academic abstract · raw 0.929 → humanized 1.090 ✅ · 96 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
id 5 · Business email · raw 0.848 → humanized 0.984 ✅ · 80 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
id 6 · Internal Slack update · raw 0.907 → humanized 1.026 ✅ · 91 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
id 7 · LinkedIn post · raw 0.861 → humanized 0.967 ✅ · 103 words · 2sOriginal (AI-flavored input):
Humanized (PR skill):
id 8 · Cover letter · raw 0.812 → humanized 0.961 ✅ · 119 words · 3sOriginal (AI-flavored input):
Humanized (PR skill):
id 9 · Marketing copy · raw 0.856 → humanized 1.063 ✅ · 83 words · 2sOriginal (AI-flavored input):
Humanized (PR skill):
id 10 · Press release · raw 0.848 → humanized 1.011 ✅ · 128 words · 3sOriginal (AI-flavored input):
Humanized (PR skill):
id 11 · Investor update · raw 0.802 → humanized 0.871 ✅ · 86 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
id 12 · Job posting · raw 0.812 → humanized 1.068 ✅ · 161 words · 2sOriginal (AI-flavored input):
Humanized (PR skill):
id 13 · Customer support reply · raw 0.777 → humanized 0.910 ✅ · 75 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
id 14 · Recipe intro · raw 0.838 → humanized 0.892 ✅ · 117 words · 29sOriginal (AI-flavored input):
Humanized (PR skill):
id 15 · Travel writing · raw 0.849 → humanized 1.012 ✅ · 200 words · 2sOriginal (AI-flavored input):
Humanized (PR skill):
id 16 · Restaurant review · raw 0.854 → humanized 0.915 ✅ · 110 words · 6sOriginal (AI-flavored input):
Humanized (PR skill):
id 17 · Book review · raw 0.860 → humanized 1.004 ✅ · 100 words · 70sOriginal (AI-flavored input):
Humanized (PR skill):
id 18 · Personal essay · raw 0.955 → humanized 1.017 ✅ · 186 words · 2sOriginal (AI-flavored input):
Humanized (PR skill):
id 19 · Privacy policy section · raw 0.936 → humanized 1.072 ✅ · 90 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
id 20 · Tutorial intro · raw 0.858 → humanized 1.053 ✅ · 96 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
id 21 · Comparison article · raw 0.954 → humanized 1.057 ✅ · 175 words · 2sOriginal (AI-flavored input):
Humanized (PR skill):
id 22 · Roadmap update · raw 0.804 → humanized 0.943 ✅ · 99 words · 2sOriginal (AI-flavored input):
Humanized (PR skill):
id 23 · Conference abstract · raw 0.920 → humanized 1.087 ✅ · 172 words · 2sOriginal (AI-flavored input):
Humanized (PR skill):
id 24 · README intro · raw 0.842 → humanized 0.933 ✅ · 75 words · 11sOriginal (AI-flavored input):
Humanized (PR skill):
id 25 · Career advice · raw 0.948 → humanized 1.105 ✅ · 138 words · 1sOriginal (AI-flavored input):
Humanized (PR skill):
|
Shipping humanize and ai-check as separate plugins meant two installs and invocations that read /humanize:humanize and /ai-check:ai-check, since a plugin skill is always addressed plugin:skill. One plugin carrying both gives /humanize:humanize and /humanize:ai-check, which is what people expect. ai-check's skill moves under the humanize plugin, the second plugin and its manifests go away, and both marketplace files drop to a single entry. The version goes to 1.1.0 because plugin caches are keyed by version. Without the bump, anyone holding 1.0.0 keeps a humanize plugin that has no ai-check in it, and claude plugin update reports it is already current. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The repo now doubles as a plugin marketplace for Claude Code and Codex, so neither needs a clone or install.sh to pick up the skills.
Skills move from the repo root to plugins//skills//, which is where both harnesses look. Each plugin carries a manifest per harness, and each harness reads its own marketplace file: .claude-plugin/marketplace.json for Claude Code, .agents/plugins/marketplace.json for Codex.
install.sh resolves the new location with a fallback to the repo root, so clone installs keep working. The benchmark workflow, the scenario runner, the JSON-LD FAQ and the README all follow the paths.
Existing symlink installs break on this change, since they point at the old root directories. The README says to re-run install.sh once after pulling.