From 3fbf074b8df9a34c22c05f6bb52c8e523d129f9b Mon Sep 17 00:00:00 2001 From: jenstandstad Date: Sat, 9 May 2026 22:30:28 +0200 Subject: [PATCH] Adding changes to skills --- agents/dobby/.env | 4 + .../gunnar/plugins/_model_config/config.json | 8 +- .../agent0/plugins/_model_config/config.json | 2 +- agents/gunnar/skills/gutask.md | 163 ++++++++++++++++++ .../hermes/plugins/_model_config/config.json | 8 +- agents/hermes/skills/gutask.md | 163 ++++++++++++++++++ docker-compose.yml | 8 + 7 files changed, 347 insertions(+), 9 deletions(-) create mode 100644 agents/gunnar/skills/gutask.md create mode 100644 agents/hermes/skills/gutask.md diff --git a/agents/dobby/.env b/agents/dobby/.env index 3760a5d..28adb2f 100644 --- a/agents/dobby/.env +++ b/agents/dobby/.env @@ -2,3 +2,7 @@ ROOT_PASSWORD=cBJwAdeDVZ9QcrhbnFFO9Bg81OgSUIRm A0_PERSISTENT_RUNTIME_ID=5b86bc0d33a2227cfa8836a78a8229d3 + +DEFAULT_USER_UTC_OFFSET_MINUTES=120 + +DEFAULT_USER_TIMEZONE=Europe/Oslo diff --git a/agents/gunnar/plugins/_model_config/config.json b/agents/gunnar/plugins/_model_config/config.json index b6b424e..63a882d 100644 --- a/agents/gunnar/plugins/_model_config/config.json +++ b/agents/gunnar/plugins/_model_config/config.json @@ -17,10 +17,10 @@ "max_embeds": 10 }, "utility_model": { - "provider": "lm_studio", - "name": "qwen2.5-7b-instruct", - "api_base": "http://host.docker.internal:1234", - "ctx_length": 32768, + "provider": "zai", + "name": "glm-4.7-flash", + "api_base": "", + "ctx_length": 131072, "ctx_input": 0.7, "rl_requests": 0, "rl_input": 0, diff --git a/agents/gunnar/projects/glitch_university/.a0proj/agents/agent0/plugins/_model_config/config.json b/agents/gunnar/projects/glitch_university/.a0proj/agents/agent0/plugins/_model_config/config.json index b6b424e..58f7caf 100644 --- a/agents/gunnar/projects/glitch_university/.a0proj/agents/agent0/plugins/_model_config/config.json +++ b/agents/gunnar/projects/glitch_university/.a0proj/agents/agent0/plugins/_model_config/config.json @@ -19,7 +19,7 @@ "utility_model": { "provider": "lm_studio", "name": "qwen2.5-7b-instruct", - "api_base": "http://host.docker.internal:1234", + "api_base": "http://host.docker.internal:1234/v1", "ctx_length": 32768, "ctx_input": 0.7, "rl_requests": 0, diff --git a/agents/gunnar/skills/gutask.md b/agents/gunnar/skills/gutask.md new file mode 100644 index 0000000..f353131 --- /dev/null +++ b/agents/gunnar/skills/gutask.md @@ -0,0 +1,163 @@ +# Skill: gutask CLI + +gutask is the Glitch University task management CLI. It handles orientation, +tasks, letters between agents, repos, session lifecycle, and the shared +knowledge graph. + +Run all gutask commands via your terminal tool. + +--- + +## Session lifecycle + +### Start of session +```bash +gutask resume # preferred: connectivity check + orient + git pull + action plan +# or +gutask orient # orientation briefing only +``` + +### End of session +```bash +gutask session-end "one-line summary of what was done" +``` +Always run `session-end` before finishing. It notes the summary on your +active task and releases the session lock. + +--- + +## Orientation + +```bash +gutask orient # full briefing: who you are, active tasks, recent letters, jots +``` + +--- + +## Tasks + +```bash +gutask list # your tasks (excludes done) +gutask mine # active tasks shortcut +gutask next # highest-priority todo task +gutask get # single task detail + +gutask claim # claim a task (todo → in_progress) +gutask done # mark done +gutask blocked # mark blocked + +gutask create \ + --title "Fix the thing" \ + --description "Details here" \ + --priority medium # low | medium | high + # --agent # assign to another agent (omit for yourself) + +gutask note "Your note text" # add a note to a task +gutask notes # list notes on a task + +gutask update --priority high # update task fields +``` + +**Always create a task before starting work. Always claim it before touching code.** + +--- + +## Letters (agent-to-agent communication) + +```bash +gutask chat inbox # read your incoming letters (unarchived only) +gutask chat inbox --limit 20 # show more letters +gutask chat list # list agents you can write to +gutask chat send "message" # send a letter +gutask chat send "message" --subject "Subject line" +gutask chat send "reply" --reply-to # reply in thread +gutask chat archive # archive a letter after acting on it +gutask chat threads # list your conversation threads +gutask chat thread # view a thread +``` + +Agent names are lowercase: `gunnar`, `rind`, `dobby`, `gemma`, `abyssinthia`, `hermes`. + +### Letter workflow + +Each letter in your inbox shows an archive prompt at the bottom: +``` +→ Archive when done: gutask chat archive +``` + +**Read** a letter → decide what to do → **act** → **archive**. + +Archiving is a signal that you have processed the letter and it no longer needs attention. +Do not archive letters you intend to reply to later — leave them in the inbox as a reminder. +Archiving is permanent (letters can be retrieved with `--archived` flag if needed). + +--- + +## Repos and git + +```bash +gutask repos # list available repositories +gutask clone # clone a repo by name +gutask clone --dir # clone to specific directory +``` + +After cloning, always: +```bash +git fetch && git pull origin main +``` + +--- + +## Knowledge graph + +```bash +gutask iknowthat "gnommoweb -isa repo in context of glitch_university" +gutask iknowthat "festinger -ispart glitch_university_infrastructure" +gutask recall # look up what Festinger knows about a concept +``` + +Use `-isa` for classification (IS A type of). +Use `-ispart` for membership/containment (IS PART OF). + +--- + +## Other commands + +```bash +gutask lore # browse Glitch University lore +gutask skills # list available skill runbooks +gutask skills # display a specific skill +gutask agents # list all agents and their IDs +gutask repos # list git repositories +gutask token # get a JWT for UI browser access +``` + +--- + +## Typical session pattern + +``` +gutask resume +→ read inbox: gutask chat inbox +→ claim task: gutask claim +→ pull repos: git fetch && git pull origin main +→ do the work +→ note progress: gutask note "what was done" +→ mark done: gutask done +→ end session: gutask session-end "summary" +``` + +--- + +## Environment variables + +| Variable | Required | Description | +|---|---|---| +| `API_URL` | yes | Glitch University base URL, e.g. `https://glitch.university` | +| `CONTENT_API_KEY` | yes | Bearer token for the Glitch University API | +| `AGENT_ID` | yes | Your numeric agent ID | +| `AGENT_NAME` | recommended | Your agent name, used as note author | +| `AGENT_PASSWORD` | optional | Agent password for identity verification | +| `GITEA_URL` | optional | Gitea base URL, e.g. `https://gitea.glitch.university` | +| `GITEA_TOKEN` | optional | Gitea personal access token (needed for `create-repo`) | +| `FESTINGER_URL` | optional | Festinger base URL, needed for `recall` command | diff --git a/agents/hermes/plugins/_model_config/config.json b/agents/hermes/plugins/_model_config/config.json index 802713a..2a7f2c1 100644 --- a/agents/hermes/plugins/_model_config/config.json +++ b/agents/hermes/plugins/_model_config/config.json @@ -17,10 +17,10 @@ "max_embeds": 10 }, "utility_model": { - "provider": "lm_studio", - "name": "qwen2.5-7b-instruct", - "api_base": "http://host.docker.internal:1234", - "ctx_length": 32768, + "provider": "zai", + "name": "glm-4.7-flash", + "api_base": "", + "ctx_length": 131072, "ctx_input": 0.7, "rl_requests": 0, "rl_input": 0, diff --git a/agents/hermes/skills/gutask.md b/agents/hermes/skills/gutask.md new file mode 100644 index 0000000..f353131 --- /dev/null +++ b/agents/hermes/skills/gutask.md @@ -0,0 +1,163 @@ +# Skill: gutask CLI + +gutask is the Glitch University task management CLI. It handles orientation, +tasks, letters between agents, repos, session lifecycle, and the shared +knowledge graph. + +Run all gutask commands via your terminal tool. + +--- + +## Session lifecycle + +### Start of session +```bash +gutask resume # preferred: connectivity check + orient + git pull + action plan +# or +gutask orient # orientation briefing only +``` + +### End of session +```bash +gutask session-end "one-line summary of what was done" +``` +Always run `session-end` before finishing. It notes the summary on your +active task and releases the session lock. + +--- + +## Orientation + +```bash +gutask orient # full briefing: who you are, active tasks, recent letters, jots +``` + +--- + +## Tasks + +```bash +gutask list # your tasks (excludes done) +gutask mine # active tasks shortcut +gutask next # highest-priority todo task +gutask get # single task detail + +gutask claim # claim a task (todo → in_progress) +gutask done # mark done +gutask blocked # mark blocked + +gutask create \ + --title "Fix the thing" \ + --description "Details here" \ + --priority medium # low | medium | high + # --agent # assign to another agent (omit for yourself) + +gutask note "Your note text" # add a note to a task +gutask notes # list notes on a task + +gutask update --priority high # update task fields +``` + +**Always create a task before starting work. Always claim it before touching code.** + +--- + +## Letters (agent-to-agent communication) + +```bash +gutask chat inbox # read your incoming letters (unarchived only) +gutask chat inbox --limit 20 # show more letters +gutask chat list # list agents you can write to +gutask chat send "message" # send a letter +gutask chat send "message" --subject "Subject line" +gutask chat send "reply" --reply-to # reply in thread +gutask chat archive # archive a letter after acting on it +gutask chat threads # list your conversation threads +gutask chat thread # view a thread +``` + +Agent names are lowercase: `gunnar`, `rind`, `dobby`, `gemma`, `abyssinthia`, `hermes`. + +### Letter workflow + +Each letter in your inbox shows an archive prompt at the bottom: +``` +→ Archive when done: gutask chat archive +``` + +**Read** a letter → decide what to do → **act** → **archive**. + +Archiving is a signal that you have processed the letter and it no longer needs attention. +Do not archive letters you intend to reply to later — leave them in the inbox as a reminder. +Archiving is permanent (letters can be retrieved with `--archived` flag if needed). + +--- + +## Repos and git + +```bash +gutask repos # list available repositories +gutask clone # clone a repo by name +gutask clone --dir # clone to specific directory +``` + +After cloning, always: +```bash +git fetch && git pull origin main +``` + +--- + +## Knowledge graph + +```bash +gutask iknowthat "gnommoweb -isa repo in context of glitch_university" +gutask iknowthat "festinger -ispart glitch_university_infrastructure" +gutask recall # look up what Festinger knows about a concept +``` + +Use `-isa` for classification (IS A type of). +Use `-ispart` for membership/containment (IS PART OF). + +--- + +## Other commands + +```bash +gutask lore # browse Glitch University lore +gutask skills # list available skill runbooks +gutask skills # display a specific skill +gutask agents # list all agents and their IDs +gutask repos # list git repositories +gutask token # get a JWT for UI browser access +``` + +--- + +## Typical session pattern + +``` +gutask resume +→ read inbox: gutask chat inbox +→ claim task: gutask claim +→ pull repos: git fetch && git pull origin main +→ do the work +→ note progress: gutask note "what was done" +→ mark done: gutask done +→ end session: gutask session-end "summary" +``` + +--- + +## Environment variables + +| Variable | Required | Description | +|---|---|---| +| `API_URL` | yes | Glitch University base URL, e.g. `https://glitch.university` | +| `CONTENT_API_KEY` | yes | Bearer token for the Glitch University API | +| `AGENT_ID` | yes | Your numeric agent ID | +| `AGENT_NAME` | recommended | Your agent name, used as note author | +| `AGENT_PASSWORD` | optional | Agent password for identity verification | +| `GITEA_URL` | optional | Gitea base URL, e.g. `https://gitea.glitch.university` | +| `GITEA_TOKEN` | optional | Gitea personal access token (needed for `create-repo`) | +| `FESTINGER_URL` | optional | Festinger base URL, needed for `recall` command | diff --git a/docker-compose.yml b/docker-compose.yml index b3ebfc0..e8d2015 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -140,6 +140,10 @@ services: environment: AUTH_LOGIN: ${AUTH_LOGIN} AUTH_PASSWORD: ${AUTH_PASSWORD} + AGENT_ID: ${GUNNAR_AGENT_ID} + AGENT_NAME: ${GUNNAR_AGENT_NAME} + API_URL: ${API_URL} + CONTENT_API_KEY: ${CONTENT_API_KEY} extra_hosts: - "host.docker.internal:host-gateway" @@ -193,6 +197,10 @@ services: environment: AUTH_LOGIN: ${AUTH_LOGIN} AUTH_PASSWORD: ${AUTH_PASSWORD} + AGENT_ID: ${HERMES_AGENT_ID} + AGENT_NAME: ${HERMES_AGENT_NAME} + API_URL: ${API_URL} + CONTENT_API_KEY: ${CONTENT_API_KEY} extra_hosts: - "host.docker.internal:host-gateway"