M5: skills (SKILL.md and skill tool)
Adds harness-core::config::markdown to parse SKILL.md frontmatter/body, a skill tool in harness-tools to invoke them, and system-prompt wiring so available skills are advertised to the model. Includes the rustfmt pass over the M5 files touched by this and the preceding LSP/rmcp work.
This commit is contained in:
@@ -162,7 +162,10 @@ impl DiagnosticsSource for LspPool {
|
||||
let Some(client) = self.client_for(&server).await else {
|
||||
return;
|
||||
};
|
||||
let ext = path.extension().and_then(|e| e.to_str()).unwrap_or_default();
|
||||
let ext = path
|
||||
.extension()
|
||||
.and_then(|e| e.to_str())
|
||||
.unwrap_or_default();
|
||||
let language_id = language_id_for_ext(ext);
|
||||
|
||||
let existing_version = {
|
||||
|
||||
@@ -19,7 +19,11 @@ async fn rust_analyzer_reports_a_type_error() {
|
||||
.unwrap();
|
||||
std::fs::create_dir_all(dir.path().join("src")).unwrap();
|
||||
let main_rs = dir.path().join("src/main.rs");
|
||||
std::fs::write(&main_rs, "fn main() {\n let x: i32 = \"not an integer\";\n let _ = x;\n}\n").unwrap();
|
||||
std::fs::write(
|
||||
&main_rs,
|
||||
"fn main() {\n let x: i32 = \"not an integer\";\n let _ = x;\n}\n",
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
let pool = LspPool::new(dir.path().to_path_buf(), vec![]);
|
||||
pool.touch(&main_rs).await;
|
||||
|
||||
Reference in New Issue
Block a user