@cloudglue/tinycloud 0.3.0

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,66 @@
1
+ ---
2
+ name: youtube-publish
3
+ description: >-
4
+ Generate YouTube publishing metadata from a video: title, description,
5
+ chapter markers, tags, SRT subtitles, and an HTML copy page to paste from.
6
+ Use when the user is preparing a video for YouTube upload and wants the
7
+ metadata and subtitles generated. Takes one source: a local video file,
8
+ URL, or cloudglue:// file URI (e.g. cloudglue://files/<id>). Runs the built-in tinycloud "youtube-publish"
9
+ workflow; requires the tinycloud CLI configured with a Cloudglue API key
10
+ (analysis runs through the user's Cloudglue account).
11
+ argument-hint: "[video file, URL, or cloudglue:// file URI]"
12
+ arguments: source
13
+ ---
14
+
15
+ # YouTube publish kit
16
+
17
+ This skill is a thin wrapper around the `youtube-publish` workflow recipe
18
+ bundled inside the tinycloud binary (`watch → extract → thumbnails →
19
+ captions → render`). It generates SRT subtitles itself as part of the run.
20
+
21
+ ## Run
22
+
23
+ 1. **Check the CLI.** If the general `tinycloud` skill is installed alongside
24
+ this one, run its `scripts/preflight.sh`. Otherwise verify directly:
25
+
26
+ ```bash
27
+ tinycloud setup --check --json # ready when data.ok == true
28
+ ```
29
+
30
+ Missing CLI: `npm install -g @cloudglue/tinycloud` (see https://tinycloud.sh).
31
+ Missing key: `tinycloud setup cloudglue --api-key <key>`.
32
+
33
+ 2. **Confirm the recipe is available** (free, no cloud calls):
34
+
35
+ ```bash
36
+ tinycloud workflow validate youtube-publish --json
37
+ ```
38
+
39
+ 3. **Run it** with the user's source. The analysis steps run through the
40
+ configured Cloudglue API key — if the user has not clearly asked to run
41
+ it, show the step plan first with
42
+ `tinycloud workflow plan youtube-publish $source --json` (free).
43
+
44
+ ```bash
45
+ tinycloud workflow youtube-publish $source --json
46
+ ```
47
+
48
+ Useful params: `--param segment=chapters` (default; produces the chapter
49
+ markers YouTube descriptions need) or `--param segment=uniform:20` for a
50
+ lighter pass on short videos; `--param out=<path>` for the HTML location.
51
+
52
+ ## Read the result
53
+
54
+ Parse the single JSON envelope from stdout (machine output; logs are stderr):
55
+
56
+ - Success: `status == "ready"` and `data.status == "completed"`.
57
+ - The copy page is `data.outputs.html`; the run dir also contains the
58
+ generated SRT under `captions/` (listed in `data.artifacts[]`).
59
+ Default: `./tinycloud-output/runs/<data.run_id>/youtube-publish.html`.
60
+ - Report the HTML path and the SRT path. The page renders even when
61
+ subtitles were unavailable.
62
+
63
+ Any other `status` (`needs_credentials`, `needs_upload`, `pending`, `paused`,
64
+ `error`) or `data.status` of `partial`/`failed`: stop, report the envelope's
65
+ `error.message`, and follow its `setup` / `resume` / `next` hints. The general
66
+ `tinycloud` skill (if installed) documents full status handling.