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.mdsource content
Svelte Template Directives
@attach (Svelte 5.29+)
The reactive alternative to
actions. Re-runs when dependencies
change, passes through components via spread, supports cleanup functions.use:
<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
| Directive | Purpose | Reactive? |
|---|---|---|
| DOM manipulation, 3rd-party | Yes |
| Render raw HTML strings | Yes |
| Render snippets | Yes |
| Local constants in blocks | N/A |
| Pause debugger on value change | N/A |
@attach vs use: Actions
| Feature | | |
|---|---|---|
| Re-runs on arg change | No | Yes |
| Composable | Limited | Fully |
| Pass through props | Manual | Auto via spread |
| Convert legacy | N/A | |
Reference Files
- attach-patterns.md - Real-world @attach examples
- other-directives.md - @html, @render, @const, @debug
Notes
requires Svelte 5.29+@attach- Use
fromfromAction
to convert legacy actionssvelte/attachments - Attachments pass through wrapper components when you spread props
- Last verified: 2025-01-13