@ranimontagna/agent-toolkit 0.3.4 → 0.3.5

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/CHANGELOG.md CHANGED
@@ -15,6 +15,9 @@ The release entries below are based on Git tag ranges and npm publication metada
15
15
 
16
16
  ## [Unreleased]
17
17
 
18
+ - Added the bundled `media/brag-slim` launch-video skill, vendored from `latent-spaces/brag@fd7de7e` with its MIT license and attribution notice.
19
+ - Refreshed the pinned external tools: RTK `v0.50.0` with new archive checksums, Caveman `3.0.0` at `f5d7294`, Graphify `0.9.73`, GSD Core `1.15.0`, Agent Skills CLI `1.7.0`, and the Claude Code `2.1.286`, Codex `0.159.3`, OpenCode `1.18.34` and Gemini `0.62.0` runtime CLIs, after re-checking the Ariadne headless flags on each.
20
+ - Refreshed the pinned Agent Skills sources: `shadcn/improve`, `pbakaus/impeccable`, `millionco/react-doctor`, `remotion-dev/skills`, `mattpocock/skills`, and Agent Browser `0.38.1` with its matching `vercel-labs/agent-browser` tag commit.
18
21
  - Added deterministic `skills.index.json` generation, prompt-sized `BRIEF.md`
19
22
  auditing, six shared skill imports, and editorial merges for accessibility,
20
23
  UI/UX, and GSAP motion guidance.
package/README.md CHANGED
@@ -62,13 +62,13 @@ Current external sources:
62
62
 
63
63
  | Tool | Locked source |
64
64
  |---|---|
65
- | RTK | `rtk-ai/rtk@v0.46.0`, with a SHA-256 pin for every supported archive |
66
- | Caveman | `JuliusBrussee/caveman@17f9f2ec2377b0bfe16b52ee03a462e7f0a02bc8` |
67
- | Graphify | `graphifyy==0.9.51` |
68
- | GSD | `@opengsd/gsd-core@1.11.0` |
69
- | Agent Browser | `agent-browser@0.35.1` |
70
- | Agent Skills CLI | `skills@1.5.23`, with each source repository pinned to a full commit |
71
- | Runtime CLIs | `@anthropic-ai/claude-code@2.1.251`, `@openai/codex@0.151.0`, `opencode-ai@1.18.25`, and `@google/gemini-cli@0.57.0` |
65
+ | RTK | `rtk-ai/rtk@v0.50.0`, with a SHA-256 pin for every supported archive |
66
+ | Caveman | `JuliusBrussee/caveman@f5d729488caa8f6a5b6c8086fe2cccd3e8a63f91` |
67
+ | Graphify | `graphifyy==0.9.73` |
68
+ | GSD | `@opengsd/gsd-core@1.15.0` |
69
+ | Agent Browser | `agent-browser@0.38.1` |
70
+ | Agent Skills CLI | `skills@1.7.0`, with each source repository pinned to a full commit |
71
+ | Runtime CLIs | `@anthropic-ai/claude-code@2.1.286`, `@openai/codex@0.159.3`, `opencode-ai@1.18.34`, and `@google/gemini-cli@0.62.0` |
72
72
  | Ariadne adaptation provenance | `snarktank/ralph@6c53cb0b831ebe8739c6a003e22af14902d8b0b5`, with reviewed SHA-256 values for the MIT license and both adapted source skills |
73
73
 
74
74
  The Agent Skills catalog exposes these locked bundle IDs and skill names:
@@ -109,6 +109,8 @@ workflow; toolkit tags remain `vX.Y.Z`.
109
109
 
