Asi svelte-template-directives

Svelte template directives ({@attach}, {@html}, {@render}, {@const}, {@debug}). Use for DOM manipulation, third-party libs, tooltips, canvas, dynamic HTML. @attach replaces use: actions.

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/svelte-template-directives" ~/.claude/skills/plurigrid-asi-svelte-template-directives && rm -rf "$T"
manifest: skills/svelte-template-directives/SKILL.md
source content

Svelte Template Directives

@attach (Svelte 5.29+)

The reactive alternative to

use:
actions. Re-runs when dependencies change, passes through components via spread, supports cleanup functions.

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

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

<!-- Re-runs if options changes (use: wouldn't!) -->
<figure {@attach useZoom({ width: 400 })}>
	<img src="photo.jpg" alt="zoomable" />
</figure>

Quick Reference

DirectivePurposeReactive?
{@attach}
DOM manipulation, 3rd-partyYes
{@html}
Render raw HTML stringsYes
{@render}
Render snippetsYes
{@const}
Local constants in blocksN/A
{@debug}
Pause debugger on value changeN/A

@attach vs use: Actions

Feature
use:
@attach
Re-runs on arg changeNoYes
ComposableLimitedFully
Pass through propsManualAuto via spread
Convert legacyN/A
fromAction()

Reference Files

Notes

  • @attach
    requires Svelte 5.29+
  • Use
    fromAction
    from
    svelte/attachments
    to convert legacy actions
  • Attachments pass through wrapper components when you spread props
  • Last verified: 2025-01-13
<!-- PROGRESSIVE DISCLOSURE GUIDELINES: - Keep this file ~50 lines total (max ~150 lines) - Use 1-2 code blocks only (recommend 1) - Keep description <200 chars for Level 1 efficiency - Move detailed docs to references/ for Level 3 loading - This is Level 2 - quick reference ONLY, not a manual -->