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:
Dhanji R. Prasanna
2026-02-05 13:41:53 +11:00
parent 0b308853a0
commit 9443f9333b
3 changed files with 0 additions and 47 deletions

View File

@@ -274,23 +274,6 @@ impl G3Status {
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)]

View File

@@ -258,15 +258,6 @@ mod tests {
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]
fn test_native_prompt_loaded_from_file() {
// Verify the include_str! macro successfully loads the file

View File

@@ -158,27 +158,6 @@ facts:
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
# 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 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.