@telepath-computer/television 0.1.97 → 0.1.99
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/dist/cli.cjs +444 -434
- package/dist/skills/television/SKILL.md +215 -198
- package/dist/skills/television-calendar/SKILL.md +99 -0
- package/dist/skills/television-table/SKILL.md +89 -0
- package/dist/views/markdown/manifest.json +1 -1
- package/dist/web/assets/{index-DOzy-86J.js → index-_dpb69va.js} +95 -95
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/skills/artifact-calendar/SKILL.md +0 -151
- package/dist/skills/artifact-calendar/house-style.md +0 -67
- package/dist/skills/artifact-table/SKILL.md +0 -217
- package/dist/skills/artifact-table/house-style.md +0 -67
- package/dist/views/text/index.html +0 -38
- package/dist/views/text/manifest.json +0 -5
- /package/dist/skills/{artifact-calendar → television-calendar}/calendar.css +0 -0
- /package/dist/skills/{artifact-calendar → television-calendar}/calendar.js +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: television-calendar
|
|
3
|
+
description: Author self-contained HTML calendar artifacts using the bundled calendar-week elements and copied calendar assets.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Authoring a calendar week
|
|
7
|
+
|
|
8
|
+
You must read the main `television` skill first. It defines the general Television workflow, the pending-vs-committed model, and the canonical HTML house style. This skill only adds calendar-specific guidance.
|
|
9
|
+
|
|
10
|
+
A working-week calendar with a generated header strip, all-day band, time axis,
|
|
11
|
+
and timed event grid. The agent only authors a single `<calendar-week>` plus
|
|
12
|
+
flat sibling `<calendar-event>` children. The component renders the rest.
|
|
13
|
+
|
|
14
|
+
## Required assets
|
|
15
|
+
|
|
16
|
+
Every calendar artifact must be self-contained. Read `calendar.css` and
|
|
17
|
+
`calendar.js` from this skill folder and carry them into the artifact output
|
|
18
|
+
instead of referencing `/skills/television-calendar/...` URLs.
|
|
19
|
+
|
|
20
|
+
For a Television web bundle, copy both files into the artifact's `public/`
|
|
21
|
+
directory and reference them relatively:
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<link rel="stylesheet" href="/canonical/v1/styles.css" />
|
|
25
|
+
<link rel="stylesheet" href="./calendar.css" />
|
|
26
|
+
<script type="module" src="./calendar.js"></script>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
For a standalone single-file HTML artifact, inline the contents of
|
|
30
|
+
`calendar.css` and `calendar.js` directly into `<style>` and
|
|
31
|
+
`<script type="module">` tags so the output stays self-contained.
|
|
32
|
+
|
|
33
|
+
`calendar.js` registers the custom elements. `calendar.css` provides the
|
|
34
|
+
calendar-specific chrome styling. Do not reimplement those elements yourself.
|
|
35
|
+
|
|
36
|
+
## Markup contract
|
|
37
|
+
|
|
38
|
+
Author exactly this surface:
|
|
39
|
+
|
|
40
|
+
```html
|
|
41
|
+
<calendar-week start-date="YYYY-MM-DD" days="N" start-hour="8">
|
|
42
|
+
<calendar-event title="..." start="..." end="..." color="blue"></calendar-event>
|
|
43
|
+
<calendar-event title="..." start="..." end="..." all-day color="purple"></calendar-event>
|
|
44
|
+
</calendar-week>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
`<calendar-week>` attributes:
|
|
48
|
+
|
|
49
|
+
- `start-date` is required and must be a real `YYYY-MM-DD` date.
|
|
50
|
+
- `days` is required and should usually be `5` or `7`.
|
|
51
|
+
- `start-hour` is optional. Omit it unless you need a fixed initial scroll position.
|
|
52
|
+
|
|
53
|
+
`<calendar-event>` attributes:
|
|
54
|
+
|
|
55
|
+
- `title` is required.
|
|
56
|
+
- `start` is required.
|
|
57
|
+
- `end` is required.
|
|
58
|
+
- `all-day` is optional and presence-only. Use it only for all-day events.
|
|
59
|
+
- `color` is optional. Allowed values: `red`, `orange`, `yellow`, `green`, `blue`, `purple`.
|
|
60
|
+
|
|
61
|
+
## Timed vs. all-day events
|
|
62
|
+
|
|
63
|
+
Timed events:
|
|
64
|
+
|
|
65
|
+
- Omit `all-day`.
|
|
66
|
+
- Use `YYYY-MM-DDTHH:MM` wall-clock datetimes for both `start` and `end`.
|
|
67
|
+
- Keep each event within a single day.
|
|
68
|
+
|
|
69
|
+
All-day events:
|
|
70
|
+
|
|
71
|
+
- Include `all-day`.
|
|
72
|
+
- Use date-only `YYYY-MM-DD` values for both `start` and `end`.
|
|
73
|
+
- `end` is non-inclusive, following RFC 5545.
|
|
74
|
+
|
|
75
|
+
## What the component auto-renders
|
|
76
|
+
|
|
77
|
+
Do not author any of these directly:
|
|
78
|
+
|
|
79
|
+
- `<calendar-headers>`
|
|
80
|
+
- `<calendar-day>`
|
|
81
|
+
- `<calendar-allday>`
|
|
82
|
+
- `<calendar-grid>`
|
|
83
|
+
- `<calendar-time-axis>`
|
|
84
|
+
- `<calendar-column>`
|
|
85
|
+
- `<calendar-cell>`
|
|
86
|
+
|
|
87
|
+
## Behavior to rely on
|
|
88
|
+
|
|
89
|
+
- all-day events clip silently to the visible range
|
|
90
|
+
- all-day events stack into lanes automatically when their visible spans overlap
|
|
91
|
+
- timed events on the same day cascade to the right when their time ranges overlap
|
|
92
|
+
- malformed events are silently dropped
|
|
93
|
+
|
|
94
|
+
## Content guidance
|
|
95
|
+
|
|
96
|
+
- make the schedule feel real
|
|
97
|
+
- vary event titles and durations
|
|
98
|
+
- use the color palette intentionally
|
|
99
|
+
- avoid placeholder text like "Event 1"
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: television-table
|
|
3
|
+
description: Author dense Airtable-style HTML record tables using the shared Television house style.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Authoring a record table
|
|
7
|
+
|
|
8
|
+
You must read the main `television` skill first. It defines the general Television workflow and the canonical HTML house style. This skill only adds table-specific guidance.
|
|
9
|
+
|
|
10
|
+
A dense, Airtable-style table of records. Lots of cells, mixed cell types,
|
|
11
|
+
structured rows. It should look crisp at a glance and read like real software,
|
|
12
|
+
not a styled spreadsheet.
|
|
13
|
+
|
|
14
|
+
## Required content
|
|
15
|
+
|
|
16
|
+
- `<h1>` heading with a short title naming the table
|
|
17
|
+
- one paragraph describing what the table contains and how many rows it has
|
|
18
|
+
- a `<table>` with:
|
|
19
|
+
- a `<thead>` row of column labels
|
|
20
|
+
- 8–15 `<tbody>` rows of data
|
|
21
|
+
- 4–6 columns covering a mix of cell types
|
|
22
|
+
- realistic-looking values, not placeholders
|
|
23
|
+
|
|
24
|
+
At minimum include:
|
|
25
|
+
|
|
26
|
+
- one **text** column
|
|
27
|
+
- one **status** column rendered as a pill
|
|
28
|
+
- one **date** column
|
|
29
|
+
- one **person** column
|
|
30
|
+
- one **numeric** or **tag** column
|
|
31
|
+
|
|
32
|
+
## Page layout
|
|
33
|
+
|
|
34
|
+
The artifact is a full-width table view, not a centered prose document.
|
|
35
|
+
Do not wrap the content in `<main>` or any other width-constraining container.
|
|
36
|
+
|
|
37
|
+
Use this page structure:
|
|
38
|
+
|
|
39
|
+
```html
|
|
40
|
+
<body>
|
|
41
|
+
<header class="lead">
|
|
42
|
+
<h1>...</h1>
|
|
43
|
+
<p class="lede">...</p>
|
|
44
|
+
</header>
|
|
45
|
+
<table class="records">
|
|
46
|
+
...
|
|
47
|
+
</table>
|
|
48
|
+
</body>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The page is white throughout. Hairline borders around the thead and between rows do the visual work.
|
|
52
|
+
|
|
53
|
+
## Styling guidance
|
|
54
|
+
|
|
55
|
+
- `header.lead` padding: `var(--space-32) var(--space-32) var(--space-16)`
|
|
56
|
+
- `table.records`: `width: 100%; border-collapse: collapse;`
|
|
57
|
+
- use `font-variant-numeric: tabular-nums;`
|
|
58
|
+
- pad the first and last cells so the table aligns with the page gutter
|
|
59
|
+
- keep header text small, muted, and uppercase
|
|
60
|
+
- right-align numeric and date columns
|
|
61
|
+
- make the title cell slightly heavier than surrounding cells
|
|
62
|
+
|
|
63
|
+
## Borders
|
|
64
|
+
|
|
65
|
+
- thead gets a top and bottom hairline border
|
|
66
|
+
- tbody rows get muted bottom borders
|
|
67
|
+
- the last tbody row gets the stronger final border
|
|
68
|
+
- no vertical column rules
|
|
69
|
+
|
|
70
|
+
## Status pills
|
|
71
|
+
|
|
72
|
+
Status pills should be inline, rounded, and subtle. Use calm background accents rather than loud badges.
|
|
73
|
+
|
|
74
|
+
## Sections (optional)
|
|
75
|
+
|
|
76
|
+
A single ungrouped table is the default. Only break into sections when a categorical field is genuinely the main way the user scans the data and each section has enough rows to matter.
|
|
77
|
+
|
|
78
|
+
If you do use sections:
|
|
79
|
+
|
|
80
|
+
- render each group as its own `<table>` inside `<section class="group">`
|
|
81
|
+
- repeat the same `<colgroup>` and `<thead>` in every grouped table
|
|
82
|
+
- order active states before terminal states
|
|
83
|
+
|
|
84
|
+
## Non-goals
|
|
85
|
+
|
|
86
|
+
- no filtering, sorting, search, or selection UI
|
|
87
|
+
- no nested tables or expandable rows
|
|
88
|
+
- no sticky headers
|
|
89
|
+
- no decorative icon spam
|