110
110
  The first-party `security` skills are defensive rewrites informed by [`uphiago/recon-skills`](https://github.com/uphiago/recon-skills), under its MIT License. They are intended for authorized, non-destructive reviews; upstream offensive infrastructure, agent instructions, scripts, and mass-scanning workflows are not included. See [`skills/security/NOTICE.md`](skills/security/NOTICE.md) for attribution.
111
111
 
112
+ The bundled `media/brag-slim` skill is vendored from [`latent-spaces/brag`](https://github.com/latent-spaces/brag) at commit `fd7de7e418334876b3ea4e9258231a66a2c2a38d` under the MIT License. It turns a project directory or website URL into a short launch video with share copy, built with tools already on the machine; the full `/brag` skill, its render scripts, and bundled music are not included. See [`skills/media/brag-slim/NOTICE.md`](skills/media/brag-slim/NOTICE.md) for attribution.
113
+
112
114
  The first-party `ariadne` and `ariadne-prd` skills are Ariadne-specific adaptations of concepts from [`snarktank/ralph`](https://github.com/snarktank/ralph) under the MIT License. They install through the ordinary Custom Skills pipeline for all five runtimes; `tools.ariadne` records reviewed attribution only and is not fetched or executed during a normal Ariadne run. Each skill directory contains its source path, reviewed commit, and source hash in `NOTICE.md`.
113
115
 
114
116
  ## Documentation
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ranimontagna/agent-toolkit",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "Personal AI agent toolkit installer for Claude Code, Codex CLI, OpenCode, Gemini CLI, Antigravity and graph-aware workflows.",
5
5
  "type": "module",
6
6
  "engines": {
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shunit Haviv Hakimi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,13 @@
1
+ # Third-party notice
2
+
3
+ This skill was copied from the latent-spaces brag repository.
4
+
5
+ - Source: https://github.com/latent-spaces/brag/tree/fd7de7e418334876b3ea4e9258231a66a2c2a38d/skills/brag-slim
6
+ - Source commit: fd7de7e418334876b3ea4e9258231a66a2c2a38d
7
+ - Source SHA-256 (`skills/brag-slim/SKILL.md`): c97ea53d7c5df2a3dd64694a388c013a05c363ac7c2e4e0d956c18ad3bfaa5ee
8
+ - License: MIT
9
+ - Copyright: Copyright (c) 2026 Shunit Haviv Hakimi
10
+
11
+ The upstream MIT license is included in `LICENSE`. The full `/brag` skill, its
12
+ render scripts and bundled music are not vendored; this slim variant is a single
13
+ `SKILL.md` that builds the video with tools already on the machine.
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: brag-slim
3
+ description: Turn a project directory or a website URL into a short, shareable launch video with music, motion, and share copy. One file, no bundled assets — built entirely by the model with the tools already on the machine. Use when someone says "/brag-slim", "let's /brag about this", "brag about a website", "make a launch video", or wants to show off what they built. If the /brag skill is also installed, let /brag handle those phrases; it hands off here on Opus 5.5.
4
+ ---
5
+
6
+ # /brag-slim
7
+
8
+ You built it. Now brag. You make the whole video yourself — story, visuals, audio, render — with whatever tools are on the machine.
9
+
10
+ Whatever the tone, it should feel like a modern, slick, polished launch video: nothing on screen or in the soundtrack that doesn't earn its place.
11
+
12
+ Usage: `/brag-slim [input] [options]`. Options (flags or plain language):
13
+
14
+ | Option | Default |
15
+ |---|---|
16
+ | `--tone <preset or freeform>` | inferred; `default` if nothing clearly fits |
17
+ | `--format landscape\|vertical\|square` | landscape (1920×1080; vertical 1080×1920, square 1080×1080), 30fps |
18
+ | `--duration <s>` | about 20s |
19
+
20
+ Write the deliverables to `brag-output/` in the current directory (timestamped `brag-output-YYYY-MM-DD-HHmmss/` if it already exists). Keep every intermediate file (frames, downloads, scripts, stems) in a `work/` subfolder inside it.
21
+
22
+ ## 1. Inspect
23
+
24
+ First decide what the input is, then gather material from it. Only the source changes; everything from the questions below onward is the same for every input.
25
+
26
+ | Input | How to recognize it | Where the material comes from |
27
+ |---|---|---|
28
+ | Project | No input given, and the current directory is a project | The code |
29
+ | Website | An `http(s)://` URL, or a bare domain like `example.com` | The live site |
30
+
31
+ If the input matches no type, or there's no input and the current directory isn't a project, ask the user what to brag about.
32
+
33
+ ### Project
34
+
35
+ Read the code: the main page, styles (exact colors and fonts), README, routes and key components. The best material is the product **in use** — find its 2–3 beats: entry → key action → result.
36
+
37
+ You have the source, so use it directly: import or render the project's real components, stylesheets, fonts, images and animations in the video instead of rebuilding them.
38
+
39
+ ### Website
40
+
41
+ Get the site as a visitor sees it. Many sites build their page with JavaScript, so a plain download can come back as an almost empty shell. If it does, load the page in a headless browser to get the rendered result. Dismiss cookie banners and other overlays, and scroll section by section, since content that animates in on scroll stays blank in a single full-page capture.
42
+
43
+ - **Copy:** headline, tagline, section headings, feature names, calls to action, testimonials. Also check the title, meta description and social-preview tags.
44
+ - **Identity:** exact colors from the site's CSS and the fonts it loads.
45
+ - **Visuals:** the logo, product screenshots, hero images, demo videos. Download the ones you'll use into `work/`.
46
+ - **Screenshots:** capture the page at the video's aspect ratio to understand the layout. In the video, reuse the site's real markup, CSS and assets and animate those, rather than panning over flat screenshots.
47
+ - **The product in use:** check the demo videos, how-it-works sections and linked docs for the entry → key action → result flow.
48
+
49
+ ### Then, for every input
50
+
51
+ Before planning, answer: What is it (one sentence)? Who is it for, and what does it do for them? What sets it apart? What's the most impressive or funniest claim? What's the visual hook? What real UI or flow should be shown? What tone fits? What's the one-line share caption?
52
+
53
+ ## 2. Plan
54
+
55
+ Write `brag-plan.md`: the angle, the hook, 2–3 highlights, the punchline, tone, visual identity, and a scene-by-scene storyboard with durations that sum to the target.
56
+
57
+ If the user points at one part — a new version, a new feature, one angle — make this the focus of the video.
58
+
59
+ **Shape:** Hook (2–3s) → Reveal (2–4s) → 2–3 sharp highlights → Punchline/outro (2–4s). A starting shape, not a template.
60
+
61
+ ## Creative laws
62
+
63
+ - **Short.** 15–25 seconds; 18–22 is the sweet spot.
64
+ - **Clear to a stranger.** After one viewing, someone who's never heard of it knows what it does, who it's for, and how to get it. Lead with that, not with how it's built.
65
+ - **The hook is everything.** The first 2 seconds decide whether anyone keeps watching. Plan it first.
66
+ - **Show the thing.** Reuse the real thing from the source — its UI, components, copy, images, videos and animations — rather than re-creating it. Rebuild only what you can't reuse. Prefer the working app doing its job over a landing page describing it. Small illustrative UI text is fine when showing the product in use (a filename, an "Exported" toast); invented claims, numbers, or testimonials are not. Never abstract filler.
67
+ - **Specific.** It must feel made for this exact project. Use its own copy and claims; no generic SaaS language ("streamline your workflow" is banned).
68
+ - **Readable.** Pace comes from motion and cuts, not from pulling text away early. Any line the viewer is meant to read stays fully visible and settled long enough to read it (roughly 0.3s per word), counted from when the whole line is on screen. Text that's only texture doesn't need to be read.
69
+ - **Make it alive.** Things that appear one by one, simulated clicks, swipes, and typing beat static slides.
70
+ - **Funny earns its place.** Humor comes from the project's own absurdity, not from trying.
71
+ - **Every frame postable.** Any frozen frame should be worth sharing.
72
+
73
+ ## Tones
74
+
75
+ Presets are defaults; freeform direction ("fake Series A launch from 2016") refines or overrides them.
76
+
77
+ | Tone | Feel | Pacing / transitions |
78
+ |---|---|---|
79
+ | `default` | Punchy, playful, clean | 4–5 scenes; soft transitions |
80
+ | `polished` | Serious, elegant, restrained | 3–4 scenes, long holds; soft fades |
81
+ | `yc-parody` | Deadpan startup launch, played straight | 4–5 scenes, one claim each; hard cuts |
82
+ | `chaotic` | FAST, LOUD, ALL CAPS | 6–8 scenes, some under 2s; flash/zoom cuts |
83
+ | `deadpan` | Calm, dry, nothing is a joke | 3–4 scenes, big empty space; slow fades |
84
+ | `cinematic` | Trailer-scale, epic claims | 4–5 scenes, big type; dramatic wipes |
85
+ | `app-store` | Clean feature cards | 4–6 scenes; smooth slides |
86
+
87
+ ## Sound
88
+
89
+ Write the music and sound effects as one piece: effects in the same key and the same space as the music, blended in rather than laid on top. Give it a basic, proper mix, the way a real track is mixed: effects sit softly under the music, nothing harsh or spiky, and repeated little sounds stay in the background.
90
+
91
+ ## 3. Build, check, render
92
+
93
+ Build it with whatever works on this machine. If you draw the video in a browser, make every frame a pure function of time and wait for fonts and images to load before capturing each one.
94
+
95
+ Before the full render, look at stills from every scene *and* from mid-transition, and fix overflow, collisions, and low contrast. A plain crossfade between two busy layouts makes a muddy double exposure; stagger it (old content out, then new content in) or dip through the background. Then render `brag.mp4`.
96
+
97
+ ## 4. Deliver
98
+
99
+ - **Poster:** pull the strongest *settled* frame (text fully in, not mid-transition) to `brag.jpg`, and bake it in as frame 0 of `brag.mp4` so every platform's thumbnail shows it. Replace frame 0 rather than adding a frame, so the duration and audio sync stay the same.
100
+ - **`share-copy.txt`:** 1–3 sentences, postable as-is, specific, matching the tone. No "excited to share."
101
+ - **Tell the user** where the video and copy are, give one sentence on the creative angle, and offer to re-roll a scene or try another tone.
package/skills.index.json CHANGED
@@ -229,6 +229,12 @@
229
229
  "path": "skills/general/thermo-nuclear-code-quality-review/SKILL.md",
230
230
  "brief": null
231
231
  },
232
+ {
233
+ "name": "brag-slim",
234
+ "ref": "media/brag-slim",
235
+ "path": "skills/media/brag-slim/SKILL.md",
236
+ "brief": null
237
+ },
232
238
  {
233
239
  "name": "biome-formatting",
234
240
  "ref": "quality/biome-formatting",
package/tools.lock.json CHANGED
@@ -4,67 +4,67 @@
4
4
  "rtk": {
5
5
  "source": "github-release",
6
6
  "repository": "rtk-ai/rtk",
7
- "tag": "v0.46.0",
7
+ "tag": "v0.50.0",
8
8
  "assets": {
9
9
  "rtk-aarch64-apple-darwin.tar.gz": {
10
- "sha256": "484e5dd2b4bfdbbb910727a0ba1e2d63b2e23efa922cfcc7300fd131bca3e10a"
10
+ "sha256": "fe54761a9950266e3a78ddb66a8af5e067251169da306a288e0751de63d836fe"
11
11
  },
12
12
  "rtk-aarch64-unknown-linux-gnu.tar.gz": {
13
- "sha256": "e8c2e1787f46017ea7c5a711b2bc6a7f7cf61c7ad69385b4c1e4daff1135dcd1"
13
+ "sha256": "d1cc49dfa2cd443fc32625444b59fe616b6c80478cca210985118347174dd758"
14
14
  },
15
15
  "rtk-x86_64-apple-darwin.tar.gz": {
16
- "sha256": "67eb651fa9cfc4a4ea65876242eb71b8837abdac40521d0dd363214ec1a068dd"
16
+ "sha256": "ac23e20024ab3c71e7f50069f8b34190aec1b2d8f0c2cc19834039b3dac73373"
17
17
  },
18
18
  "rtk-x86_64-pc-windows-msvc.zip": {
19
- "sha256": "9bc5acd54d35a916e4a561435963e0acf2f1a0115cf43dcfe2b719f361c8a970"
19
+ "sha256": "cb03399305135dd59ee23eb59a3260ccdeea5a8e08fbc7a271b115b85583a6c9"
20
20
  },
21
21
  "rtk-x86_64-unknown-linux-musl.tar.gz": {
22
- "sha256": "79aa5b89c69566bbfeceb66c8a27cfbe52237fc7ee3e683115f43745a3262d21"
22
+ "sha256": "bc2b8902b0d9c796c82ef45f16ae2307e17757afeca5ee156235a3dc7bda5f89"
23
23
  }
24
24
  }
25
25
  },
26
26
  "caveman": {
27
27
  "source": "github",
28
28
  "repository": "JuliusBrussee/caveman",
29
- "ref": "17f9f2ec2377b0bfe16b52ee03a462e7f0a02bc8"
29
+ "ref": "f5d729488caa8f6a5b6c8086fe2cccd3e8a63f91"
30
30
  },
31
31
  "graphify": {
32
32
  "source": "pypi",
33
33
  "package": "graphifyy",
34
- "version": "0.9.51"
34
+ "version": "0.9.73"
35
35
  },
36
36
  "gsd": {
37
37
  "source": "npm",
38
38
  "package": "@opengsd/gsd-core",
39
- "version": "1.11.0"
39
+ "version": "1.15.0"
40
40
  },
41
41
  "agentBrowser": {
42
42
  "source": "npm",
43
43
  "package": "agent-browser",
44
- "version": "0.35.1"
44
+ "version": "0.38.1"
45
45
  },
46
46
  "agentSkills": {
47
47
  "source": "skills-cli",
48
48
  "skillsCli": {
49
49
  "source": "npm",
50
50
  "package": "skills",
51
- "version": "1.5.23"
51
+ "version": "1.7.0"
52
52
  },
53
53
  "repositories": {
54
54
  "shadcnImprove": {
55
55
  "source": "github",
56
56
  "repository": "shadcn/improve",
57
- "ref": "03369ee6d7cafbfcecc4346539b05b3dc0a603bb"
57
+ "ref": "cac56e1ebd3c279aa9153616cfeac7b174ab90f9"
58
58
  },
59
59
  "agentBrowser": {
60
60
  "source": "github",
61
61
  "repository": "vercel-labs/agent-browser",
62
- "ref": "fbd046c23a2c1156891bda294aaaee715c23b3f1"
62
+ "ref": "aff6125c023b810ea3f2e5deec5379e9a4270bdc"
63
63
  },
64
64
  "impeccable": {
65
65
  "source": "github",
66
66
  "repository": "pbakaus/impeccable",
67
- "ref": "b0594c72d18006b5865c70eb3a97e8b04064e600"
67
+ "ref": "c74755d920985f7a92cef691ca970ba95f90126e"
68
68
  },
69
69
  "webDesignGuidelines": {
70
70
  "source": "github",
@@ -74,17 +74,17 @@
74
74
  "reactDoctor": {
75
75
  "source": "github",
76
76
  "repository": "millionco/react-doctor",
77
- "ref": "afa1780254bfd72175e6d0025841560582d32ad1"
77
+ "ref": "631366777e01637f3c36b8a8c2ae8f19ba1060e8"
78
78
  },
79
79
  "remotionBestPractices": {
80
80
  "source": "github",
81
81
  "repository": "remotion-dev/skills",
82
- "ref": "7a3d0ca45d2f6a00bf35cb3c525734a36d55a834"
82
+ "ref": "0b5db9daae40f42c73544d1cc0a8c733bd530eaa"
83
83
  },
84
84
  "mattPocockSkills": {
85
85
  "source": "github",
86
86
  "repository": "mattpocock/skills",
87
- "ref": "6654f6b60cd9d5be8b54c6fafe44346dabeb3b76"
87
+ "ref": "d81f3a183412e71a5b1e84ca21bc1a35eea03a60"
88
88
  }
89
89
  },
90
90
  "bundles": {
@@ -176,22 +176,22 @@
176
176
  "claude": {
177
177
  "source": "npm",
178
178
  "package": "@anthropic-ai/claude-code",
179
- "version": "2.1.251"
179
+ "version": "2.1.286"
180
180
  },
181
181
  "codex": {
182
182
  "source": "npm",
183
183
  "package": "@openai/codex",
184
- "version": "0.151.0"
184
+ "version": "0.159.3"
185
185
  },
186
186
  "opencode": {
187
187
  "source": "npm",
188
188
  "package": "opencode-ai",
189
- "version": "1.18.25"
189
+ "version": "1.18.34"
190
190
  },
191
191
  "gemini": {
192
192
  "source": "npm",
193
193
  "package": "@google/gemini-cli",
194
- "version": "0.57.0"
194
+ "version": "0.62.0"
195
195
  }
196
196
  }
197
197
  }