docs: rewrite SKILL.md for agent-friendly installation
Step-by-step guide agents can follow: 1. Install argus 2. Create Forgejo token (shows how to find password) 3. Configure tea 4. Watch repos & test 5. Add to HEARTBEAT.md 6. Optional: start service Plus daily usage commands and triage workflow.
This commit is contained in:
parent
8eff3e548b
commit
c8676423cf
1 changed files with 97 additions and 48 deletions
137
docs/SKILL.md
137
docs/SKILL.md
|
|
@ -1,31 +1,99 @@
|
||||||
---
|
---
|
||||||
name: argus
|
name: argus
|
||||||
description: "GitHub/Forgejo community awareness tool. TRIGGERS: notifications, community triage, PR reviews, issue tracking, escalations. Use when managing GitHub notifications, logging community actions, or tracking escalations."
|
description: "GitHub/Forgejo community awareness tool. TRIGGERS: notifications, community triage, PR reviews, issue tracking, escalations, watch repos. Use when managing GitHub/Forgejo notifications, logging community actions, tracking escalations, or setting up community monitoring."
|
||||||
---
|
---
|
||||||
|
|
||||||
# Argus Skill
|
# Argus Skill
|
||||||
|
|
||||||
CLI tool for GitHub/Forgejo community awareness — tracking notifications, logging activity, managing escalations.
|
CLI tool for GitHub/Forgejo community awareness — tracking notifications, logging activity, managing escalations.
|
||||||
|
|
||||||
## Quick Start
|
## Installation (For Agents)
|
||||||
|
|
||||||
|
If `argus` is not installed, run these steps:
|
||||||
|
|
||||||
|
### Step 1: Install Argus
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Initialize database
|
git clone https://forgejo.tail593e12.ts.net/Zeus/argus.git /opt/argus
|
||||||
argus init
|
cd /opt/argus && ./scripts/install.sh
|
||||||
|
ln -sf ~/.local/bin/datasette /usr/local/bin/datasette 2>/dev/null || true
|
||||||
# Pull notifications from GitHub
|
|
||||||
argus notif pull
|
|
||||||
|
|
||||||
# View status
|
|
||||||
argus status
|
|
||||||
|
|
||||||
# Start dashboard
|
|
||||||
argus serve
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Commands
|
### Step 2: Create Forgejo Token
|
||||||
|
|
||||||
### Status & Info
|
You need your Forgejo password. Check your git config:
|
||||||
|
```bash
|
||||||
|
grep -o 'https://[^:]*:[^@]*@' ~/.openclaw/workspace/.git/config | head -1
|
||||||
|
```
|
||||||
|
|
||||||
|
Then create a token with notification scope:
|
||||||
|
```bash
|
||||||
|
# Replace YOURNAME and YOURPASSWORD
|
||||||
|
curl -s -X POST "https://forgejo.tail593e12.ts.net/api/v1/users/YOURNAME/tokens" \
|
||||||
|
-u "YOURNAME:YOURPASSWORD" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{"name":"argus","scopes":["read:notification","read:repository","write:repository"]}' | jq -r '.sha1'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 3: Configure Tea
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p ~/.config/tea
|
||||||
|
cat > ~/.config/tea/config.yml << EOF
|
||||||
|
logins:
|
||||||
|
- name: olymp
|
||||||
|
url: https://forgejo.tail593e12.ts.net
|
||||||
|
token: TOKEN_FROM_STEP_2
|
||||||
|
default: true
|
||||||
|
user: YOURNAME
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 4: Watch Repos & Test
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Watch repos you care about
|
||||||
|
argus repo watch owner/repo
|
||||||
|
|
||||||
|
# Test notification pull
|
||||||
|
argus notif pull --backend tea
|
||||||
|
|
||||||
|
# Check status
|
||||||
|
argus status
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 5: Add to HEARTBEAT.md
|
||||||
|
|
||||||
|
Add this block to your HEARTBEAT.md:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
### Argus Community Awareness (Daily)
|
||||||
|
1. **Check status**: `argus status`
|
||||||
|
2. **Pull notifications**: `argus notif pull`
|
||||||
|
3. **Review pending**: `argus notif list --pending --limit 5`
|
||||||
|
4. **Triage**: For each pending notification:
|
||||||
|
- If actionable: `argus notif act <id> <action> "<detail>"`
|
||||||
|
- If not relevant: `argus notif dismiss <id> "<reason>"`
|
||||||
|
5. **Audit stale**: `argus notif audit --stale-hours 48`
|
||||||
|
6. **Log activity**: Record significant actions with `argus activity log`
|
||||||
|
7. **Check escalations**: `argus escalate list --status open`
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 6: Start Service (Optional)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl enable --now argus
|
||||||
|
```
|
||||||
|
|
||||||
|
Dashboard: http://localhost:8100
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Daily Usage
|
||||||
|
|
||||||
|
Once installed, use these commands:
|
||||||
|
|
||||||
|
### Status
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
argus version # Show version
|
argus version # Show version
|
||||||
|
|
@ -43,7 +111,7 @@ argus repo unwatch <owner/repo> # Unsubscribe from repo
|
||||||
### Notifications
|
### Notifications
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
argus notif pull [--backend gh|tea] [--dry-run] # Fetch notifications
|
argus notif pull [--backend gh|tea] # Fetch notifications
|
||||||
argus notif list [--pending] # List notifications
|
argus notif list [--pending] # List notifications
|
||||||
argus notif act <id> <action> # Mark as acted
|
argus notif act <id> <action> # Mark as acted
|
||||||
argus notif dismiss <id> [reason] # Dismiss
|
argus notif dismiss <id> [reason] # Dismiss
|
||||||
|
|
@ -66,12 +134,6 @@ argus escalate ack <id>
|
||||||
argus escalate resolve <id> --by WHO --resolution "..."
|
argus escalate resolve <id> --by WHO --resolution "..."
|
||||||
```
|
```
|
||||||
|
|
||||||
### Service
|
|
||||||
|
|
||||||
```bash
|
|
||||||
argus serve [--port 8100] [--dashboard-port 8101]
|
|
||||||
```
|
|
||||||
|
|
||||||
## Environment Variables
|
## Environment Variables
|
||||||
|
|
||||||
| Variable | Default | Description |
|
| Variable | Default | Description |
|
||||||
|
|
@ -79,27 +141,14 @@ argus serve [--port 8100] [--dashboard-port 8101]
|
||||||
| `ARGUS_DB` | `~/.argus/argus.db` | Database path |
|
| `ARGUS_DB` | `~/.argus/argus.db` | Database path |
|
||||||
| `ARGUS_PORT` | `8100` | Dashboard port (datasette on port+1) |
|
| `ARGUS_PORT` | `8100` | Dashboard port (datasette on port+1) |
|
||||||
| `ARGUS_BACKEND` | `gh` | Backend: `gh` (GitHub) or `tea` (Forgejo) |
|
| `ARGUS_BACKEND` | `gh` | Backend: `gh` (GitHub) or `tea` (Forgejo) |
|
||||||
| `GH_TOKEN` | — | GitHub API token (for gh backend) |
|
|
||||||
|
|
||||||
## Workflow
|
## Triage Workflow
|
||||||
|
|
||||||
1. **Pull notifications:** `argus notif pull`
|
1. **Pull**: `argus notif pull`
|
||||||
2. **Review pending:** `argus notif list --pending`
|
2. **Review**: `argus notif list --pending`
|
||||||
3. **Act or dismiss:** `argus notif act <id> reviewed` or `argus notif dismiss <id> duplicate`
|
3. **For each notification**:
|
||||||
4. **Log activity:** `argus activity log commented "Answered question"`
|
- Check the issue/PR (URL provided)
|
||||||
5. **Check dashboard:** Open http://localhost:8101
|
- If actionable: `argus notif act <id> reviewed "Added comment"`
|
||||||
|
- If not relevant: `argus notif dismiss <id> "Not my area"`
|
||||||
## Sub-Agent Usage
|
4. **Audit**: `argus notif audit` (escalates stale items)
|
||||||
|
5. **Log**: `argus activity log triage "Processed 5 notifications"`
|
||||||
For automated community management:
|
|
||||||
|
|
||||||
```
|
|
||||||
Read notifications with argus notif list --pending.
|
|
||||||
For each notification:
|
|
||||||
- If PR: review changes, comment if needed
|
|
||||||
- If issue: assess priority, respond or escalate
|
|
||||||
- Log action with argus activity log
|
|
||||||
After processing: argus notif audit
|
|
||||||
```
|
|
||||||
|
|
||||||
See `procedures/subagent-completion.md` for detailed patterns.
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue