ripple-ts

Skill that helps agents work with the framework RippleTS. Links back to the llms.txt, and provides info that might be helpful to the LLM.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ripple-ts" with this command: npx skills add quick007/skills/quick007-skills-ripple-ts

RippleTS Skill

This skill helps you work with RippleTS, a TypeScript UI framework that combines the best parts of React, Solid, and Svelte.

Documentation Links

Key Concepts for LLMs

File Extension

RippleTS uses .ripple files with TypeScript-first JSX-like syntax.

Component Definition

Components use the component keyword, NOT functions returning JSX:

component Button(props: { text: string, onClick: () => void }) {
  <button onClick={props.onClick}>
    {props.text}
  </button>
}

CRITICAL RULES

  1. Text Must Be in Expressions: Unlike HTML/JSX, raw text is NOT allowed. Always wrap text in curly braces:

    • <div>Hello</div>
    • <div>{"Hello"}</div>
  2. Templates Only Inside Components: JSX-like elements can ONLY exist inside component function bodies, not in regular functions or variables.

Reactivity

Use track() to create reactive values and @ to access them:

import { track } from 'ripple';

export component Counter() {
  let count = track(0);
  
  <div>
    <p>{"Count: "}{@count}</p>
    <button onClick={() => @count++}>{"Increment"}</button>
  </div>
}

Reactive Collections

Use special syntax for fully reactive collections:

  • Arrays: #[1, 2, 3] or new TrackedArray(1, 2, 3)
  • Objects: #{a: 1, b: 2} or new TrackedObject({a: 1})

Control Flow

Templates support inline control flow:

component App(props: { items: string[] }) {
  <div>
    if (props.items.length > 0) {
      <ul>
        for (const item of props.items; index i) {
          <li>{item}</li>
        }
      </ul>
    } else {
      <p>{"No items"}</p>
    }
  </div>
}

Scoped CSS

Add <style> elements directly in components for scoped styles:

component StyledComponent() {
  <div class="container">
    <h1>{"Styled Content"}</h1>
  </div>
  <style>
    .container {
      background: blue;
      padding: 1rem;
    }
  </style>
}

Dynamic Classes

Use object/array syntax for conditional classes (powered by clsx):

let includeBaz = track(true);
<div class={{ foo: true, bar: false, baz: @includeBaz }}></div>

Installation & Setup

# Create new project from template
npx degit Ripple-TS/ripple/templates/basic my-app
cd my-app
npm i && npm run dev

# Or install in existing project
npm install ripple
npm install --save-dev '@ripple-ts/vite-plugin'

VSCode Extension

  • Name: "Ripple for VS Code"
  • ID: Ripple-TS.ripple-ts-vscode-plugin

React Compatibility

Ripple supports embedding React components using <tsx:react> blocks. Requires @ripple-ts/compat-react package and configuration in mount().

Best Practices

  1. Use track() for reactive state
  2. Wrap all text content in expressions {}
  3. Use scoped <style> elements for component styling
  4. Use effect() for side effects, not direct reactive access
  5. Keep components focused with TypeScript interfaces for props

Limitations

  • Currently SPA-only (SSR coming soon)
  • No hydration support yet
  • Tracked objects cannot be created at module/global scope

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

Repository SourceNeeds Review
10.3K561.5K
vercel-labs
Automation

pptx

Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.

Repository Source
94.2K34.5K
anthropics
Automation

doc-coauthoring

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

Repository Source
94.2K15K
anthropics