@harness-lab/cli 0.2.8 → 0.3.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/README.md +34 -3
- package/assets/workshop-bundle/SKILL.md +28 -0
- package/assets/workshop-bundle/bundle-manifest.json +44 -52
- package/assets/workshop-bundle/content/challenge-cards/deck.md +19 -17
- package/assets/workshop-bundle/content/challenge-cards/locales/en/deck.md +7 -5
- package/assets/workshop-bundle/content/codex-craft.md +190 -0
- package/assets/workshop-bundle/content/facilitation/codex-setup-verification.md +5 -5
- package/assets/workshop-bundle/content/facilitation/master-guide.md +137 -67
- package/assets/workshop-bundle/content/project-briefs/code-review-helper.md +9 -9
- package/assets/workshop-bundle/content/project-briefs/devtoolbox-cli.md +11 -9
- package/assets/workshop-bundle/content/project-briefs/doc-generator.md +10 -8
- package/assets/workshop-bundle/content/project-briefs/locales/en/devtoolbox-cli.md +4 -2
- package/assets/workshop-bundle/content/project-briefs/locales/en/doc-generator.md +5 -3
- package/assets/workshop-bundle/content/project-briefs/locales/en/metrics-dashboard.md +4 -2
- package/assets/workshop-bundle/content/project-briefs/locales/en/standup-bot.md +4 -2
- package/assets/workshop-bundle/content/project-briefs/metrics-dashboard.md +14 -12
- package/assets/workshop-bundle/content/project-briefs/standup-bot.md +11 -9
- package/assets/workshop-bundle/content/talks/codex-demo-script.md +12 -10
- package/assets/workshop-bundle/content/talks/context-is-king.md +26 -23
- package/assets/workshop-bundle/docs/harness-cli-foundation.md +23 -11
- package/assets/workshop-bundle/docs/learner-resource-kit.md +37 -37
- package/assets/workshop-bundle/materials/coaching-codex.md +76 -0
- package/assets/workshop-bundle/materials/locales/en/participant-resource-kit.md +14 -2
- package/assets/workshop-bundle/materials/participant-resource-kit.md +23 -11
- package/assets/workshop-bundle/workshop-blueprint/README.md +2 -5
- package/assets/workshop-bundle/workshop-blueprint/day-structure.md +14 -0
- package/assets/workshop-bundle/workshop-skill/analyze-checklist.md +3 -3
- package/assets/workshop-bundle/workshop-skill/closing-skill.md +5 -5
- package/assets/workshop-bundle/workshop-skill/commands.md +13 -13
- package/assets/workshop-bundle/workshop-skill/facilitator.md +95 -0
- package/assets/workshop-bundle/workshop-skill/follow-up-package.md +13 -8
- package/assets/workshop-bundle/workshop-skill/install.md +8 -8
- package/assets/workshop-bundle/workshop-skill/locales/en/follow-up-package.md +8 -3
- package/assets/workshop-bundle/workshop-skill/locales/en/recap.md +8 -1
- package/assets/workshop-bundle/workshop-skill/locales/en/reference.md +19 -3
- package/assets/workshop-bundle/workshop-skill/locales/en/setup.md +1 -1
- package/assets/workshop-bundle/workshop-skill/recap.md +12 -5
- package/assets/workshop-bundle/workshop-skill/reference.md +45 -29
- package/assets/workshop-bundle/workshop-skill/setup.md +11 -11
- package/assets/workshop-bundle/workshop-skill/template-agents.md +4 -4
- package/package.json +1 -1
- package/src/client.js +18 -0
- package/src/io.js +11 -2
- package/src/run-cli.js +266 -8
- package/src/session-store.js +1 -0
- package/src/skill-install.js +108 -7
- package/src/workshop-bundle.js +48 -3
- package/assets/workshop-bundle/content/czech-editorial-review-checklist.md +0 -88
- package/assets/workshop-bundle/content/style-examples.md +0 -127
- package/assets/workshop-bundle/content/style-guide.md +0 -108
- package/assets/workshop-bundle/workshop-blueprint/edit-boundaries.md +0 -64
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
# Learner Resource Kit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This page defines the participant learner kit for Harness Lab.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
It is the small, portable subset of the repo that participants should take away, review, and reuse in their own projects.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Ground Rule
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
The learner kit is not the full workshop backstage.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
11
|
+
It should answer:
|
|
12
|
+
- what should I copy into a real repo?
|
|
13
|
+
- what should the agent or team do first?
|
|
14
|
+
- how do I make the work survive handoff?
|
|
15
|
+
- what do I need to verify before I trust the result?
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Default participant rhythm the learner kit should reinforce:
|
|
18
18
|
- `workshop` pro orientaci
|
|
19
19
|
- `brainstorm` nebo `plan` před větším řezem
|
|
20
20
|
- `work` proti jednomu ověřitelnému cíli
|
|
21
21
|
- `review` před důvěrou
|
|
22
22
|
- `compound` a průběžný úklid pro věci, které mají přežít session
|
|
23
23
|
|
|
24
|
-
##
|
|
24
|
+
## Learner Kit Core
|
|
25
25
|
|
|
26
26
|
### 1. Workshop skill
|
|
27
27
|
|
|
@@ -31,34 +31,34 @@ Hlavní rozhraní pro účastníky:
|
|
|
31
31
|
- [`workshop-skill/reference.md`](../workshop-skill/reference.md)
|
|
32
32
|
- [`workshop-skill/recap.md`](../workshop-skill/recap.md)
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
34
|
+
Why it belongs here:
|
|
35
|
+
- it shows how a participant skill can guide setup, workflow, and verification
|
|
36
|
+
- it is a real repo-backed interface, not only a workshop slide artifact
|
|
37
37
|
|
|
38
|
-
### 2. `AGENTS.md`
|
|
38
|
+
### 2. `AGENTS.md` example
|
|
39
39
|
|
|
40
40
|
Výchozí starter:
|
|
41
41
|
- [`workshop-skill/template-agents.md`](../workshop-skill/template-agents.md)
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
43
|
+
Why it belongs here:
|
|
44
|
+
- it is the smallest reusable example of durable repo context
|
|
45
|
+
- participants can adapt it directly for a real project
|
|
46
46
|
|
|
47
|
-
### 3.
|
|
47
|
+
### 3. Verification and review example
|
|
48
48
|
|
|
49
49
|
Výchozí checklist:
|
|
50
50
|
- [`workshop-skill/analyze-checklist.md`](../workshop-skill/analyze-checklist.md)
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
52
|
+
Why it belongs here:
|
|
53
|
+
- it gives a concrete standard for “can another team continue from here?”
|
|
54
|
+
- it turns repo quality into a checklist people can actually run
|
|
55
55
|
|
|
56
56
|
### 4. Challenge cards
|
|
57
57
|
|
|
58
58
|
Doporučený subset:
|
|
59
59
|
- [`content/challenge-cards/deck.md`](../content/challenge-cards/deck.md)
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
Use:
|
|
62
62
|
- malé zásahy během workshopu
|
|
63
63
|
- nápověda, co zlepšit později v reálném repu
|
|
64
64
|
|
|
@@ -68,31 +68,31 @@ Posílení po workshopu:
|
|
|
68
68
|
- [`workshop-skill/follow-up-package.md`](../workshop-skill/follow-up-package.md)
|
|
69
69
|
- [`materials/participant-resource-kit.md`](../materials/participant-resource-kit.md)
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
71
|
+
Why it belongs here:
|
|
72
|
+
- it turns the workshop from a one-day event into a repeatable behaviour change
|
|
73
|
+
- it gives a literal handout that can be sent or printed without extra explanation
|
|
74
74
|
|
|
75
|
-
##
|
|
75
|
+
## When To Use Which Artifact
|
|
76
76
|
|
|
77
|
-
###
|
|
77
|
+
### During setup
|
|
78
78
|
|
|
79
79
|
Použijte:
|
|
80
80
|
- [`workshop-skill/setup.md`](../workshop-skill/setup.md)
|
|
81
81
|
- [`workshop-skill/reference.md`](../workshop-skill/reference.md)
|
|
82
82
|
|
|
83
|
-
###
|
|
83
|
+
### During Build Phase 1
|
|
84
84
|
|
|
85
85
|
Použijte:
|
|
86
86
|
- [`workshop-skill/template-agents.md`](../workshop-skill/template-agents.md)
|
|
87
|
-
- karty `
|
|
87
|
+
- karty `Před obědem: postavte pracovní systém` v [`content/challenge-cards/deck.md`](../content/challenge-cards/deck.md)
|
|
88
88
|
|
|
89
|
-
###
|
|
89
|
+
### During the afternoon takeover
|
|
90
90
|
|
|
91
91
|
Použijte:
|
|
92
92
|
- [`workshop-skill/analyze-checklist.md`](../workshop-skill/analyze-checklist.md)
|
|
93
|
-
- karty `
|
|
93
|
+
- karty `Po rotaci: opravte signál, ne jen feature` v [`content/challenge-cards/deck.md`](../content/challenge-cards/deck.md)
|
|
94
94
|
|
|
95
|
-
###
|
|
95
|
+
### After the workshop
|
|
96
96
|
|
|
97
97
|
Použijte:
|
|
98
98
|
- [`workshop-skill/recap.md`](../workshop-skill/recap.md)
|
|
@@ -100,9 +100,9 @@ Použijte:
|
|
|
100
100
|
- [`materials/participant-resource-kit.md`](../materials/participant-resource-kit.md)
|
|
101
101
|
- [`learner-reference-gallery.md`](learner-reference-gallery.md)
|
|
102
102
|
|
|
103
|
-
##
|
|
103
|
+
## What To Carry Into A Real Project
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
Participants should leave with these concrete moves:
|
|
106
106
|
|
|
107
107
|
1. Přidejte `AGENTS.md` s částmi:
|
|
108
108
|
- goal
|
|
@@ -117,9 +117,9 @@ Použijte:
|
|
|
117
117
|
7. Před větší implementací použijte plan a po větší změně review nebo check.
|
|
118
118
|
8. Když už používáte externí workflow skill pack, napojte ho až nad tento základ místo toho, abyste jím nahrazovali kontext zapsaný v repu a ověřování.
|
|
119
119
|
|
|
120
|
-
##
|
|
120
|
+
## What Does Not Belong Here
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
The learner kit should not include full backstage operational detail, for example:
|
|
123
123
|
- runbooky pro konkrétní workshop instance
|
|
124
124
|
- privátní runtime architekturu a operace
|
|
125
125
|
- monitoring nebo řídicí postupy jen pro facilitátory
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Coaching Codex — the pocket card
|
|
2
|
+
|
|
3
|
+
> One page. Steal the moves. Print it if you want.
|
|
4
|
+
|
|
5
|
+
The workshop teaches that context, not prompts, is what makes agent work survive. This card is the other half: the **conversational moves** that keep the agent inside a working harness once you start a session. Most of the gap between "it worked" and "it didn't" is right here.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Before you let the agent write code
|
|
10
|
+
|
|
11
|
+
Ask these, in this order. Do not skip ahead.
|
|
12
|
+
|
|
13
|
+
1. **"Before you implement, read [file X] and state the three patterns you're going to reuse."**
|
|
14
|
+
Catches misreading in 30 seconds. Costs nothing.
|
|
15
|
+
|
|
16
|
+
2. **"What's the smallest change that could prove this approach works?"**
|
|
17
|
+
Forces a tracer bullet instead of a spec rewrite. The answer is often "one function plus one test."
|
|
18
|
+
|
|
19
|
+
3. **"What's the done criteria — a command I can run or a file I can look at — that tells us this is finished?"**
|
|
20
|
+
If the agent can't name one, neither of you knows what "done" means. Stop.
|
|
21
|
+
|
|
22
|
+
4. **"What could go wrong? Name one failure mode I haven't told you about."**
|
|
23
|
+
This is the single best drift detector. If the agent says "nothing", treat that as a yellow flag and push back.
|
|
24
|
+
|
|
25
|
+
5. **"Show me the plan as three steps. Not the code. The plan."**
|
|
26
|
+
Cheap to redirect a plan. Expensive to redirect 300 lines of code.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## While the agent is working
|
|
31
|
+
|
|
32
|
+
- **If it starts implementing before answering the five questions above, stop it.** The session is drifting. Go back to the plan.
|
|
33
|
+
- **If it says "I've completed the task", ask: "What did you verify?"** Not "did the tests pass" — "what did you verify". Force it to name the evidence, not the feeling.
|
|
34
|
+
- **If it adds a file you didn't ask for, ask "why this file?" before accepting.** Extra files are the first sign of improvisation.
|
|
35
|
+
- **If it tries to weaken a constraint ("we could skip this test"), refuse and re-read the constraint aloud.** Constraints you negotiate down always come back.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## When the agent says it's done
|
|
40
|
+
|
|
41
|
+
Run this short script, always:
|
|
42
|
+
|
|
43
|
+
1. **"Show me the diff."** Read it. If you don't want to read it, the agent isn't done — you are.
|
|
44
|
+
2. **"What test covers the change?"** If none, the change isn't covered. That's not a moral judgment; it's a statement about tomorrow's bug.
|
|
45
|
+
3. **"What could the next team misread about this?"** This is your handoff check. The agent's answer is where your next `AGENTS.md` update comes from.
|
|
46
|
+
4. **"What is the next safe step if we continue from here?"** If the answer is "I'm not sure", you haven't left a harness; you've left debris.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## When you disagree with the agent
|
|
51
|
+
|
|
52
|
+
- **Don't argue.** Arguing with an agent in a session is a sign the harness is missing. Exit the chat, strengthen the repo, re-enter.
|
|
53
|
+
- **Name the disagreement as a rule.** "We don't use `any` in this repo" is a rule. Write it down. Move it into `AGENTS.md`. Don't re-type it next session.
|
|
54
|
+
- **Ask: "Which file in the repo should have prevented this?"** The answer is usually a doc that doesn't exist yet. Create it.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## The three questions that reset a stuck session
|
|
59
|
+
|
|
60
|
+
When you feel the session going sideways, stop and ask these out loud, to yourself first:
|
|
61
|
+
|
|
62
|
+
1. **What are we trying to prove right now?**
|
|
63
|
+
2. **Which repo artifact is missing that would have prevented this?**
|
|
64
|
+
3. **What is the smallest check that returns this work from confidence back to reality?**
|
|
65
|
+
|
|
66
|
+
If you can't answer any of the three, the session is done. Close it. Come back when you can.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## The one rule to remember
|
|
71
|
+
|
|
72
|
+
**You are not prompting the agent. You are coaching a collaborator that forgets everything between sessions.** The only memory you share is the repo. Act accordingly.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
*Pairs with [`content/codex-craft.md`](../content/codex-craft.md) — the tool-specific fluency doc — and with the workshop talk [`content/talks/context-is-king.md`](../content/talks/context-is-king.md).*
|
|
@@ -17,8 +17,7 @@ Default template:
|
|
|
17
17
|
|
|
18
18
|
Choose at least one:
|
|
19
19
|
- build/test commands
|
|
20
|
-
-
|
|
21
|
-
- a tracer bullet
|
|
20
|
+
- an executable check (unit test or tracer bullet)
|
|
22
21
|
- a review checklist
|
|
23
22
|
|
|
24
23
|
When the agent handles a larger slice of work, “I skimmed it quickly” is not enough.
|
|
@@ -60,6 +59,8 @@ Do not let the model drive your normal signed-in browser by default without sand
|
|
|
60
59
|
- [`workshop-skill/locales/en/reference.md`](../../../workshop-skill/locales/en/reference.md)
|
|
61
60
|
- [`workshop-skill/locales/en/recap.md`](../../../workshop-skill/locales/en/recap.md)
|
|
62
61
|
- [`docs/locales/en/learner-reference-gallery.md`](../../../docs/locales/en/learner-reference-gallery.md)
|
|
62
|
+
- [`content/codex-craft.md`](../../../content/codex-craft.md) — Codex-specific craft: approval modes, sandboxing, long-horizon drift, a representative before/after prompt pair, and a failure-recovery walkthrough
|
|
63
|
+
- [`materials/coaching-codex.md`](../../coaching-codex.md) — the one-page pocket card of conversational moves for coaching an agent
|
|
63
64
|
|
|
64
65
|
Note:
|
|
65
66
|
- the `workshop` skill is the guaranteed workshop default
|
|
@@ -70,3 +71,14 @@ Note:
|
|
|
70
71
|
1. Add `AGENTS.md` to one real project.
|
|
71
72
|
2. Move one durable rule from a prompt into the repo.
|
|
72
73
|
3. Add one review or handoff checklist.
|
|
74
|
+
|
|
75
|
+
## What to read after the workshop to stay current
|
|
76
|
+
|
|
77
|
+
Codex and other coding agents ship new capabilities monthly. This kit is not a frozen reference — it is a starting harness for your own reading practice.
|
|
78
|
+
|
|
79
|
+
- **Codex CLI release notes** — read them on every release. The approval-mode and sandboxing changes are the ones that matter most.
|
|
80
|
+
- **Simon Willison's blog** ([simonwillison.net](https://simonwillison.net/)) — one of the densest practical sources on Codex, Claude Code, and other coding agents. He works with these tools daily and writes it down.
|
|
81
|
+
- **OpenAI Harness Engineering articles** — see `docs/learner-reference-gallery.md` for links.
|
|
82
|
+
- **Anthropic engineering blog** — if you use Claude Code, follow the official posts.
|
|
83
|
+
- **Your own `AGENTS.md` as a living document** — re-read them every quarter with a skeptical eye. Delete anything that is no longer load-bearing. Simplicity is part of the harness.
|
|
84
|
+
- **Your own `docs/solutions/` or runbook** — when you find a failure mode in your own work, write it down. Your team should learn from your team's mistakes, not just from this kit.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Participant Resource Kit
|
|
2
2
|
|
|
3
|
-
Krátká sada artefaktů, které si můžete odnést z
|
|
3
|
+
Krátká sada artefaktů, které si můžete odnést z Harness Lab do vlastního projektu.
|
|
4
4
|
|
|
5
5
|
## 1. Začněte `AGENTS.md`
|
|
6
6
|
|
|
@@ -17,8 +17,7 @@ Výchozí šablona:
|
|
|
17
17
|
|
|
18
18
|
Vyberte si alespoň jeden:
|
|
19
19
|
- build/test příkazy
|
|
20
|
-
-
|
|
21
|
-
- tracer bullet
|
|
20
|
+
- spustitelné ověření (unit test nebo tracer bullet)
|
|
22
21
|
- review checklist
|
|
23
22
|
|
|
24
23
|
Když agent dělá větší kus práce, nestačí „rychle jsem to projel očima“.
|
|
@@ -29,16 +28,16 @@ Checklist pro handoff:
|
|
|
29
28
|
## 3. Používejte malý workflow, ne chaos
|
|
30
29
|
|
|
31
30
|
Doporučený základ:
|
|
32
|
-
- `workshop` pro orientaci a
|
|
31
|
+
- `workshop` pro orientaci a další bezpečný krok
|
|
33
32
|
- `/brainstorm`, když ještě není jasný scope nebo první slice
|
|
34
33
|
- `/plan` před větší implementací
|
|
35
34
|
- `/work` nebo jiný úzký implementační loop, když už víte co stavíte
|
|
36
|
-
- test nebo
|
|
35
|
+
- test nebo jiné spustitelné ověření před důležitou změnou
|
|
37
36
|
- `/review` po větším kusu práce
|
|
38
|
-
- `/compound` nebo krátká poznámka zapsaná přímo v
|
|
39
|
-
- průběžný úklid: build/test příkazy, omezení a
|
|
37
|
+
- `/compound` nebo krátká poznámka zapsaná přímo v repu, když objev udělá další práci levnější
|
|
38
|
+
- průběžný úklid: build/test příkazy, omezení a handoff poznámky přesouvejte z chatu do repa
|
|
40
39
|
|
|
41
|
-
## 4. Přesuňte jedno pravidlo z
|
|
40
|
+
## 4. Přesuňte jedno pravidlo z chatu do repa
|
|
42
41
|
|
|
43
42
|
Typické kandidáty:
|
|
44
43
|
- build/test příkazy
|
|
@@ -53,20 +52,33 @@ Výchozí pattern:
|
|
|
53
52
|
- `Playwright regression`
|
|
54
53
|
- `human review`
|
|
55
54
|
|
|
56
|
-
Nenechávejte model jako výchozí volbu ovládat váš běžný přihlášený browser bez sandboxu a
|
|
55
|
+
Nenechávejte model jako výchozí volbu ovládat váš běžný přihlášený browser bez sandboxu a kontroly.
|
|
57
56
|
|
|
58
57
|
## 6. Co si projít po workshopu
|
|
59
58
|
|
|
60
59
|
- [`workshop-skill/reference.md`](../workshop-skill/reference.md)
|
|
61
60
|
- [`workshop-skill/recap.md`](../workshop-skill/recap.md)
|
|
62
61
|
- [`docs/learner-reference-gallery.md`](../docs/learner-reference-gallery.md)
|
|
62
|
+
- [`content/codex-craft.md`](../content/codex-craft.md) — Codex-specific craft (approval módy, sandboxing, long-horizon drift, před/po příklad, failure recovery)
|
|
63
|
+
- [`materials/coaching-codex.md`](coaching-codex.md) — jednostránkový pocket card konverzačních tahů pro coaching agenta
|
|
63
64
|
|
|
64
65
|
Poznámka:
|
|
65
66
|
- `workshop` skill je garantovaný výchozí nástroj workshopu
|
|
66
|
-
- další workflow skills a
|
|
67
|
+
- další workflow skills a veřejné toolkity berte jako volitelné akcelerátory, ne povinný setup
|
|
67
68
|
|
|
68
69
|
## Výzva na příští týden
|
|
69
70
|
|
|
70
71
|
1. Přidejte `AGENTS.md` do jednoho reálného projektu.
|
|
71
|
-
2. Přesuňte jedno trvalé pravidlo z
|
|
72
|
+
2. Přesuňte jedno trvalé pravidlo z promptu do repa.
|
|
72
73
|
3. Přidejte jeden review nebo handoff checklist.
|
|
74
|
+
|
|
75
|
+
## Co číst po workshopu, abyste zůstali aktuální
|
|
76
|
+
|
|
77
|
+
Codex a další kódovací agenti se mění měsíčně. Tenhle kit není zmrazená reference — je to startovní harness pro vaši vlastní čtecí praxi.
|
|
78
|
+
|
|
79
|
+
- **Codex CLI release notes** — čtěte při každém vydání. Změny v approval módech a sandboxingu jsou ty nejdůležitější.
|
|
80
|
+
- **Simon Willison's blog** ([simonwillison.net](https://simonwillison.net/)) — jeden z nejhustších praktických zdrojů o Codexu, Claude Code a dalších agentech. Denně pracuje s těmito nástroji a zapisuje si to.
|
|
81
|
+
- **OpenAI Harness Engineering articles** — viz `docs/learner-reference-gallery.md` pro odkazy.
|
|
82
|
+
- **Anthropic engineering blog** — když pracujete s Claude Code, sledujte oficiální posts.
|
|
83
|
+
- **Vlastní `AGENTS.md` jako živý dokument** — každé čtvrtletí si je znovu přečtěte skeptickým okem. Smažte, co už není nosné. Jednoduchost je součást harnessu.
|
|
84
|
+
- **Vlastní `docs/solutions/` nebo runbook** — když narazíte na failure mode ve své práci, zapište si ho. Váš tým se má učit ze svých vlastních chyb, ne jen z tohoto kitu.
|
|
@@ -18,8 +18,7 @@ Do not use this folder for live event state. Real dates, rooms, rosters, checkpo
|
|
|
18
18
|
2. [`teaching-spine.md`](teaching-spine.md)
|
|
19
19
|
3. [`operator-guide.md`](operator-guide.md)
|
|
20
20
|
4. [`control-surfaces.md`](control-surfaces.md)
|
|
21
|
-
5. [`
|
|
22
|
-
6. [`agenda.json`](agenda.json)
|
|
21
|
+
5. [`agenda.json`](agenda.json)
|
|
23
22
|
|
|
24
23
|
## Blueprint Contents
|
|
25
24
|
|
|
@@ -33,8 +32,6 @@ Do not use this folder for live event state. Real dates, rooms, rosters, checkpo
|
|
|
33
32
|
Explains how a facilitator prepares, runs, and closes a workshop.
|
|
34
33
|
- [`control-surfaces.md`](control-surfaces.md)
|
|
35
34
|
Defines participant surface, facilitator dashboard, facilitator skill, and the `harness` CLI as equal clients of one runtime model.
|
|
36
|
-
- [`edit-boundaries.md`](edit-boundaries.md)
|
|
37
|
-
Explains what changes in the public repo, what changes only in runtime, and how learnings are published back deliberately.
|
|
38
35
|
|
|
39
36
|
### Structured data
|
|
40
37
|
|
|
@@ -45,7 +42,7 @@ Do not use this folder for live event state. Real dates, rooms, rosters, checkpo
|
|
|
45
42
|
|
|
46
43
|
- [`harness-cli-foundation.md`](../docs/harness-cli-foundation.md)
|
|
47
44
|
|
|
48
|
-
The deeper runtime and maintainer docs such as blueprint import, publish-back flow,
|
|
45
|
+
The deeper runtime and maintainer docs such as blueprint import, publish-back flow, workshop-instance runbooks, and the governance rules in `edit-boundaries.md` remain part of the source repository and maintainer path. They are intentionally not part of the portable participant bundle. Read them directly from the [Harness Lab source repository](https://github.com/ondrej-svec/harness-lab/tree/main/workshop-blueprint) when you need them as a maintainer.
|
|
49
46
|
|
|
50
47
|
For maintainers working in the source repository, the runtime-facing structured agenda sources are:
|
|
51
48
|
|
|
@@ -13,6 +13,20 @@ Participants should leave with two things:
|
|
|
13
13
|
|
|
14
14
|
The workshop does not optimize for maximum feature count. It optimizes for continuation quality.
|
|
15
15
|
|
|
16
|
+
## The Question This Day Answers
|
|
17
|
+
|
|
18
|
+
One framing question runs through every phase:
|
|
19
|
+
|
|
20
|
+
> **Does the repo speak for itself?**
|
|
21
|
+
|
|
22
|
+
- The opening asks it.
|
|
23
|
+
- The `Context is King` talk explains why the answer matters.
|
|
24
|
+
- Build Phase 1 is the team's first chance to make the answer yes.
|
|
25
|
+
- The continuation shift checks whether the answer actually is yes.
|
|
26
|
+
- The reveal turns whatever was learned into next-week practice and into blueprint updates.
|
|
27
|
+
|
|
28
|
+
Every phase should deepen this one question, not add a new habit on top of it. Facilitators should be able to ask it aloud at any moment in the day and have the room understand exactly what it means.
|
|
29
|
+
|
|
16
30
|
## Design Rule
|
|
17
31
|
|
|
18
32
|
Harness Lab teaches by forcing the useful behavior:
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Když agent dělá `/workshop analyze`, měl by projít:
|
|
4
4
|
|
|
5
|
-
- existenci a
|
|
5
|
+
- existenci a kvalitu `AGENTS.md`
|
|
6
6
|
- jestli je `AGENTS.md` mapa nebo přerostlý dump
|
|
7
7
|
- jestli `AGENTS.md` říká, co číst jako první
|
|
8
8
|
- jestli `AGENTS.md` odkazuje na skutečné source-of-truth docs
|
|
9
9
|
- přítomnost build/test příkazů
|
|
10
10
|
- jestli repo rozlišuje hotové vs. rozpracované části
|
|
11
|
-
- jestli je v
|
|
11
|
+
- jestli je v repu plán nebo runbook pro další tým
|
|
12
12
|
- jestli je dohledatelné, co bylo skutečně ověřeno
|
|
13
|
-
- kolik pravidel žije jen v
|
|
13
|
+
- kolik pravidel žije jen v promptu a ne v repu
|
|
14
14
|
- jak snadné by bylo pokračovat po rotaci bez ústního handoffu
|
|
15
15
|
- jestli je zřejmý další bezpečný krok
|
|
16
16
|
|
|
@@ -6,25 +6,25 @@ Na konci dne vytvoř krátké shrnutí workshopu, které je:
|
|
|
6
6
|
|
|
7
7
|
- konkrétní
|
|
8
8
|
- systémové, ne osobní
|
|
9
|
-
- lehce meta: ukazuje, že agent umí shrnout práci agentů i
|
|
9
|
+
- lehce meta: ukazuje, že agent umí shrnout práci agentů i lidí dohromady
|
|
10
10
|
|
|
11
11
|
## Vstupy
|
|
12
12
|
|
|
13
|
-
- sprint checkpoint feed z
|
|
13
|
+
- sprint checkpoint feed z dashboardu
|
|
14
14
|
- monitoring summary nebo manuální scan
|
|
15
15
|
- W³ sticky notes nebo přepsané commitments
|
|
16
|
-
- případně poznámky z
|
|
16
|
+
- případně poznámky z intermezz
|
|
17
17
|
|
|
18
18
|
## Výstup
|
|
19
19
|
|
|
20
20
|
1. Co pomohlo týmům pokračovat po handoffu
|
|
21
21
|
2. Co opakovaně chybělo
|
|
22
22
|
3. Jaké 2-3 principy si má místnost odnést do příštího týdne
|
|
23
|
-
4. Jedna závěrečná věta, která propojí workshop s
|
|
23
|
+
4. Jedna závěrečná věta, která propojí workshop s reálnou prací v týmu
|
|
24
24
|
|
|
25
25
|
## Styl
|
|
26
26
|
|
|
27
27
|
- česky
|
|
28
28
|
- věcně
|
|
29
29
|
- bez oslavného tónu
|
|
30
|
-
- zjištění opírej o
|
|
30
|
+
- zjištění opírej o konkrétní signály z dne
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## Jak skill používat
|
|
4
4
|
|
|
5
|
-
- V
|
|
6
|
-
- V
|
|
5
|
+
- V Codexu používejte `$workshop ...`
|
|
6
|
+
- V pi načtěte `/skill:workshop` a potom si řekněte o konkrétní akci přirozeně nebo přes název příkazu
|
|
7
7
|
- Skill má být nainstalovaný přímo ve vašem pracovním repu přes `harness skill install`. Nemusíte kvůli tomu klonovat Harness Lab repo.
|
|
8
8
|
- Když si nejste jistí, začněte `workshop commands` nebo `workshop reference`
|
|
9
9
|
|
|
@@ -17,28 +17,28 @@
|
|
|
17
17
|
|
|
18
18
|
## Co který příkaz dělá
|
|
19
19
|
|
|
20
|
-
- `workshop` - kde v
|
|
21
|
-
- `workshop setup` - jak se co nejrychleji rozběhnout v
|
|
22
|
-
- `workshop brief` - zadání týmu a
|
|
20
|
+
- `workshop` - kde v workshopu právě jste a co je další bezpečný krok
|
|
21
|
+
- `workshop setup` - jak se co nejrychleji rozběhnout v Codexu nebo pi
|
|
22
|
+
- `workshop brief` - zadání týmu a první ukotvení scope
|
|
23
23
|
- `workshop challenges` - challenge cards pro další posun
|
|
24
|
-
- `workshop team` - tým, repo a
|
|
24
|
+
- `workshop team` - tým, repo a checkpoint
|
|
25
25
|
- `workshop reference` - krátká karta pracovních výchozích bodů pro dnešek
|
|
26
26
|
- `workshop help` - coaching podle fáze dne nebo podle problému, na kterém jste zaseknutí
|
|
27
27
|
- `workshop template` - starter `AGENTS.md`
|
|
28
|
-
- `workshop analyze` -
|
|
29
|
-
- `workshop resources` - účastnický kit, learner kit a
|
|
30
|
-
- `workshop follow-up` - co si odnést a
|
|
31
|
-
- `workshop gallery` - ověřené externí docs a
|
|
28
|
+
- `workshop analyze` - rychlá kontrola handoffu v repu
|
|
29
|
+
- `workshop resources` - účastnický kit, learner kit a další navazující materiály
|
|
30
|
+
- `workshop follow-up` - co si odnést a co udělat 48 hodin až 1 týden po workshopu
|
|
31
|
+
- `workshop gallery` - ověřené externí docs a veřejné repozitáře pro další učení
|
|
32
32
|
- `workshop recap` - krátké uzavření nebo připomínka po workshopu
|
|
33
33
|
|
|
34
34
|
## Kdy co použít
|
|
35
35
|
|
|
36
36
|
- Když nevíte, kde začít: `workshop reference`
|
|
37
|
-
- Když je zadání rozmazané: `workshop brief`, potom `brainstorm` nebo
|
|
37
|
+
- Když je zadání rozmazané: `workshop brief`, potom `brainstorm` nebo `$plan`
|
|
38
38
|
- Když repu chybí kontext: `workshop template`
|
|
39
39
|
- Když si nejste jistí workflow: `workshop commands`
|
|
40
|
-
- Když chcete materiály i
|
|
40
|
+
- Když chcete materiály i po workshopu: `workshop resources`, `workshop follow-up`, `workshop gallery`
|
|
41
41
|
|
|
42
42
|
## Důležitá poznámka
|
|
43
43
|
|
|
44
|
-
`workshop` skill je garantovaný výchozí nástroj workshopu. Další workflow skills a
|
|
44
|
+
`workshop` skill je garantovaný výchozí nástroj workshopu. Další workflow skills a veřejné toolkity jsou doporučené rozšíření, ne podmínka účasti.
|
|
@@ -41,6 +41,20 @@ Note:
|
|
|
41
41
|
- if the facilitator wants OS-native storage, they can use `HARNESS_SESSION_STORAGE=keychain`, `credential-manager`, or `secret-service`
|
|
42
42
|
- `--auth basic` and `--auth neon` remain explicit fallbacks for local dev/bootstrap
|
|
43
43
|
|
|
44
|
+
Preferred operator flow after login:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
harness workshop list-instances
|
|
48
|
+
harness workshop select-instance sample-workshop-demo-orbit
|
|
49
|
+
harness workshop current-instance
|
|
50
|
+
harness workshop status
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Rules:
|
|
54
|
+
- prefer this flow over reading local CLI session files or composing ad hoc authenticated `node -e` scripts
|
|
55
|
+
- once a local selection exists, the CLI may use it as the default target for subsequent facilitator operations
|
|
56
|
+
- when an agent needs machine-readable output, prefer `harness --json ...`
|
|
57
|
+
|
|
44
58
|
### `/workshop facilitator logout`
|
|
45
59
|
|
|
46
60
|
Ask the facilitator to run:
|
|
@@ -68,6 +82,48 @@ Show:
|
|
|
68
82
|
Use this for the current default or selected workshop context.
|
|
69
83
|
If the facilitator needs the full workspace registry first, use `list-instances` instead of probing local session files or writing raw authenticated fetch scripts.
|
|
70
84
|
|
|
85
|
+
Targeting behavior:
|
|
86
|
+
- if the facilitator previously ran `harness workshop select-instance <instance-id>`, `status` reports that selected instance
|
|
87
|
+
- if no local selection exists, `status` falls back to the deployment-default workshop context
|
|
88
|
+
- for exact machine parsing, prefer `harness --json workshop status`
|
|
89
|
+
|
|
90
|
+
### `/workshop facilitator current-instance`
|
|
91
|
+
|
|
92
|
+
Preferred path:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
harness workshop current-instance
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Show:
|
|
99
|
+
- the locally selected instance id when one exists
|
|
100
|
+
- whether the current target came from persisted selection or `HARNESS_WORKSHOP_INSTANCE_ID`
|
|
101
|
+
- the resolved instance summary and full record for operator verification
|
|
102
|
+
|
|
103
|
+
Rules:
|
|
104
|
+
- use this after `select-instance` when the facilitator wants to confirm the CLI target before update, reset, or remove
|
|
105
|
+
- if nothing is selected, the command should say so clearly instead of forcing the facilitator into session-file inspection
|
|
106
|
+
|
|
107
|
+
### `/workshop facilitator select-instance <instance-id>`
|
|
108
|
+
|
|
109
|
+
Preferred path:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
harness workshop select-instance sample-workshop-demo-orbit
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Clear the stored selection:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
harness workshop select-instance --clear
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Rules:
|
|
122
|
+
- use this when a facilitator will perform several operations against the same live workshop instance
|
|
123
|
+
- the CLI should validate the instance through the server before persisting the selection
|
|
124
|
+
- after selection, `status` and `phase set` should target that instance instead of the deployment default
|
|
125
|
+
- `show-instance`, `update-instance`, `reset-instance`, `prepare`, and `remove-instance` may omit `<instance-id>` when a valid selection already exists
|
|
126
|
+
|
|
71
127
|
### `/workshop facilitator list-instances`
|
|
72
128
|
|
|
73
129
|
Preferred path:
|
|
@@ -93,6 +149,7 @@ Rules:
|
|
|
93
149
|
- prefer this over inspecting local session files or composing one-off authenticated scripts
|
|
94
150
|
- use it when the facilitator needs to discover which live instances exist before reset, update, or scene work
|
|
95
151
|
- keep raw API usage as a diagnostic fallback, not the default operator workflow
|
|
152
|
+
- when an agent needs to parse the output, prefer `harness --json workshop list-instances`
|
|
96
153
|
|
|
97
154
|
### `/workshop facilitator show-instance <instance-id>`
|
|
98
155
|
|
|
@@ -117,6 +174,40 @@ Rules:
|
|
|
117
174
|
- use this when the facilitator needs one specific instance, not the deployment-default `workshop status`
|
|
118
175
|
- if the route returns `404`, the instance does not exist or is not visible to the facilitator
|
|
119
176
|
- prefer this over ad hoc authenticated scripts for routine discovery
|
|
177
|
+
- if a local selection already exists, the facilitator may omit `<instance-id>` and let the CLI use the stored target
|
|
178
|
+
|
|
179
|
+
### `/workshop facilitator participant-access`
|
|
180
|
+
|
|
181
|
+
Preferred inspection path:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
harness --json workshop participant-access
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Preferred rotation path:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
harness --json workshop participant-access --rotate
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Optional explicit code:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
harness --json workshop participant-access --rotate --code orbit7-bridge4-shift2
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Show:
|
|
200
|
+
- whether participant access is active for the current instance
|
|
201
|
+
- code id and expiry
|
|
202
|
+
- the current raw code only when it is still recoverable from sample/bootstrap configuration
|
|
203
|
+
- the newly issued raw code in the rotation response
|
|
204
|
+
|
|
205
|
+
Rules:
|
|
206
|
+
- treat the runtime store as hash-only after rotation; if the current raw code is unavailable, issue a new one instead of trying to recover it
|
|
207
|
+
- prefer this command over inspecting env vars, deployment config, or database rows directly
|
|
208
|
+
- if a local selection already exists, the CLI may omit `<instance-id>` and use the stored target
|
|
209
|
+
- use `--json` for agent consumption so the skill can quote the issued code exactly without scraping prose
|
|
210
|
+
- keep the participant event code separate from facilitator credentials and do not present it as an admin password
|
|
120
211
|
|
|
121
212
|
### `/workshop facilitator grant <email> <role>`
|
|
122
213
|
|
|
@@ -230,6 +321,7 @@ Rules:
|
|
|
230
321
|
- do not use reset for an ordinary title, venue, or room correction
|
|
231
322
|
- if the route returns `400`, the payload is wrong; if it returns `404`, the instance does not exist
|
|
232
323
|
- use `--content-lang cs|en` when the facilitator intends to change the workshop delivery language for that instance
|
|
324
|
+
- if the facilitator already selected a local current instance, the CLI may omit `<instance-id>` and use the stored target
|
|
233
325
|
|
|
234
326
|
### `/workshop facilitator reset-instance <instance-id>`
|
|
235
327
|
|
|
@@ -256,6 +348,7 @@ Rules:
|
|
|
256
348
|
- warn that reset archives current runtime state first and then clears live runtime state for the instance
|
|
257
349
|
- prefer `update-instance` for ordinary metadata corrections; reset is the high-impact operation
|
|
258
350
|
- if the facilitator does not specify a template, keep the current template unless there is a clear reason to switch
|
|
351
|
+
- if the facilitator already selected a local current instance, the CLI may omit `<instance-id>` and use the stored target
|
|
259
352
|
|
|
260
353
|
### `/workshop facilitator prepare`
|
|
261
354
|
|
|
@@ -275,6 +368,7 @@ Content-Type: application/json
|
|
|
275
368
|
```
|
|
276
369
|
|
|
277
370
|
This sets the instance to `prepared` state and verifies the event code.
|
|
371
|
+
If a local current instance is already selected, the CLI may omit `<instance-id>` and use the stored target.
|
|
278
372
|
|
|
279
373
|
### `/workshop facilitator remove-instance <instance-id>`
|
|
280
374
|
|
|
@@ -296,6 +390,7 @@ Content-Type: application/json
|
|
|
296
390
|
Rules:
|
|
297
391
|
- remove remains an owner-only operation
|
|
298
392
|
- the skill should warn the facilitator that this is destructive removal from the active list, not routine metadata editing
|
|
393
|
+
- if the facilitator already selected a local current instance, the CLI may omit `<instance-id>` and use the stored target
|
|
299
394
|
|
|
300
395
|
### `/workshop facilitator agenda`
|
|
301
396
|
|