@telepath-computer/television 0.1.177 → 0.1.179

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 (38) hide show
  1. package/dist/canonical/v1/components.js +25 -7
  2. package/dist/canonical/v1/styles.css +17 -1
  3. package/dist/cli.cjs +1187 -392
  4. package/dist/onboarding/README.md +35 -0
  5. package/dist/onboarding/business-ops/about.html +150 -0
  6. package/dist/onboarding/business-ops/retention-vs-releases.html +572 -0
  7. package/dist/onboarding/business-ops/revenue-vs-goals.html +621 -0
  8. package/dist/onboarding/onboarding-screens.json +167 -0
  9. package/dist/onboarding/productivity/about.html +149 -0
  10. package/dist/onboarding/productivity/company-todos/index.html +121 -0
  11. package/dist/onboarding/productivity/company-todos/task.css +205 -0
  12. package/dist/onboarding/productivity/company-todos/task.js +307 -0
  13. package/dist/onboarding/productivity/meeting-prep.html +440 -0
  14. package/dist/onboarding/productivity/priorities-today.html +409 -0
  15. package/dist/onboarding/productivity/todays-calendar/calendar.css +1 -0
  16. package/dist/onboarding/productivity/todays-calendar/calendar.js +716 -0
  17. package/dist/onboarding/productivity/todays-calendar/index.html +52 -0
  18. package/dist/onboarding/research/about.html +152 -0
  19. package/dist/onboarding/research/draft-blog-post.md +30 -0
  20. package/dist/onboarding/research/open-model-research.html +542 -0
  21. package/dist/onboarding/research/todays-news.html +503 -0
  22. package/dist/onboarding/{television-onboarding → tv-guide/welcome}/index.html +5 -5
  23. package/dist/skills/television/SKILL.md +44 -0
  24. package/dist/skills/tv-tasks/SKILL.md +241 -0
  25. package/dist/skills/tv-tasks/task.css +205 -0
  26. package/dist/skills/tv-tasks/task.js +307 -0
  27. package/dist/views/markdown/index.html +1 -1
  28. package/dist/web/assets/calendar-DToAnkzj.png +0 -0
  29. package/dist/web/assets/main-5017mprd.css +1 -0
  30. package/dist/web/assets/main-C-OjKUzX.js +865 -0
  31. package/dist/web/assets/markdown-DdDrJuVK.png +0 -0
  32. package/dist/web/assets/table-oeG9uAN1.png +0 -0
  33. package/dist/web/assets/tasks-D4xqXFPl.png +0 -0
  34. package/dist/web/index.html +2 -2
  35. package/package.json +1 -1
  36. package/dist/web/assets/main-BSAIRhnY.js +0 -768
  37. package/dist/web/assets/main-o9Z-XUYA.css +0 -1
  38. /package/dist/onboarding/{television-onboarding → tv-guide/welcome}/assets/television.svg +0 -0
