Shared skills now for all agent and fixed the settings for Gunnar and Hermes

This commit is contained in:
2026-05-09 23:07:15 +02:00
parent bb444759f6
commit e36c9f4ee1
634 changed files with 16 additions and 521 deletions
@@ -1,89 +0,0 @@
airtable:dec8bcab05383e0ca8ae0e3c241d3a48
apple-notes:5e448abf984561fb33b197045ce41388
apple-reminders:cda2963c73800643faf4a34ef813879a
architecture-diagram:8ed67034726b0ac3639d9c009d166222
arxiv:0ad5eb32727a1cb2bbff9e1e8e4dbff7
ascii-art:6eed9eb0c7cedf2bccd3cb7b7c91271c
ascii-video:93697173a0a33f7ecb7c4dc1c27f80e8
audiocraft-audio-generation:41d06b6ec94d1cdb3d864efe452780fd
axolotl:710b8e88805a85efc461dcd70c937cae
baoyu-comic:0be1250d5433538d71a4ab6d81b359dc
baoyu-infographic:567069c2548a69eafcbce09c028438dd
blogwatcher:d0b55ef6acff9ad26f1febace610ca3b
claude-code:88bbb9f0e26f8148141da379e4e837c5
claude-design:6607092a7d19705b9647067a09afd733
codebase-inspection:97bf36f290117abc11ffde72535713e2
codex:79bb6b5d9b47453cd0d7ac25df5a3c97
comfyui:d6f42584ff328d6aa6a4b2e8e678c030
debugging-hermes-tui-commands:f992bee7976a1d0f59884fa57e58f314
design-md:a09844075e6e856a4a256dbc5f9e899a
dogfood:77ff237be7db22a4ef3850b411d915ed
dspy:5e0770e2563d11d9d4cc040681277c1c
evaluating-llms-harness:784cd66354b654dedf7541cd9b9e4c91
excalidraw:1679ad1d31a591fa3cb636d9150adcc7
findmy:1d7dd3ae39cf25357a374c6bfb956442
fine-tuning-with-trl:f73c765998375978e9fe529cafa6054a
gif-search:dc9206e5c5c2d648774864df5222c95f
github-auth:6afa4cccb1eacad83dcdae2930b818a9
github-code-review:41071b74c0222d4e784de8f0927f757d
github-issues:3e4d98c7a6b1ebd0a55c752abb7a612b
github-pr-workflow:834e9cd72f18ea4598934d8d253b5858
github-repo-management:8479a9fb418f8dcfbbb191caaeccaa37
godmode:c592b460bf06e1f31b51bc6ac299e111
google-workspace:cf9028aff358f6c6b6ebc183672ad947
heartmula:ce53b2e6c9d68238cae5ae727738ecde
hermes-agent:286e1312a50b53f11b9714f506989e4f
hermes-agent-skill-authoring:d5b8b704b92d44ffa1e44f8b3d795037
himalaya:9da608734d1af8dab132406492bd5828
huggingface-hub:14002a449cb5f9a5ff8bdc7f730bcb2f
humanizer:0a006757e41d605ba0818ecca10288ed
ideation:0d1719daa364f2c5badd40c94620360f
imessage:f545da0f5cc64dd9ee1ffd2b7733a11b
jupyter-live-kernel:6bda9690d8c71095ac738bd9825e32f2
kanban-orchestrator:1636b60c79180ee89108727bff9383c7
kanban-worker:bc9124639762b2a5c20cd85580ae92e4
linear:ab7a5dbd4001e31e2bd888d86ab699f8
llama-cpp:fcfa4c23d52ac84abccf0b38e9844e07
llm-wiki:9cb710c49d1af6fdba54d06a835a5498
manim-video:86ba8c24fdd57771d68bea812d3b2466
maps:285f3436aafadf452fac8c0bb5715e40
minecraft-modpack-server:3cc682f8aef5f86d3580601ba28f9ba3
nano-pdf:dd55aca10b8e2844a0cda3c68c757e83
native-mcp:5564a9d31ce4165b532c575a315ddca4
node-inspect-debugger:e8f38e8586a090b880edcdbcba67ec76
notion:ac54a68c490d4cf1604bc24160083d43
obliteratus:98dfcbfcad4416d27d5dcbd0a491d772
obsidian:1dde562f384c6dc5eaec0b7c214caab4
ocr-and-documents:0fe461668b245d894370b8b40c3eb012
opencode:e3583bfa72da47385f6466eaf226faef
openhue:0487b4695a071cc62da64c79935bc8d1
outlines:8efbd31f1252f6c8fb340db4d9dcce2f
p5js:5879c824a5487d6553d9380e37aa9c5e
pixel-art:f94fe511926a222052ec8d2dc892b112
plan:6a014103919a9b11d60e2d6267055871
pokemon-player:2a30ed51c1179b22967fb4a33e6e57e4
polymarket:b4a7d758f2fb29efb290dce1094cc625
popular-web-designs:a77ef442dcf747d8d534f5acb6b6f0cf
powerpoint:6ae6326c8fc5ff5a67b8e5283437ec30
pretext:1a72b0c0b65188ce43917cac6d5b8973
python-debugpy:d40cd39a90885e2c5ac7be13bbf5e832
requesting-code-review:f76de34aee69387c297cf982c85fd6fe
research-paper-writing:e1fa7bb71e73fbc74ea017720f971e9a
segment-anything-model:a2403c1bf179c28cbac2ba7d56357b69
serving-llms-vllm:a8b5453a5316da8df055a0f23c3cbd25
sketch:56b3e77b9ff82d38fe1c7b8c6067de5d
songsee:7738e32bff3ca9ec32b37b32e0a8c9ca
songwriting-and-ai-music:65b4a6757901021ca16d9c8ecab62f7c
spike:a1034fab3d8669745ee75474dd9c3a6b
spotify:af733b32166f235fe3e0026e213ff2d4
subagent-driven-development:3d4c3f5060b7e1577fc3306b9ca36ffd
systematic-debugging:a02cf3ccd7b79909137ac1af46d01ed6
test-driven-development:32bc0784dc0720a9e536ba1ce559fedf
touchdesigner-mcp:3a428984eb83905c5ae89d0abf0ef866
unsloth:6482bcde01d0a9aeaddc247932c3c69c
webhook-subscriptions:edce3200566edfa7259718b51b8f52f3
weights-and-biases:91fd048a0b693f6d74a4639ea08bbd1d
writing-plans:c91061baf59682c9b10a317b5ff25617
xurl:97a1749bd7274b93c631d71d2cf92e52
youtube-content:c448e213097433492d51a063d34eb9ae
yuanbao:69fa2e9e8b534a633443d47262e86855
@@ -1,8 +0,0 @@
{
"last_report_path": null,
"last_run_at": "2026-05-04T20:12:35.929746+00:00",
"last_run_duration_seconds": null,
"last_run_summary": "deferred first run — curator seeded, will run after one interval; use `hermes curator run --dry-run` to preview now",
"paused": false,
"run_count": 0
}
@@ -1,3 +0,0 @@
---
description: Apple/macOS-specific skills — iMessage, Reminders, Notes, FindMy, and macOS automation. These skills only load on macOS systems.
---
@@ -1,3 +0,0 @@
---
description: Skills for spawning and orchestrating autonomous AI coding agents and multi-agent workflows — running independent agent processes, delegating tasks, and coordinating parallel workstreams.
---
@@ -1,3 +0,0 @@
---
description: Creative content generation — ASCII art, hand-drawn style diagrams, and visual design tools.
---
@@ -1,3 +0,0 @@
---
description: Skills for data science workflows — interactive exploration, Jupyter notebooks, data analysis, and visualization.
---
@@ -1,3 +0,0 @@
---
description: Diagram creation skills for generating visual diagrams, flowcharts, architecture diagrams, and illustrations using tools like Excalidraw.
---
@@ -1,161 +0,0 @@
---
name: dogfood
description: "Exploratory QA of web apps: find bugs, evidence, reports."
version: 1.0.0
metadata:
hermes:
tags: [qa, testing, browser, web, dogfood]
related_skills: []
---
# Dogfood: Systematic Web Application QA Testing
## Overview
This skill guides you through systematic exploratory QA testing of web applications using the browser toolset. You will navigate the application, interact with elements, capture evidence of issues, and produce a structured bug report.
## Prerequisites
- Browser toolset must be available (`browser_navigate`, `browser_snapshot`, `browser_click`, `browser_type`, `browser_vision`, `browser_console`, `browser_scroll`, `browser_back`, `browser_press`)
- A target URL and testing scope from the user
## Inputs
The user provides:
1. **Target URL** — the entry point for testing
2. **Scope** — what areas/features to focus on (or "full site" for comprehensive testing)
3. **Output directory** (optional) — where to save screenshots and the report (default: `./dogfood-output`)
## Workflow
Follow this 5-phase systematic workflow:
### Phase 1: Plan
1. Create the output directory structure:
```
{output_dir}/
├── screenshots/ # Evidence screenshots
└── report.md # Final report (generated in Phase 5)
```
2. Identify the testing scope based on user input.
3. Build a rough sitemap by planning which pages and features to test:
- Landing/home page
- Navigation links (header, footer, sidebar)
- Key user flows (sign up, login, search, checkout, etc.)
- Forms and interactive elements
- Edge cases (empty states, error pages, 404s)
### Phase 2: Explore
For each page or feature in your plan:
1. **Navigate** to the page:
```
browser_navigate(url="https://example.com/page")
```
2. **Take a snapshot** to understand the DOM structure:
```
browser_snapshot()
```
3. **Check the console** for JavaScript errors:
```
browser_console(clear=true)
```
Do this after every navigation and after every significant interaction. Silent JS errors are high-value findings.
4. **Take an annotated screenshot** to visually assess the page and identify interactive elements:
```
browser_vision(question="Describe the page layout, identify any visual issues, broken elements, or accessibility concerns", annotate=true)
```
The `annotate=true` flag overlays numbered `[N]` labels on interactive elements. Each `[N]` maps to ref `@eN` for subsequent browser commands.
5. **Test interactive elements** systematically:
- Click buttons and links: `browser_click(ref="@eN")`
- Fill forms: `browser_type(ref="@eN", text="test input")`
- Test keyboard navigation: `browser_press(key="Tab")`, `browser_press(key="Enter")`
- Scroll through content: `browser_scroll(direction="down")`
- Test form validation with invalid inputs
- Test empty submissions
6. **After each interaction**, check for:
- Console errors: `browser_console()`
- Visual changes: `browser_vision(question="What changed after the interaction?")`
- Expected vs actual behavior
### Phase 3: Collect Evidence
For every issue found:
1. **Take a screenshot** showing the issue:
```
browser_vision(question="Capture and describe the issue visible on this page", annotate=false)
```
Save the `screenshot_path` from the response — you will reference it in the report.
2. **Record the details**:
- URL where the issue occurs
- Steps to reproduce
- Expected behavior
- Actual behavior
- Console errors (if any)
- Screenshot path
3. **Classify the issue** using the issue taxonomy (see `references/issue-taxonomy.md`):
- Severity: Critical / High / Medium / Low
- Category: Functional / Visual / Accessibility / Console / UX / Content
### Phase 4: Categorize
1. Review all collected issues.
2. De-duplicate — merge issues that are the same bug manifesting in different places.
3. Assign final severity and category to each issue.
4. Sort by severity (Critical first, then High, Medium, Low).
5. Count issues by severity and category for the executive summary.
### Phase 5: Report
Generate the final report using the template at `templates/dogfood-report-template.md`.
The report must include:
1. **Executive summary** with total issue count, breakdown by severity, and testing scope
2. **Per-issue sections** with:
- Issue number and title
- Severity and category badges
- URL where observed
- Description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Screenshot references (use `MEDIA:<screenshot_path>` for inline images)
- Console errors if relevant
3. **Summary table** of all issues
4. **Testing notes** — what was tested, what was not, any blockers
Save the report to `{output_dir}/report.md`.
## Tools Reference
| Tool | Purpose |
|------|---------|
| `browser_navigate` | Go to a URL |
| `browser_snapshot` | Get DOM text snapshot (accessibility tree) |
| `browser_click` | Click an element by ref (`@eN`) or text |
| `browser_type` | Type into an input field |
| `browser_scroll` | Scroll up/down on the page |
| `browser_back` | Go back in browser history |
| `browser_press` | Press a keyboard key |
| `browser_vision` | Screenshot + AI analysis; use `annotate=true` for element labels |
| `browser_console` | Get JS console output and errors |
## Tips
- **Always check `browser_console()` after navigating and after significant interactions.** Silent JS errors are among the most valuable findings.
- **Use `annotate=true` with `browser_vision`** when you need to reason about interactive element positions or when the snapshot refs are unclear.
- **Test with both valid and invalid inputs** — form validation bugs are common.
- **Scroll through long pages** — content below the fold may have rendering issues.
- **Test navigation flows** — click through multi-step processes end-to-end.
- **Check responsive behavior** by noting any layout issues visible in screenshots.
- **Don't forget edge cases**: empty states, very long text, special characters, rapid clicking.
- When reporting screenshots to the user, include `MEDIA:<screenshot_path>` so they can see the evidence inline.
@@ -1,24 +0,0 @@
---
name: domain-intel
description: Passive domain reconnaissance using Python stdlib. Use this skill for subdomain discovery, SSL certificate inspection, WHOIS lookups, DNS records, domain availability checks, and bulk multi-domain analysis. No API keys required. Triggers on requests like "find subdomains", "check ssl cert", "whois lookup", "is this domain available", "bulk check these domains".
license: MIT
---
Passive domain intelligence using only Python stdlib and public data sources.
Zero dependencies. Zero API keys. Works out of the box.
## Capabilities
- Subdomain discovery via crt.sh certificate transparency logs
- Live SSL/TLS certificate inspection (expiry, cipher, SANs, TLS version)
- WHOIS lookup — supports 100+ TLDs via direct TCP queries
- DNS records: A, AAAA, MX, NS, TXT, CNAME
- Domain availability check (DNS + WHOIS + SSL signals)
- Bulk multi-domain analysis in parallel (up to 20 domains)
## Data Sources
- crt.sh — Certificate Transparency logs
- WHOIS servers — Direct TCP to 100+ authoritative TLD servers
- Google DNS-over-HTTPS — MX/NS/TXT/CNAME resolution
- System DNS — A/AAAA records
@@ -1,3 +0,0 @@
---
description: Skills for sending, receiving, searching, and managing email from the terminal.
---
@@ -1,3 +0,0 @@
---
description: Skills for monitoring, aggregating, and processing RSS feeds, blogs, and web content sources.
---
@@ -1,3 +0,0 @@
---
description: Skills for setting up, configuring, and managing game servers, modpacks, and gaming-related infrastructure.
---
@@ -1,3 +0,0 @@
---
description: Skills for searching, downloading, and working with GIFs and short-form animated media.
---
@@ -1,3 +0,0 @@
---
description: GitHub workflow skills for managing repositories, pull requests, code reviews, issues, and CI/CD pipelines using the gh CLI and git via terminal.
---
@@ -1,19 +0,0 @@
# inference.sh
Run 150+ AI applications in the cloud via the [inference.sh](https://inference.sh) platform.
**One API key for everything** — access image generation, video creation, LLMs, search, 3D, and more through a single account. No need to manage separate API keys for each provider.
## Available Skills
- **cli**: Use the inference.sh CLI (`infsh`) via the terminal tool
## What's Included
- **Image Generation**: FLUX, Reve, Seedream, Grok Imagine, Gemini
- **Video Generation**: Veo, Wan, Seedance, OmniHuman, HunyuanVideo
- **LLMs**: Claude, Gemini, Kimi, GLM-4 (via OpenRouter)
- **Search**: Tavily, Exa
- **3D**: Rodin
- **Social**: Twitter/X automation
- **Audio**: TTS, voice cloning
@@ -1,3 +0,0 @@
---
description: Skills for working with MCP (Model Context Protocol) servers, tools, and integrations. Documents the built-in native MCP client — configure servers in config.yaml for automatic tool discovery.
---
@@ -1,3 +0,0 @@
---
description: Skills for working with media content — YouTube transcripts, GIF search, music generation, and audio visualization.
---
@@ -1,3 +0,0 @@
---
description: Knowledge and Tools for Machine Learning Operations - tools and frameworks for training, fine-tuning, deploying, and optimizing ML/AI models
---
@@ -1,3 +0,0 @@
---
description: Note taking skills, to save information, assist with research, and collab on multi-session planning and information sharing.
---
@@ -1,3 +0,0 @@
---
description: Skills for document creation, presentations, spreadsheets, and other productivity workflows.
---
@@ -1,3 +0,0 @@
---
description: Skills for academic research, paper discovery, literature review, domain reconnaissance, market data, content monitoring, and scientific knowledge retrieval.
---
@@ -1,3 +0,0 @@
---
description: Skills for controlling smart home devices — lights, switches, sensors, and home automation systems.
---
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -2,9 +2,9 @@
"allow_chat_override": false, "allow_chat_override": false,
"chat_model": { "chat_model": {
"provider": "lm_studio", "provider": "lm_studio",
"name": "qwen2.5-7b-instruct", "name": "nousresearch/hermes-4-70b",
"api_base": "http://festinger:11434", "api_base": "http://festinger:11434",
"ctx_length": 32768, "ctx_length": 32000,
"ctx_history": 0.7, "ctx_history": 0.7,
"vision": true, "vision": true,
"rl_requests": 0, "rl_requests": 0,
@@ -19,7 +19,7 @@
"utility_model": { "utility_model": {
"provider": "zai", "provider": "zai",
"name": "glm-4.7-flash", "name": "glm-4.7-flash",
"api_base": "", "api_base": "http://host.docker.internal:1234/v1",
"ctx_length": 131072, "ctx_length": 131072,
"ctx_input": 0.7, "ctx_input": 0.7,
"rl_requests": 0, "rl_requests": 0,
@@ -2,9 +2,9 @@
"allow_chat_override": false, "allow_chat_override": false,
"chat_model": { "chat_model": {
"provider": "lm_studio", "provider": "lm_studio",
"name": "qwen2.5-7b-instruct", "name": "nousresearch/hermes-4-70b",
"api_base": "http://festinger:11434", "api_base": "http://festinger:11434",
"ctx_length": 32768, "ctx_length": 32000,
"ctx_history": 0.7, "ctx_history": 0.7,
"vision": true, "vision": true,
"rl_requests": 0, "rl_requests": 0,
@@ -19,7 +19,7 @@
"utility_model": { "utility_model": {
"provider": "zai", "provider": "zai",
"name": "glm-4.7-flash", "name": "glm-4.7-flash",
"api_base": "", "api_base": "http://host.docker.internal:1234/v1",
"ctx_length": 131072, "ctx_length": 131072,
"ctx_input": 0.7, "ctx_input": 0.7,
"rl_requests": 0, "rl_requests": 0,
-163
View File
@@ -1,163 +0,0 @@
# 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 |
+7
View File
@@ -96,6 +96,7 @@ services:
- "50001:80" # direct local access for debugging - "50001:80" # direct local access for debugging
volumes: volumes:
- ./agents/dobby:/a0/usr - ./agents/dobby:/a0/usr
- ./shared/skills:/a0/usr/skills
- ${HOME}/.ssh:/root/.ssh - ${HOME}/.ssh:/root/.ssh
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
@@ -118,6 +119,7 @@ services:
- "50002:80" - "50002:80"
volumes: volumes:
- ./agents/gemma:/a0/usr - ./agents/gemma:/a0/usr
- ./shared/skills:/a0/usr/skills
- ${HOME}/.ssh:/root/.ssh - ${HOME}/.ssh:/root/.ssh
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
@@ -140,6 +142,7 @@ services:
- "50003:80" - "50003:80"
volumes: volumes:
- ./agents/gunnar:/a0/usr - ./agents/gunnar:/a0/usr
- ./shared/skills:/a0/usr/skills
- ${HOME}/.ssh:/root/.ssh - ${HOME}/.ssh:/root/.ssh
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
@@ -162,6 +165,7 @@ services:
- "50005:80" - "50005:80"
volumes: volumes:
- ./agents/rind:/a0/usr - ./agents/rind:/a0/usr
- ./shared/skills:/a0/usr/skills
- ${HOME}/.ssh:/root/.ssh - ${HOME}/.ssh:/root/.ssh
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
@@ -184,6 +188,7 @@ services:
- "50006:80" - "50006:80"
volumes: volumes:
- ./agents/abyssinthia:/a0/usr - ./agents/abyssinthia:/a0/usr
- ./shared/skills:/a0/usr/skills
- ${HOME}/.ssh:/root/.ssh - ${HOME}/.ssh:/root/.ssh
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
@@ -205,6 +210,7 @@ services:
- "50008:80" - "50008:80"
volumes: volumes:
- ./agents/hermes:/a0/usr - ./agents/hermes:/a0/usr
- ./shared/skills:/a0/usr/skills
- ${HOME}/.ssh:/root/.ssh - ${HOME}/.ssh:/root/.ssh
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
@@ -229,6 +235,7 @@ services:
- ./agents/gerhard-hermes:/opt/data - ./agents/gerhard-hermes:/opt/data
- ./agents/gerhard-workspace:/workspace - ./agents/gerhard-workspace:/workspace
- ./shared/knowledge:/knowledge - ./shared/knowledge:/knowledge
- ./shared/skills:/opt/data/skills
- ../gutasktool:/opt/gutasktool - ../gutasktool:/opt/gutasktool
- ${HOME}/.ssh:/root/.ssh - ${HOME}/.ssh:/root/.ssh
restart: unless-stopped restart: unless-stopped

Some files were not shown because too many files have changed in this diff Show More