Install
Terminal · npx$
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practicesWorks with Paperclip
How Metaclaw Evolving Agent fits into a Paperclip company.
Metaclaw Evolving Agent drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.
S
SaaS FactoryPaired
Pre-configured AI company — 18 agents, 18 skills, one-time purchase.
$27$59
Explore packSource file
SKILL.md410 linesExpandCollapse
---name: metaclaw-evolving-agentdescription: Deploy and configure MetaClaw — an agent that meta-learns and evolves from live conversations using skills injection, RL training, and smart scheduling.triggers: - set up metaclaw agent - configure evolving agent - metaclaw skills mode - metaclaw rl training - metaclaw madmax scheduler - agent meta-learning setup - tinker rl backend configuration - metaclaw proxy deployment--- # MetaClaw Evolving Agent > Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection MetaClaw is an OpenAI-compatible proxy agent that intercepts conversations, injects learned skills, and continuously improves itself through real-world interactions. It supports three modes: lightweight skills injection, immediate RL training, and a smart "madmax" scheduler that defers weight updates to idle/sleep windows. --- ## Installation ```bash# Minimal — skills injection only, no GPU requiredpip install -e . # Full RL training support (torch, transformers, tinker)pip install -e ".[rl]" # Skill evolution via LLM summarizationpip install -e ".[evolve]" # Google Calendar scheduler for madmax modepip install -e ".[scheduler]" # Recommended: everythingpip install -e ".[rl,evolve,scheduler]"``` --- ## Quick Start ```bash# One-time interactive config wizardmetaclaw setup # Start in default madmax mode (skills + RL + smart scheduler)metaclaw start # Skills only — no GPU, no Tinker neededmetaclaw start --mode skills_only # RL mode — trains immediately when batch is fullmetaclaw start --mode rl # RL without scheduler (same as above, explicit)metaclaw start --mode rl``` After `metaclaw start`, a local OpenAI-compatible proxy is running. Point your client (OpenClaw or any OpenAI SDK consumer) at `http://localhost:<port>` instead of the upstream LLM endpoint. --- ## Configuration `metaclaw setup` writes a config file (default: `~/.metaclaw/config.yaml`). You can also edit it directly: ```yaml# ~/.metaclaw/config.yaml proxy: host: 0.0.0.0 port: 8080 llm: provider: kimi # kimi | qwen | claude | minimax | openai | gemini base_url: https://api.moonshot.cn/v1 model: moonshot-v1-8k # api_key loaded from env: METACLAW_LLM_API_KEY skills: enabled: true max_injected: 5 # max skills injected per turn summarize_after_session: true rl: enabled: true backend: auto # auto | tinker | mint batch_size: 32 algorithm: grpo opd_teacher: false # optional teacher distillation scheduler: # madmax mode only enabled: true sleep_hours: [22, 7] # local 22:00–07:00 idle_timeout_minutes: 15 google_calendar: false # set true + configure OAuth for meeting detection logging: level: info log_dir: ~/.metaclaw/logs``` ### Environment Variables ```bashexport METACLAW_LLM_API_KEY="your-llm-api-key"export METACLAW_TINKER_API_KEY="your-tinker-api-key" # rl modeexport METACLAW_MINT_API_KEY="your-mint-api-key" # if backend=mintexport GOOGLE_CALENDAR_CREDENTIALS_PATH="path/to/creds.json" # scheduler``` --- ## Operating Modes | Mode | Command | GPU Required | Description ||------|---------|--------------|-------------|| `skills_only` | `metaclaw start --mode skills_only` | No | Proxy + skills injection + auto-summarization || `rl` | `metaclaw start --mode rl` | Via API | Skills + GRPO training when batch fills || `madmax` | `metaclaw start` | Via API | Skills + RL + scheduler (trains only during idle/sleep/meetings) | --- ## Python API ### Programmatic startup ```pythonimport asynciofrom metaclaw import MetaClawAgent, AgentConfig, Mode async def main(): config = AgentConfig.from_yaml("~/.metaclaw/config.yaml") agent = MetaClawAgent(config, mode=Mode.MADMAX) await agent.start() asyncio.run(main())``` ### Manual skill injection ```pythonfrom metaclaw.skills import SkillStore, SkillInjector store = SkillStore(path="~/.metaclaw/skills") # Add a skill manuallystore.add( name="code-review-checklist", content="Always check for: 1) error handling, 2) type hints, 3) docstrings.", tags=["code", "review"]) # Retrieve top-k relevant skills for a queryinjector = SkillInjector(store)relevant = injector.retrieve(query="review my Python function", top_k=3)for skill in relevant: print(skill.name, skill.score)``` ### Intercepting and recording conversations ```pythonfrom metaclaw.proxy import ConversationInterceptorfrom metaclaw.memory import ExperienceBuffer buffer = ExperienceBuffer(max_size=1000) interceptor = ConversationInterceptor( upstream_url="https://api.moonshot.cn/v1", on_complete=buffer.record # called after each turn with (messages, response)) # buffer.record signature:async def on_complete(messages: list[dict], response: dict) -> None: ...``` ### Triggering RL training manually ```pythonfrom metaclaw.training import RLTrainer, TrainingConfig trainer = RLTrainer( config=TrainingConfig( backend="tinker", # or "mint" algorithm="grpo", batch_size=32, lora_rank=16, )) # Collect a batch from the experience buffer and trainasync def run_training(buffer): batch = buffer.sample(n=32, split="support") # support/query separation result = await trainer.train(batch) print(f"Training complete. Loss: {result.loss:.4f}, Steps: {result.steps}")``` ### Reward modeling ```pythonfrom metaclaw.rewards import RewardModel reward_model = RewardModel(provider="llm") # uses configured LLM for scoring async def score_turn(prompt: str, response: str) -> float: score = await reward_model.score(prompt=prompt, response=response) return score # float in [-1.0, 1.0]``` --- ## Skills Lifecycle ```Conversation turn │ ▼ SkillInjector.retrieve() ← vector search over SkillStore │ injects top-k skills into system prompt ▼ LLM responds │ ▼ ExperienceBuffer.record() ← stores (context, response, metadata) │ ▼ (end of session) SkillSummarizer.run() ← LLM extracts reusable patterns │ ▼ SkillStore.upsert() ← new/updated skills persisted to disk``` --- ## Integration: OpenAI SDK as Client Point any OpenAI SDK client at the MetaClaw proxy: ```pythonfrom openai import OpenAI # MetaClaw proxy is running on localhost:8080client = OpenAI( base_url="http://localhost:8080/v1", api_key="not-used-but-required-by-sdk") response = client.chat.completions.create( model="moonshot-v1-8k", # passed through to upstream messages=[ {"role": "user", "content": "Review my pull request strategy."} ])print(response.choices[0].message.content)``` Skills are injected transparently — the client code does not change. --- ## Scheduler (MadMax Mode) The scheduler ensures RL weight updates never interrupt active use: ```pythonfrom metaclaw.scheduler import MadMaxScheduler, SchedulerConfig scheduler = MadMaxScheduler( config=SchedulerConfig( sleep_hours=(22, 7), # train between 22:00–07:00 local time idle_timeout_minutes=15, # train after 15 min of no conversations google_calendar=True, # also train during calendar meetings credentials_path="creds.json" )) # Check if it's safe to train right nowif await scheduler.is_training_window(): await trainer.train(batch)``` ### Google Calendar Setup ```bash# 1. Enable Google Calendar API in Google Cloud Console# 2. Download OAuth2 credentials as creds.json# 3. Set path in config or envexport GOOGLE_CALENDAR_CREDENTIALS_PATH="/path/to/creds.json" # 4. First run will open browser for OAuth consentmetaclaw start``` --- ## Support/Query Set Separation MetaClaw separates experience into support and query sets to prevent stale rewards from polluting updates: ```pythonfrom metaclaw.memory import ExperienceBuffer buffer = ExperienceBuffer( max_size=2000, support_ratio=0.5 # 50% support, 50% query) # During training:support_batch = buffer.sample(n=16, split="support") # used to compute reward signalquery_batch = buffer.sample(n=16, split="query") # used for gradient update await trainer.train_meta(support=support_batch, query=query_batch)``` --- ## RL Backends ### Tinker (default) ```yamlrl: backend: tinker tinker_project: my-metaclaw-project lora_rank: 16 learning_rate: 1e-4``` ### MinT ```bash# Install MinT compatibility layer separatelypip install metaclaw-mint``` ```yamlrl: backend: mint mint_endpoint: https://your-mint-endpoint``` ### Auto-detection ```yamlrl: backend: auto # tries tinker first, falls back to mint, errors if neither available``` --- ## Troubleshooting **Proxy not reachable after `metaclaw start`**- Check port conflicts: `lsof -i :8080`- Change `proxy.port` in config and restart **`rl` mode: "No training backend available"**- Ensure `pip install -e ".[rl]"` completed successfully- Verify `METACLAW_TINKER_API_KEY` or `METACLAW_MINT_API_KEY` is set- Try `rl.backend: tinker` explicitly instead of `auto` **Skills not persisting between sessions**- Confirm `skills.summarize_after_session: true` in config- Check write permissions on `~/.metaclaw/skills/`- Run `metaclaw skills list` to inspect stored skills **Madmax mode never trains**- Verify `scheduler.sleep_hours` covers your timezone's night- Lower `scheduler.idle_timeout_minutes` for testing (e.g., `1`)- Check scheduler logs: `~/.metaclaw/logs/scheduler.log` **Google Calendar integration fails**- Re-run OAuth flow: delete `~/.metaclaw/token.json` and restart- Ensure Calendar API is enabled in your Google Cloud project **OPD teacher distillation errors**- Only supported with `rl.backend: tinker`- Requires a separate teacher model endpoint in config: ```yaml rl: opd_teacher: true teacher_base_url: https://api.openai.com/v1 teacher_model: gpt-4o ``` --- ## CLI Reference ```bashmetaclaw setup # interactive config wizardmetaclaw start # start in madmax modemetaclaw start --mode skills_onlymetaclaw start --mode rlmetaclaw start --config path/to/config.yaml metaclaw skills list # show all stored skillsmetaclaw skills delete <name> # remove a skillmetaclaw skills export skills.json metaclaw status # show proxy, scheduler, training statusmetaclaw logs # tail all logsmetaclaw logs --component scheduler```Related skills
Agency Agents Ai Specialists
Install Agency Agents Ai Specialists skill for Claude Code from aradotso/trending-skills.
Agent Browser Automation
Install Agent Browser Automation skill for Claude Code from aradotso/trending-skills.
Antigravity Manager
Install Antigravity Manager skill for Claude Code from aradotso/trending-skills.