@telepath-computer/television 0.1.75 → 0.1.77

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.
@@ -1,592 +1,24 @@
1
- # Television
2
-
3
- Television is a persistent artifact screen for agents. Use it when the user
4
- should be able to inspect, revisit, and refine a file-backed result instead of
5
- only reading a chat reply.
6
-
7
- If you lose context, run:
8
-
9
- ```bash
10
- tv help
11
- ```
12
-
13
- That command prints this full skill as one blob. There is no topic-scoped help
14
- in the current implementation.
15
-
16
- ## Mental model
17
-
18
- - A **screen** is a named viewer surface with a layout.
19
- - An **artifact** is a file-backed result that can exist independently of any
20
- screen. It can be unplaced, attached to one screen, or attached to multiple
21
- screens.
22
- - **Screen membership** is separate from artifact identity: attaching/detaching
23
- controls which screens show an artifact; deleting removes the artifact
24
- globally. The CLI create commands require `--screen` so in-progress artifacts
25
- are visible immediately.
26
- - An **internal artifact** is a Television-managed bundle. You create a pending
27
- bundle, edit files in that bundle, then commit it.
28
- - An **external artifact** is a pointer to an existing absolute file on disk.
29
- Television displays that file but does not own or delete it.
30
- - **Pending** means a create or edit is staged but not yet committed.
31
- - **Trash** means metadata and committed internal bundles moved out of the live
32
- tree. There is no restore workflow in the current scope.
33
-
34
- The core workflow is:
35
-
36
- 1. Decide whether the result should be internal or external.
37
- 2. Decide whether the user should be taken to the new screen or artifact now, or whether the work should happen in the background.
38
- 3. Create or stage the artifact with the CLI.
39
- 4. For internal artifacts, edit files in the pending bundle.
40
- 5. Commit when the validation rules are satisfied.
41
-
42
- ## Focus model
43
-
44
- Television separates state changes from focus.
45
-
46
- There are two kinds of focus:
47
-
48
- - **Screen focus** is persistent. It decides which screen the TV is currently showing.
49
- - **Artifact focus** is transient. It may switch screens first, then scroll the artifact into view and briefly highlight it.
50
-
51
- Important consequence:
52
-
53
- - there is a persisted focused screen
54
- - there is **not** a persisted focused artifact
55
-
56
- State-change commands can optionally trigger focus, but they do not imply it.
57
-
58
- Agent-facing create and attach commands require an explicit focus decision:
59
-
60
- - `tv create-screen` requires exactly one of `--focus-screen` or `--no-focus`
61
- - `tv create-internal-artifact`, `tv create-external-artifact`, `tv create-url-artifact`, and `tv attach-artifact` require exactly one of `--focus-artifact` or `--no-focus`
62
-
63
- Use this decision rule:
64
-
65
- - use `--focus-screen` when the user likely wants to go to the new screen immediately
66
- - use `--focus-artifact` when the user likely wants to inspect the new artifact immediately
67
- - use `--no-focus` when the work should happen in the background while keeping the current screen and artifact context unchanged
68
-
69
- Heuristic examples:
70
-
71
- - use a focus flag for requests like "show me", "open it", "put it on screen", "take me there", or "let me review it"
72
- - treat user language like **active**, **current**, **showing**, **visible**, **switch to**, **change to**, **go to**, or **show me that** as focus intent for the relevant screen or artifact
73
- - requests like "switch to the other screen", "show me that artifact", or "change to that screen" should usually translate to `tv focus-screen` or `tv focus-artifact`
74
- - use `--no-focus` for requests like "set this up", "make it in the background", "prepare it", or "wire this in"
75
- - also use `--no-focus` when the user says things like "in the background", "while I do something else", "while I work on X", or otherwise signals that your work should proceed on a parallel thread decoupled from their main task
76
-
77
- Direct focus commands:
78
-
79
- - `tv focus-screen --id <screen-id>` sets persistent screen focus
80
- - `tv focus-artifact --id <artifact-id> [--screen <screen-id>]` sends a transient artifact-focus nudge
81
- - `tv focus-status` reports the current persistent screen focus and connected client count
82
-
83
- Important communication rule:
84
-
85
- - when you use `--no-focus`, explicitly say what you did in chat so the user knows the work happened even though Television did not visibly change
86
-
87
- If you forget these rules or the CLI rejects a command for missing focus intent, run `tv help` and reread this section before retrying.
88
-
89
- ## User communication during multi-step workflows
90
-
91
- When you are doing a multi-step artifact workflow, keep the user informed as you
92
- progress.
93
-
94
- Required communication style:
95
-
96
- - verbalize key actions and decisions as they happen
97
- - keep the language concise
98
- - prefer short updates over long explanations
99
- - frame updates in the user's world and goals, not in the internal mechanics of the skill or CLI workflow
100
- - avoid technical workflow jargon unless the user explicitly asks for it
101
- - do not write reports, long paragraphs, or chatty summaries while the work is in progress
102
- - do not use lists unless the user explicitly asks for one
103
- - optimize for speed and token efficiency
104
-
105
- Good examples:
106
-
107
- - "Starting the artifact now."
108
- - "Reviewing the draft and source material."
109
- - "Updating the HTML and efficiently navigating the artifact creation flow."
110
- - "The artifact did not pass validation yet; fixing the draft notes and retrying."
111
- - "Finalizing the artifact now."
112
- - "Done."
113
-
114
- Bad examples:
115
-
116
- - multi-paragraph progress reports
117
- - long retrospective narration during execution
118
- - verbose bullet lists for routine workflow steps
119
-
120
- ## Internal versus external
121
-
122
- Use an **internal artifact** when:
123
-
124
- - the artifact is purpose-built for Television
125
- - Television should own the bundle structure
126
- - future agents should be able to maintain the result by reading bundle files
127
- - you need a staged create or staged edit workflow
128
-
129
- Use an **external artifact** when:
130
-
131
- - a real file already exists on disk
132
- - the user wants Television to display that existing file
133
- - you do not need a Television-managed bundle
134
-
135
- Decision rule:
136
-
137
- - If the result should be maintained as a Television-owned long-lived artifact,
138
- choose internal.
139
- - If the result is already a real file outside Television and should stay that
140
- way, choose external.
141
-
142
- Supported artifact types:
143
-
144
- - `text/markdown`
145
- - `text/html`
146
-
147
- ## Internal bundle files
148
-
149
- Every internal artifact bundle contains:
150
-
151
- - `artifact.md`
152
- - `data.json`
153
- - `memory.md`
154
- - `public/index.md` or `public/index.html`
155
-
156
- Fresh pending bundles are intentionally minimal:
157
-
158
- - `artifact.md` is blank
159
- - `memory.md` is blank
160
- - `public/index.md` or `public/index.html` is blank
161
- - `data.json` is exactly `{}`
162
-
163
- The scaffold is not commit-valid by itself. Learn the required structure from
164
- this skill, not from placeholder content in the scaffold.
165
-
166
- ### `artifact.md`
167
-
168
- `artifact.md` is the contract for the artifact. It explains what the artifact
169
- is for, what conceptual material it is based on, how it should render, and how
170
- later agents should maintain it.
171
-
172
- Before commit, `artifact.md` must be non-empty and contain all of these exact
173
- headings:
174
-
175
- ```md
176
- ## User intent
177
- ## Purpose
178
- ## Data shape
179
- ## Data sources
180
- ## Rendering
181
- ## Update workflow
182
- ## Non-goals
183
- ```
184
-
185
- What each section should capture:
186
-
187
- - `## User intent`: faithful restatement or quotation of what the user actually said they wanted; this is critical and should preserve the user's language as closely as practical, including requests, feedback, complaints, constraints, and guidance
188
- - `## Purpose`: what the artifact is trying to achieve
189
- - `## Data shape`: the conceptual shape you reasoned about while authoring; for markdown artifacts this will often just be `{}`
190
- - `## Data sources`: where the underlying facts, notes, or source material came from and how they were obtained
191
- - `## Rendering`: how `public/index.md` or `public/index.html` should present it
192
- - `## Update workflow`: how future agents should refresh or modify it
193
- - `## Non-goals`: what is intentionally excluded, especially application-like runtime behavior
194
-
195
- ### `data.json`
196
-
197
- `data.json` is a **thinking artifact**, not a runtime payload.
198
-
199
- Its purpose is to help the model separate:
200
-
201
- - reasoning / planning / authoring structure
202
- - from final presentation in `public/index.md` or `public/index.html`
203
-
204
- Use it to capture the pure conceptual shape of what you are about to render.
205
- This is an authoring aid for agents, not an application data layer.
206
-
207
- Hard rules:
208
-
209
- - **Do not treat `data.json` as live runtime state.**
210
- - **Do not write HTML/JS that loads, depends on, or synchronizes against `data.json`.**
211
- - **Do not build application-like data-driven artifacts.**
212
- - **We do not support runtime data-backed artifacts at this time.**
213
- - Artifacts are static markdown or static HTML documents.
214
- - HTML artifacts may include JavaScript and extra assets under `public/`, but
215
- that JavaScript must stay presentation-oriented and self-contained, not
216
- driven by `data.json` as an application state container.
217
-
218
- For `text/markdown` artifacts, leave `data.json` as exactly:
219
-
220
- ```json
221
- {}
222
- ```
223
-
224
- There is usually little value in separating content from presentation for
225
- markdown artifacts, so prefer `{}` unless there is a very strong authoring
226
- reason not to.
227
-
228
- For `text/html` artifacts, use `data.json` only when it helps you think clearly
229
- about the material before rendering. It may describe the conceptual structure
230
- of the artifact, but it must not become a runtime contract.
231
-
232
- Validation rule:
233
-
234
- - `data.json` must exist and contain valid JSON
235
-
236
- The current validator does not require the JSON value to be an object, but an
237
- object is the normal choice.
238
-
239
- ### `memory.md`
240
-
241
- `memory.md` is the working scratchpad for later agents. Record decisions,
242
- limitations, data-retrieval notes, problems encountered, what changed, and what
243
- should be watched during future edits.
244
-
245
- Required validation anchors:
246
-
247
- - `memory.md` must contain `## Activity Log`
248
- - `memory.md` must contain at least one UTC timestamp in exact
249
- `YYYY-MM-DDTHH:MM:SSZ` format
250
- - at least one timestamp must be from the last 30 minutes when you commit
251
-
252
- The minimum required heading is:
253
-
254
- ```md
255
- ## Activity Log
256
- ```
257
-
258
- What to record beyond that is up to the artifact and the work performed.
1
+ ---
2
+ name: television
3
+ description: Television agent guidance and routing for screen and artifact workflows
4
+ ---
259
5
 
