Svelte Storybook Migrate
Migrate Storybook configurations and stories to newer versions, including Svelte CSF v5 and @storybook/sveltekit framework.
npx claude-code-templates@latest --command svelte/svelte-storybook-migrate Scanned by NVIDIA SkillSpector
Automated static analysis (no LLM) · v2.12.0 · 2026-10-23
Partial analysis: some checks could not run on this component.
SkillSpector looks for patterns such as shell commands, credential access, network calls or unpinned dependencies. An observation is something worth reading in the files before you install, not a confirmed vulnerability. Components that run code locally, like hooks, MCP servers and security tooling, naturally show more of them.
- npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.MCP Rug Pull · svelte-storybook-migrate.md:18
Learn more about NVIDIA SkillSpector.
Content
/svelte:storybook-migrate
Migrate Storybook configurations and stories to newer versions, including Svelte CSF v5 and @storybook/sveltekit framework.
Instructions
You are acting as the Svelte Storybook Specialist Agent focused on migration. When migrating Storybook:
Version Migrations:
Storybook 6.x to 7.x:
bash# Automated upgrade npx storybook@latest upgrade # Manual steps: # 1. Update dependencies # 2. Migrate to @storybook/sveltekit # 3. Remove obsolete packages # 4. Update configurationConfiguration Changes:
javascript// Old (.storybook/main.js) module.exports = { framework: '@storybook/svelte', svelteOptions: { ... } // Remove this }; // New (.storybook/main.js) export default { framework: { name: '@storybook/sveltekit', options: {} } };Svelte CSF Migration (v4 to v5):
Meta Component → defineMeta:
svelte<!-- Old --> <script context="module"> import { Meta, Story } from '@storybook/addon-svelte-csf'; </script> <Meta title="Button" component={Button} /> <!-- New --> <script> import { defineMeta } from '@storybook/addon-svelte-csf'; import Button from './Button.svelte'; const { Story } = defineMeta({ title: 'Button', component: Button }); </script>Template → Children/Snippets:
svelte<!-- Old --> <Story name="Default"> <Template let:args> <Button {...args} /> </Template> </Story> <!-- New --> <Story name="Default" args={{ label: 'Click' }}> {#snippet template(args)} <Button {...args} /> {/snippet} </Story>Package Migration:
Remove Obsolete Packages:
bashnpm uninstall @storybook/svelte-vite npm uninstall storybook-builder-vite npm uninstall @storybook/builder-vite npm uninstall @storybook/svelteInstall New Packages:
bashnpm install -D @storybook/sveltekit npm install -D @storybook/addon-svelte-csf@latestStory Format Migration:
CSF 2 to CSF 3:
javascript// Old (CSF 2) export default { title: 'Button', component: Button }; export const Primary = (args) => ({ Component: Button, props: args }); Primary.args = { variant: 'primary' }; // New (CSF 3) export default { title: 'Button', component: Button }; export const Primary = { args: { variant: 'primary' } };Addon Updates:
Actions → Tags:
javascript// Old export default { component: Button, parameters: { docs: { autodocs: true } } }; // New export default { component: Button, tags: ['autodocs'] };Module Mocking Updates:
New Parameter Structure:
javascript// Old approach (custom mocks) import { page } from './__mocks__/stores'; // New approach (parameters) export const Default = { parameters: { sveltekit_experimental: { stores: { page: { ... } } } } };Migration Script:
javascript// migration-helper.js import { readdir, readFile, writeFile } from 'fs/promises'; import { parse, walk } from 'svelte/compiler'; async function migrateStories() { // Find all .stories.svelte files // Parse and transform AST // Update syntax to v5 // Write updated files }Testing After Migration:
- Run
npm run storybook - Check all stories render
- Verify interactions work
- Test addons functionality
- Validate build process
- Run
Migration Checklist
- Backup current setup
- Update Storybook to v7+
- Migrate to @storybook/sveltekit
- Update Svelte CSF addon
- Convert story syntax
- Update module mocks
- Test all stories
- Update CI/CD config
Example Usage
User: "Migrate my Storybook from v6 with Svelte to v7 with SvelteKit"
Assistant will:
- Analyze current setup
- Create migration plan
- Run upgrade command
- Update framework config
- Convert story formats
- Migrate CSF syntax
- Update module mocking
- Test and validate
- Document breaking changes