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.
npx skills add GrayCodeAI/starling --skill research-a-evolvegit clone --depth 1 https://github.com/GrayCodeAI/starlingWrote 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.
[](https://agentmods.dev/skills/graycodeai/starling/research-a-evolve)<a href="https://agentmods.dev/skills/graycodeai/starling/research-a-evolve"><img src="https://agentmods.dev/badge/skills/graycodeai/starling/research-a-evolve/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.
<a href="https://agentmods.dev/skills/graycodeai/starling/research-a-evolve"><img src="https://agentmods.dev/badge/skills/graycodeai/starling/research-a-evolve.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00038 | $0.00962 |
| Opus 5.5 | $0.00015 | $0.00385 |
| Sonnet 5.5 | $0.00008 | $0.00192 |
| Haiku 4.5 | $0.00004 | $0.00096 |
Grade A, and why
research-a-evolve scanned grade A with 0 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 1mo ago.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Pattern
Test all falsy-but-valid values: 0, False, "", [], {}
Process
- List all input boundaries
- Run each against the implementation
- Check both output AND side effects
Skills accumulate in the workspace `skills/` directory. The evolver curates them: ACCEPT new skills, MERGE overlapping ones, SKIP redundant proposals. Target: 5–10 broad skills, not 30 narrow ones.
## Common Issues
### Evolution score plateaus early
**Cause**: Batch size too small or evolver doesn't see enough failure diversity.
**Fix**: Increase `batch_size` (try 15–20) and ensure benchmark tasks cover diverse failure modes. Set `trajectory_only=False` so the evolver sees scores.
### Agent workspace grows too large
**Cause**: Skill library bloat from accepting every proposal.
**Fix**: The default SkillForge engine curates skills automatically. If using a custom engine, implement merging logic to consolidate overlapping skills.
### Git conflicts during evolution
**Cause**: Multiple evolution runs on the same workspace.
**Fix**: Each `evolver.run()` should operate on its own workspace copy. Use `Evolver(agent="seed-name")` to auto-copy the seed each time.
### LLM provider errors during evolution
**Cause**: Rate limits or authentication issues with the evolver model.
**Fix**: Check `evolver_model` config. For Bedrock, ensure AWS credentials are configured. For Anthropic, set `ANTHROPIC_API_KEY`.
### Custom agent not picking up evolved state
**Cause**: Agent doesn't implement `reload_from_fs()`.
**Fix**: Override `reload_from_fs()` in your `BaseAgent` subclass to re-read prompts, skills, and memory from the workspace after each evolution cycle.
## Usage Instructions for Agents
When this skill is loaded:
1. **Read this entire file** before implementing any evolution workflow
2. **Start with the Quick Start** — get a minimal evolution running before customizing
3. **Use built-in seeds when possible** — `"swe"`, `"terminal"`, `"mcp"` have battle-tested configurations
4. **Always initialize git** in custom workspaces before running evolution
5. **Check convergence settings** — default `egl_threshold=0.05` with `egl_window=3` may be too aggressive for your domain
6. **Inspect evolved state** after each run — read `prompts/system.md` and `skills/` to understand what the evolver learned
**Pro Tips:**
- Set `trajectory_only=False` (default) so the evolver sees scores — this accelerates learning
- Start with `batch_size=10` and adjust based on task diversity
- Use `holdout_ratio=0.2` to prevent overfitting to training tasks
- After evolution, `git diff evo-1 evo-N` shows the cumulative effect of all mutations
- If the evolver isn't finding skills, enrich `feedback.detail` strings with specific failure reasons
**Warning Signs:**
- Score oscillating between cycles → benchmark evaluation may be non-deterministic
- Skills directory growing past 15+ skills → engine isn't merging/curating properly
- Prompt growing past 10K chars → evolution is appending without refactoring
- `converged=True` after 2-3 cycles → increase `egl_window` and decrease `egl_threshold`
## References
- **Architecture deep dive**: See [references/architecture.md](references/architecture.md)
- **API reference**: See [references/api.md](references/api.md)
- **Step-by-step tutorials**: See [references/tutorials.md](references/tutorials.md)
- **Real-world examples**: See [references/examples.md](references/examples.md)
- **GitHub issues & solutions**: See [references/issues.md](references/issues.md)
- **Design patterns**: See [references/design-patterns.md](references/design-patterns.md)
- **Release history**: See [references/releases.md](references/releases.md)
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.
- 1mo ago First seen · 91 lines · 38 tokens per session scan A 1f3ee2bbe1b4
research-a-evolve is a skill published in the GitHub repository GrayCodeAI/starling (2 stars, last pushed 1mo ago), licensed MIT. It adds 38 tokens to every session and 962 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
evolving-ai-agents
Provides guidance for automatically evolving and optimizing AI agents across any domain using LLM-driven evolution algorithms. Use when building self-improving agents, optimizing agent prompts and skills against benchmarks, or implementing automated agent evaluation loops.
evolving-ai-agents
Provides guidance for automatically evolving and optimizing AI agents across any domain using LLM-driven evolution algorithms. Use when building self-improving agents, optimizing agent prompts and skills against benchmarks, or implementing automated agent evaluation loops.
firecrawl-build-scrape
Integrate Firecrawl /scrape into product code for single-page extraction. Use when an app already has a URL and needs markdown, HTML, links, screenshots, metadata, or structured page output. Prefer this skill over broader crawl patterns when the feature is page-level.
llmwiki
Build and use a persistent, citation-traceable knowledge wiki from documents, research papers, notes, or project documentation. Use for llmwiki projects, retrieving reusable evidence for an agent task, or compiling a corpus for repeated questions. A one-off file read or live web search does not need a wiki.
crit-story
Author a crit story and continue the interactive review loop only when the user explicitly invokes crit-story or directly asks you to generate a crit story. Do not infer this skill from generic review, PR, or diff-review requests.
gpt-image-gen
MUST read before generating images. Prompt-crafting guide for gpt-image-2.5 covering tool routing (native imagegeneration server tool vs the generateimage tool), model and quality selection, prompt structure, exact text rendering, reference-image editing, transparent assets, output formats, and multi-turn refinement.