refactor: Remove hardcoded Web Research section from system prompt
- Web Research instructions now come from skills/research/SKILL.md - Skills are dynamically loaded and injected via generate_skills_prompt() - Remove test_both_prompts_have_web_research test (no longer applicable) - Remove unused G3Status::research_complete() function This completes the externalization of research as a skill.
This commit is contained in:
@@ -274,23 +274,6 @@ impl G3Status {
|
|||||||
Self::done();
|
Self::done();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Print research completion notification: "g3: N research report(s) ... [done/failed]"
|
|
||||||
///
|
|
||||||
/// Used for real-time notification when background research completes.
|
|
||||||
pub fn research_complete(count: usize, all_succeeded: bool) {
|
|
||||||
let report_word = if count == 1 { "report" } else { "reports" };
|
|
||||||
print!(
|
|
||||||
"{} {} research {} ...",
|
|
||||||
Self::format_prefix(),
|
|
||||||
count,
|
|
||||||
report_word
|
|
||||||
);
|
|
||||||
if all_succeeded {
|
|
||||||
Self::done();
|
|
||||||
} else {
|
|
||||||
Self::failed();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -258,15 +258,6 @@ mod tests {
|
|||||||
assert!(non_native.contains("# Workspace Memory"));
|
assert!(non_native.contains("# Workspace Memory"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_both_prompts_have_web_research() {
|
|
||||||
let native = get_system_prompt_for_native();
|
|
||||||
let non_native = get_system_prompt_for_non_native();
|
|
||||||
|
|
||||||
assert!(native.contains("# Web Research"));
|
|
||||||
assert!(non_native.contains("# Web Research"));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_native_prompt_loaded_from_file() {
|
fn test_native_prompt_loaded_from_file() {
|
||||||
// Verify the include_str! macro successfully loads the file
|
// Verify the include_str! macro successfully loads the file
|
||||||
|
|||||||
@@ -158,27 +158,6 @@ facts:
|
|||||||
3. After all work is complete, write `envelope.yaml` with facts about the completed work
|
3. After all work is complete, write `envelope.yaml` with facts about the completed work
|
||||||
4. **THEN** call `plan_write` to mark the final item done - verification will check both files
|
4. **THEN** call `plan_write` to mark the final item done - verification will check both files
|
||||||
|
|
||||||
# Web Research
|
|
||||||
|
|
||||||
When you need to look up documentation, search for resources, find data online, or research a topic to complete your task, use the **research skill**. Research runs in the background while you continue working.
|
|
||||||
|
|
||||||
**Use the research skill** for any web research tasks:
|
|
||||||
- Researching APIs, SDKs, libraries, frameworks, or tools
|
|
||||||
- Finding approaches, patterns, or best practices
|
|
||||||
- Investigating bugs, issues, or error messages
|
|
||||||
- Looking up documentation or specifications
|
|
||||||
|
|
||||||
**How to use the research skill:**
|
|
||||||
1. Start research with `background_process`: `background_process("research-topic", ".g3/bin/g3-research 'your query'")`
|
|
||||||
2. Continue with other work while research runs in the background (30-120 seconds)
|
|
||||||
3. Check status: `shell(".g3/bin/g3-research --list")` or `shell(".g3/bin/g3-research --status <id>")`
|
|
||||||
4. Read the report when ready: `read_file(".g3/research/<id>/report.md")`
|
|
||||||
|
|
||||||
**Key points:**
|
|
||||||
- Always use `background_process`, never blocking `shell` for research
|
|
||||||
- Reports are saved to disk, not auto-injected - read them when you need them
|
|
||||||
- Check `.g3/research/<id>/status.json` for machine-readable status
|
|
||||||
|
|
||||||
# Workspace Memory
|
# Workspace Memory
|
||||||
|
|
||||||
Workspace memory is automatically loaded at startup alongside AGENTS.md. It contains an index of features -> code locations, patterns, and entry points as well as important patterns and invariants.
|
Workspace memory is automatically loaded at startup alongside AGENTS.md. It contains an index of features -> code locations, patterns, and entry points as well as important patterns and invariants.
|
||||||
|
|||||||
Reference in New Issue
Block a user