svelte-runes について
svelte-runesは、Svelte 5でコンポーネントを開発する人向けのスキルです。Runeの使い分けやリアクティビティの規則、Svelte 4からの移行時の注意点を説明します。
主な機能
- 01各Runeの主な用途を解説
- 02トップレベルでの使用とリアクティビティ規則を説明
- 03移行とコンポーネントAPIの資料を提供
- 04よくある誤りとデバッグ方法を紹介
活用シーン
- 01状態管理に使うRuneの選択
- 02コンポーネントのプロパティや派生値の記述
- 03リアクティビティの問題や構文移行の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ spences10/ svelte-skills-kit --skill svelte-runesインストール後、Claude Code で/svelte-runesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdexamples/bindable-props.svelteeffect-vs-derived.sveltereferences/common-mistakes.mdcomponent-api.mdmigration-gotchas.mdreactivity-patterns.mdsnippets-vs-slots.md詳細
Svelte Runes
クイックスタート
どのルーンを使う? プロパティ:$props() | バインド可能:$bindable() |
算出値:$derived() | 副作用:$effect() | 状態:$state()
主なルール: ルーンはトップレベルでのみ使用できます。$derived は上書きできます
(読み取り専用にするには const を使用します)。Svelte 4 と 5 の構文を混在させないでください。
オブジェクトと配列はデフォルトで深くリアクティブです。
例
<script>
let count = $state(0); // Mutable state
const doubled = $derived(count * 2); // Computed (const = read-only)
$effect(() => {
console.log(`Count is ${count}`); // Side effect
});
</script>
<button onclick={() => count++}>
{count} (doubled: {doubled})
</button>
リファレンスファイル
- reactivity-patterns.md - 各ルーンの 使い分け
- migration-gotchas.md - Svelte 4→5 の 変換
- component-api.md - $props、$bindable の パターン
- snippets-vs-slots.md - 新しい スニペット構文
- common-mistakes.md - 修正方法付きの アンチパターン
@attachやその他のテンプレートディレクティブについては、 svelte-template-directives スキルを参照してください。
補足
on:clickではなくonclickを使用し、レイアウトでは{@render children()}を使用します$derivedは再代入できます(5.25 以降)。読み取り専用にするにはconstを使用します- 型安全性を確保するには、
setContext/getContextよりcreateContextを使用します - リアクティビティの問題のデバッグには
$inspect.traceを使用します - 最終確認日: 2026-03-12
コメント
Markdown 対応