260
- ### `public/index.md` and `public/index.html`
261
-
262
- This is the rendered entry file that Television serves.
263
-
264
- - Markdown artifacts use `public/index.md`
265
- - HTML artifacts use `public/index.html`
266
- - the entry file must match the artifact `type`
267
- - the entry file must be non-empty before commit
268
-
269
- For HTML artifacts:
270
-
271
- - `public/index.html` is a full HTML document, not a body fragment
272
- - additional public assets may live under `public/`
273
- - keep paths relative to `public/`
274
-
275
- ## Quality bar
276
-
277
- Build artifacts that are durable, truthful, and maintainable by later agents.
278
-
279
- Required quality standards:
280
-
281
- - be faithful to source data
282
- - do not invent or hallucinate missing facts
283
- - do not silently truncate a dataset and pretend it is complete
284
- - prefer truth over completeness when those goals conflict
285
- - make limitations, sampling, missing data, and freshness visible
286
- - keep rendering aligned with the reasoning captured in `artifact.md`, `data.json`, and `memory.md`
287
- - keep `data.json` as an authoring/thinking artifact rather than a runtime dependency
288
- - keep the artifact maintainable by a future agent reading only the bundle files
289
-
290
- Anti-patterns:
291
-
292
- - cursory or low-effort data collection
293
- - fake data added to make the artifact look complete
294
- - brittle one-off hacks that a later agent cannot reproduce
295
- - hidden dependencies that are not documented in `artifact.md` or `memory.md`
296
- - layout churn during simple data refreshes when the data model did not change
297
-
298
- ## HTML house style
299
-
300
- HTML artifacts should feel intentional and readable inside Television tiles.
301
-
302
- Television provides a full base stylesheet for HTML artifacts. Only add custom
303
- CSS when you need something not covered by the built-in styles. Prefer the base
304
- styles and theme tokens so artifacts stay visually coherent with the rest of
305
- Television.
306
-
307
- House-style guidance:
308
-
309
- - use semantic HTML first
310
- - keep the most important information near the top
311
- - design for small, medium, and large tile sizes
312
- - avoid horizontal overflow unless there is no reasonable alternative
313
- - make empty states and error states explicit
314
- - prefer the built-in HTML styling before inventing custom component chrome
315
-
316
- ### Elements
317
-
318
- Standard elements already have sensible defaults, so you usually do not need to
319
- style from scratch:
320
-
321
- - headings (`h1`–`h6`) — sized and weighted
322
- - `p`, `ul`, `ol` — readable defaults
323
- - `code` and `pre` — monospace, muted background
324
- - `blockquote` — left border, muted text
325
- - `table`, `th`, `td` — bordered, striped headers
326
- - `button` — styled with border and hover state; use `size="sm"` or `size="md"` when appropriate
327
- - `hr` — subtle border
328
- - `a` — inherits color by default
329
-
330
- ### `.prose` class
331
-
332
- Use a `.prose` wrapper for document-style HTML where readable vertical rhythm is
333
- appropriate. Do not rely on `.prose` for dashboards, tables, control surfaces,
334
- or dense custom layouts.
335
-
336
- ```html
337
- <div class="prose">
338
- <h1>Title</h1>
339
- <p>Some content with proper spacing between elements.</p>
340
- <ul>
341
- <li>Item one</li>
342
- <li>Item two</li>
343
- </ul>
344
- </div>
345
- ```
346
-
347
- ### CSS variables
348
-
349
- Use the existing Television tokens when they are available in the runtime.
350
- These are the preferred way to stay aligned with the app theme.
351
-
352
- Colors:
353
- - `--color-bg` — page background
354
- - `--color-bg-muted` — subtle background
355
- - `--color-surface` — card or panel background
356
- - `--color-text` — primary text
357
- - `--color-text-muted` — secondary or label text
358
- - `--color-border` — border color
359
-
360
- Spacing:
361
- - `--space-4`
362
- - `--space-8`
363
- - `--space-12`
364
- - `--space-16`
365
- - `--space-24`
366
- - `--space-32`
367
-
368
- Fonts:
369
- - `--font-sans`
370
- - `--font-mono`
371
-
372
- Text sizes:
373
- - `--text-sm`
374
- - `--text-base`
375
- - `--text-lg`
376
- - `--text-xl`
377
-
378
- Radius:
379
- - `--radius-4`
380
- - `--radius-8`
381
-
382
- ## Workflows
383
-
384
- ### Create new internal artifact
385
-
386
- 1. Decide that the result should be an internal artifact.
387
- 2. Start the pending bundle:
388
-
389
- ```bash
390
- tv create-internal-artifact --screen "<screen-id>" --type text/markdown --title "Artifact title" --focus-artifact
391
- ```
392
-
393
- Or:
394
-
395
- ```bash
396
- tv create-internal-artifact --screen "<screen-id>" --type text/html --title "Artifact title" --no-focus
397
- ```
398
-
399
- `--screen` is required for internal artifact creation so the artifact has immediate screen membership. `--focus-artifact` or `--no-focus` is also required so you explicitly decide whether the user should be taken to it now.
400
-
401
- 3. Read the returned pending path and edit files there.
402
- 4. Write `artifact.md`.
403
- 5. In `artifact.md`, capture the user's language faithfully in `## User intent` before doing the rest of the authoring work. Use direct quotes when helpful, or a close paraphrase when that is clearer, but keep it representative of what the user actually said they wanted.
404
- 6. Think through the artifact in a pure way and write `data.json` only as an authoring aid.
405
- 7. For markdown artifacts, leave `data.json` as `{}` unless there is a compelling authoring reason not to.
406
- 8. Render `public/index.md` or `public/index.html`.
407
- 9. Append a current timestamped activity entry in `memory.md`.
408
- 10. Commit:
409
-
410
- ```bash
411
- tv commit-pending-artifact --id "<artifact-id>"
412
- ```
413
-
414
- ### Update internal artifact with fresh data
415
-
416
- 1. Stage the edit:
417
-
418
- ```bash
419
- tv edit-internal-artifact --id "<artifact-id>"
420
- ```
421
-
422
- 2. Read `artifact.md`, `data.json`, and `memory.md` before changing anything.
423
- 3. Refresh the underlying facts or source material.
424
- 4. Update `data.json` only if it helps clarify the authoring plan.
425
- 5. For markdown artifacts, prefer to keep `data.json` as `{}`.
426
- 6. Make the minimum rendering changes needed to keep the artifact correct.
427
- 7. Record what changed in `memory.md`.
428
- 8. Commit:
429
-
430
- ```bash
431
- tv commit-pending-artifact --id "<artifact-id>"
432
- ```
433
-
434
- Avoid unnecessary layout or styling churn during data-only refreshes.
435
-
436
- ### Modify internal artifact from user feedback
437
-
438
- 1. Stage the edit:
439
-
440
- ```bash
441
- tv edit-internal-artifact --id "<artifact-id>"
442
- ```
443
-
444
- 2. Read `artifact.md`, `data.json`, and `memory.md`.
445
- 3. Update `artifact.md` if the user intent or non-goals changed.
446
- 4. When the user has added feedback, complaints, corrections, or new guidance, update `## User intent` so it remains a faithful record of what the user actually wants now. Preserve the user's language as closely as practical, using direct quotes or close paraphrases.
447
- 5. Update `data.json` only if it improves the authoring model of the artifact.
448
- 6. For markdown artifacts, prefer to keep `data.json` as `{}`.
449
- 7. Adjust `public/index.md` or `public/index.html` as narrowly as possible.
450
- 8. Record the request, decision, and resulting change in `memory.md`.
451
- 9. Commit:
452
-
453
- ```bash
454
- tv commit-pending-artifact --id "<artifact-id>"
455
- ```
456
-
457
- ### Abandon pending work
458
-
459
- If the staged work should be discarded instead of committed:
460
-
461
- ```bash
462
- tv abandon-pending-artifact --id "<artifact-id>"
463
- ```
464
-
465
- ### Create external artifact
466
-
467
- Use this when the file already exists on disk and Television should display it
468
- without owning a bundle:
469
-
470
- ```bash
471
- tv create-external-artifact --screen "<screen-id>" --type text/markdown --title "Artifact title" --path /absolute/path/to/file.md --focus-artifact
472
- ```
473
-
474
- Or:
475
-
476
- ```bash
477
- tv create-external-artifact --screen "<screen-id>" --type text/html --title "Artifact title" --path /absolute/path/to/file.html --no-focus
478
- ```
479
-
480
- `--screen` is required for CLI creation so the file has immediate screen membership. `--focus-artifact` or `--no-focus` is also required so you explicitly decide whether the user should be taken to it now.
481
-
482
- Rules:
483
-
484
- - `--path` must be absolute
485
- - the file must already exist and be readable
486
- - the extension must match `type`
487
- - external artifacts do not use pending create, pending edit, commit, or abandon
488
-
489
- ### Create URL artifact
490
-
491
- Use this when the artifact should display a live web page (an internal docs
492
- page, a dashboard, a third-party site) rather than content Television owns or a
493
- file on disk:
494
-
495
- ```bash
496
- tv create-url-artifact --screen "<screen-id>" --title "Artifact title" --url https://example.com --focus-artifact
497
- ```
498
-
499
- Or:
500
-
501
- ```bash
502
- tv create-url-artifact --screen "<screen-id>" --title "Artifact title" --url https://example.com --no-focus
503
- ```
504
-
505
- `--screen` is required for CLI creation so the page has immediate screen membership. `--focus-artifact` or `--no-focus` is also required so you explicitly decide whether the user should be taken to it now.
506
-
507
- Rules:
508
-
509
- - `--url` must be `http://` or `https://`
510
- - the type is always `text/html` — do not pass `--type`
511
- - URL artifacts are committed immediately on creation; they have no pending create, pending edit, commit, or abandon lifecycle
512
- - in the desktop app the page renders in a sandboxed `<webview>`; in the browser it renders in an `<iframe>`
513
-
514
- ## CLI reference
515
-
516
- Artifact commands:
517
-
518
- ```bash
519
- tv create-internal-artifact --screen "<screen-id>" --type <text/markdown|text/html> --title "Artifact title" (--focus-artifact|--no-focus)
520
- tv create-external-artifact --screen "<screen-id>" --type <text/markdown|text/html> --title "Artifact title" --path /absolute/path (--focus-artifact|--no-focus)
521
- tv create-url-artifact --screen "<screen-id>" --title "Artifact title" --url https://example.com (--focus-artifact|--no-focus)
522
- tv edit-internal-artifact --id "<artifact-id>"
523
- tv commit-pending-artifact --id "<artifact-id>"
524
- tv abandon-pending-artifact --id "<artifact-id>"
525
- tv update-artifact --id "<artifact-id>" --title "New title"
526
- tv list-artifacts [--screen "<screen-id>"] [--unplaced]
527
- tv get-artifact --id "<artifact-id>"
528
- tv delete-artifact --id "<artifact-id>"
529
- ```
530
-
531
- Screen commands:
532
-
533
- ```bash
534
- tv create-screen --name "Screen name" (--focus-screen|--no-focus)
535
- tv list-screens
536
- tv get-screen --id "<screen-id>"
537
- tv remove-screen --id "<screen-id>"
538
- ```
539
-
540
- Screen membership commands:
541
-
542
- ```bash
543
- tv attach-artifact --id "<artifact-id>" --screen "<screen-id>" (--focus-artifact|--no-focus)
544
- tv detach-artifact --id "<artifact-id>" --screen "<screen-id>"
545
- ```
546
-
547
- Focus commands:
6
+ # Television
548
7
 
