Claude Skill
rawwerks/ypi
ypi is a recursive coding agent inspired by RLMs. Use its CLI to autonomously generate, refine, and execute code for agentic and iterative development workflows.
Overview
Repository
Install this Skill
npm install -g ypiRegistry
npm install -g ypinpx ypi "What does this repo do?"git clone https://github.com/rawwerks/ypi.git && cd ypi
Summary
ypi is a recursive coding agent inspired by Recursive Language Models (RLMs). It provides a CLI tool that leverages recursion to autonomously generate, refine, and execute code, designed for agentic workflows and iterative development.
一种受递归语言模型(RLMs)启发的递归编码代理
Key features
- Recursive code generation inspired by RLMs
- CLI-based agent for autonomous coding tasks
- Iterative refinement of generated code
- Lightweight Shell implementation
- Designed for agentic and recursive workflows
Use cases
- Automated code generation and debugging
- Iterative software development tasks
- Prototyping with recursive AI agents
- CLI-based coding assistant for developers
- Exploring RLM-inspired agent architectures
README excerpt
# ypi [](https://www.npmjs.com/package/ypi) **ypi** — a recursive coding agent built on [Pi](https://github.com/badlogic/pi-mono). Named after the [Y combinator](https://en.wikipedia.org/wiki/Fixed-point_combinator#Y_combinator) from lambda calculus — the fixed-point combinator that enables recursion. `ypi` is Pi that can call itself. (`rpi` already has another connotation.) Inspired by [Recursive Language Models](https://github.com/alexzhang13/rlm) (RLM), which showed that an LLM with a code REPL and a `llm_query()` function can recursively decompose problems, analyze massive contexts, and write code — all through self-delegation. ## The Idea Pi already has a bash REPL. We add one function — `rlm_query` — and a system prompt that teaches Pi to use it recursively. Each child gets its own [jj](https://martinvonz.github.io/jj/) workspace for file isolation. That's the whole trick. ``` ┌──────────────────────────────────────────┐ │ ypi (depth 0) │ │ Tools: bash, rlm_query │ │ Workspace: default │ │ │ │ > grep -n "bug" src/*.py │ │ > sed -n '50,80p' src/app.py \ │ │ | rlm_query "Fix this bug" │ │ │ │ │ ▼ │ │ ┌────────────────────────────┐ │ │ │ ypi (depth 1) │ │ │ │ Workspace: jj isolated │ │ │ │ Edits files safely │ │ │ │ Returns: patch on stdout │ │ │ └────────────────────────────┘ │ │ │ │ > jj squash --from <child-change> │ │ # absorb the fix into our work