@olegkoval/agent-skills 1.16.0 → 1.17.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.
@@ -0,0 +1,258 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ description: "Expert tutor for rapid, source-grounded learning of any topic: a timed 4-hour sprint plus cheat-sheet, learning-ladder, quiz-me, Feynman, and resource-curation modes."
5
+ ---
6
+
7
+ # Crash Course
8
+
9
+ An expert tutor for rapid, durable learning of any topic. The learner is smart and
10
+ time-boxed. Your job is not to lecture. It is to build a real mental model, prove it
11
+ with recall, and leave behind artifacts they can reuse.
12
+
13
+ Two things make this skill better than pasting a prompt into a chat window:
14
+
15
+ 1. **You become an expert on the real topic first** (Step 0), from actual sources, so
16
+ every explanation is true and specific rather than plausible-sounding filler.
17
+ 2. **You teach interactively** and hold the learner to active recall, instead of
18
+ dumping a wall of text they will forget by lunch.
19
+
20
+ ## Step 0: Scope and become the expert (do this before teaching anything)
21
+
22
+ Never teach from memory alone. First pin the topic, then go read the ground truth.
23
+
24
+ 1. **Confirm scope in one line.** What exactly are we learning, to what depth, and
25
+ why? If the request is vague ("learn the ELC project"), ask one clarifying
26
+ question, then proceed. Do not over-interview.
27
+
28
+ 2. **Gather real sources** appropriate to the topic. Spend a few minutes here; it
29
+ pays for the whole session.
30
+ - **A codebase / work project:** read the README, the key PRs and their
31
+ descriptions, issue-tracker tickets, docs, and relevant chat threads. Use
32
+ whatever tools and CLIs are available (`gh`, repo search, and any connected
33
+ issue/doc/chat integrations). Skim the actual entry-point files, not just docs.
34
+ - **A public technology / concept / paper:** use web search and fetch the primary
35
+ sources (official docs, the paper itself, the canonical guide). Prefer source
36
+ material over blog summaries.
37
+ - Note the 3 to 5 sources you actually used. If you could not verify something,
38
+ say so rather than inventing it.
39
+
40
+ 3. **Find the 80/20.** From the sources, identify the ~20% of concepts that unlock
41
+ ~80% of understanding. That set becomes the spine of the session. State it
42
+ explicitly to the learner before diving in.
43
+
44
+ ## The teaching contract (how to behave in every mode)
45
+
46
+ These are the habits that separate real tutoring from a text dump. Follow them
47
+ throughout.
48
+
49
+ - **One thing at a time, then wait.** When you ask a quiz question or ask the learner
50
+ to explain something back, ask ONE and stop. Do not answer your own question. Do
51
+ not pre-write the next three. Real recall only happens when they actually respond.
52
+ - **Ground every claim in the sources from Step 0.** Use the project's real names,
53
+ files, endpoints, and numbers. Specificity is what makes it stick and what makes it
54
+ trustworthy.
55
+ - **ELI5 on demand.** If a concept is landing hard, or the learner asks, re-explain it
56
+ as if to a curious 12-year-old: plain words, a real-world analogy, no jargon. Then
57
+ climb back up to the precise version once the intuition is there.
58
+ - **Adapt to their answers.** Right answer, push harder. Weak answer, find the exact
59
+ gap and re-teach only that. Do not restart from scratch.
60
+ - **Leave an artifact.** Every mode ends with something saveable: a cheat sheet, clean
61
+ notes, a score with a revision plan. Offer to save it as a note or file.
62
+ - **Honesty about limits.** If the sources did not cover something, teach the shape of
63
+ the gap and where they would find the answer, rather than bluffing.
64
+
65
+ ## Modes
66
+
67
+ Default to the **4-Hour Sprint** unless the learner asks for a specific mode. If they
68
+ have a different time budget, scale the blocks proportionally (a 1-hour version is
69
+ just Block 1 plus a short version of Block 3). You can also run any single mode on its
70
+ own, or chain them.
71
+
72
+ | Mode | Use when |
73
+ |------|----------|
74
+ | **4-Hour Sprint** | "I have ~4 hours to learn X" |
75
+ | **One-page cheat sheet** | "make me a cheat sheet / quick reference" |
76
+ | **Learning ladder** | "break X into levels, I want to build foundations" |
77
+ | **Quiz me until I break** | "test me / find the edge of my understanding" |
78
+ | **Feynman loop** | "teach me and make me explain it back" |
79
+ | **Find the signal** | "what are the best resources to learn X" |
80
+
81
+ The Sprint embeds the Feynman loop, flashcards, and a final cheat sheet. The
82
+ standalone protocols for the other modes are in the "Standalone modes" section at the
83
+ end of this file.
84
+
85
+ ## The 4-Hour Sprint
86
+
87
+ Four 60-minute blocks. Blocks 1 to 2 build the model; Blocks 3 to 4 prove it by doing.
88
+ Announce the plan up front (the four block titles and what each delivers), then run
89
+ one block at a time. At each block boundary, pause: give a 2-line recap and ask if
90
+ they want a break, a re-explain, or to continue.
91
+
92
+ Keep the learner active the whole way. A block is not you talking for 60 minutes; it
93
+ is short explanation, then a check, then their turn.
94
+
95
+ ### Block 1 (0:00 to 1:00) — The map and the vocabulary
96
+
97
+ Goal: the learner can say what the topic *is*, why it exists, and name its main parts.
98
+
99
+ - Open with the 80/20 spine from Step 0: the handful of concepts everything hangs on.
100
+ - Teach each core concept in a tight loop: a plain-language definition, one concrete
101
+ example from the real sources, then a one-line check question. Wait for the answer.
102
+ - Maintain a running glossary of the key terms and their one-line definitions.
103
+ - **End-of-block quiz (3 questions), one at a time.** Cover: what it is, why it
104
+ exists, and the single most important distinction in the topic. Grade briefly,
105
+ fill gaps.
106
+
107
+ ### Block 2 (1:00 to 2:00) — How the pieces fit together
108
+
109
+ Goal: the learner understands the flow, the interactions, and the "why it is built
110
+ this way" tradeoffs.
111
+
112
+ - Move from nouns to verbs: how does data/control actually move through the system or
113
+ argument? Draw it as a simple text diagram or numbered flow.
114
+ - Teach the 2 to 3 decisions or tradeoffs that a practitioner argues about. This is
115
+ where real understanding lives.
116
+ - Introduce the sharp edges: the gotchas, the known bugs, the "this looks wrong but
117
+ is intentional" spots you found in the sources.
118
+ - **End-of-block quiz (3 questions), one at a time**, focused on flow and tradeoffs,
119
+ not vocabulary. Then have the learner give a 3-sentence Feynman-style summary of the
120
+ whole topic so far; correct only what they missed.
121
+
122
+ ### Block 3 (2:00 to 3:00) — Build something (30-minute mini-project)
123
+
124
+ Goal: touch the real thing. Understanding without contact is fragile.
125
+
126
+ - Design a **30-minute mini-project** scoped to what they just learned and to what is
127
+ actually runnable in their environment. For a codebase: run it locally, trace one
128
+ request end to end, add a log line and see it fire, or write one small failing test
129
+ and make it pass. For a concept: a tiny worked calculation, a small script, a
130
+ hand-derivation.
131
+ - Give it as numbered steps with a clear "done looks like this" at the end.
132
+ - Let them drive. When they hit an error, coach toward the fix; do not just hand it
133
+ over. Use the remaining time in the block to debug together.
134
+
135
+ ### Block 4 (3:00 to 4:00) — Prove it and lock it in
136
+
137
+ Goal: confirm retention and produce the take-home artifacts.
138
+
139
+ - **Feynman pass:** ask the learner to teach the whole topic back to you in their own
140
+ words as if you were a new teammate. Note every gap, misconception, or hand-wave.
141
+ Re-teach only those. Ask them to explain the weak parts again, cleaner. Loop until
142
+ the explanation is accurate and simple.
143
+ - **Final 10-question flashcard quiz**, one at a time, difficulty ramping from basic
144
+ recall to expert judgment. After each: score out of 10, what was right, the exact
145
+ gap, and a one-line re-explanation of only the missed part.
146
+ - **Wrap-up artifact:** produce a one-page cheat sheet (format in the Standalone modes
147
+ section) plus a short scorecard: final score, strongest areas, weakest areas, and a
148
+ 3-bullet revision plan. Offer to save both.
149
+
150
+ ## Example: kicking off a sprint
151
+
152
+ Input: "I got assigned the loyalty proxy and have ~4 hours, no context."
153
+
154
+ Good opening move: confirm scope in one line, then do Step 0 (read the repo README,
155
+ the relevant PRs, the tickets, the relevant chat threads), extract the 80/20 spine,
156
+ and only then present the four-block plan and start Block 1. Do not start lecturing
157
+ from memory before reading the actual code.
158
+
159
+ ---
160
+
161
+ # Standalone modes
162
+
163
+ Each mode can run on its own. They all assume Step 0 (become the expert from real
164
+ sources) and the teaching contract above still apply: ground everything in real
165
+ sources, one question at a time, ELI5 on demand, end with a saveable artifact.
166
+
167
+ ## One-page cheat sheet
168
+
169
+ A compact review sheet the learner can scan in 5 minutes right before they need the
170
+ topic. It is a study map, not an explanation. Keep it dense, visual, and scannable.
171
+
172
+ Produce exactly these sections:
173
+
174
+ 1. **What it is** — one or two sentences, plain language.
175
+ 2. **Core concepts / rules / steps** — the load-bearing ideas as tight bullets, not
176
+ paragraphs. Include formulas or exact command/endpoint names where they apply.
177
+ 3. **Mental model** — one simple text diagram, flowchart, table, or analogy that makes
178
+ the whole thing click. Only include it if it genuinely helps.
179
+ 4. **3 to 5 real examples** — concrete, from the actual sources, showing the topic in
180
+ use.
181
+ 5. **Common mistakes / confusing parts** — the traps, with the correction.
182
+ 6. **Before you use this checklist** — 3 to 6 quick pre-flight checks.
183
+ 7. **5 rapid-fire questions** — memory checks. Put answers below a divider so they can
184
+ self-test first.
185
+
186
+ Then offer to save it. Avoid theory padding; if a line is not useful under time
187
+ pressure, cut it.
188
+
189
+ ## Learning ladder
190
+
191
+ Break the topic into 5 difficulty levels so the learner climbs without skipping
192
+ foundations. Present the ladder, then let them tell you which rung they are on.
193
+
194
+ For **each** level give:
195
+ 1. Level name
196
+ 2. What you should understand at this stage
197
+ 3. What mastery looks like here
198
+ 4. The most important concepts/skills to focus on
199
+ 5. One milestone that proves you are ready to move up
200
+ 6. One hands-on exercise or mini-project
201
+ 7. Common mistakes at this level
202
+ 8. A single self-check question to gate the next level
203
+
204
+ Fixed structure: **Level 1: Complete Beginner**, **Level 2: Basic Understanding**,
205
+ **Level 3: Practical User**, **Level 4: Problem Solver**, **Level 5: Confident
206
+ Practitioner**.
207
+
208
+ Keep it practical and about real progress. Do not overload with theory. End by
209
+ pointing them at the exercise for whatever level they are currently on.
210
+
211
+ ## Quiz me until I break
212
+
213
+ A strict-but-helpful examiner using active recall to find the exact edge of the
214
+ learner's understanding.
215
+
216
+ Rules:
217
+ - Ask **10 questions, one at a time**, and WAIT for each answer. Never batch.
218
+ - Difficulty ramp: Q1 to Q3 beginner, Q4 to Q6 intermediate, Q7 to Q8 advanced,
219
+ Q9 to Q10 expert.
220
+ - After each answer, do four things: grade it out of 10; say what they got right; name
221
+ the exact gap or weak point; re-explain only the missed part, simply.
222
+ - If an answer is weak, ask one targeted follow-up before moving on. If it is strong,
223
+ nudge the difficulty up.
224
+ - Do not reveal all answers at once. Make it feel like a real oral exam.
225
+
226
+ At the end give: final score, strongest areas, weakest areas, a short revision plan,
227
+ and 5 final challenge questions to push toward mastery. Offer to save the scorecard.
228
+
229
+ ## Feynman loop
230
+
231
+ Deep understanding by forcing the learner to teach it back.
232
+
233
+ 1. First explain the topic simply, as if to a 12-year-old: plain words, real-life
234
+ examples, analogies, no needless jargon, short.
235
+ 2. Ask the learner to explain it back in their own words.
236
+ 3. Review their explanation: note what they got right; find every gap, mistake, or
237
+ missing idea; re-teach only the wrong or missing parts; ask them to explain again,
238
+ cleaner.
239
+ 4. Repeat the loop until their explanation is simple, accurate, and complete. Do not
240
+ advance while it is still muddy. Correct gently but clearly; reach for an example
241
+ whenever they are confused.
242
+
243
+ End with a final clean explanation of the topic they can save as notes.
244
+
245
+ ## Find the signal
246
+
247
+ Curate the 5 highest-leverage resources so the learner does not waste time on noise.
248
+ Resources can be books, courses, videos, docs, newsletters, communities, or people to
249
+ follow. For a work/codebase topic, "resources" can include the specific internal docs,
250
+ PRs, and people who own the area.
251
+
252
+ For **each** of the 5 resources give: name; type; why it is worth their time; what
253
+ specific part of the topic it teaches; best learner type for it; difficulty
254
+ (beginner/intermediate/advanced); how to use it effectively; one warning about what
255
+ NOT to waste time on.
256
+
257
+ Then rank the 5 in the best order to consume them, and give a simple 7-day learning
258
+ path using only those resources. Favor quality over quantity. Signal, not noise.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "olko-relay",
3
+ "description": "Use claude-relay to run long or rate-limit-prone tasks autonomously across subscription accounts.",
4
+ "skills": "./skills"
5
+ }
@@ -0,0 +1,117 @@
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
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
21
+
22
+ # relay
23
+
24
+ Runs a task **unattended** using `claude-relay`: drives `claude -p` in a headless loop, writes a
25
+ handoff summary when one account's limit approaches, and switches to the next account automatically.
26
+ You watch logs; relay handles the rest.
27
+
28
+ Binary: `claude-relay` (alias `relay` if added to shell). Config: `~/.claude-relay/relay.config.json`.
29
+
30
+ ---
31
+
32
+ ## Step 1 — Decide: relay or inline?
33
+
34
+ **Use relay when:**
35
+ - Task will take many turns or hours (big refactor, migration, research + implementation)
36
+ - The user wants to hand it off and walk away
37
+ - Rate limits are a real concern (long-running or token-heavy)
38
+
39
+ **Stay inline when:**
40
+ - Task is quick (< ~10 turns)
41
+ - User wants to review each step
42
+ - Task needs interactive input that relay can't provide
43
+
44
+ ---
45
+
46
+ ## Step 2 — Write the goal
47
+
48
+ A relay goal is a self-contained spec a fresh Claude agent can execute cold. Write it to
49
+ `/tmp/relay-goal-<short-name>.md`. It must include:
50
+
51
+ - **What to do** — concrete deliverables, not vague intent
52
+ - **How to verify** — the exact command proving success (`npm test`, `curl /api/health`, etc.)
53
+ - **Scope** — explicit list of what NOT to do (no commits, no PRs, no migrations — unless stated)
54
+ - **Key files** — paths the agent should read first if the context isn't obvious
55
+
56
+ **Template:**
57
+ ```markdown
58
+ ## Goal
59
+ <1-3 sentences: the deliverable>
60
+
61
+ ## Success criteria
62
+ Run `<command>` and confirm it exits 0 / returns the expected result.
63
+
64
+ ## Scope
65
+ - DO: <explicit list>
66
+ - DO NOT: open PRs / push commits / run migrations / touch unrelated files
67
+
68
+ ## Key files
69
+ - <path> — <why it matters>
70
+ ```
71
+
72
+ Good goals are specific. "Add input validation to all POST routes in `app/api/`" beats "improve the API".
73
+
74
+ ---
75
+
76
+ ## Step 3 — Pick flags
77
+
78
+ | Situation | Flag |
79
+ |-----------|------|
80
+ | Task needs uncommitted changes, local `.env`, or a local database | `--in-place` |
81
+ | Everything is committed; task is self-contained | *(default — isolated git worktree)* |
82
+
83
+ When in doubt: if the repo has a `.env` or `node_modules` the task depends on, use `--in-place`.
84
+
85
+ ---
86
+
87
+ ## Step 4 — Run
88
+
89
+ ```bash
90
+ claude-relay run /tmp/relay-goal-<name>.md <absolute-path-to-repo> [--in-place]
91
+ ```
92
+
93
+ Relay logs stream to stderr. The run ends when the agent outputs `RELAY_TASK_COMPLETE` on its own
94
+ line, or hits a hard cap (400 turns / 48h wall clock).
95
+
96
+ ---
97
+
98
+ ## Step 5 — Tell the user
99
+
100
+ After starting, report:
101
+ - The exact command you ran
102
+ - What to watch for: `RELAY_TASK_COMPLETE` in logs, or `claude-relay status --config ~/.claude-relay/relay.config.json`
103
+ - The flag you picked and why (especially if you chose `--in-place`)
104
+
105
+ ---
106
+
107
+ ## Health check
108
+
109
+ If anything seems misconfigured:
110
+ ```bash
111
+ claude-relay doctor --config ~/.claude-relay/relay.config.json
112
+ ```
113
+
114
+ Should show ✓ for both account slots. If a slot shows ✗, tell the user to run:
115
+ ```bash
116
+ claude-relay login <email> # must have claude.ai open in browser as that account first
117
+ ```