549
- ```bash
550
- tv focus-status
551
- tv focus-screen --id "<screen-id>"
552
- tv focus-artifact --id "<artifact-id>" [--screen "<screen-id>"]
553
- ```
8
+ Television is a persistent artifact screen for agents.
554
9
 
555
- Server commands:
10
+ Load this skill when you need to create, update, inspect, attach, focus, or otherwise manage Television screens and artifacts.
556
11
 
557
- ```bash
558
- tv status
559
- tv storage-path
560
- tv serve
561
- tv stop
562
- ```
12
+ This skill is modular. Do not assume `SKILL.md` contains every rule you need.
563
13
 
564
- CLI behavior notes:
14
+ Read `what-to-read.md` next to decide which companion docs apply.
565
15
 
566
- - `--screen` is required on CLI create commands so new artifacts get immediate screen membership; use `tv attach-artifact` and `tv detach-artifact` for later screen membership changes
567
- - `tv create-screen` requires exactly one of `--focus-screen` or `--no-focus`; `tv create-internal-artifact`, `tv create-external-artifact`, `tv create-url-artifact`, and `tv attach-artifact` require exactly one of `--focus-artifact` or `--no-focus`
568
- - workflow and mutation commands print plain text
569
- - read commands print JSON
570
- - `tv get-screen` includes artifact `kind` and `status`
571
- - `tv attach-artifact` appends a default-sized card to the right end of the strip; idempotent if the artifact is already on that screen
572
- - `tv detach-artifact` removes the card from a screen's layout; the artifact metadata is never touched, even on the last reference
573
- - `tv delete-artifact` is the way to globally remove an artifact (detaches from every screen, then trashes the bundle / forgets the external pointer / discards pending-create)
574
- - `tv list-artifacts` accepts `--screen <id>` to filter by screen membership and `--unplaced` to surface artifacts attached to no screen
575
- - `tv update-artifact` changes title metadata only
576
- - `tv focus-screen` sets which screen the GUI is focused on; the change is persisted and broadcast to connected clients
577
- - `tv focus-artifact` is a transient nudge: clients switch screens if needed, scroll the artifact's card into view, and play a brief highlight animation; pass `--screen <id>` to pin which screen, otherwise the server picks one (preferring the active screen when the artifact is there)
578
- - `tv focus-status` prints the active screen ID and the count of connected GUI clients
579
- - when the CLI reports an error, follow the directive to run `tv help`
16
+ ## Core companion docs
580
17
 