@@ -0,0 +1,440 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Meeting prep</title>
7
+ <link rel="stylesheet" href="/canonical/v1/styles.css">
8
+ <script type="module" src="/canonical/v1/components.js"></script>
9
+ <style>
10
+ /* Shared base for onboarding artifacts ([[../index.md]]): document padding
11
+ and the centered content shell. Typography, text color, and background
12
+ are the canonical stylesheet's — nothing in this set restates or pins
13
+ them, so artifacts follow the active theme ([[../index.md#^respect-theme]]). */
14
+
15
+ * {
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ body {
20
+ margin: 0;
21
+ padding: var(--space-32, 32px) var(--space-32, 32px) var(--space-64, 64px);
22
+ }
23
+
24
+ .shell {
25
+ max-width: 720px;
26
+ margin: 0 auto;
27
+ display: grid;
28
+ /* Pin the single column to the container so a wide child (a data table)
29
+ scrolls inside its own .table-wrap instead of stretching the track and
30
+ overflowing the card. */
31
+ grid-template-columns: minmax(0, 1fr);
32
+ gap: var(--space-20, 20px);
33
+ }
34
+
35
+ /* Card-density headings ([[../index.md]]): document-scale h1 is oversized
36
+ inside a TV card. */
37
+ h1 {
38
+ margin: 0;
39
+ font-size: var(--text-xl, 17px);
40
+ font-weight: 600;
41
+ line-height: 1.25;
42
+ }
43
+
44
+ /* A lead paragraph (the .lede or .summary-deck standfirst) belongs in the
45
+ header, tight beneath the title — not a full grid-gap below it. Every
46
+ onboarding artifact places its lead this way so the spacing is uniform. */
47
+ header > .lede,
48
+ header > .summary-deck {
49
+ margin-top: var(--space-8, 8px);
50
+ }
51
+
52
+
53
+ /* The hero header idiom ([[../index.md]]): a plain document header opening a
54
+ dashboard-shaped artifact — the title with a fictional freshness line and
55
+ an optional source/meta line, sitting on the document itself rather than
56
+ inside a card. */
57
+
58
+ header.hero h1 {
59
+ margin: 0 0 var(--space-6, 6px);
60
+ }
61
+
62
+ .generated {
63
+ color: var(--color-text-muted);
64
+ font-size: var(--text-sm, 12px);
65
+ font-weight: 500;
66
+ }
67
+
68
+ .meta-line {
69
+ margin-top: var(--space-4, 4px);
70
+ color: var(--color-text-muted);
71
+ font-size: var(--text-sm, 12px);
72
+ }
73
+
74
+
75
+ /* The panel/section idioms ([[../index.md]]): a bordered surface panel with
76
+ a heading and optional note, the muted summary-box, the section-title row,
77
+ and — for artifacts that lean on headings and spacing over nested cards —
78
+ the borderless .section and the .summary-deck lead paragraph. */
79
+
80
+ /* Borderless section: a title row (or heading) then its stack, no box. */
81
+ .section {
82
+ display: grid;
83
+ gap: var(--space-16, 16px);
84
+ }
85
+
86
+ /* Summary/lead as a standfirst paragraph — the borderless counterpart to
87
+ .summary-box. */
88
+ /* Lead/standfirst paragraph — the same size as the About .lede (body text),
89
+ not enlarged; it leads by position and primary color, not scale. */
90
+ .summary-deck {
91
+ margin: 0;
92
+ line-height: 1.5;
93
+ color: var(--color-text);
94
+ }
95
+
96
+ .panel {
97
+ padding: var(--space-20, 20px);
98
+ border: 1px solid var(--color-border);
99
+ border-radius: var(--radius-12, 12px);
100
+ background: var(--color-surface);
101
+ }
102
+
103
+ .panel h2 {
104
+ margin: 0 0 var(--space-4, 4px);
105
+ font-size: var(--text-lg, 15px);
106
+ font-weight: 600;
107
+ }
108
+
109
+ .panel .note {
110
+ margin: 0 0 var(--space-16, 16px);
111
+ color: var(--color-text-muted);
112
+ font-size: var(--text-sm, 12px);
113
+ }
114
+
115
+ .summary-box {
116
+ padding: var(--space-16, 16px) var(--space-20, 20px);
117
+ border: 1px solid var(--color-border-muted);
118
+ border-radius: var(--radius-12, 12px);
119
+ background: var(--color-surface-muted);
120
+ }
121
+
122
+ .summary-box h2 {
123
+ margin: 0 0 var(--space-8, 8px);
124
+ font-size: var(--text-lg, 15px);
125
+ font-weight: 600;
126
+ }
127
+
128
+ .summary-box p {
129
+ margin: 0;
130
+ line-height: 1.45;
131
+ }
132
+
133
+ .section-title {
134
+ display: flex;
135
+ justify-content: space-between;
136
+ align-items: baseline;
137
+ gap: var(--space-12, 12px);
138
+ margin-bottom: var(--space-12, 12px);
139
+ }
140
+
141
+ .section-title h2 {
142
+ margin: 0;
143
+ font-size: var(--text-lg, 15px);
144
+ font-weight: 600;
145
+ }
146
+
147
+ .section-title .note {
148
+ margin: 0;
149
+ color: var(--color-text-muted);
150
+ font-size: var(--text-sm, 12px);
151
+ }
152
+
153
+
154
+ /* The pill idiom ([[../index.md]]): small rounded status/tag chips. The
155
+ base pill is neutral; variant classes tint with canonical ramp tokens
156
+ (stable across themes by design, [[../index.md#^respect-theme]]). */
157
+
158
+ .pill {
159
+ display: inline-flex;
160
+ align-items: center;
161
+ gap: var(--space-4, 4px);
162
+ padding: 2px var(--space-10, 10px);
163
+ border: 1px solid var(--color-border);
164
+ border-radius: var(--radius-full, 9999px);
165
+ background: var(--color-surface);
166
+ color: var(--color-text-muted);
167
+ font-size: var(--text-sm, 12px);
168
+ line-height: 1.2;
169
+ white-space: nowrap;
170
+ }
171
+
172
+ .pill.blue { color: var(--blue-700); border-color: var(--blue-200); background: var(--blue-50); }
173
+ .pill.green { color: var(--green-700); border-color: var(--green-200); background: var(--green-50); }
174
+ .pill.orange { color: var(--orange-700); border-color: var(--orange-200); background: var(--orange-50); }
175
+ .pill.red { color: var(--red-700); border-color: var(--red-200); background: var(--red-50); }
176
+ .pill.dim { color: var(--neutral-500); border-color: var(--neutral-200); background: var(--neutral-100); }
177
+
178
+
179
+ /* Meeting prep ([[index.md]]): artifact-specific styling. Kept low on
180
+ borders to match Priorities and Open model research — the panels are the
181
+ shared borderless .section, references and the person block carry no box,
182
+ and the option cards are held by an accent rule rather than a card. The
183
+ section, section-title, and pill idioms come from shared/. */
184
+
185
+ .shell {
186
+ max-width: 880px;
187
+ gap: var(--space-24, 24px);
188
+ }
189
+
190
+ /* Meeting-prep sections keep their heading tight to the content below it —
191
+ the section gap alone (no extra heading margin, which would double up). */
192
+ .section {
193
+ gap: var(--space-8, 8px);
194
+ }
195
+
196
+ /* Section headings sit at the bare level (no box), tight to the content. */
197
+ .section > h2 {
198
+ margin: 0;
199
+ font-size: var(--text-lg, 15px);
200
+ font-weight: 600;
201
+ }
202
+
203
+ /* Person block: initial avatar, role, and bio in a border-only box. */
204
+ .person-card {
205
+ display: flex;
206
+ align-items: start;
207
+ gap: var(--space-16, 16px);
208
+ padding: var(--space-16, 16px);
209
+ border: 1px solid var(--color-border);
210
+ border-radius: var(--radius-12, 12px);
211
+ }
212
+
213
+ .avatar {
214
+ width: 48px;
215
+ height: 48px;
216
+ flex-shrink: 0;
217
+ display: grid;
218
+ place-items: center;
219
+ border-radius: var(--radius-12, 12px);
220
+ color: var(--white);
221
+ background: var(--purple-500);
222
+ font-size: var(--text-lg, 15px);
223
+ font-weight: 700;
224
+ }
225
+
226
+ .person-info h3 {
227
+ margin: 0 0 var(--space-4, 4px);
228
+ font-size: var(--text-base, 13.5px);
229
+ font-weight: 600;
230
+ }
231
+
232
+ .person-info .role {
233
+ margin-bottom: var(--space-6, 6px);
234
+ color: var(--color-text-muted);
235
+ font-size: var(--text-sm, 12px);
236
+ font-weight: 600;
237
+ }
238
+
239
+ .person-info p {
240
+ margin: 0;
241
+ font-size: var(--text-sm, 12px);
242
+ line-height: 1.42;
243
+ }
244
+
245
+ /* Purpose: plain prose — a heading, lead paragraphs, and the options list,
246
+ in normal block flow (not the grid .section, whose gap double-spaced). */
247
+ .purpose h2 {
248
+ margin: 0 0 var(--space-8, 8px);
249
+ font-size: var(--text-lg, 15px);
250
+ font-weight: 600;
251
+ }
252
+
253
+ .purpose p {
254
+ margin: 0 0 var(--space-10, 10px);
255
+ line-height: 1.45;
256
+ }
257
+
258
+ /* The two options as clear dot points. A hanging indent keeps the marker on
259
+ the prose left edge while wrapped lines stay indented under the text:
260
+ the marker flows inside the first line, which is pulled back by the same
261
+ amount the list is padded. */
262
+ .options {
263
+ list-style: disc;
264
+ list-style-position: inside;
265
+ margin: 0;
266
+ padding-left: 1.4em;
267
+ }
268
+
269
+ .options li {
270
+ margin-bottom: var(--space-8, 8px);
271
+ line-height: 1.5;
272
+ text-indent: -1.4em;
273
+ }
274
+
275
+ .options li:last-child {
276
+ margin-bottom: 0;
277
+ }
278
+
279
+ .options .ask {
280
+ color: var(--color-text-muted);
281
+ }
282
+
283
+ /* Reference lists: the meeting entry itself is the box (bare section
284
+ heading above it), a heading/date row, text, and tag pills. */
285
+ .ref-list {
286
+ display: grid;
287
+ gap: var(--space-12, 12px);
288
+ }
289
+
290
+ .ref-item {
291
+ padding: var(--space-12, 12px) var(--space-16, 16px);
292
+ border: 1px solid var(--color-border);
293
+ border-radius: var(--radius-12, 12px);
294
+ }
295
+
296
+ .ref-head {
297
+ display: flex;
298
+ justify-content: space-between;
299
+ align-items: baseline;
300
+ gap: var(--space-10, 10px);
301
+ margin-bottom: var(--space-4, 4px);
302
+ }
303
+
304
+ .ref-head h3 {
305
+ margin: 0;
306
+ font-size: var(--text-base, 13.5px);
307
+ font-weight: 600;
308
+ line-height: 1.2;
309
+ }
310
+
311
+ .ref-date {
312
+ color: var(--color-text-muted);
313
+ font-size: var(--text-sm, 12px);
314
+ white-space: nowrap;
315
+ }
316
+
317
+ .ref-item p {
318
+ margin: 0;
319
+ color: var(--color-text-muted);
320
+ font-size: var(--text-sm, 12px);
321
+ line-height: 1.4;
322
+ }
323
+
324
+ .ref-tags {
325
+ display: flex;
326
+ flex-wrap: wrap;
327
+ gap: var(--space-4, 4px);
328
+ margin-top: var(--space-8, 8px);
329
+ }
330
+
331
+ @media (max-width: 760px) {
332
+ .person-card {
333
+ flex-direction: column;
334
+ gap: var(--space-10, 10px);
335
+ }
336
+ }
337
+
338
+ </style>
339
+ </head>
340
+ <body>
341
+
342
+
343
+
344
+
345
+
346
+
347
+ <main class="shell">
348
+ <header class="hero">
349
+ <h1>Meeting Prep — 1:1 with Priya</h1>
350
+ <div class="generated">Today at 12:00 PM · 30 minutes</div>
351
+ </header>
352
+
353
+ <section class="section">
354
+ <div class="person-card">
355
+ <div class="avatar">P</div>
356
+ <div class="person-info">
357
+ <h3>Priya Sharma</h3>
358
+ <div class="role">Lead Developer</div>
359
+ <p>
360
+ Priya has been leading the engineering team for 14 months. She owns
361
+ architecture decisions, runs the daily standup, and is the primary
362
+ point of contact for all platform reliability work. She reports
363
+ directly to you.
364
+ </p>
365
+ </div>
366
+ </div>
367
+ </section>
368
+
369
+ <section class="purpose">
370
+ <h2>Purpose of this meeting</h2>
371
+ <p>
372
+ Discuss several ways the dev team has been feeling blocked and what you
373
+ can do as founder to help unblock them. Priya raised this informally in
374
+ Slack last week and asked for dedicated time to go deeper.
375
+ </p>
376
+ <p>
377
+ Based on those recent conversations and your own notes, two approaches
378
+ have emerged — neither finalized; the goal today is to get Priya's
379
+ reaction before you commit.
380
+ </p>
381
+ <ul class="options">
382
+ <li>
383
+ <strong>Dedicated QA champion</strong> — assign Marcus as owner of
384
+ evals and release gates. <span class="ask">Is he the right person?</span>
385
+ </li>
386
+ <li>
387
+ <strong>Merge checklist + rotation</strong> — a merge checklist with
388
+ weekly rotating ownership. <span class="ask">Why did the previous
389
+ rotation fail?</span>
390
+ </li>
391
+ </ul>
392
+ </section>
393
+
394
+ <section class="section">
395
+ <h2>Prior 1:1s with Priya</h2>
396
+ <div class="ref-list">
397
+ <div class="ref-item">
398
+ <div class="ref-head">
399
+ <h3>1:1 — June 24</h3>
400
+ <span class="ref-date">2 weeks ago</span>
401
+ </div>
402
+ <p>
403
+ Priya flagged that the lack of clear eval ownership is causing
404
+ engineers to second-guess every release. She proposed rotating
405
+ ownership but wasn't confident it would stick without a founder
406
+ decision. You agreed to think about it and revisit.
407
+ </p>
408
+ <div class="ref-tags">
409
+ <span class="pill blue">Meeting</span>
410
+ </div>
411
+ </div>
412
+ </div>
413
+ </section>
414
+
415
+ <section class="section">
416
+ <h2>Other recent meetings on the same topic</h2>
417
+ <div class="ref-list">
418
+ <div class="ref-item">
419
+ <div class="ref-head">
420
+ <h3>Engineering review with Marcus</h3>
421
+ <span class="ref-date">July 3</span>
422
+ </div>
423
+ <p>
424
+ Marcus (senior engineer) raised that the team is spending roughly 30%
425
+ of its time on rework that stems from unclear quality bars. He
426
+ suggested either a dedicated QA champion or a formal
427
+ definition-of-done checklist. He emphasized that the team needs a
428
+ decision from you, not another discussion.
429
+ </p>
430
+ <div class="ref-tags">
431
+ <span class="pill blue">Meeting</span>
432
+ </div>
433
+ </div>
434
+ </div>
435
+ </section>
436
+
437
+ </main>
438
+
439
+ </body>
440
+ </html>