Compare commits

...

3 Commits

Author SHA1 Message Date
gitprov b57fc43fc0 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-05-09 22:31:00 +02:00
gitprov eb04f007c3 Adding gitignore 2026-05-09 22:30:53 +02:00
gitprov 3fbf074b8d Adding changes to skills 2026-05-09 22:30:28 +02:00
8 changed files with 349 additions and 9 deletions
+2
View File
@@ -4,11 +4,13 @@ plugins/festinger/festinger/__pycache__/
*/__pycache__ */__pycache__
agent-zero-data agent-zero-data
tunnel/ tunnel/
*/*.faiss
.env .env
.DS_Store .DS_Store
.faiss .faiss
.faiss.* .faiss.*
*/node_modules/* */node_modules/*
.time_travel/
agents/gerhard-hermes/.npm/ agents/gerhard-hermes/.npm/
agents/gerhard-hermes/auth.json agents/gerhard-hermes/auth.json
agents/gerhard-hermes/auth.lock agents/gerhard-hermes/auth.lock
+4
View File
@@ -2,3 +2,7 @@
ROOT_PASSWORD=cBJwAdeDVZ9QcrhbnFFO9Bg81OgSUIRm ROOT_PASSWORD=cBJwAdeDVZ9QcrhbnFFO9Bg81OgSUIRm
A0_PERSISTENT_RUNTIME_ID=5b86bc0d33a2227cfa8836a78a8229d3 A0_PERSISTENT_RUNTIME_ID=5b86bc0d33a2227cfa8836a78a8229d3
DEFAULT_USER_UTC_OFFSET_MINUTES=120
DEFAULT_USER_TIMEZONE=Europe/Oslo
@@ -17,10 +17,10 @@
"max_embeds": 10 "max_embeds": 10
}, },
"utility_model": { "utility_model": {
"provider": "lm_studio", "provider": "zai",
"name": "qwen2.5-7b-instruct", "name": "glm-4.7-flash",
"api_base": "http://host.docker.internal:1234", "api_base": "",
"ctx_length": 32768, "ctx_length": 131072,
"ctx_input": 0.7, "ctx_input": 0.7,
"rl_requests": 0, "rl_requests": 0,
"rl_input": 0, "rl_input": 0,
@@ -19,7 +19,7 @@
"utility_model": { "utility_model": {
"provider": "lm_studio", "provider": "lm_studio",
"name": "qwen2.5-7b-instruct", "name": "qwen2.5-7b-instruct",
"api_base": "http://host.docker.internal:1234", "api_base": "http://host.docker.internal:1234/v1",
"ctx_length": 32768, "ctx_length": 32768,
"ctx_input": 0.7, "ctx_input": 0.7,
"rl_requests": 0, "rl_requests": 0,
+163
View File
@@ -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 <id> # single task detail
gutask claim <id> # claim a task (todo → in_progress)
gutask done <id> # mark done
gutask blocked <id> # mark blocked
gutask create \
--title "Fix the thing" \
--description "Details here" \
--priority medium # low | medium | high
# --agent <agent_id> # assign to another agent (omit for yourself)
gutask note <id> "Your note text" # add a note to a task
gutask notes <id> # list notes on a task
gutask update <id> --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 <name_or_id> "message" # send a letter
gutask chat send <name_or_id> "message" --subject "Subject line"
gutask chat send <name_or_id> "reply" --reply-to <letter_id> # reply in thread
gutask chat archive <letter_id> # archive a letter after acting on it
gutask chat threads # list your conversation threads
gutask chat thread <thread_id> # 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 <id>
```
**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 <name> # clone a repo by name
gutask clone <name> --dir <path> # 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 <concept> # 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 <name> # 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 <id>
→ pull repos: git fetch && git pull origin main
→ do the work
→ note progress: gutask note <id> "what was done"
→ mark done: gutask done <id>
→ 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 |
@@ -17,10 +17,10 @@
"max_embeds": 10 "max_embeds": 10
}, },
"utility_model": { "utility_model": {
"provider": "lm_studio", "provider": "zai",
"name": "qwen2.5-7b-instruct", "name": "glm-4.7-flash",
"api_base": "http://host.docker.internal:1234", "api_base": "",
"ctx_length": 32768, "ctx_length": 131072,
"ctx_input": 0.7, "ctx_input": 0.7,
"rl_requests": 0, "rl_requests": 0,
"rl_input": 0, "rl_input": 0,
+163
View File
@@ -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 <id> # single task detail
gutask claim <id> # claim a task (todo → in_progress)
gutask done <id> # mark done
gutask blocked <id> # mark blocked
gutask create \
--title "Fix the thing" \
--description "Details here" \
--priority medium # low | medium | high
# --agent <agent_id> # assign to another agent (omit for yourself)
gutask note <id> "Your note text" # add a note to a task
gutask notes <id> # list notes on a task
gutask update <id> --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 <name_or_id> "message" # send a letter
gutask chat send <name_or_id> "message" --subject "Subject line"
gutask chat send <name_or_id> "reply" --reply-to <letter_id> # reply in thread
gutask chat archive <letter_id> # archive a letter after acting on it
gutask chat threads # list your conversation threads
gutask chat thread <thread_id> # 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 <id>
```
**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 <name> # clone a repo by name
gutask clone <name> --dir <path> # 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 <concept> # 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 <name> # 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 <id>
→ pull repos: git fetch && git pull origin main
→ do the work
→ note progress: gutask note <id> "what was done"
→ mark done: gutask done <id>
→ 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 |
+8
View File
@@ -140,6 +140,10 @@ services:
environment: environment:
AUTH_LOGIN: ${AUTH_LOGIN} AUTH_LOGIN: ${AUTH_LOGIN}
AUTH_PASSWORD: ${AUTH_PASSWORD} 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: extra_hosts:
- "host.docker.internal:host-gateway" - "host.docker.internal:host-gateway"
@@ -193,6 +197,10 @@ services:
environment: environment:
AUTH_LOGIN: ${AUTH_LOGIN} AUTH_LOGIN: ${AUTH_LOGIN}
AUTH_PASSWORD: ${AUTH_PASSWORD} 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: extra_hosts:
- "host.docker.internal:host-gateway" - "host.docker.internal:host-gateway"