581
- ## Deferred or out of scope
18
+ - `what-to-read.md`
19
+ - `artifact-workflow.md`
20
+ - `html-house-style.md`
582
21
 
583
- These are not part of the current implementation:
22
+ ## Known artifact-type docs
584
23
 
585
- - `tv help <topic>`
586
- - restore-from-trash
587
- - pending-listing commands
588
- - attestation or nonce commands
589
- - stale pending cleanup or stale trash cleanup
590
- - markdown editor UI recovery
591
- - client-side pending presentation work
592
- - multi-section help output
24
+ - `artifact-types/table.md` Table
@@ -0,0 +1,13 @@
1
+ # Artifact workflow
2
+
3
+ Read this document for Television artifact lifecycle work.
4
+
5
+ It covers:
6
+
7
+ - internal vs external artifacts
8
+ - focus decisions
9
+ - pending create/edit/commit/abandon flows
10
+ - internal bundle files
11
+ - validation anchors and commit expectations
12
+
13
+ If you are authoring an HTML artifact, also read `html-house-style.md` and then check `artifact-types/` for any matching kind-specific doc.
@@ -0,0 +1,26 @@
1
+ # What to read
2
+
3
+ Use this routing guide to decide which Television companion docs apply.
4
+
5
+ ## Always
6
+
7
+ - Read `SKILL.md` first.
8
+ - If you are using the `tv` CLI, keep this routing guide in mind while choosing companion docs.
9
+
10
+ ## Artifact lifecycle work
11
+
12
+ If you are creating, editing, committing, abandoning, deleting, attaching, detaching, or otherwise managing Television artifacts, read:
13
+
14
+ - `artifact-workflow.md`
15
+
16
+ ## HTML artifact authoring
17
+
18
+ If the artifact is `text/html`, read:
19
+
20
+ - `html-house-style.md`
21
+
22
+ HTML artifact work may also require a kind-specific doc under `artifact-types/`.
23
+
24
+ ## Known artifact-type docs
25
+
26
+ - `artifact-types/table.md` — Table