mcpField
S
svelte-template-directives

svelte-template-directives

github.com/spences10開発1697 回インストール16 週間前に更新
リポジトリ

svelte-template-directives について

svelte-template-directivesは、Svelteのテンプレートディレクティブをまとめたリファレンススキルです。特にSvelte 5.29以降のアタッチメントを扱い、リアクティブなDOM操作やテンプレート機能の選択を支援します。

主な機能

  1. 01@attachの利用パターン
  2. 02ディレクティブ用途の早見表
  3. 03use:アクションとの比較
  4. 04描画タグとデバッグタグの案内
  5. 05key付きeachブロックの案内

活用シーン

  1. 01リアクティブなDOM動作の適用
  2. 02@attachとuse:の選択
  3. 03スニペットやHTML文字列の描画
  4. 04マークアップ宣言や反復処理の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/spences10/skills --skill svelte-template-directives

インストール後、Claude Code で/svelte-template-directivesを入力して読み込まれたか確認します。

同梱ファイルreferences/attach-patterns.mdreferences/other-directives.md

詳細

Svelte テンプレートディレクティブ

@attach(Svelte 5.29+)

use: アクションに代わるリアクティブな方法です。 依存関係が 変化すると再実行され、スプレッドを介してコンポーネントに引き継がれ、クリーンアップ関数をサポートします。

<script>
	import ImageZoom from 'js-image-zoom';

	function useZoom(options) {
		return (element) => {
			new ImageZoom(element, options);
			return () => console.log('cleanup');
		};
	}
</script>


<figure {@attach useZoom({ width: 400 })}>
	<img src="photo.jpg" alt="zoomable" />
</figure>

クイックリファレンス

ディレクティブ目的リアクティブ?
{@attach}DOM 操作、サードパーティー連携はい
{@html}生の HTML 文字列をレンダリングはい
{@render}スニペットをレンダリングはい
{let ...} / {const ...}マークアップ内のローカル宣言該当なし
{@debug}値が変化したときにデバッガーを一時停止該当なし
{#each (key)}キー付き反復(常にキーを指定!)はい
<svelte:window>ウィンドウのイベントリスナー該当なし

@attach と use: アクションの比較

機能use:@attach
引数変更時の再実行いいえはい
合成可能限定的完全に対応
props の引き継ぎ手動スプレッドで自動
レガシー形式の変換該当なしfromAction()

リファレンスファイル

注意事項

  • @attach には Svelte 5.29+ が必要です
  • svelte/attachments の fromAction を使って、レガシーアクションを変換します
  • props をスプレッドすると、アタッチメントはラッパーコンポーネントを通して引き継がれます
  • 常にキー付きの each ブロックを使ってください。キーにインデックスを使わないでください
  • グローバルイベントには $effect ではなく、<svelte:window>/<svelte:document> を使ってください
  • ローカルのマークアップ変数には {const ...}/{let ...} 宣言タグを使います。{@const ...} はレガシー構文です。
  • 最終確認日: 2026-05-31

コメント