@telepath-computer/television 0.1.98 → 0.1.100

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.
@@ -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
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "Markdown",
3
3
  "description": "Renders markdown source with live syntax decoration.",
4
- "accepts": ["text/markdown"]
4
+ "accepts": ["markdown"]
5
5
  }