@harness-lab/cli 0.2.1 → 0.2.2

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.
Files changed (47) hide show
  1. package/README.md +14 -5
  2. package/assets/workshop-bundle/SKILL.md +295 -0
  3. package/assets/workshop-bundle/bundle-manifest.json +172 -0
  4. package/assets/workshop-bundle/content/challenge-cards/.gitkeep +0 -0
  5. package/assets/workshop-bundle/content/challenge-cards/deck.md +38 -0
  6. package/assets/workshop-bundle/content/challenge-cards/print-spec.md +28 -0
  7. package/assets/workshop-bundle/content/facilitation/.gitkeep +0 -0
  8. package/assets/workshop-bundle/content/facilitation/codex-setup-verification.md +54 -0
  9. package/assets/workshop-bundle/content/facilitation/master-guide.md +131 -0
  10. package/assets/workshop-bundle/content/project-briefs/.gitkeep +0 -0
  11. package/assets/workshop-bundle/content/project-briefs/code-review-helper.md +31 -0
  12. package/assets/workshop-bundle/content/project-briefs/devtoolbox-cli.md +31 -0
  13. package/assets/workshop-bundle/content/project-briefs/doc-generator.md +31 -0
  14. package/assets/workshop-bundle/content/project-briefs/metrics-dashboard.md +31 -0
  15. package/assets/workshop-bundle/content/project-briefs/standup-bot.md +31 -0
  16. package/assets/workshop-bundle/content/style-examples.md +127 -0
  17. package/assets/workshop-bundle/content/style-guide.md +106 -0
  18. package/assets/workshop-bundle/content/talks/.gitkeep +0 -0
  19. package/assets/workshop-bundle/content/talks/codex-demo-script.md +43 -0
  20. package/assets/workshop-bundle/content/talks/context-is-king.md +42 -0
  21. package/assets/workshop-bundle/docs/harness-cli-foundation.md +112 -0
  22. package/assets/workshop-bundle/docs/learner-reference-gallery.md +82 -0
  23. package/assets/workshop-bundle/docs/learner-resource-kit.md +126 -0
  24. package/assets/workshop-bundle/docs/workshop-event-context-contract.md +123 -0
  25. package/assets/workshop-bundle/materials/participant-resource-kit.md +72 -0
  26. package/assets/workshop-bundle/workshop-blueprint/README.md +48 -0
  27. package/assets/workshop-bundle/workshop-blueprint/agenda.json +70 -0
  28. package/assets/workshop-bundle/workshop-blueprint/control-surfaces.md +101 -0
  29. package/assets/workshop-bundle/workshop-blueprint/day-structure.md +129 -0
  30. package/assets/workshop-bundle/workshop-blueprint/edit-boundaries.md +64 -0
  31. package/assets/workshop-bundle/workshop-blueprint/operator-guide.md +74 -0
  32. package/assets/workshop-bundle/workshop-blueprint/teaching-spine.md +134 -0
  33. package/assets/workshop-bundle/workshop-skill/.gitkeep +0 -0
  34. package/assets/workshop-bundle/workshop-skill/analyze-checklist.md +21 -0
  35. package/assets/workshop-bundle/workshop-skill/closing-skill.md +30 -0
  36. package/assets/workshop-bundle/workshop-skill/commands.md +44 -0
  37. package/assets/workshop-bundle/workshop-skill/facilitator.md +416 -0
  38. package/assets/workshop-bundle/workshop-skill/follow-up-package.md +35 -0
  39. package/assets/workshop-bundle/workshop-skill/install.md +58 -0
  40. package/assets/workshop-bundle/workshop-skill/recap.md +22 -0
  41. package/assets/workshop-bundle/workshop-skill/reference.md +80 -0
  42. package/assets/workshop-bundle/workshop-skill/setup.md +84 -0
  43. package/assets/workshop-bundle/workshop-skill/template-agents.md +35 -0
  44. package/package.json +8 -3
  45. package/src/run-cli.js +16 -9
  46. package/src/skill-install.js +98 -57
  47. package/src/workshop-bundle.js +233 -0
