Svelte Storybook Migrate
$ npx claude-code-templates@latest --command="svelte/svelte-storybook-migrate" --yesRequires Claude Code. The command adds this command to your project's .claudedirectory — nothing runs on ToolZip's servers.
What's inside this command
Component source
/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:
# Automated upgrade
npx storybook@latest upgrade
# Manual steps:
# 1. Update dependencies
# 2. Migrate to @storybook/sveltekit
# 3. Remove obsolete packages
# 4. Update configuration
Configuration Changes:
// 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:
<!-- Old -->
<Meta title="Button" component={Button} />
<!-- New -->
Template → Children/Snippets:
<!-- 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:
npm uninstall @storybook/svelte-vite
npm uninstall storybook-builder-vite
npm uninstall @storybook/builder-vite
npm uninstall @storybook/svelte
Install New Packages:
npm install -D @storybook/sveltekit
npm install -D @storybook/addon-svelte-csf@latest
- Story Format Migration:
CSF 2 to CSF 3:
// 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:
// Old
export default {
component: Button,
parameters: {
docs: { autodocs: true }
}
};
// New
export default {
component: Button,
tags: ['autodocs']
};
- Module Mocking Updates:
New Parameter Structure:
// Old approach (custom mocks)
import { page } from './__mocks__/stores';
// New approach (parameters)
export const Default = {
parameters: {
sveltekit_experimental: {
stores: { page: { ... } }
}
}
};
- Migration Script:
// 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:
npm run storybook
- Check all stories render
- Verify interactions work
- Test addons functionality
- Validate build process
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
Related Claude Code Commands
Svelte Debug
A ready-to-install Claude Code component.
Svelte Test Coverage
A ready-to-install Claude Code component.
Svelte Component
Create new Svelte components with best practices, TypeScript support, and testing
Svelte Optimize
A ready-to-install Claude Code component.
Svelte Test Setup
A ready-to-install Claude Code component.
Svelte Test
A ready-to-install Claude Code component.
Catalog data and component content are sourced from the open-source davila7/claude-code-templates project (MIT license). ToolZip curates the listing and writes original descriptions; every component links back to its original source. Claude Code is a product of Anthropic. ToolZip is an independent catalog and is not affiliated with or endorsed by Anthropic.