jeffy

jeffy is a skill for Claude Code from lenamonj/jeffy-loop. It costs 25 tokens per session (7,678 once invoked), scanned E, original, MIT.

A command that starts an automated improvement loop for the current project. The loop repeatedly feeds an iteration prompt back into the coding session until its stopping conditions are met.

In plain words
What is it for?
It helps bootstrap the project's loop state, launch the first iteration, and continue iterations until the budget, completion condition, time limit, or another safety gate ends the run.
Why use it?
It supports repeated project improvement without requiring the user to manually start every iteration.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter. Also seen: reads .claude/ paths; mentions Claude Code.

Good fit It helps bootstrap the project's loop state, launch the first iteration, and continue iterations until the budget, completion condition, time limit, or another safety gate ends the run.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/lenamonj/jeffy-loop/jeffy
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add lenamonj/jeffy-loop --skill jeffy
Clone the repo
git clone --depth 1 https://github.com/lenamonj/jeffy-loop

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for jeffy

README.md
[![agentmods](https://agentmods.dev/badge/skills/lenamonj/jeffy-loop/jeffy/github.svg)](https://agentmods.dev/skills/lenamonj/jeffy-loop/jeffy)
Your own site
<a href="https://agentmods.dev/skills/lenamonj/jeffy-loop/jeffy"><img src="https://agentmods.dev/badge/skills/lenamonj/jeffy-loop/jeffy/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for jeffy

Your own site · 80×15
<a href="https://agentmods.dev/skills/lenamonj/jeffy-loop/jeffy"><img src="https://agentmods.dev/badge/skills/lenamonj/jeffy-loop/jeffy.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 25 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 7,678 The whole file, excluding the scripts and references it only reads on demand.
Security scan E 3 findings. A grade says what 26 rules found in the file — not that it is safe. ✓ AI security review Sonnet 5 · 7 Sept 2026 📄 Read the review
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00025 $0.07678
Opus 5.5 $0.00010 $0.03071
Sonnet 5.5 $0.00005 $0.01536
Haiku 4.5 $0.00003 $0.00768

Measured 4d ago against content hash 7f51d32b82df, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade E, and why

jeffy scanned grade E with 3 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

The scan reads SKILL.md. This mod also ships 7 executable files (hooks/lib/check-claims.sh, hooks/lib/detect-sandbox.sh, hooks/lib/measure-surface.sh, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Tells the agent never to refusehighAnti-refusal

Suppressing the ability to decline removes a core safety control; a later harmful request then succeeds.

8. Repository scope: if the project is a git repository, compare `git rev-parse --show-toplevel` with the project root. When they differ, the project is a subdirectory of a larger repository, so every checkpoint's `git a

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

1. Hook dependency: `which jq`. If missing the Stop hook cannot parse its input and the loop cannot run. Suggest `winget install jqlang.jq` (Windows), `brew install jq` (macOS), or `sudo apt-get install jq` (Debian/Ubunt

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

cat > "$PR/.claude/jeffy-loop.local.md" <<EOF
skills/jeffy/SKILL.md · 161 lines

How it starts

The opening of the file, as written. The whole thing — 161 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Jeffy

Bootstrap per-project Jeffy state files, write the loop state file, and begin iteration 1. The loop engine is Jeffy's own Stop hook, shipped with this skill at hooks/stop-hook.sh: at every turn end it reads .claude/jeffy-loop.local.md at the project root, and while that file names this session and budget remains it re-feeds the iteration prompt; it deletes the file and lets the session end when the budget is spent, the completion promise fires, or one of its own gates ends the run - a stall, an oscillation, a time ceiling, or an audit or refill inside the closing window. The hook anchors itself to CLAUDE_PROJECT_DIR, which hooks receive fixed at the directory Claude Code was started in, so shell cwd drift mid-iteration cannot kill the loop. The hook is registered machine-wide in ~/.claude/settings.json by the installer but exits immediately in any session whose project has no state file. This skill only sets up and launches; the hook implements the loop mechanics.

Project root means the directory Claude Code was started in - the session's primary working directory shown in the environment, which is stable regardless of shell drift. Resolve it to an absolute path with forward slashes and use it everywhere below; never trust the shell's current cwd, which persists across Bash calls and may have drifted into a subdirectory.

Arguments

Parse $ARGUMENTS: if the first token is an integer, it is the iteration budget N, default 10, or 5 on a --highs launch. Next parse the mode flag and the ceiling flags wherever they appear in the remainder. --highs takes no value and selects High-hunt mode for this run: the loop audits the whole surface, fixes only Highs, audits again once no High is open, and closes the first time an audit finds none - no sweep obligation, no Medium or Low queue, no evaluator gate, no closing extension and no convergence claim; a hunt is not a convergence and its receipt is the pull request its Highs produce. The ceiling flags each take one value: --max-time <duration> sets max_wall_clock_seconds, --max-iter-time <duration> sets max_iteration_seconds, --max-context <N> sets max_context_growth, --evaluator-probe <k> sets evaluator_probe, a whole number of swept rows the gate probes, default 0 meaning off, and --max-surface <lines> sets the surface ceiling pre-flight check 11 refuses above, a whole number of tracked source lines, default 150000 on an Improvement launch and 600000 on a --highs launch, 0 meaning off; a duration is a bare number of seconds or a number suffixed s, m, or h (45m, 2h, 900s, 900), and 0 means off, the default for --max-time, --max-iter-time and --max-context; --max-surface alone is on by default. --refeed takes one value, full or pointer, and chooses what the Stop hook re-feeds at every turn end: full, the default, is the whole iteration prompt, the behaviour every receipt was earned under; pointer is the run state and one sentence pointing at the prompt file this session read at launch, an experimental setting for the pre-registered A/B on context occupancy, never a default until that experiment loses no convergence and no gate. A flag missing its value, an unparseable duration, a --max-surface value that is not a plain whole number (300k and 300,000 are refusals, 300000 is a value), a --refeed value other than full or pointer, an --evaluator-probe value that is not a plain whole number, or an unrecognized -- token is a refusal naming the token, never silently folded into the focus - a documented ceiling that becomes free text is a ceiling that is silently off. Whatever text remains after the budget and the flags is the focus directive for this run. If the token after the optional budget is exactly enhance, refuse the launch and stop: Enhance mode was removed in v1.11.0 - the defect loop is the product - and the last release that carries it is v1.10.0. On a fresh project, iteration 1 is always consumed by the audit that generates the backlog, so N=2 executes exactly one task; if the user picks N below 5, proceed but note that larger budgets make materially more progress.

Read the full file on GitHub · 161 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed · +1 lines 7f51d32b82df
  2. 8d ago Changed 4522c165a2d1
  3. 10d ago Changed · +2 lines eda96b0766be
  4. 23d ago Changed c0cde4244ae6
  5. 24d ago Changed · +1 lines 909ac7482e0b
  6. 1mo ago Changed · +1 lines 2cadac67ac3e
  7. 1mo ago Changed 87131739a550
  8. 2mo ago Changed · +7 lines 95812f1a45a1
  9. 2mo ago First seen · 149 lines · 25 tokens per session scan E e8f5d39924f3

Subscribe to this mod's changes

jeffy is a skill published in the GitHub repository lenamonj/jeffy-loop (13 stars, last pushed 2d ago), licensed MIT. It adds 25 tokens to every session and 7,678 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it E with 3 findings (tells the agent never to refuse, asks for root, reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

jeffy compared with skills from other repositories

jeffy next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
jeffylenamonj/jeffy-loopSkill132d agoMITE25Claude Code
research-refinewanshuiyin/Auto-claude-code-research-in-sleepSkill19k2d agoMITA101Claude Code
paper-illustrationwanshuiyin/Auto-claude-code-research-in-sleepSkill19k2d agoMITA67Claude Code
rebuttalwanshuiyin/Auto-claude-code-research-in-sleepSkill19k2d agoMITA73Claude Code
slides-polishwanshuiyin/Auto-claude-code-research-in-sleepSkill19k2d agoMITA136Claude Code
research-implement-featurewanshuiyin/Auto-claude-code-research-in-sleepSkill19k2d agoMITA120Claude Code
research-wikiwanshuiyin/Auto-claude-code-research-in-sleepSkill19k2d agoMITA73Claude Code