Agent skill

script-kit-scripting

Script metadata and scriptlet bundle patterns for Script Kit. Use when writing scripts, test files, or scriptlet bundles. Covers global metadata, legacy comment-based metadata, and YAML frontmatter for bundles.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/script-kit-scripting

SKILL.md

Script Kit Scripting

Patterns for writing scripts and scriptlet bundles.

Script Metadata (Preferred: Global Export)

Use for all new scripts/tests:

ts
import '../../scripts/kit-sdk';

export const metadata = {
  name: "My Script",
  description: "Does something useful",
  shortcut: "cmd+shift+m",
  author: "Your Name",
  // more typed fields available
};

Why prefer global metadata:

  • Type safety (TS types)
  • IDE autocomplete + validation
  • More fields + easier extensibility
  • Compile-time feedback (vs runtime parsing)

Legacy Comment-Based Metadata

Supported for backwards compatibility:

ts
// Name: My Script
// Description: Does something useful
// Shortcut: cmd+shift+m
import '../../scripts/kit-sdk';

SDK Import in Tests

Tests import from repo path:

ts
import '../../scripts/kit-sdk'; // globals: arg(), div(), editor(), fields(), captureScreenshot(), getLayoutInfo(), ...

Production scripts use runtime-extracted SDK at ~/.scriptkit/sdk/kit-sdk.ts.

Scriptlet Bundles (~/.scriptkit/snippets/*.md)

Optional YAML frontmatter (line 1 must be ---, closed by --- on its own line):

md
---
name: My API Tools
description: Collection of useful API utilities
author: John Doe
icon: api
---

Fields: name, description, author, icon (all optional). Unknown fields ignored.

Backwards Compatibility

  • Frontmatter optional; bundles without it still work
  • Filename fallback: missing name uses filename (sans .md)
  • Invalid frontmatter logs warnings but does not break parsing

Validation Behavior

  • Missing closing --- → warn (line #), skip frontmatter
  • Invalid YAML → warn (error + line #), skip frontmatter
  • Errors surface to users via HUD notifications with line #

Default Icon Mapping

When no explicit icon::

  • templatetext-cursor-input
  • toolwrench
  • snippetcode
  • scriptterminal
  • promptmessage-circle
  • actionzap
  • fallback → file-text

Icon resolution priority:

  1. explicit frontmatter icon
  2. tool-type default
  3. bundle fallback file-text

Troubleshooting

  • Frontmatter not parsed → must start on line 1 with --- and have closing --- on its own line
  • Icon not showing → verify icon name exists; check [CACHE] logs
  • HUD validation error → use the reported line number; quote special chars
  • Metadata not updating → touch file to refresh cache; check logs

Didn't find tool you were looking for?

Be as detailed as possible for better results