Skill Dreaming: Evolving Repository Skills through Pull Request Streams
Organizations: Causal Dynamics Lab, USA
Abstract
Large language model (LLM) agents increasingly rely on reusable skills for complex software engineering tasks, making skill libraries essential for repository development and maintenance. However, repository-specific skills must evolve with changing code structures, implementation conventions, and maintenance requirements. Pull requests (PRs) provide a natural source of such knowledge by recording how repositories evolve through implementation and review. Meanwhile, new PRs must follow repository-specific implementation patterns, modify related components consistently, and ensure that existing tests continue to pass while adding coverage for new functionality. This creates a mutually reinforcing cycle: PRs provide knowledge for updating skills, while these skills improve future PRs, maintain repositories, and support further skill evolution. To enable this co-evolution of PRs, repositories, and skills, we propose Skill Dreaming, a framework that learns from PR streams to guide continuous repository development and maintenance. Given a repository and its PR history, Skill Dreaming builds a repository-specific skill library by extracting executable knowledge from validated PRs and continuously refines the skills as new PR information becomes available. These skills guide coding agents not only in implementing requested features but also in maintaining associated tests, documentation, compatibility, and repository conventions. By integrating PR analysis, skill management, code execution, and continuous integration, Skill Dreaming provides an end-to-end workflow for applying learned skills to repository changes and incorporating subsequent PR outcomes into future skill updates.
Figures & tables
| Method | PR Learning | Skill Library | Skill Reuse | Skill Evolution | Version Awareness | Repo Maintenance | Training-Free |
|---|---|---|---|---|---|---|---|
| ReasoningBank ( Ouyang et al., 2025 ) | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ |
| Trace2Skill ( Ni et al., 2026 ) | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ |
| Learning to Commit ( Li et al., 2026a ) | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ |
| CODESKILL ( Li et al., 2026c ) | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✗ |
| Socratic-SWE ( Xiao et al., 2026 ) | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ |
| SkillLens ( Yu et al., 2026 ) | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ |
| Operation | Decision and state change |
|---|---|
| Add | Create a new skill when no applicable skill exists. |
| Update | Revise an existing skill using new information. |
| Specialize | Narrow a skill’s trigger for a specific task or context. |
| Extend | Add compatible procedures or maintenance requirements. |
| Conflict | Identify incompatible rules requiring resolution. |
| Supersede | Replace outdated rules while preserving their history. |
| Benchmark | Backbone | Base | Ours | |
|---|---|---|---|---|
| SWE-bench Pro ( Deng et al., 2025 ) | Claude Opus 5 | 0.79 | 0.88 | +9.0% |
| SWE-bench Verified ( OpenAI, 2024a ) | Claude Opus 5 | 0.83 | 0.92 | +9.0% |
| SWE-bench Verified ( OpenAI, 2024a ) | Claude Sonnet 4.6 | 0.77 | 0.79 | +2.0% |
| Method | Resolved Rate | Safe Rate | Existing | Surf. F1 | Algn. |
|---|---|---|---|---|---|
| Base Agent | 0.83 | 0.83 | 0.83 | 0.62 | 0.38 |
| Append-only | 0.88 | 0.94 | 0.94 | 0.72 | 0.44 |
| Trace2Skill ( Ni et al., 2026 ) | 0.76 | 0.78 | 0.78 | 0.60 | 0.37 |
| Learning to Commit ( Li et al., 2026a ) | 0.72 | 0.67 | 0.67 | 0.64 | 0.49 |
| SkillLens ( Yu et al., 2026 ) | 0.90 | 0.61 | 0.61 | 0.59 | 0.37 |
| CODESKILL ( Li et al., 2026c ) | 0.79 | 0.56 | 0.56 | 0.46 | 0.32 |
| Repository | Category | Base TS | Ours TS | Base F1 | Ours F1 |
|---|---|---|---|---|---|
| Click | CLI / Dev Tools | 0.72 | 0.83 | 0.70 | 0.72 |
| Black | CLI / Formatter | 0.53 | 0.60 | 0.48 | 0.67 |
| Rich | CLI / Rendering | 0.90 | 1.00 | 0.78 | 0.90 |
| HTTPX | Web / HTTP | 0.80 | 0.93 | 0.72 | 0.80 |
| Arrow | Data / Scientific | 0.58 | 0.75 | 0.71 | 0.74 |
| Agents | Agent Framework | 0.50 | 0.70 | 0.85 | 0.88 |
| Granularity | Top-1 | Top-3 | R@5 | R@10 | MRR |
|---|---|---|---|---|---|
| Module | 1.00 | 1.00 | 0.99 | 0.99 | 1.00 |
| File | 0.64 | 0.90 | 0.92 | 0.96 | 0.77 |
| Function | 0.25 | 0.39 | 0.33 | 0.33 | 0.33 |
| PR Category | Precision | Recall | F1 | Support |
|---|---|---|---|---|
| Usable | 0.93 | 0.94 | 0.94 | 260 |
| Repairable | 0.87 | 0.90 | 0.88 | 50 |
| Outdated | 0.90 | 0.91 | 0.90 | 190 |
| Irrelevant | 0.96 | 0.93 | 0.94 | 450 |
| Unsafe | 0.85 | 0.88 | 0.86 | 50 |
| Method | TS | Surface F1 |
|---|---|---|
| Single Sample | 0.94 | 0.80 |
| Best-of- | 1.00 | 0.87 |
| Trace2Skill ( Ni et al., 2026 ) | 0.78 | 0.60 |
| SkillLens-inspired composition ( Yu et al., 2026 ) | 0.61 | 0.71 |
| Skill Dreaming | 1.00 | 0.87 |
| Information Source / Method | TS | Reuse Precision | Recall |
|---|---|---|---|
| Positive PRs only | 0.84 | 0.67 | 0.78 |
| Review / reply only | 0.83 | 0.48 | 0.56 |
| Trace2Skill ( Ni et al., 2026 ) | 0.72 | 0.61 | 0.76 |
| Socratic ( Xiao et al., 2026 ) | 0.83 | 0.67 | 0.77 |
| Skill Dreaming | 0.89 | 0.72 | 0.82 |
| Skill Filtering | Hybrid Retrieval | |||||
|---|---|---|---|---|---|---|
| Method | TS | Surface F1 | Precision | TS | Surface F1 | Precision |
| No Supersession | 0.67 | 0.51 | 0.92 | 0.83 | 0.74 | 0.97 |
| No Stale Filtering | 0.72 | 0.64 | 0.95 | 0.78 | 0.71 | 0.92 |
| Neither Filter | 0.78 | 0.69 | 0.93 | 0.89 | 0.74 | 0.97 |
| Append-only | 0.89 | 0.75 | 0.92 | 0.89 | 0.74 | 0.92 |
| Skill Dreaming (Full) | 0.93 | 0.75 | 0.93 | 0.94 | 0.77 | 0.90 |
| Skill Update Method | TS |
|---|---|
| Append-only | 0.89 |
| Parent-only | 0.87 |
| Rewrite-all | 0.82 |
| SkillLens-style selective ( Yu et al., 2026 ) | 0.83 |
| No conflict/supersede | 0.78 |
| Learning to Commit-style ( Li et al., 2026a ) | 0.78 |
| Method | TS | Surface F1 | Tokens | Time (s) |
|---|---|---|---|---|
| SkillLens ( Yu et al., 2026 ) | 0.61 | 0.71 | 14,300 | 32.90 |
| Skill Dreaming | 0.93 | 0.80 | 26,894 | 36.00 |
Automated Software Engineering
Automated Software Engineering uses AI, search, and verification methods to automate tasks across the software development lifecycle.
See all 82 papers