Skip to content
Agentmart
Submit a tool

tackl-performance

Optimizes Tackl apps for Web Vitals, reduced motion, and scroll performance.

Skill by 12-Studio

IndexedMIT★ 10
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/12-studio-tackl-performance

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Optimizes Tackl apps for Web Vitals, reduced motion, and scroll performance. Use when the user mentions performance, LCP, CLS, prefers-reduced-motion, lazy loading, scroll jank, or PerformanceContext.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/tackl-performance

What's inside

Skill name
tackl-performance
Description
Optimizes Tackl apps for Web Vitals, reduced motion, and scroll performance. Use when the user mentions performance, LCP, CLS, prefers-reduced-motion, lazy loading, scroll jank, or PerformanceContext.
License
MIT
Instructions
76 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Performance (Tackl)

## PerformanceContext

Provided by `PerformanceProvider` in `src/components/Contexts/Performance.tsx`, available app-wide via `Contexts`.

| Value | Type | Use |
|-------|------|-----|
| `isReducedMotion` | `boolean` | `prefers-reduced-motion: reduce` — disable/skip animations |
| `devicePixelRatio` | `number` | Choose image resolution / canvas DPR |

```tsx
'use client';

import { use } from 'react';
import { PerformanceContext } from '@parts/Contexts/Performance';

const MyComponent = () => {
	const { isReducedMotion } = use(PerformanceContext);

	if (isReducedMotion) return <StaticFallback />;

	return <AnimatedContent />;
};
```

Built-in consumer: `SmoothScroll` skips Lenis entirely when `isReducedMotion` is true — native scrolling takes over and no rAF loop starts.

## Animation gating

Before any GSAP/Lenis/canvas work:

```tsx
if (isReducedMotion) return;
```

Prefer instant state changes over tweens when `isReducedMotion` is true. Scale canvas/WebGL resolution by `devicePixelRatio` rather than always rendering at full DPR.

## Images

- Always set `width`, `height`, and `sizes`
- `next.config.js` already configures AVIF/WebP output; add your CMS's image CDN hostname to `images.remotePatterns` before using it

## Next.js patterns

- Server Components for data fetching; client components only when needed
- `dynamic()` for non-critical client bundles
- `Suspense` with lightweight fallbacks for async client trees
- `reactStrictMode: true` — GSAP cleanup must be correct (duplicate effect runs in dev)

## Web Vitals checklist

| Metric | Focus |
|--------|-------|
| **LCP** | Priority images, avoid blocking fonts, minimize client JS above fold |
| **CLS** | Explicit image dimensions, reserve space for async content |
| **INP** | Debounce scroll handlers, avoid long main-thread tasks |

## Lenis + GSAP cost

Smooth scroll runs on every page via `SmoothScroll`. Do not add second scroll libraries. Keep ScrollTrigger counts reasonable — batch refreshes; cleanup is automatic via `useAnimation`/`useGSAP` context (never `.kill()` by hand).

## Avoid

- Autoplay video without `prefers-reduced-motion` check
- Large GSAP timelines on every section without viewport triggers
- `will-change` everywhere — use sparingly on animated elements only
- Importing heavy libs in Server Components

## References

- `docs/Tackl/PerformanceContext.md`
- `src/components/Contexts/Performance.tsx`
- `docs/Lighthouse.md`

From 12-Studio/Tackl, MIT.

More from 12-Studio/Tackl

Signals

Stars
10
Forks
2
Open issues
0
Last commit (this folder)
Aug 8, 2026 (2 months ago)
Last release
Oct 11, 2026 (17 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from 12-Studio

Cite this page

tackl-performance skill. Agent Mart. https://agentmart.dev/skills/12-studio-tackl-performance (last updated 2026-10-24)