@olegkoval/agent-skills 1.15.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: relay
|
|
3
|
+
description: >
|
|
4
|
+
Use claude-relay to run a long or rate-limit-prone task autonomously across subscription accounts.
|
|
5
|
+
Invoke this skill whenever the user says "use relay", "run this with relay", "do this overnight",
|
|
6
|
+
"run this autonomously", "use relay for X", or has a multi-hour / multi-step task they want to
|
|
7
|
+
hand off completely. Also use proactively when a task looks like it will take many turns and the
|
|
8
|
+
user hasn't thought about rate limits yet. Guides goal writing, picks the right flags, and starts
|
|
9
|
+
the run.
|
|
10
|
+
license: MIT
|
|
11
|
+
allowed-tools: Bash, Read, Write
|
|
12
|
+
metadata:
|
|
13
|
+
author: Oleg Koval
|
|
14
|
+
tags:
|
|
15
|
+
- relay
|
|
16
|
+
- autonomous
|
|
17
|
+
- rate-limits
|
|
18
|
+
- claude-relay
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# relay
|
|
22
|
+
|
|
23
|
+
Runs a task **unattended** using `claude-relay`: drives `claude -p` in a headless loop, writes a
|
|
24
|
+
handoff summary when one account's limit approaches, and switches to the next account automatically.
|
|
25
|
+
You watch logs; relay handles the rest.
|
|
26
|
+
|
|
27
|
+
Binary: `claude-relay` (alias `relay` if added to shell). Config: `~/.claude-relay/relay.config.json`.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Step 1 — Decide: relay or inline?
|
|
32
|
+
|
|
33
|
+
**Use relay when:**
|
|
34
|
+
- Task will take many turns or hours (big refactor, migration, research + implementation)
|
|
35
|
+
- The user wants to hand it off and walk away
|
|
36
|
+
- Rate limits are a real concern (long-running or token-heavy)
|
|
37
|
+
|
|
38
|
+
**Stay inline when:**
|
|
39
|
+
- Task is quick (< ~10 turns)
|
|
40
|
+
- User wants to review each step
|
|
41
|
+
- Task needs interactive input that relay can't provide
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Step 2 — Write the goal
|
|
46
|
+
|
|
47
|
+
A relay goal is a self-contained spec a fresh Claude agent can execute cold. Write it to
|
|
48
|
+
`/tmp/relay-goal-<short-name>.md`. It must include:
|
|
49
|
+
|
|
50
|
+
- **What to do** — concrete deliverables, not vague intent
|
|
51
|
+
- **How to verify** — the exact command proving success (`npm test`, `curl /api/health`, etc.)
|
|
52
|
+
- **Scope** — explicit list of what NOT to do (no commits, no PRs, no migrations — unless stated)
|
|
53
|
+
- **Key files** — paths the agent should read first if the context isn't obvious
|
|
54
|
+
|
|
55
|
+
**Template:**
|
|
56
|
+
```markdown
|
|
57
|
+
## Goal
|
|
58
|
+
<1-3 sentences: the deliverable>
|
|
59
|
+
|
|
60
|
+
## Success criteria
|
|
61
|
+
Run `<command>` and confirm it exits 0 / returns the expected result.
|
|
62
|
+
|
|
63
|
+
## Scope
|
|
64
|
+
- DO: <explicit list>
|
|
65
|
+
- DO NOT: open PRs / push commits / run migrations / touch unrelated files
|
|
66
|
+
|
|
67
|
+
## Key files
|
|
68
|
+
- <path> — <why it matters>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Good goals are specific. "Add input validation to all POST routes in `app/api/`" beats "improve the API".
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Step 3 — Pick flags
|
|
76
|
+
|
|
77
|
+
| Situation | Flag |
|
|
78
|
+
|-----------|------|
|
|
79
|
+
| Task needs uncommitted changes, local `.env`, or a local database | `--in-place` |
|
|
80
|
+
| Everything is committed; task is self-contained | *(default — isolated git worktree)* |
|
|
81
|
+
|
|
82
|
+
When in doubt: if the repo has a `.env` or `node_modules` the task depends on, use `--in-place`.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Step 4 — Run
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
claude-relay run /tmp/relay-goal-<name>.md <absolute-path-to-repo> [--in-place]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Relay logs stream to stderr. The run ends when the agent outputs `RELAY_TASK_COMPLETE` on its own
|
|
93
|
+
line, or hits a hard cap (400 turns / 48h wall clock).
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Step 5 — Tell the user
|
|
98
|
+
|
|
99
|
+
After starting, report:
|
|
100
|
+
- The exact command you ran
|
|
101
|
+
- What to watch for: `RELAY_TASK_COMPLETE` in logs, or `claude-relay status --config ~/.claude-relay/relay.config.json`
|
|
102
|
+
- The flag you picked and why (especially if you chose `--in-place`)
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Health check
|
|
107
|
+
|
|
108
|
+
If anything seems misconfigured:
|
|
109
|
+
```bash
|
|
110
|
+
claude-relay doctor --config ~/.claude-relay/relay.config.json
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Should show ✓ for both account slots. If a slot shows ✗, tell the user to run:
|
|
114
|
+
```bash
|
|
115
|
+
claude-relay login <email> # must have claude.ai open in browser as that account first
|
|
116
|
+
```
|