@@ -0,0 +1,416 @@
1
+ # Facilitator Commands
2
+
3
+ Příkazy pro facilitátory, kteří řídí workshop instance přes AI agenta.
4
+
5
+ ## Auth
6
+
7
+ Facilitátor se musí nejdřív přihlásit přes `harness` CLI. Skill nemá být další secret store pro raw credentials ani dlouhodobou session.
8
+
9
+ ### `/workshop facilitator login`
10
+
11
+ Pokud není aktivní facilitátorská session, řekni facilitátorovi, aby spustil:
12
+
13
+ ```bash
14
+ harness auth login
15
+ ```
16
+
17
+ CLI provede browser/device auth flow, uloží session do lokálního file storage a zpřístupní ji pro další privileged příkazy.
18
+
19
+ Aktuální praktický path v repu:
20
+
21
+ - default / browser-device auth:
22
+ ```bash
23
+ harness auth login --dashboard-url https://harness-lab-dashboard.vercel.app
24
+ ```
25
+ - file mode / lokální demo fallback:
26
+ ```bash
27
+ harness auth login --auth basic --dashboard-url http://localhost:3000 --username facilitator --password secret
28
+ ```
29
+ - neon mode / sdílený dashboard bootstrap fallback:
30
+ ```bash
31
+ harness auth login --auth neon --dashboard-url https://harness-lab-dashboard.vercel.app --email facilitator@example.com
32
+ ```
33
+
34
+ Poznámka:
35
+ - CLI dnes defaultně používá browser/device auth a ukládá session do lokálního file storage
36
+ - Pokud facilitátor chce OS-native storage, může použít `HARNESS_SESSION_STORAGE=keychain`, `credential-manager` nebo `secret-service`
37
+ - `--auth basic` a `--auth neon` zůstávají jen jako explicitní fallback pro lokální dev/bootstrap
38
+
39
+ ### `/workshop facilitator logout`
40
+
41
+ Požádej o:
42
+
43
+ ```bash
44
+ harness auth logout
45
+ ```
46
+
47
+ ## Instance Management
48
+
49
+ ### `/workshop facilitator status`
50
+
51
+ Preferovaný path:
52
+
53
+ ```bash
54
+ harness workshop status
55
+ ```
56
+
57
+ Zobraz:
58
+ - aktivní instanci a její stav
59
+ - aktuální fázi
60
+ - seznam facilitátorů s rolemi
61
+ - počet týmů
62
+
63
+ ### `/workshop facilitator grant <email> <role>`
64
+
65
+ Použij CLI-backed privileged request path. Skill nemá řešit auth bootstrap sám.
66
+
67
+ API capability zůstává:
68
+
69
+ ```http
70
+ POST {DASHBOARD_URL}/api/admin/facilitators
71
+ Content-Type: application/json
72
+
73
+ { "email": "...", "role": "operator" }
74
+ ```
75
+
76
+ Vyžaduje `owner` roli. Vrací info o novém grantu.
77
+
78
+ ### `/workshop facilitator revoke <email>`
79
+
80
+ Nejdřív zavolej `GET /api/admin/facilitators` a najdi grant podle emailu.
81
+ Pak:
82
+ ```
83
+ DELETE {DASHBOARD_URL}/api/admin/facilitators/{grantId}
84
+ ```
85
+
86
+ Vyžaduje `owner` roli.
87
+
88
+ ### `/workshop facilitator create-instance`
89
+
90
+ Preferovaný path je CLI příkaz nad sdíleným runtime API:
91
+
92
+ ```bash
93
+ harness workshop create-instance developer-hackathon-praha-24-4-saturn \
94
+ --template-id blueprint-default \
95
+ --event-title "Developer Hackathon Praha" \
96
+ --city Praha \
97
+ --date-range "24. dubna 2026" \
98
+ --venue-name "Seyfor Praha jednička 103" \
99
+ --room-name Saturn \
100
+ --address-line "CZ, Praha 8, Sokolovska 695/115b" \
101
+ --location-details "17 osob + lektor" \
102
+ --facilitator-label Ondrej
103
+ ```
104
+
105
+ Raw API reference zůstává jen jako diagnostická nebo architektonická reference:
106
+
107
+ ```http
108
+ POST {DASHBOARD_URL}/api/workshop/instances
109
+ Content-Type: application/json
110
+
111
+ {
112
+ "id": "developer-hackathon-praha-24-4-saturn",
113
+ "templateId": "blueprint-default",
114
+ "eventTitle": "Developer Hackathon Praha",
115
+ "city": "Praha",
116
+ "dateRange": "24. dubna 2026",
117
+ "venueName": "Seyfor Praha jednička 103",
118
+ "roomName": "Saturn",
119
+ "addressLine": "CZ, Praha 8, Sokolovska 695/115b",
120
+ "locationDetails": "17 osob + lektor",
121
+ "facilitatorLabel": "Ondrej"
122
+ }
123
+ ```
124
+
125
+ Poznámky pro skill:
126
+ - skill má preferovat CLI, ne ručně skládané `fetch` skripty
127
+ - `id` musí být lowercase slug s písmeny, čísly a pomlčkami
128
+ - když skill volá create opakovaně se stejným `id`, route vrací `created: false` a existující instance record
129
+ - nehádej venue metadata zkráceně, když je facilitátor zná; pošli je rovnou při create
130
+
131
+ ### `/workshop facilitator update-instance <instance-id>`
132
+
133
+ Preferovaný path:
134
+
135
+ ```bash
136
+ harness workshop update-instance developer-hackathon-praha-24-4-saturn \
137
+ --event-title "Developer Hackathon Praha" \
138
+ --date-range "24. dubna 2026" \
139
+ --venue-name "Seyfor Praha jednička 103" \
140
+ --room-name Saturn \
141
+ --address-line "CZ, Praha 8, Sokolovska 695/115b" \
142
+ --location-details "17 osob + lektor" \
143
+ --facilitator-label Ondrej
144
+ ```
145
+
146
+ Raw API reference:
147
+
148
+ ```http
149
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}
150
+ Content-Type: application/json
151
+
152
+ {
153
+ "action": "update_metadata",
154
+ "eventTitle": "Developer Hackathon Praha",
155
+ "dateRange": "24. dubna 2026",
156
+ "venueName": "Seyfor Praha jednička 103",
157
+ "roomName": "Saturn",
158
+ "addressLine": "CZ, Praha 8, Sokolovska 695/115b",
159
+ "locationDetails": "17 osob + lektor",
160
+ "facilitatorLabel": "Ondrej"
161
+ }
162
+ ```
163
+
164
+ Pravidla:
165
+ - pošli jen fieldy, které chceš změnit
166
+ - nepoužívej reset pro obyčejnou opravu názvu, venue nebo room
167
+ - když route vrátí `400`, payload je špatně; když vrátí `404`, instance neexistuje
168
+
169
+ ### `/workshop facilitator prepare`
170
+
171
+ Preferovaný path:
172
+
173
+ ```bash
174
+ harness workshop prepare developer-hackathon-praha-24-4-saturn
175
+ ```
176
+
177
+ Raw API reference:
178
+
179
+ ```http
180
+ POST {DASHBOARD_URL}/api/workshop
181
+ Content-Type: application/json
182
+
183
+ { "action": "prepare", "instanceId": "developer-hackathon-praha-24-4-saturn" }
184
+ ```
185
+
186
+ Nastaví instanci do stavu `prepared`, ověří event code.
187
+
188
+ ### `/workshop facilitator remove-instance <instance-id>`
189
+
190
+ Preferovaný path:
191
+
192
+ ```bash
193
+ harness workshop remove-instance developer-hackathon-praha-24-4-saturn
194
+ ```
195
+
196
+ Raw API reference:
197
+
198
+ ```http
199
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}
200
+ Content-Type: application/json
201
+
202
+ { "action": "remove" }
203
+ ```
204
+
205
+ Pravidla:
206
+ - remove zůstává owner-only operace
207
+ - skill má facilitátora upozornit, že jde o destruktivní odebrání z aktivního seznamu, ne o běžnou editaci metadata
208
+
209
+ ### `/workshop facilitator agenda`
210
+
211
+ Lokální editace agendy pro konkrétní instanci používá instanční route:
212
+
213
+ ```http
214
+ GET {DASHBOARD_URL}/api/workshop/instances/{instanceId}/agenda
215
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}/agenda
216
+ POST {DASHBOARD_URL}/api/workshop/instances/{instanceId}/agenda
217
+ DELETE {DASHBOARD_URL}/api/workshop/instances/{instanceId}/agenda
218
+ ```
219
+
220
+ Příklady:
221
+
222
+ ```http
223
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}/agenda
224
+ Content-Type: application/json
225
+
226
+ {
227
+ "action": "update",
228
+ "itemId": "build-1",
229
+ "title": "...",
230
+ "time": "...",
231
+ "goal": "...",
232
+ "roomSummary": "...",
233
+ "facilitatorPrompts": ["..."],
234
+ "watchFors": ["..."],
235
+ "checkpointQuestions": ["..."]
236
+ }
237
+ ```
238
+
239
+ ```http
240
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}/agenda
241
+ Content-Type: application/json
242
+
243
+ { "action": "move", "itemId": "build-1", "direction": "up" }
244
+ ```
245
+
246
+ ```http
247
+ POST {DASHBOARD_URL}/api/workshop/instances/{instanceId}/agenda
248
+ Content-Type: application/json
249
+
250
+ {
251
+ "title": "...",
252
+ "time": "...",
253
+ "goal": "...",
254
+ "roomSummary": "...",
255
+ "facilitatorPrompts": ["..."],
256
+ "watchFors": ["..."],
257
+ "checkpointQuestions": ["..."],
258
+ "afterItemId": "build-1"
259
+ }
260
+ ```
261
+
262
+ Pravidla:
263
+
264
+ - agenda item je facilitátorský pack, ne jen `title/time/description`
265
+ - preferované fieldy jsou `goal`, `roomSummary`, `facilitatorPrompts`, `watchFors`, `checkpointQuestions`
266
+ - `description` zůstává compatibility field pro starší surface; pro room-facing shrnutí preferuj `roomSummary`
267
+ - používej kanonická agenda ids jako `opening`, `talk`, `demo`, `build-1`, `intermezzo-1`, `rotation`, `build-2`, `intermezzo-2`, `reveal`
268
+ - skill nemá vymýšlet vlastní názvy workshop momentů mimo tuto kostru
269
+
270
+ ### `/workshop facilitator scenes`
271
+
272
+ Presenter scenes jsou agenda-linked room-facing výstupy pro facilitátora a projektor. Skill má umět:
273
+
274
+ - vypsat scény pro celou instanci nebo konkrétní agenda item
275
+ - vytvořit novou scénu
276
+ - upravit obsah, label, scene type a CTA
277
+ - změnit default scénu pro danou agenda položku
278
+ - přeuspořádat scény
279
+ - skrýt nebo znovu povolit scénu
280
+ - smazat lokální scénu
281
+ - číst a případně upravit `facilitatorNotes`, `sourceRefs` a `blocks`
282
+
283
+ Instanční route:
284
+
285
+ ```http
286
+ GET {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
287
+ GET {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes?agendaItemId=talk
288
+ POST {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
289
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
290
+ DELETE {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
291
+ ```
292
+
293
+ Příklady:
294
+
295
+ ```http
296
+ POST {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
297
+ Content-Type: application/json
298
+
299
+ {
300
+ "agendaItemId": "talk",
301
+ "label": "Prompt blob vs repo context",
302
+ "sceneType": "demo",
303
+ "intent": "walkthrough",
304
+ "chromePreset": "agenda",
305
+ "title": "Nejdřív bez kontextu, potom s mapou",
306
+ "facilitatorNotes": [
307
+ "Držte jednu story, ne feature tour."
308
+ ],
309
+ "blocks": [
310
+ {
311
+ "id": "hero",
312
+ "type": "hero",
313
+ "title": "Nejdřív bez kontextu, potom s mapou",
314
+ "body": "Ukažte rozdíl mezi prompt blobem a krátkou repo-native mapou."
315
+ },
316
+ {
317
+ "id": "questions",
318
+ "type": "bullet-list",
319
+ "title": "Pointa",
320
+ "items": [
321
+ "Co není v repu, neexistuje.",
322
+ "Kontext je páka, ne kosmetika."
323
+ ]
324
+ }
325
+ ],
326
+ "ctaLabel": "Potom přepnout na participant walkthrough"
327
+ }
328
+ ```
329
+
330
+ ```http
331
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
332
+ Content-Type: application/json
333
+
334
+ {
335
+ "action": "update",
336
+ "agendaItemId": "talk",
337
+ "sceneId": "scene-123",
338
+ "label": "Upravený demo flow",
339
+ "sceneType": "demo",
340
+ "intent": "walkthrough",
341
+ "chromePreset": "agenda",
342
+ "title": "Jedna story, ne feature tour",
343
+ "blocks": [
344
+ {
345
+ "id": "hero",
346
+ "type": "hero",
347
+ "title": "Jedna story, ne feature tour",
348
+ "body": "Neukazujte pět režimů práce. Ukažte jeden čitelný workflow."
349
+ }
350
+ ]
351
+ }
352
+ ```
353
+
354
+ ```http
355
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
356
+ Content-Type: application/json
357
+
358
+ { "action": "set_default", "agendaItemId": "talk", "sceneId": "talk-participant-view" }
359
+ ```
360
+
361
+ ```http
362
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
363
+ Content-Type: application/json
364
+
365
+ { "action": "move", "agendaItemId": "talk", "sceneId": "scene-123", "direction": "up" }
366
+ ```
367
+
368
+ ```http
369
+ PATCH {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
370
+ Content-Type: application/json
371
+
372
+ { "action": "set_enabled", "agendaItemId": "talk", "sceneId": "scene-123", "enabled": false }
373
+ ```
374
+
375
+ ```http
376
+ DELETE {DASHBOARD_URL}/api/workshop/instances/{instanceId}/scenes
377
+ Content-Type: application/json
378
+
379
+ { "agendaItemId": "talk", "sceneId": "scene-123" }
380
+ ```
381
+
382
+ Když facilitátor chce změnit wording, flow nebo participant walkthrough přes coding agenta, preferuj tuto route místo ručního popisu změn v UI.
383
+
384
+ Při práci přes API:
385
+
386
+ - neznámé `agendaItemId` nebo `sceneId` vrací `404`
387
+ - malformed payload pořád vrací `400`
388
+ - skill má stale target ids hlásit explicitně, ne pokračovat jako by se změna povedla
389
+ - room-facing obsah patří do `blocks`, facilitátorské guidance do `facilitatorNotes`
390
+ - `title/body` zůstávají kvůli compatibility, ale skill má preferovat strukturované `blocks`
391
+ - když runtime agenda existuje, skill má číst a citovat její `goal`, `roomSummary`, `facilitatorPrompts`, `watchFors`, `checkpointQuestions`, `facilitatorNotes` a `blocks`
392
+ - když runtime data nejsou dostupná, fallbackni na repo-native blueprint/facilitation docs a explicitně to řekni
393
+
394
+ ### `/workshop facilitator archive`
395
+
396
+ Zavolej:
397
+ ```
398
+ POST {DASHBOARD_URL}/api/workshop/archive
399
+ Content-Type: application/json
400
+
401
+ { "reason": "manual", "notes": "..." }
402
+ ```
403
+
404
+ ## Environment
405
+
406
+ Agent potřebuje vědět URL dashboardu:
407
+ - `HARNESS_DASHBOARD_URL` — URL produkčního nebo preview dashboardu
408
+ - Pokud není nastaveno, použij `https://harness-lab-dashboard.vercel.app`
409
+
410
+ ## Poznámky
411
+
412
+ - Facilitátorské příkazy jsou oddělené od participant příkazů
413
+ - `/workshop facilitator login` má facilitátora navést do `harness auth login`
414
+ - Všechny ostatní privileged příkazy používají CLI-backed uloženou session
415
+ - Pokud session expiruje, agent řekne facilitátorovi, aby se znovu přihlásil
416
+ - Tyto příkazy nikdy nezobrazuj participant účastníkům
@@ -0,0 +1,35 @@
1
+ # Follow-up Package
2
+
3
+ ## 48 hodin po workshopu
4
+
5
+ Pošli účastníkům:
6
+
7
+ 1. Krátké připomenutí hlavních principů:
8
+ - Kontext je pracovní systém
9
+ - `AGENTS.md` je týmová infrastruktura
10
+ - `Done When` a build/test příkazy zvyšují šanci na dobrý handoff
11
+ 2. Odkaz na `/workshop recap`
12
+ 3. Odkaz nebo výřez z `workshop-skill/template-agents.md`
13
+ 4. Výzvu týdne:
14
+ - „Přidejte `AGENTS.md` do jednoho reálného projektu.“
15
+ - „Přesuňte jedno trvalé pravidlo z promptu do repa.“
16
+ 5. Odkaz na learner kit:
17
+ - [`docs/learner-resource-kit.md`](../docs/learner-resource-kit.md)
18
+ - [`docs/learner-reference-gallery.md`](../docs/learner-reference-gallery.md)
19
+ - [`materials/participant-resource-kit.md`](../materials/participant-resource-kit.md)
20
+ 6. Připomeňte, že stejné materiály lze vyžádat i přes skill:
21
+ - `workshop resources`
22
+ - `workshop gallery`
23
+ - `workshop follow-up`
24
+
25
+ ## 1 týden po workshopu
26
+
27
+ Krátký follow-up dotaz:
28
+
29
+ - Vytvořili jste `AGENTS.md` v reálném projektu?
30
+ - Přidali jste build/test příkazy nebo sekci `Done When`?
31
+ - Co vám pomohlo a co vás zablokovalo?
32
+
33
+ ## W³ připomínka
34
+
35
+ Pokud máš fotku sticky notes z části `A teď?`, pošli každému jeho vlastní závazek jako osobní připomínku.
@@ -0,0 +1,58 @@
1
+ # Workshop Skill Install
2
+
3
+ ## Doporučená distribuce
4
+
5
+ Výchozí doporučení pro Harness Lab je instalace přes `@harness-lab/cli` do vašeho aktuálního pracovního repa.
6
+
7
+ Proč:
8
+ - skill je pořád repo-native obsah, ale nemá záviset na tom, že máte zrovna klon tohoto veřejného repa
9
+ - stejné soubory slouží jako fallback i jako dokumentace
10
+ - participant má mít funkční workshop companion přímo v týmovém repu
11
+
12
+ ## Doporučený participant flow
13
+
14
+ 1. otevřít svůj týmový nebo workshopový repo
15
+ 2. nainstalovat Harness CLI:
16
+
17
+ ```bash
18
+ npm install -g @harness-lab/cli
19
+ ```
20
+
21
+ 3. nainstalovat workshop skill do aktuálního repa:
22
+
23
+ ```bash
24
+ harness skill install
25
+ ```
26
+
27
+ Volitelně můžete cílit jinam:
28
+
29
+ ```bash
30
+ harness skill install --target /cesta/k/repu
31
+ ```
32
+
33
+ 4. otevřít agent nástroj nad tímto repem
34
+ 5. ověřit, že fungují minimálně:
35
+ - Codex: `$workshop commands`, `$workshop reference`, `$workshop brief`
36
+ - pi: `/skill:workshop`, potom si říct o `commands`, `reference` nebo `brief`
37
+
38
+ Po úspěšné instalaci `harness skill install` rovnou vypíše doporučené první kroky, aby účastník věděl, že může začít buď v Codexu přes `$workshop ...`, nebo v pi přes `/skill:workshop`.
39
+ Když příkaz pustíte znovu později, CLI zkontroluje, jestli je bundle v cílovém repu aktuální. Pokud je zastaralý, rovnou ho obnoví. `--force` používejte jen tehdy, když chcete vynutit plný reinstall.
40
+
41
+ ## Co čekat dál
42
+
43
+ `harness skill install` instaluje garantovaný workshop bundle. Neinstaluje za vás další workflow skills ani externí toolkity.
44
+
45
+ Doporučený další postup:
46
+
47
+ 1. rozběhnout `workshop` skill
48
+ 2. otevřít `commands`, `reference` a `brief`
49
+ 3. doplnit `AGENTS.md`
50
+ 4. podle potřeby použít `brainstorm`, `plan`, `work`, `review` nebo `compound`, pokud je ve svém agent setupu máte k dispozici
51
+ 5. když chcete participant materiály bez hledání v GitHubu, použít `workshop resources`, `workshop gallery` a `workshop follow-up`
52
+
53
+ ## Poznámka
54
+
55
+ `harness skill install` vytvoří projektový bundle v `.agents/skills/harness-lab-workshop`, aby skill šel objevit v repu bez další distribuční vrstvy.
56
+ Tuto složku berte jako generovaný workshop bundle, ne jako hlavní authoring surface.
57
+
58
+ Participant login není potřeba pro samotnou existenci skillu. `workshop login` je až krok pro odemčení live event contextu.
@@ -0,0 +1,22 @@
1
+ # Workshop Recap
2
+
3
+ ## Co si odnést
4
+
5
+ - Kontext není kosmetika. Je to pracovní systém.
6
+ - `AGENTS.md`, skills a runbooky nejsou doplněk navíc. Jsou to nástroje, díky kterým tým drží směr.
7
+ - Dobrý handoff poznáte podle toho, že nový tým začne pracovat bez ústního dovysvětlování.
8
+
9
+ ## Zkuste tento týden
10
+
11
+ - Přidejte `AGENTS.md` do jednoho reálného projektu.
12
+ - Doplňte build/test příkazy a sekci `Done When`.
13
+ - Jedno trvalé pravidlo přesuňte z promptu do repa.
14
+ - Po větší změně zkuste udělat krátký runbook pro dalšího člověka.
15
+
16
+ ## Váš závazek
17
+
18
+ Vraťte se ke sticky note z části `A teď?` a převeďte ji na první konkrétní commit, pull request nebo task v repu.
19
+
20
+ ## Až si nebudete jistí
21
+
22
+ Začněte jednoduše: napište, co chcete udělat, kde je kontext, jaká jsou omezení a podle čeho poznáte hotovo.
@@ -0,0 +1,80 @@
1
+ # Workshop Reference
2
+
3
+ ## 4 pracovní defaulty pro dnešek
4
+
5
+ - `Mapa před pohybem` — nejdřív udělejte z repa místo, kde se dá orientovat
6
+ - `Co není v repu, neexistuje` — důležité dohody, pravidla a next steps patří do souborů
7
+ - `Ověření je hranice důvěry` — s větší autonomií musí růst i kvalita evidence
8
+ - `Handoff je průběžný constraint` — další tým má najít první safe move bez vašeho výkladu
9
+
10
+ ## 4 prvky dobrého zadání
11
+
12
+ - `Cíl` — co má agent konkrétně vytvořit nebo změnit
13
+ - `Kontext` — které soubory, rozhodnutí a souvislosti jsou pro úkol důležité
14
+ - `Omezení` — pravidla, standardy a hranice řešení
15
+ - `Hotovo když` — podle čeho poznáte, že je práce opravdu dokončená
16
+
17
+ ## Rychlý checklist pro handoff
18
+
19
+ - Existuje `AGENTS.md`?
20
+ - Je `AGENTS.md` krátká mapa, ne přerostlý dump?
21
+ - Jsou v repu build/test příkazy, které umí spustit i další tým?
22
+ - Je jasné, co už funguje, co je rozpracované a co je jen nápad?
23
+ - Je v repu plan, runbook nebo jiný dokument, ze kterého další tým pochopí záměr?
24
+ - Je dohledatelné, co bylo skutečně ověřeno?
25
+ - Najde nový tým během pár minut první bezpečný krok?
26
+
27
+ ## Doporučené commands
28
+
29
+ - Workshop skill v Codexu: `$workshop ...`
30
+ - Workshop skill v pi: `/skill:workshop`, potom si řekněte o `reference`, `setup`, `brief` nebo jinou workshop akci
31
+ - Když nevíte, co skill umí: `Codex: $workshop commands`
32
+ - Workshop skill je garantovaný default. Workflow skills a externí toolkity jsou doporučené akcelerátory, ne povinný bootstrap.
33
+ - Workflow skills jako `$brainstorm`, `$plan`, `$work`, `$test-writer`, `$review` a `$compound` jsou v tomto workshopu popsané Codex-first. V pi je berte jako volitelnou součást vlastního setupu, ne jako garantovaný default.
34
+ - `Codex: $workshop reference` na začátku dne nebo po ztrátě orientace
35
+ - `Codex: $workshop brief` když potřebujete znovu ukotvit zadání
36
+ - `Codex: $workshop resources` když chcete participant kit a learner kit bez hledání v repu
37
+ - `Codex: $workshop gallery` když chcete další veřejné docs, repozitáře a volitelné toolkity
38
+ - `Codex: $workshop follow-up` když řešíte, co si odnést po workshopu
39
+ - `Codex: $brainstorm` když ještě není jasné, co je nejrozumnější scope nebo slice
40
+ - `Codex: $plan` před větší implementací
41
+ - `Codex: $work` když už máte plan a chcete držet implementaci v jedné linii
42
+ - `Codex: $test-writer` nebo vlastní RED test před implementací, když potřebujete držet agenta v mezích
43
+ - `Codex: $review` po větším kusu práce
44
+ - `Codex: $compound` když chcete převést learning, fix nebo workflow pravidlo do trvalého repo-native artefaktu
45
+ - `Codex: $workshop` pro orientaci během dne
46
+ - `Codex: $workshop template` když repu chybí základní kontext
47
+ - `Codex: $workshop analyze` před handoffem nebo po rotaci, když chcete rychle odhalit slepá místa v repu
48
+
49
+ ## Doporučený participant loop
50
+
51
+ - `workshop` pro orientaci a další safe move
52
+ - `brainstorm` nebo rovnou `plan`, když už je scope zřejmý
53
+ - `work` proti jednomu ověřitelnému cíli
54
+ - `review` před tím, než změně uvěříte
55
+ - `compound` nebo krátký runbook, když něco stojí za zachování
56
+ - průběžná cleanup práce: build/test příkazy, omezení a handoff poznámky přesouvejte z chatu do repa
57
+
58
+ ## Testy jako hranice důvěry
59
+
60
+ - Čím víc práce dělá agent samostatně, tím méně stačí „já jsem to rychle projel očima“.
61
+ - Když necháte agenta psát bez testů, často jen urychlíte vznik neověřené složitosti.
62
+ - RED test, tracer bullet nebo jednoduché e2e ověření je často nejrychlejší způsob, jak agentovi říct, co přesně má být pravda.
63
+
64
+ ## Bezpečný UI workflow
65
+
66
+ - Výchozí pattern je: `agent exploration -> Playwright regression -> human review`.
67
+ - Nechte agenta rychle projít UI, screenshoty a konzoli v izolovaném lokálním prostředí.
68
+ - Jakmile najdete důležitý flow, převeďte ho do opakovatelného browser testu.
69
+ - Nakonec změnu projděte člověkem. Testy chrání proti regresi, ale neřeší automaticky smysl a trade-offy.
70
+ - „Nech model řídit můj běžný přihlášený browser“ není výchozí doporučení. To patří jen do sandboxovaného a záměrně omezeného prostředí.
71
+
72
+ ## Rychlá připomínka
73
+
74
+ Dobrý prompt nestačí. Když má práce přežít handoff, musí být kontext uložený v repu a ověření musí být dohledatelné.
75
+
76
+ ## Kam dál po workshopu
77
+
78
+ - Oficiální docs, OpenAI článek o Harness Engineering a ověřené veřejné skill repozitáře najdete v [`docs/learner-reference-gallery.md`](../docs/learner-reference-gallery.md).
79
+ - Když už používáte další workflow pack nebo toolkit, berte ho jako rozšíření nad tímto základem, ne jako náhradu za `AGENTS.md`, ověřování a repo-native handoff.
80
+ - Když nechcete hledat v repu, použijte přímo `workshop resources`, `workshop gallery` nebo `workshop follow-up`.
@@ -0,0 +1,84 @@
1
+ # Workshop Setup
2
+
3
+ ## Cíl
4
+
5
+ Do 10:30 potřebujete jednu funkční cestu do Codexu nebo pi. Ne perfektní setup. Funkční cestu.
6
+
7
+ První cíl po setupu není feature. Je to orientace:
8
+
9
+ - otevřít repo
10
+ - načíst workshop guidance
11
+ - vytvořit krátké `AGENTS.md`
12
+ - pojmenovat první ověřitelný krok
13
+
14
+ Garantovaný default pro dnešek je `workshop` skill. Další workflow skills nebo externí toolkity jsou volitelné zrychlení, ne podmínka účasti.
15
+
16
+ ## Nejrychlejší volba
17
+
18
+ - terminálový, hackovatelný multi-model setup: `pi`
19
+ - macOS / Linux: `Codex CLI`
20
+ - Windows nebo macOS: `Codex App`
21
+ - Když se zaseknete: web fallback nebo pairing s někým, komu už setup běží
22
+
23
+ ## pi
24
+
25
+ 1. Nainstalujte `pi`:
26
+
27
+ ```bash
28
+ npm install -g @mariozechner/pi-coding-agent
29
+ ```
30
+
31
+ 2. Přihlaste provider nebo účet, který chcete používat.
32
+ 3. Otevřete repozitář.
33
+ 4. Spusťte `pi`.
34
+ 5. Načtěte workshop skill přes `/skill:workshop` a řekněte si o `setup`, `reference` nebo `brief`.
35
+
36
+ ## Codex CLI
37
+
38
+ 1. Ověřte, že máte přístup ke svému Codex účtu.
39
+ 2. Nainstalujte CLI podle interního setup flow vaší organizace.
40
+ 3. Přihlaste se.
41
+ 4. Otevřete repozitář.
42
+ 5. Pošlete první smysluplný prompt a ověřte, že dostáváte odpověď.
43
+
44
+ ## Codex App
45
+
46
+ 1. Nainstalujte aplikaci.
47
+ 2. Přihlaste se stejným účtem.
48
+ 3. Otevřete workshop repo nebo týmový projekt.
49
+ 4. Pošlete první prompt.
50
+ 5. Ověřte, že můžete pokračovat bez další blokace.
51
+
52
+ ## Když něco nefunguje
53
+
54
+ - Neztrácejte 20 minut sólo debugováním setupu.
55
+ - Po 7 minutách blokace přepněte na App, web fallback nebo pairing.
56
+ - Když nefunguje autentizace, pokračujte s někým od stolu a vraťte se k vlastnímu setupu později.
57
+ - Když si nejste jistí dalším krokem, použijte v Codexu `$workshop setup`. V pi načtěte `/skill:workshop` a řekněte si o setup pomoc. Nebo si zavolejte facilitátora.
58
+
59
+ ## Prvních 15 minut po setupu
60
+
61
+ 1. Spusťte `workshop` reference:
62
+ - Codex: `$workshop reference`
63
+ - pi: `/skill:workshop`, potom si řekněte o `reference`
64
+ - když chcete rychlý přehled skill surface: `Codex: $workshop commands`
65
+ 2. Otevřete brief:
66
+ - Codex: `$workshop brief`
67
+ - pi: `/skill:workshop`, potom si řekněte o `brief`
68
+ 3. Doplňte krátké `AGENTS.md`:
69
+ - Codex: `$workshop template`
70
+ 4. Pojmenujte první safe move:
71
+ - ideálně přes `plan`, případně `brainstorm`, když scope ještě není jasný
72
+ 5. Přidejte jeden executable check:
73
+ - RED test, tracer bullet nebo aspoň jasný review/checklist krok
74
+ 6. Když chcete materiály i po workshopu:
75
+ - `Codex: $workshop resources`
76
+ - `Codex: $workshop gallery`
77
+ - `Codex: $workshop follow-up`
78
+
79
+ ## Hotovo když
80
+
81
+ - Umíte otevřít repo.
82
+ - Umíte poslat prompt.
83
+ - Máte jednu funkční cestu, jak během workshopu pracovat s agentem.
84
+ - Víte, jaký je první safe move v repu po setupu.