feat: Externalize research tool as embedded skill
Replaces the built-in research/research_status tools with a portable skill-based approach: - Add embedded skills infrastructure (skills compiled into binary) - Add repo-local skills/ directory support (highest priority) - Create research skill with SKILL.md and g3-research shell script - Script extraction to .g3/bin/ with version tracking - Filesystem-based handoff via .g3/research/<id>/status.json - Remove PendingResearchManager and all research tool code - Update system prompt to reference skill instead of tool Benefits: - No special tool infrastructure needed (just shell + read_file) - Context-efficient (reports stay on disk until needed) - Crash-resilient (state persisted to filesystem) - Portable (skill can be overridden per-workspace) Breaking change: research tool calls now return a deprecation message pointing to the research skill.
This commit is contained in:
@@ -22,10 +22,12 @@
|
||||
//!
|
||||
//! # Discovery
|
||||
//!
|
||||
//! Skills are discovered from:
|
||||
//! 1. Global: `~/.g3/skills/` (lowest priority)
|
||||
//! 2. Extra paths from config (medium priority)
|
||||
//! 3. Workspace: `.g3/skills/` (highest priority, overrides others)
|
||||
//! Skills are discovered from (highest to lowest priority):
|
||||
//! 1. Repo: `skills/` at repo root (checked into git, overrides all)
|
||||
//! 2. Workspace: `.g3/skills/` (local customizations)
|
||||
//! 3. Extra paths from config
|
||||
//! 4. Global: `~/.g3/skills/`
|
||||
//! 5. Embedded: compiled into binary (always available)
|
||||
//!
|
||||
//! # Usage
|
||||
//!
|
||||
@@ -36,7 +38,10 @@
|
||||
mod parser;
|
||||
mod discovery;
|
||||
mod prompt;
|
||||
mod embedded;
|
||||
pub mod extraction;
|
||||
|
||||
pub use parser::Skill;
|
||||
pub use discovery::discover_skills;
|
||||
pub use prompt::generate_skills_prompt;
|
||||
pub use embedded::{get_embedded_skills, get_embedded_skill, EmbeddedSkill};
|
||||
|
||||
Reference in New Issue
Block a user