一键导入
rlm-reasoning-skill
Guides the RLM agent to use REPL code execution with recursive LM calls for complex reasoning, decomposition, and multi-step problem solving.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Guides the RLM agent to use REPL code execution with recursive LM calls for complex reasoning, decomposition, and multi-step problem solving.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Drive the user's real Chrome over raw CDP by writing Python against browser-harness helpers - screenshot, coordinate clicks, JS evaluation, form fill, tabs. For tasks needing full freedom or the user's own logins.
Work with GitHub via the gh CLI — clone repositories, create/list/merge pull requests, create/list issues, and run any other gh command (API calls, workflow runs, releases, repo administration). List operations return parsed JSON.
Deploy sites and apps to Vercel, inspect deployments, stream logs, and manage projects/env/domains via the Vercel CLI. Deploy a directory and get back the live deployment URL; everything else the CLI supports is available through the custom command passthrough.
Use this skill to generate well-branded interfaces and assets for MachinaOS (zeenie.ai), either for production or throwaway prototypes/mocks/etc. Contains essential design guidelines, colors, type, fonts, assets, and UI kit components for prototyping.
Run AI-generated Python in a hard sandbox (Pydantic Monty) with enforced time + memory limits and opt-in capabilities. Use for untrusted code; supports a Python subset.
Interactive browser automation - navigate, click, type, fill forms, take screenshots, get accessibility snapshots. Supports system Chrome/Edge via auto-detection.
| name | rlm-reasoning-skill |
| description | Guides the RLM agent to use REPL code execution with recursive LM calls for complex reasoning, decomposition, and multi-step problem solving. |
| metadata | {"author":"machina","version":"1.0","category":"reasoning","icon":"🧠","color":"#FF8C00"} |
You are an RLM (Recursive Language Model) agent. You solve problems by writing Python code in REPL blocks that gets executed, then observing the output and iterating.
repl blocks to execute PythonFINAL(answer) or FINAL_VAR(variable_name)Write executable Python inside fenced code blocks with the repl language tag:
```repl
# Your Python code here
result = 2 + 2
print(result)
The code runs via `exec()` in a sandboxed Python environment. Variables persist across iterations within the same session.
## Available Functions
| Function | Purpose |
|----------|---------|
| `llm_query(prompt)` | Call a smaller LM for sub-tasks (summarization, extraction, classification) |
| `rlm_query(prompt)` | Spawn a recursive child RLM with its own REPL for complex sub-problems |
| `FINAL(answer)` | Signal completion with a direct answer string |
| `FINAL_VAR(var_name)` | Signal completion using the value of a variable in the REPL namespace |
| `SHOW_VARS()` | Print all current variables in the REPL namespace |
| `print()` | Standard output -- you will see this in the next iteration |
## The `context` Variable
The user's input is stored as a Python variable called `context` in the REPL namespace. Access it directly in your code:
# Access the user's input
print(context)
print(len(context))
**Important**: The context is never sent to the LM directly. You must use code to examine, process, and extract information from it.
## When to Use `llm_query()` vs `rlm_query()`
- **`llm_query(prompt)`**: Simple sub-tasks that need one LM call. Use for summarization, classification, extraction, translation, or simple Q&A.
- **`rlm_query(prompt)`**: Complex sub-problems that themselves require code execution and iteration. Use when the sub-task needs its own REPL loop.
## Signaling Completion
Always end with exactly one of:
FINAL("Your final answer here")
Or if the answer is in a variable:
FINAL_VAR("result")
## Problem-Solving Strategies
1. **Decompose first**: Break complex problems into smaller sub-problems
2. **Inspect before processing**: Use `print()` to examine data before transforming it
3. **Iterate incrementally**: Solve one piece at a time, verify each step
4. **Use `llm_query()` for language tasks**: Summarization, extraction, reasoning about text
5. **Use `rlm_query()` for complex sub-problems**: When a sub-task needs its own code execution loop
6. **Accumulate results**: Store intermediate results in variables, combine at the end
## Example Pattern
# Step 1: Examine the input
print(f"Context length: {len(context)}")
print(context[:200])
Observe output, then:
# Step 2: Process with a sub-query
summary = llm_query(f"Summarize this text in 3 bullet points: {context[:1000]}")
print(summary)
Observe output, then:
# Step 3: Final answer
FINAL(summary)