[PR #134] [MERGED] feat: add skill system for injecting domain knowledge into orchestration loops #155

Closed
opened 2026-02-27 10:22:26 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mikeyobrien/ralph-orchestrator/pull/134
Author: @mikeyobrien
Created: 1/29/2026
Status: Merged
Merged: 1/30/2026
Merged by: @mikeyobrien

Base: mainHead: feat/skill-system


📝 Commits (8)

  • 6bda0f6 feat: add skill system for injecting domain knowledge into orchestration loops
  • 3b93872 chore: auto-commit before merge (loop primary)
  • 8038988 Revert "chore: auto-commit before merge (loop primary)"
  • 2d6d76a bugfix: fix plan/task prompt injection
  • 3ac1563 chore: bump to v2.3.1
  • e1727dc feat: auto-inject scratchpad content into prompt
  • de4a2d1 feat: add skill system for injecting domain knowledge into orchestration loops
  • 1906fa3 merge origin/feat/skill-system into feat/skill-system

📊 Changes

18 files changed (+2074 additions, -133 deletions)

View changed files

📝 Cargo.lock (+7 -7)
📝 Cargo.toml (+8 -8)
📝 crates/ralph-adapters/src/cli_backend.rs (+10 -13)
📝 crates/ralph-cli/src/main.rs (+1 -0)
crates/ralph-cli/src/skill_cli.rs (+76 -0)
📝 crates/ralph-cli/src/tools.rs (+6 -0)
crates/ralph-core/data/tasks-skill.md (+17 -0)
📝 crates/ralph-core/src/config.rs (+158 -1)
📝 crates/ralph-core/src/event_loop/mod.rs (+213 -32)
📝 crates/ralph-core/src/event_loop/tests.rs (+156 -0)
📝 crates/ralph-core/src/hatless_ralph.rs (+50 -60)
📝 crates/ralph-core/src/lib.rs (+5 -1)
crates/ralph-core/src/skill.rs (+203 -0)
crates/ralph-core/src/skill_registry.rs (+670 -0)
📝 crates/ralph-core/tests/event_loop_ralph.rs (+6 -11)
crates/ralph-core/tests/fixtures/skills/complex-test-skill/SKILL.md (+9 -0)
crates/ralph-core/tests/fixtures/skills/test-skill.md (+13 -0)
📝 crates/ralph-core/tests/smoke_runner.rs (+466 -0)

📄 Description

Summary

  • Adds a skills system with frontmatter parsing, directory discovery, and config overrides (hats/backends/tags/auto-inject)
  • Exposes skills via ralph tools skill load <name> and a prompt-index section for on-demand loading
  • Moves memories/tasks prompt content into built-in skills and injects them through a unified auto-inject pipeline

Changes

Core:

  • skill.rs and skill_registry.rs for parsing, discovery, overrides, filtering, index generation, and XML-wrapped loading
  • SkillsConfig and per-skill overrides in ralph.yml
  • EventLoop injects skill index + auto-inject skills (memories → tasks → custom)
  • HatlessRalph adds skill index between GUARDRAILS and OBJECTIVE

CLI/Data:

  • ralph tools skill load <name>
  • data/tasks-skill.md added as a built-in skill

Tests:

  • Frontmatter parser + registry unit tests
  • Smoke tests for discovery, index generation, hat filtering, prompt injection, and backwards compat

Test Plan

  • cargo test
  • Manual: ralph tools skill load ralph-memories outputs XML-wrapped content
  • Manual: run a loop and verify ## SKILLS appears and auto-inject skills are prepended

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mikeyobrien/ralph-orchestrator/pull/134 **Author:** [@mikeyobrien](https://github.com/mikeyobrien) **Created:** 1/29/2026 **Status:** ✅ Merged **Merged:** 1/30/2026 **Merged by:** [@mikeyobrien](https://github.com/mikeyobrien) **Base:** `main` ← **Head:** `feat/skill-system` --- ### 📝 Commits (8) - [`6bda0f6`](https://github.com/mikeyobrien/ralph-orchestrator/commit/6bda0f60a722ab34c972e7fca4ff81d2035a2e75) feat: add skill system for injecting domain knowledge into orchestration loops - [`3b93872`](https://github.com/mikeyobrien/ralph-orchestrator/commit/3b93872303885a70205233dc602f46b04bb140a8) chore: auto-commit before merge (loop primary) - [`8038988`](https://github.com/mikeyobrien/ralph-orchestrator/commit/80389887d1204ec805ea6055d2311bb43d04b4e5) Revert "chore: auto-commit before merge (loop primary)" - [`2d6d76a`](https://github.com/mikeyobrien/ralph-orchestrator/commit/2d6d76aa8081d24bf3ed84a4dd3b4b4ba6986f43) bugfix: fix plan/task prompt injection - [`3ac1563`](https://github.com/mikeyobrien/ralph-orchestrator/commit/3ac15638928c0d8adfc04e077b577cbbd911995d) chore: bump to v2.3.1 - [`e1727dc`](https://github.com/mikeyobrien/ralph-orchestrator/commit/e1727dcb39c4f389d2137bb11694665a6487aaac) feat: auto-inject scratchpad content into prompt - [`de4a2d1`](https://github.com/mikeyobrien/ralph-orchestrator/commit/de4a2d1218db338f6d668f5b8512e1795c803055) feat: add skill system for injecting domain knowledge into orchestration loops - [`1906fa3`](https://github.com/mikeyobrien/ralph-orchestrator/commit/1906fa310602140ed7c115f2f9a2ad8e4d45d35f) merge origin/feat/skill-system into feat/skill-system ### 📊 Changes **18 files changed** (+2074 additions, -133 deletions) <details> <summary>View changed files</summary> 📝 `Cargo.lock` (+7 -7) 📝 `Cargo.toml` (+8 -8) 📝 `crates/ralph-adapters/src/cli_backend.rs` (+10 -13) 📝 `crates/ralph-cli/src/main.rs` (+1 -0) ➕ `crates/ralph-cli/src/skill_cli.rs` (+76 -0) 📝 `crates/ralph-cli/src/tools.rs` (+6 -0) ➕ `crates/ralph-core/data/tasks-skill.md` (+17 -0) 📝 `crates/ralph-core/src/config.rs` (+158 -1) 📝 `crates/ralph-core/src/event_loop/mod.rs` (+213 -32) 📝 `crates/ralph-core/src/event_loop/tests.rs` (+156 -0) 📝 `crates/ralph-core/src/hatless_ralph.rs` (+50 -60) 📝 `crates/ralph-core/src/lib.rs` (+5 -1) ➕ `crates/ralph-core/src/skill.rs` (+203 -0) ➕ `crates/ralph-core/src/skill_registry.rs` (+670 -0) 📝 `crates/ralph-core/tests/event_loop_ralph.rs` (+6 -11) ➕ `crates/ralph-core/tests/fixtures/skills/complex-test-skill/SKILL.md` (+9 -0) ➕ `crates/ralph-core/tests/fixtures/skills/test-skill.md` (+13 -0) 📝 `crates/ralph-core/tests/smoke_runner.rs` (+466 -0) </details> ### 📄 Description ## Summary - Adds a skills system with frontmatter parsing, directory discovery, and config overrides (hats/backends/tags/auto-inject) - Exposes skills via `ralph tools skill load <name>` and a prompt-index section for on-demand loading - Moves memories/tasks prompt content into built-in skills and injects them through a unified auto-inject pipeline ## Changes **Core:** - `skill.rs` and `skill_registry.rs` for parsing, discovery, overrides, filtering, index generation, and XML-wrapped loading - `SkillsConfig` and per-skill overrides in `ralph.yml` - `EventLoop` injects skill index + auto-inject skills (memories → tasks → custom) - `HatlessRalph` adds skill index between GUARDRAILS and OBJECTIVE **CLI/Data:** - `ralph tools skill load <name>` - `data/tasks-skill.md` added as a built-in skill **Tests:** - Frontmatter parser + registry unit tests - Smoke tests for discovery, index generation, hat filtering, prompt injection, and backwards compat ## Test Plan - [x] `cargo test` - [x] Manual: `ralph tools skill load ralph-memories` outputs XML-wrapped content - [x] Manual: run a loop and verify `## SKILLS` appears and auto-inject skills are prepended --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 10:22:26 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ralph-orchestrator#155
No description provided.