Update Component Docs
AgnosticUI/agnosticui
Update component documentation when code changes. An agent skill from AgnosticUI/agnosticui.
Check and analyze upstream Storybook repository changes that may need to be synced to storybook-rsbuild.
$ npx skills add rstackjs/storybook-rsbuild --skill storybook-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rstackjs/storybook-rsbuild storybook-sync --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/rstackjs/storybook-rsbuild.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/storybook-sync .claude/skills/storybook-sync && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "storybook-sync" agent skill from https://github.com/rstackjs/storybook-rsbuild/tree/main/.agents/skills/storybook-sync into .claude/skills/storybook-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "storybook-sync", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rstackjs/storybook-rsbuild/tree/main/.agents/skills/storybook-syncType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rstackjs/storybook-rsbuild --skill storybook-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rstackjs/storybook-rsbuild storybook-sync --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rstackjs/storybook-rsbuild.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/storybook-sync .agents/skills/storybook-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "storybook-sync" agent skill from https://github.com/rstackjs/storybook-rsbuild/tree/main/.agents/skills/storybook-sync into .agents/skills/storybook-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "storybook-sync", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rstackjs/storybook-rsbuild --skill storybook-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rstackjs/storybook-rsbuild storybook-sync --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rstackjs/storybook-rsbuild.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/storybook-sync .cursor/skills/storybook-sync && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "storybook-sync" agent skill from https://github.com/rstackjs/storybook-rsbuild/tree/main/.agents/skills/storybook-sync into .cursor/skills/storybook-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "storybook-sync", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rstackjs/storybook-rsbuild.git --path .agents/skills/storybook-sync--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rstackjs/storybook-rsbuild --skill storybook-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rstackjs/storybook-rsbuild storybook-sync --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rstackjs/storybook-rsbuild.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/storybook-sync .gemini/skills/storybook-sync && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "storybook-sync" agent skill from https://github.com/rstackjs/storybook-rsbuild/tree/main/.agents/skills/storybook-sync into .gemini/skills/storybook-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "storybook-sync", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rstackjs/storybook-rsbuild storybook-syncInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rstackjs/storybook-rsbuild --skill storybook-sync -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rstackjs/storybook-rsbuild.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/storybook-sync .github/skills/storybook-sync && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "storybook-sync" agent skill from https://github.com/rstackjs/storybook-rsbuild/tree/main/.agents/skills/storybook-sync into .github/skills/storybook-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "storybook-sync", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rstackjs/storybook-rsbuild --skill storybook-sync -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rstackjs/storybook-rsbuild storybook-sync --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rstackjs/storybook-rsbuild.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/storybook-sync .opencode/skills/storybook-sync && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "storybook-sync" agent skill from https://github.com/rstackjs/storybook-rsbuild/tree/main/.agents/skills/storybook-sync into .opencode/skills/storybook-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "storybook-sync", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
storybook-syncCheck and analyze upstream Storybook repository changes that may need to be synced to storybook-rsbuild.
Storybook Sync is an agent skill from rstackjs/storybook-rsbuild. Check and analyze upstream Storybook repository changes that may need to be synced to storybook-rsbuild. Use this skill whenever the user wants to check for upstream Storybook changes, review what's new in the official Storybook repo, identify changes needing sync, or compare storybook-rsbuild against the upstream. Activate for phrases like "check upstream", "sync check", "storybook changes", "need to sync", "what changed upstream", or any mention of tracking changes from storybookjs/storybook. Even casual…
Its SKILL.md is about 5.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/fetch_upstream.sh`).
It sits in Frontend & Design. It works with Storybook, React and Vue.js. The repository describes itself as: Storybook builder and frameworks powered by Rsbuild. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 88a557d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashjqghgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Storybook Sync loads about 5.2k tokens when it runs. Until then it costs about 149 tokens; SKILL.md has 1,724 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from rstackjs/storybook-rsbuild at commit 88a557d, republished under its MIT licence (© rstackjs). 1,724 words, ~5,166 tokens.
.claude/skills/storybook-sync/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Analyze recent changes in the official storybookjs/storybook repository and identify which ones may need to be synced to this storybook-rsbuild repo. The storybook-rsbuild project adapts Storybook's official builder and framework packages to work with Rsbuild, so when upstream changes builder-webpack5, builder-vite, or framework integrations, those changes may need to be reflected here.
+----------------------------------------+--------------------------------------+
| Upstream (storybookjs/storybook) | Local (storybook-rsbuild) |
+----------------------------------------+--------------------------------------+
| code/builders/builder-webpack5 | packages/builder-rsbuild |
| code/builders/builder-vite | packages/builder-rsbuild |
| code/frameworks/react-vite | packages/framework-react |
| code/frameworks/react-webpack5 | packages/framework-react |
| code/frameworks/vue3-vite | packages/framework-vue3 |
| code/frameworks/web-components-vite | packages/framework-web-components |
| code/frameworks/html-vite | packages/framework-html |
| code/presets/react-webpack | packages/framework-react |
| code/lib/core-webpack | packages/builder-rsbuild (prebundled)|
+----------------------------------------+--------------------------------------+Both webpack5 and vite upstream variants are monitored because this repo borrows patterns from both.
This table defines watch scope — which upstream directories are scanned for commits. Counterpart questions ("does this file have a local port?") are answered at file granularity by .agents/skills/storybook-check/manifest.json (mappings), which also records each file's accepted intentional divergences. Packages listed here but absent from the manifest (builder-vite, core-webpack) are pattern sources rather than ports: triage judges their commits case by case for semantic relevance, and the manifest intentionally carries no entries for them — file-level mappings only make sense where a real port exists.
The Storybook repo uses a non-linear branching model with frequent merge commits and automated version bumps. The bundled script filters the most common noise automatically (version bump commits via --invert-grep, merge commits via --no-merges). Some noise may still slip through — NX upgrades, CI config, non-standard version bumps, reverts that cancel out.
Always judge from the actual diff. Storybook does not consistently follow conventional commits, so commit messages are unreliable for triage decisions.
A wrong skip is the most expensive mistake this workflow can make: the next run starts after this range, so a skipped commit is never seen again, and the miss stays invisible until it resurfaces as a user-facing bug. When torn between two priorities, take the higher one.
High — sync soon:
Medium — review and decide:
Low — nice to know:
Skip:
intentionalDivergences item that names this behavior, AND you re-verified against the current local file that the divergence's stated reason still holds (e.g. "no rspack counterpart" is still true). Quote the divergence in the report entry. If the reason no longer holds, this is not a skip: classify normally and say the manifest entry is stale and must be updated in the port PR..agents/skills/storybook-check/manifest.json (mappings) and ignoredUpstreamFiles (files intentionally never ported — the strongest skip evidence). A mappings entry with local: null is not an absence of coverage: its reviewWith and note fields name the local package and what to review. For files the manifest doesn't list, check for a same-purpose local file. If any touched file has a counterpart, the "no Rsbuild parallel" claim is false; unless another Skip criterion applies, the commit is at least medium (high for bug fixes). Commit messages and file paths are not evidence here: files under builder-webpack5/src/plugins/ and src/loaders/ read as webpack-specific by path, yet are ported 1:1 into this repo.storybook/internal/* APIs (these arrive via the storybook npm dependency, not by manual sync)<skill-dir> below means .agents/skills/storybook-sync (use an absolute path when the command is copied into a subagent prompt). Shell variables do not persist between tool calls: run each step's commands in one shell, or re-inline the values (including REPORT_NAME, which steps 4 and 5 reuse). Snippets are bash (process substitution, $'\t'); run them under bash, not the login shell.
Every run covers the range from ANCHOR through TARGET on upstream next. Both ends are git refs (tag or sha, treated identically) and must be reachable from origin/next: patch tags live on main via cherry-picks; their source commits are on next. The anchor is the last commit the previous report covered, so the range excludes it (ANCHOR..TARGET).
TARGET (end ref) — always user-specified. Every run is user-triggered and the user names the target: a tag (v11.0.0, v11.0.0-alpha.3) or a commit sha. Never pick a target yourself; if the user gave none, ask for one.
ANCHOR (start ref) — continue from the last sync report by default. The storybook sync report label is fixed and used for every report this skill publishes.
TARGET=<the ref the user named> (a tag or commit sha).ANCHOR=<that ref>, leave PREV_ISSUE_NUMBER empty (the report is not continuing from an issue), and skip item 3 below (anchor recovery).read -r PREV_ISSUE_NUMBER ANCHOR < <(gh issue list --repo rstackjs/storybook-rsbuild \
--state all --label "storybook sync report" --limit 1 --json number,body \
--jq '.[0] | select(.) | "\(.number) \((.body | capture("<!-- storybook-sync: target=(?<sha>[a-f0-9]{40}) -->").sha) // "")"')PREV_ISSUE_NUMBER set but ANCHOR empty → the newest report (#N) has no parseable marker (it predates the marker, or the line was edited); nothing set → no prior report exists. In either empty case, stop and ask the user for a start ref, saying which case applies.Resolve both ends (this also fetches the cache and validates the refs):
{ IFS=$'\t' read -r ANCHOR_SHA ANCHOR_LABEL; IFS=$'\t' read -r TARGET_SHA TARGET_LABEL; } \
< <(bash <skill-dir>/scripts/fetch_upstream.sh --resolve "$ANCHOR" "$TARGET")
REPORT_NAME="upstream-sync-report-${ANCHOR_LABEL//\//-}-${TARGET_LABEL//\//-}.md"Labels come from the script: the ref as written, or an 8-char sha for a bare commit.
Fetch the commit list with diff line counts:
bash <skill-dir>/scripts/fetch_upstream.sh --no-fetch --summary --from "$ANCHOR_SHA" --to "$TARGET_SHA"Output: HASH|DATE|AUTHOR|SUBJECT|LINES_ADDED+LINES_DELETED (one per line, oldest first — the script uses --reverse).
If the summary is empty, skip analysis and go to step 4. Otherwise, based on the commit count:
Use the hashes from step 2:
bash <skill-dir>/scripts/fetch_upstream.sh --no-fetch --diff-all --hashes <H1,H2,...>For each commit in the output:
git -C ~/.cache/storybook-upstream show <TARGET_SHA>:<upstream path>..agents/skills/storybook-check/manifest.json (mappings), falling back to the package table only for files the manifest doesn't list.jq -r --arg f <upstream path> '.mappings[] | select(.upstream==$f)' .agents/skills/storybook-check/manifest.json*.test.ts files, use the local counterpart of the file under test; there are no test-file mappings. Classify Low if the test pins a contract the local port must also satisfy, otherwise Skip as a pure test change.intentionalDivergences for the touched file — if one covers this change, re-verify its reason against the current local code before choosing Skip (see the Skip criteria). Re-verifying a reason such as "no rspack counterpart" may require reading the installed loader or plugin that produces the local module shape (under node_modules/.pnpm/), not only the local source file.Then proceed to step 4.
Plan batches using the --summary output:
target_lines_per_batch = total_lines / batch_count.Spawn subagents — one per batch. Launch all Agent calls in a single message without run_in_background, so they execute in parallel as foreground calls and their results all arrive together — no sleeping or polling needed.
Use this prompt template for each subagent (note --no-fetch — the primary agent already fetched in step 1):
Analyze upstream Storybook commits for sync relevance to storybook-rsbuild.
storybook-rsbuild adapts Storybook's builder and framework packages for Rsbuild.
When upstream changes their builder or framework code, those changes may need
to be reflected in storybook-rsbuild.
Package mapping (upstream → local):
code/builders/builder-webpack5 → packages/builder-rsbuild
code/builders/builder-vite → packages/builder-rsbuild
code/frameworks/react-vite → packages/framework-react
code/frameworks/react-webpack5 → packages/framework-react
code/frameworks/vue3-vite → packages/framework-vue3
code/frameworks/web-components-vite → packages/framework-web-components
code/frameworks/html-vite → packages/framework-html
code/presets/react-webpack → packages/framework-react
code/lib/core-webpack → packages/builder-rsbuild (prebundled)
Steps:
1. Run: bash <skill-dir>/scripts/fetch_upstream.sh --no-fetch --diff-all --hashes <COMMA_SEPARATED_HASHES>
2. For each commit, read its diff carefully — this is the ground truth.
Commit messages are often inaccurate; always judge from the actual diff.
3. Resolve each touched upstream file to its local counterpart using
.agents/skills/storybook-check/manifest.json (mappings array, file-level),
falling back to the package mapping above. Read the local file —
classification is a comparison, not a guess.
4. Classify each commit and return the results in the exact format below.
Priority criteria:
high — bug fix in adapted code, security patch, API/type change, breaking change
medium — new feature worth adopting, significant refactoring of adapted patterns
low — minor improvement, added error handling, test revealing behavioral contract
skip — Vite/webpack internals with no Rsbuild parallel, docs, CI, storybook/internal API changes
A skipped commit is never revisited by this workflow, so "no Rsbuild parallel"
must be earned: it is only valid if none of the commit's touched files has a
local counterpart — in the manifest or by same-purpose inspection. If any
touched file maps to a local file, the "no Rsbuild parallel" claim is false;
unless another skip criterion applies, the commit is at least medium (high for
bug fixes). Commit messages and file paths are not evidence; plugin and loader
files that read as webpack-specific by path are ported 1:1 into this repo.
Skip changes already present locally, citing the local file:line.
Skip a still-valid intentional divergence only after re-verifying its stated
reason against current local code and quoting it; if the reason no longer holds,
classify normally and flag the stale manifest entry for update in the port PR.
Check ignoredUpstreamFiles for files intentionally never ported — the strongest
skip evidence; a mappings entry with local: null is not an absence of coverage:
its reviewWith and note fields name the local package and what to review.
Return format (one block per commit, separated by ---):
COMMIT: <full hash>
PRIORITY: high|medium|low|skip
UPSTREAM: <upstream package path, e.g. builders/builder-webpack5>
LOCAL: <local package path, e.g. packages/builder-rsbuild>
SUBJECT: <commit subject>
DATE: <YYYY-MM-DD>
AUTHOR: <author name>
WHAT_CHANGED: <1-2 sentence summary of the actual code change>
REASON: <why sync is needed, or why it can be skipped>
KEY_FILES: <comma-separated list of relevant changed files>
---Aggregate results: Collect all subagent responses. Group commits by priority level. Check for revert or supersede chains — when several commits in the range rewrite the same lines, judge only the end state; list the earlier commits under Skipped, naming the reported commit that supersedes them. Judge test cases they added that survive into the end state with the reported commit.
Save to the REPORT_NAME computed in step 1, in the project root.
# Storybook Upstream Sync Report
- **Range**: <ANCHOR_LABEL> → <TARGET_LABEL> ([`<ANCHOR_LABEL>`](https://github.com/storybookjs/storybook/commit/<ANCHOR_SHA>) → [`<TARGET_LABEL>`](https://github.com/storybookjs/storybook/commit/<TARGET_SHA>))
- **Generated**: YYYY-MM-DD
- **Upstream branch**: next
- **Commits scanned**: N (after filtering out version bumps and merges)
- **Needs attention**: X (H high, M medium, L low)
---
## High Priority
### [`abcdef0`](https://github.com/storybookjs/storybook/commit/FULL_HASH) commit subject here
- **Date**: YYYY-MM-DD | **Author**: name
- **Upstream package**: builders/builder-webpack5
- **Local package**: packages/builder-rsbuild
- **What changed**: 1-2 sentence summary of the actual code change.
- **Why sync**: Explanation of why this matters for storybook-rsbuild.
- **Key files**: list of relevant changed files
---
## Medium Priority
(same format as High)
## Low Priority
(briefer format — one paragraph per commit is sufficient)
## Skipped
(bullet list: `short-hash` subject — reason for skipping)
---
<details>
<summary><b>For agents: how to act on this report</b> (trigger: <code>use #N</code> / <code>consume #N</code>)</summary>
**Scope**: resolve every **High Priority** item. Ignore Medium / Low / Skipped unless the user asks.
**Per item, do in order:**
1. **Re-verify** — this report is a snapshot, never act on it alone:
- Upstream diff: `gh api repos/storybookjs/storybook/commits/<sha>`
- Local file(s): resolve each touched upstream file via `.agents/skills/storybook-check/manifest.json` (`mappings`), falling back to the package mapping table in the `storybook-sync` skill, and read them
2. **Pick exactly one outcome** and post it as a comment on this issue:
| Outcome | When to choose | Comment body must contain |
| --------- | -------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| **Port** | implementable now against current local code | PR link |
| **Defer** | blocked by an external condition | blocker + concrete unblock signal (e.g. "storybook 10.5 stable ships `ChangeDetectionAdapter` types") |
| **Skip** | sync no longer needed | rationale (intentional divergence / upstream reverted / dead path locally) |
**Do not** re-run the `storybook-sync` skill from this issue — generating the next report is a separate workflow.
</details>
_Generated by the [`storybook-sync`](https://github.com/rstackjs/storybook-rsbuild/tree/main/.agents/skills/storybook-sync) skill._
<!-- storybook-sync: target=<TARGET_SHA> -->X is the sum of high, medium and low; skipped commits are not counted.
Commits within each priority section should be in chronological order (oldest first).
Don't add a "Next sync" / how-to-rerun section to the report body. Re-running the skill is its own concern (see Workflow step 1, which finds the previous anchor automatically from the last issue tagged storybook sync report). Putting rerun instructions inside the report duplicates the contract and rots when the skill changes.
<ANCHOR_LABEL> → <TARGET_LABEL>; when continuing from a report, the leading plain label becomes since #<PREV_ISSUE_NUMBER> (e.g. since #544 → v10.6.0) while the two linked labels and REPORT_NAME keep the sha/tag labels.Never describe the range by author dates — the range is defined by reachability, and long-lived branches merged after the anchor carry author dates that predate it.
After writing the report, ask the user if they want to publish it as a GitHub issue in this repository. If yes, create the issue using gh:
gh issue create --title "<TITLE>" --body-file "$REPORT_NAME" --label "storybook sync report"Title format: Storybook Sync: <label part of the Range line>.
© rstackjs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in .agents/skills/storybook-sync of rstackjs/storybook-rsbuild.
Open the folder on GitHubat commit 88a557d
Storybook Sync next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Storybook Sync this skillrstackjs/storybook-rsbuild | 156 | — | ~5.2k | Automated safety check: Pass | MIT | |
| Update Component DocsAgnosticUI/agnosticui | 827 | — | ~607 | Automated safety check: Pass | Apache-2.0 | |
| Framework Interopinkline/inkline | 1.5k | — | ~1.3k | Automated safety check: Pass | None | |
| GSAP Core Animationgreensock/gsap-skills | 16k | 4 repos | ~3.7k | Automated safety check: Pass | MIT | |
| Boneyard0xGF/boneyard | 7.5k | — | ~2.2k | Automated safety check: Notes | MIT | |
| Kill AI Slopyetone/kill-ai-slop | 1.3k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 |
AgnosticUI/agnosticui
Update component documentation when code changes. An agent skill from AgnosticUI/agnosticui.
inkline/inkline
The seven framework output packages and the boundaries Inkline lives on — exports contracts, peer-dep/version matrix, per-target capability gaps, idiom fidelity, and the styleframe upstream…
greensock/gsap-skills
Covers the GSAP core API for tweens, easing, staggers, defaults and matchMedia, and when to choose GSAP over CSS animations or other JavaScript animation libraries.
0xGF/boneyard
Use boneyard-js to add, configure, debug, or rebuild skeleton screens.
yetone/kill-ai-slop
Find and remove AI slop — the generic, machine-default visual and copy tics of vibe-coded products — from a web project.
formkit/formkit
A skill your agent uses when working with FormKit forms, validation, schema, or custom inputs in React, Vue, or Nuxt projects.
rstackjs/storybook-rsbuild
Audit ported storybook-rsbuild source files against the CURRENT upstream Storybook source, grouped by the local package that owns each port, independent of commit history.
Categories
Check and analyze upstream Storybook repository changes that may need to be synced to storybook-rsbuild. Storybook Sync is an agent skill from rstackjs/storybook-rsbuild. Check and analyze upstream Storybook repository changes that may need to be synced to storybook-rsbuild.
Storybook Sync fits situations like: the user wants to check for upstream Storybook changes; review whats new in the official Storybook repo; identify changes needing sync; compare storybook-rsbuild against the upstream.
Run `npx skills add rstackjs/storybook-rsbuild --skill storybook-sync -a claude-code`. Or copy the skill folder (.agents/skills/storybook-sync in rstackjs/storybook-rsbuild) into .claude/skills/storybook-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rstackjs/storybook-rsbuild --skill storybook-sync -a codex`. Or copy the skill folder (.agents/skills/storybook-sync in rstackjs/storybook-rsbuild) into .agents/skills/storybook-sync in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rstackjs/storybook-rsbuild --skill storybook-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/storybook-sync, .gemini/skills/storybook-sync, .github/skills/storybook-sync and .opencode/skills/storybook-sync in your project.
Going by SKILL.md and its folder, Storybook Sync needs a shell for the scripts in its folder and the command-line tools its instructions call (bash, jq, gh and git). Our summary lists: A Bash shell.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Storybook Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.2k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Storybook Sync: Update Component Docs (AgnosticUI/agnosticui, 827 stars), Framework Interop (inkline/inkline, 1.5k stars), GSAP Core Animation (greensock/gsap-skills, 16k stars) and Boneyard (0xGF/boneyard, 7.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
rstackjs (a GitHub organization) maintains it in rstackjs/storybook-rsbuild, which has 156 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 30, 2026.
Source: rstackjs/storybook-rsbuild on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.