An open API service indexing awesome lists of open source software.

https://github.com/jhubbardsf/rephrasy-skills

Claude Code plugin: score text for AI detectability and humanize AI-generated text via the Rephrasy API
https://github.com/jhubbardsf/rephrasy-skills

ai-detection claude-code claude-code-plugin gptzero humanizer rephrasy

Last synced: about 1 month ago
JSON representation

Claude Code plugin: score text for AI detectability and humanize AI-generated text via the Rephrasy API

Awesome Lists containing this project

README

          

# rephrasy-skills

Humanize AI-generated text, without leaving Claude Code.

`rephrasy-skills` packages a Claude Code skill backed by the [Rephrasy API](https://www.rephrasy.ai/api-solution): `/rephrasy:humanize` rewrites AI-flavored text to read as human (Rephrasy's v3 model with the professional style by default). The skill encodes live-verified API behavior — including the places where the API's real behavior diverges from its public docs.

To check whether the result reads as human, score it with GPTZero. The Rephrasy AI-detector was removed in 0.1.2 as unreliable; GPTZero is the detector of record.

## Installation

### Claude Code plugin

From inside Claude Code:

```text
/plugin marketplace add jhubbardsf/claude-plugins
/plugin install rephrasy@joshd3v
/reload-plugins
```

`joshd3v` is [Josh Hubbard's umbrella marketplace](https://github.com/jhubbardsf/claude-plugins) covering all of his plugins, so one marketplace add gives you this plugin and the rest.

Then run:

```text
/rephrasy:humanize
```

**Direct repo install** (alternative — this repo also embeds its own standalone marketplace):

```text
/plugin marketplace add jhubbardsf/rephrasy-skills
/plugin install rephrasy@rephrasy-skills
/reload-plugins
```

Claude Code plugin install specs use `plugin@marketplace`. Here, `rephrasy` is the plugin name, `joshd3v` is the umbrella marketplace, and `rephrasy-skills` is this repo's standalone marketplace from `.claude-plugin/marketplace.json`. Plugin skills are namespaced by plugin name, so the invocations are identical either way.

### One-line installer

```bash
curl -fsSL https://raw.githubusercontent.com/jhubbardsf/rephrasy-skills/main/install.sh | bash
```

To install at project or local scope:

```bash
curl -fsSL https://raw.githubusercontent.com/jhubbardsf/rephrasy-skills/main/install.sh | bash -s -- --scope project
```

## Requirements

- Claude Code with plugin support
- `python3` (the bundled helpers are stdlib-only — zero pip dependencies)
- A `REPHRASY_API_KEY` environment variable ([get a key](https://www.rephrasy.ai) — this is a paid API; every call costs credits)

## Usage

```text
/rephrasy:humanize draft.md # -> draft_rephrasy.md next to the input
/rephrasy:humanize draft.md --style creative # override the professional default
/rephrasy:humanize draft.md --model "Undetectable Model v2"
```

The humanize skill defaults to **model `v3` + style `professional`** and never overwrites the input unless `--in-place` is passed explicitly. To check the result, score it with GPTZero.

## Helper CLI

The plugin bundles a stdlib-only Python script that also works standalone from any shell:

```bash
python3 plugins/rephrasy/scripts/rephrasy_humanize.py FILE [-o OUT] [--in-place] [--style STYLE] [--no-style] [--model MODEL] [--language NAME] [--json]
```

It accepts a file path, `-` for stdin, or `--text "literal text"`.

| Behavior | Detail |
| --- | --- |
| Exit codes | `0` success · `2` any error — loops can distinguish "done" from "API is down" |
| Output naming | `foo.txt` → `foo_rephrasy.txt` (non-destructive by default); `--in-place` writes atomically via temp file + rename |
| Cost reporting | The humanizer prints `cost=… credits` to stderr after every call, including `--json` runs |
| Errors | Clean one-line `error: …` messages — no tracebacks, including response-phase timeouts and non-JSON 200 bodies |

## API facts verified live (2026-06-07)

These differ from, or go beyond, Rephrasy's public docs — the skill encodes the observed behavior:

- Humanizer `costs` is a plain number of credits, not the `{"total": ...}` object shown in the docs.
- `new_flesch_score` can be negative for dense prose.
- An invalid key returns **HTTP 400** `{"error":"Invalid API Key"}`, not the documented 401 (both are handled).
- `style: "professional"` costs ~3x a no-style call and yields more formal output. It stays the default; score the result with GPTZero, the detector of record.

## Changelog

### 0.1.2

- Removed the Rephrasy AI-detector (ai-detect skill, /ai-detect command, rephrasy_detect.py); GPTZero is the detector of record.

## Configuration

```bash
export REPHRASY_API_KEY=... # required
```

Everything else is per-invocation flags. The humanize defaults (v3 + professional) are set in the skill and overridable with `--model` / `--style` / `--no-style`.

## Repository layout

```
.claude-plugin/marketplace.json # marketplace manifest (name: rephrasy-skills)
plugins/rephrasy/ # the plugin (name: rephrasy)
├── .claude-plugin/plugin.json
├── scripts/ # stdlib-only Python helper
└── skills/
└── humanize/SKILL.md
skills/, commands/ # author's personal (non-plugin) install; same scripts
docs/index.html # GitHub Pages site
```

## GitHub Pages

The project site lives in `docs/index.html`. Configure GitHub Pages to serve from `/docs` on the default branch.

## Troubleshooting

### `/plugin` is not recognized

Update Claude Code. Plugin commands require a recent Claude Code release.

### `error: REPHRASY_API_KEY not set`

Export the key in the shell Claude Code runs from, or add it to your shell profile.

## Disclaimer

Independent client — not affiliated with or endorsed by Rephrasy. API usage is billed to your Rephrasy account.

## License

MIT