Shared skills now for all agent and fixed the settings for Gunnar and Hermes
This commit is contained in:
@@ -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,
|
||||
"chat_model": {
|
||||
"provider": "lm_studio",
|
||||
"name": "qwen2.5-7b-instruct",
|
||||
"name": "nousresearch/hermes-4-70b",
|
||||
"api_base": "http://festinger:11434",
|
||||
"ctx_length": 32768,
|
||||
"ctx_length": 32000,
|
||||
"ctx_history": 0.7,
|
||||
"vision": true,
|
||||
"rl_requests": 0,
|
||||
@@ -19,7 +19,7 @@
|
||||
"utility_model": {
|
||||
"provider": "zai",
|
||||
"name": "glm-4.7-flash",
|
||||
"api_base": "",
|
||||
"api_base": "http://host.docker.internal:1234/v1",
|
||||
"ctx_length": 131072,
|
||||
"ctx_input": 0.7,
|
||||
"rl_requests": 0,
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"allow_chat_override": false,
|
||||
"chat_model": {
|
||||
"provider": "lm_studio",
|
||||
"name": "qwen2.5-7b-instruct",
|
||||
"name": "nousresearch/hermes-4-70b",
|
||||
"api_base": "http://festinger:11434",
|
||||
"ctx_length": 32768,
|
||||
"ctx_length": 32000,
|
||||
"ctx_history": 0.7,
|
||||
"vision": true,
|
||||
"rl_requests": 0,
|
||||
@@ -19,7 +19,7 @@
|
||||
"utility_model": {
|
||||
"provider": "zai",
|
||||
"name": "glm-4.7-flash",
|
||||
"api_base": "",
|
||||
"api_base": "http://host.docker.internal:1234/v1",
|
||||
"ctx_length": 131072,
|
||||
"ctx_input": 0.7,
|
||||
"rl_requests": 0,
|
||||
|
||||
@@ -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 |
|
||||
@@ -96,6 +96,7 @@ services:
|
||||
- "50001:80" # direct local access for debugging
|
||||
volumes:
|
||||
- ./agents/dobby:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
@@ -118,6 +119,7 @@ services:
|
||||
- "50002:80"
|
||||
volumes:
|
||||
- ./agents/gemma:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
@@ -140,6 +142,7 @@ services:
|
||||
- "50003:80"
|
||||
volumes:
|
||||
- ./agents/gunnar:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
@@ -162,6 +165,7 @@ services:
|
||||
- "50005:80"
|
||||
volumes:
|
||||
- ./agents/rind:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
@@ -184,6 +188,7 @@ services:
|
||||
- "50006:80"
|
||||
volumes:
|
||||
- ./agents/abyssinthia:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
@@ -205,6 +210,7 @@ services:
|
||||
- "50008:80"
|
||||
volumes:
|
||||
- ./agents/hermes:/a0/usr
|
||||
- ./shared/skills:/a0/usr/skills
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
@@ -229,6 +235,7 @@ services:
|
||||
- ./agents/gerhard-hermes:/opt/data
|
||||
- ./agents/gerhard-workspace:/workspace
|
||||
- ./shared/knowledge:/knowledge
|
||||
- ./shared/skills:/opt/data/skills
|
||||
- ../gutasktool:/opt/gutasktool
|
||||
- ${HOME}/.ssh:/root/.ssh
|
||||
restart: unless-stopped
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user