Your prompt sucks. Let's fix that.
What's new (v12.8–v12.15): ambient prompt gate, one-command plugin install, template refresh, fleet learning — digest
RePrompter is a prompt engineering skill for AI coding agents. It takes rough, low-quality prompts and transforms them into structured, high-scoring prompts that produce dramatically better results. Templates are aligned with 2026 vendor guidance: clear sectioning, calibrated emphasis, outcome-first instructions, load-bearing constraints, structured-output routing, context budgeting, and tool-description quality. Works with Claude Code, OpenClaw, Codex, Grok CLI, Hermes Agent, or any LLM that accepts structured prompts.

| Lane | What it does | Trigger |
|---|---|---|
| Single | Interview, structure, score one prompt | reprompt this, clean up this prompt |
/goal preflight |
Codex CLI, Claude Code CLI v2.1.139+, or Hermes Agent: infer intent, build the expanded prompt, then compress it into `/goal |
|before /goal,for /goal,Codex /goal,Claude Code /goal,Hermes /goal,/goal preflight|
| **Repromptverse** | Plan a team of 2-5 agents, reprompt each one, execute in parallel, evaluate, retry |reprompter teams,repromptverse,smart run|
| **Reverse** | Show a great output, extract the prompt DNA that produced it |reverse reprompt,learn from this,prompt dna|
| **Workflow preflight** | Compile a reprompted task into a runnable Claude.workflow.js(pure-literalmeta, schema returns, bounded retry; ultracode adds adversarial verify + completeness critic); also Repromptverse Option H |compile to workflow,workflow preflight,build a workflow script,dynamic workflow` |
Input: "uhh build a crypto dashboard, maybe coingecko data, add caching, test it too"
Score: 1.6/10
Output: Structured XML prompt with role, context, task, requirements,
constraints, output format, and success criteria
Score: 9.0/10 (+462%)
See the full generated prompt
<role>
Senior full-stack engineer specializing in real-time dashboard systems,
REST API integration, and cache-aware data pipelines.
</role>
<context>
- Frontend + backend + tests required (cross-layer scope)
- Data source: CoinGecko API (free tier, 30 calls/min rate limit)
- Existing API behavior must be preserved
</context>
<task>
Deliver a real-time crypto dashboard backed by a cache-aware CoinGecko proxy API,
with unit tests for both API and UI, without breaking existing API contracts.
</task>
<requirements>
- Build dashboard UI with loading, error, empty, and stale-data states
- Implement backend CoinGecko proxy with JSON schema validation + configurable cache TTL
- Preserve backward compatibility for all existing API consumers
- Add deterministic unit tests for frontend rendering states and backend edge cases
- Cache must serve stale data on upstream failure (stale-while-revalidate pattern)
</requirements>
<constraints>
- No direct client-side calls to CoinGecko (all traffic through proxy)
- No breaking changes to existing API response fields or status codes
- Mock all external network boundaries in tests
- Rate limit CoinGecko calls to stay within free tier (30/min)
</constraints>
<output_format>
- Backend: /api/prices endpoint returning { prices: [...], cached: bool, updatedAt: ISO }
- Frontend: React component with 5s auto-refresh interval
- Tests: Vitest suite with >=80% branch coverage
</output_format>
<success_criteria>
- Dashboard auto-updates every 5s and shows "stale" indicator when cache is old
- Proxy returns normalized data within 200ms (cache hit) / 2s (cache miss)
- Existing API integration tests still pass with zero modifications
</success_criteria>
| Dimension | Before | After | Change |
|---|---|---|---|
| Clarity | 3 | 9 | +200% |
| Specificity | 2 | 9 | +350% |
| Structure | 1 | 10 | +900% |
| Constraints | 0 | 8 | new |
| Verifiability | 1 | 9 | +800% |
| Decomposition | 2 | 9 | +350% |
| Overall | 1.6 | 9.0 | +462% |
Scores are self-assessed. Treat as directional indicators, not absolutes.
Recommended: install the Claude Code plugin. One install registers the RePrompter skill namespace and both Ambient Prompt Gate hooks; future updates use Claude Code's native plugin update flow.
/plugin marketplace add AytuncYildizli/reprompter
/plugin install reprompter@reprompter
If you previously installed ~/.claude/skills/reprompter, remove that personal copy before using the plugin. Personal skills shadow/duplicate plugin skills, so leaving it in place can make Claude Code load the old copy instead of /reprompter:reprompter.
The plugin ships the Ambient Prompt Gate enabled for Claude Code UserPromptSubmit and Stop. Use REPROMPTER_AMBIENT=0 as the per-feature off switch; Claude Code's disableAllHooks still disables all hooks, including plugin hooks.
Fallback for copy-based or non-plugin setups:
mkdir -p skills/reprompter
curl -sL https://github.com/aytuncyildizli/reprompter/archive/main.tar.gz | \
tar xz --strip-components=1 -C skills/reprompter
Source archives are runtime-only (.gitattributes export-ignore): they contain SKILL.md, references/, and scripts/ but not dev/dist trees like skills/ (the Hermes-only install package — see Install paths), plugin/, .claude-plugin/, benchmarks/, assets/, or docs/. Plugin installs use git clone through Claude Code's marketplace flow, so export-ignoring the plugin tree does not affect plugin installs. Installed an older full copy? It's safe to delete those directories from it — upgrades won't bring them back.
For the /goal preflight lane on Claude Code, pin the CLI to v2.1.139 or later. /goal depends on the hooks layer — if disableAllHooks or allowManagedHooksOnly is set in settings.json the command is unavailable on any version (v2.1.140 only made the failure visible). Managed environments that block hooks should stick to Single mode for goal-shaped work.
claude --version
# Expect 2.1.139 or later. Upgrade if older.
Copy-based RePrompter installs can tell you when they are behind the latest release. Claude Code plugin installs stay silent here because native plugin update detection owns freshness. On the first invocation in a copy-based session, RePrompter runs a fail-soft check (scripts/version-check.js) that compares your local SKILL.md version against the latest GitHub release and prints a notice only if you're behind (silent when up to date). The result is cached ~24h (keyed by repo), so repeat runs add no latency; the first uncached check waits up to ~3s for GitHub, then fails soft and silent if it can't reach it (a failed lookup is cached ~1h so offline sessions don't repeat the timeout). Disable it entirely with REPROMPTER_VERSION_CHECK=0.
The notice's upgrade command is path-aware: it re-fetches into the exact directory this skill is installed in, so it works the same whether you run Claude Code (~/.claude/skills/reprompter), Codex (~/.codex/skills/reprompter), OpenClaw, Grok CLI, or a project-local skills/reprompter/. (Hermes installs ship no scripts/, so the check doesn't run there — use hermes skills install to update.)
Run it manually any time:
cd skills/reprompter # run from the skill's install dir (where scripts/ lives)
node scripts/version-check.js # prints a notice only if behind; silent otherwise
node scripts/version-check.js --json # explicit status: {local, latest, behind, notice}
To get nudged at session start (Claude Code, opt-in), add a SessionStart hook in ~/.claude/settings.json:
{
"hooks": {
"SessionStart": [
{ "hooks": [ { "type": "command", "command": "node /absolute/path/to/skills/reprompter/scripts/version-check.js" } ] }
]
}
}
Because a skill is cached per session, after updating you must start a new session for the new version to load.
Root SKILL.md is canonical for Claude Code, Codex, OpenClaw, Grok, and direct GitHub browsing. skills/reprompter/ is the Hermes-only installable package, generated from root and sanitized for Hermes Skills Guard.
Run copy-based installs from the parent directory that contains a cloned or downloaded reprompter/ folder:
mkdir -p /path/to/workspace/skills
cp -R reprompter /path/to/workspace/skills/
For Hermes Agent v0.14+, prefer the generated install package so Skills Guard scans only the runtime skill artifact:
hermes skills install AytuncYildizli/reprompter/skills/reprompter
Avoid using the two-part Hermes identifier as the primary install command because it can resolve stale marketplace content:
hermes skills install AytuncYildizli/reprompter
Hermes Agent's default manual skill location is ~/.hermes/skills/reprompter/. The skills/ package is excluded from GitHub source archives, so a manual copy needs a git clone (or any hermes skills install form above), not a tarball/ZIP download:
git clone https://github.com/AytuncYildizli/reprompter.git
mkdir -p ~/.hermes/skills
cp -R reprompter/skills/reprompter ~/.hermes/skills/
For Codex, install or update the CLI and confirm the goals feature is available:
npm install -g @openai/codex@latest
codex --version
codex features list | grep '^goals'
If goals is present but disabled, set features.goals = true in ~/.codex/config.toml and start a fresh Codex session before using /goal.
Use SKILL.md as the behavior spec. Templates are in references/.
reprompt this: build a REST API with auth and rate limiting
/goal PreflightUse RePrompter before /goal whenever the goal is bigger than a single direct instruction. The lane works on Codex CLI (any version exposing the goals feature), Claude Code CLI v2.1.139+ (native /goal slash command shipped on 2026-05-11), and Hermes Agent (persistent goals in the v0.13.0 / 2026.5.7 release). These runtimes shape the command as /goal <objective>, so RePrompter first builds the full expanded prompt, then compresses it into a dense copy-pasteable `/goal
` command. The command should read like a summary of the old long XML prompt, not a tiny rewrite of the rough input.
reprompt this for /goal: migrate our billing dashboard to the new API without breaking existing reports
Add an explicit runtime marker when you have one — "Codex /goal", "Claude Code /goal", or "Hermes /goal" — otherwise RePrompter will ask. RePrompter then shows a Goal Command Card:
| Field | Example (Claude Code) |
|---|---|
| Goal Command | /goal Migrate billing dashboard API usage to the new API by first mapping current data/report consumers, preserving schemas, filters, exports, scheduled outputs, and historical totals, implementing the smallest compatible adapter changes, adding parity fixtures, and proving compatibility with unit, integration, dashboard smoke, and report export checks. |
| Compressed From | Expanded RePrompter prompt |
| Objective | Migrate billing dashboard API usage without breaking reports |
| Runtime | Claude Code CLI (≥ v2.1.139) |
| Mode | /goal preflight |
| Paste Into | Claude Code TUI prompt, as-is |
| Risk Level | medium |
| Missing Inputs | API contract diff, report smoke path |
| Verification | npm run check, dashboard smoke, report export check |
| Quality | 3/10 → 8/10 |
For Codex or Hermes, the Card differs only in the Runtime (Codex CLI or Hermes Agent) and Paste Into rows.
Then run the generated command in your chosen runtime:
/goal Migrate billing dashboard API usage to the new API by first mapping current data/report consumers, preserving schemas, filters, exports, scheduled outputs, and historical totals, implementing the smallest compatible adapter changes, adding parity fixtures, and proving compatibility with unit, integration, dashboard smoke, and report export checks.
On Claude Code (v2.1.139+) the goal is thread-persistent — it survives /resume, terminal close, and context compaction — and a Haiku evaluator checks the completion condition against the transcript after each turn. Use /goal pause and /goal resume to handle interruptions. On Codex (alpha) the same /goal <objective> shape applies once features.goals = true in ~/.codex/config.toml and a fresh session is started. On Hermes Agent, /goal is also persistent and supports /goal status, /goal pause, /goal resume, and /goal clear; Hermes defaults to a bounded continuation loop and survives /resume.
For automation surfaces such as Whip, the same contract is available as a local runtime command:
$ claude mcp add reprompter \
-- python -m otcore.mcp_server <graph>