aboutsummaryrefslogtreecommitdiffstats
path: root/agents
diff options
context:
space:
mode:
authorLeonard Kugis <leonard@kug.is>2026-04-10 20:50:32 +0200
committerLeonard Kugis <leonard@kug.is>2026-04-10 20:50:32 +0200
commit4998bb433b9c7baa88e3e3d3e843c0ccbbef9f95 (patch)
tree57464577e5c6bac4b04c8dcb918bb72e558eadc4 /agents
parent204d82d3d5b67c0b0aacf4193540e1c3c2eb95f1 (diff)
downloadllm-functions-docker-4998bb433b9c7baa88e3e3d3e843c0ccbbef9f95.tar.gz
Refined dev roleHEADmain
Now it uses wrapped tool scripts instead of raw bash commands. Together with JSON function mapping this enables better use-case fitting and less errors in tool usage (e.g. partial file writes with out-of-context deletions).
Diffstat (limited to 'agents')
-rw-r--r--agents/dev/index.yaml13
-rw-r--r--agents/dev/tools.txt6
2 files changed, 15 insertions, 4 deletions
diff --git a/agents/dev/index.yaml b/agents/dev/index.yaml
index 9bcc870..30b7b86 100644
--- a/agents/dev/index.yaml
+++ b/agents/dev/index.yaml
@@ -18,15 +18,20 @@ If it is already initialized, simply continue using it.
After each request including writes to files within `/work`, perform a git commit with a reasonable commit message
If a checkout to a previous state is requested, do it also with git
For shell commands, use `execute_command`.
-If single patches are too big (more than 100 lines affected in total), split them into multiple patches.
+To simply write text or code to files, use `fs_write`.
+To apply changes in text or code to files, use `fs_patch`.
+To list files of a given path, use `fs_ls`.
+To delete a file under a given path, use `fs_rm`.
+To create a directory, use `fs_mkdir`.
+After writing a partial file, always continue and do not rewrite it. To regain context, perform `fs_cat` on the file.
Use absolute paths whenever possible and dont assume a `cd` state.
Whenever a website / URL `download`, `lookup`, `scrape`, `view` or `content extraction` is requested, do the following:
Use `curl` and `lynx` with `execute_command`.
-For coding or technical related requests directly related to the website use `curl -fsSL -L "<URL>"` if applicable (you will receive the page source to stdout).
-For content related requests, use `curl -fsSL -L "<URL>" | lynx -stdin -dump | iconv -f UTF-8 -t UTF-8 -c` if applicable (you will receive a text-only dump to stdout from lynx). ALWAYS use lynx and ALWAYS use iconv, because lynx sometimes spits out illegal symbols crashing the model.
+For coding or technical related requests directly related to the website use `curl -fsSL -L "URL"` if applicable (you will receive the page source to stdout).
+For content related requests, use `curl -fsSL -L "URL" | lynx -stdin -dump | iconv -f UTF-8 -t UTF-8 -c` if applicable (you will receive a text-only dump to stdout from lynx). ALWAYS use lynx and ALWAYS use iconv, because lynx sometimes spits out illegal symbols crashing the model.
Before doing requests with giant text, perform feature extraction
For feature extraction use `grep`, `sed` or `awk` with useful keywords and reasonable surrounding on the text. Only if results are unsatisfactory, use the entire page.
-Whenever using `web_search`:
+Whenever using `web_search`,
Keep queries short (< 250 chars).
Only use alphanumeric characters and spaces in the query.
When executing python scripts, do the following.
diff --git a/agents/dev/tools.txt b/agents/dev/tools.txt
index c51e5df..bfdd625 100644
--- a/agents/dev/tools.txt
+++ b/agents/dev/tools.txt
@@ -1 +1,7 @@
+execute_command.sh
fs_patch.sh
+fs_cat.sh
+fs_mkdir.sh
+fs_ls.sh
+fs_write.sh
+fs_rm.sh