Agent skill

Handsontable Plugin Development

by handsontable in handsontable/handsontable

Rules for creating or changing a Handsontable plugin: file layout, lifecycle, hook registration, settings, conflict registration and IndexMapper use.

Custom licenceAuto-check passedDevelopment

Install Handsontable Plugin Development

skills CLI
$ npx skills add handsontable/handsontable --skill handsontable-plugin-dev -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install handsontable/handsontable handsontable-plugin-dev --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/handsontable/handsontable.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/handsontable-plugin-dev .claude/skills/handsontable-plugin-dev && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
handsontable-plugin-dev
GitHub stars
22k
Token cost
~2.3k tokens
SKILL.md length
1,038 words
Files
1
Skills in repo
31
Repo updated
First seen
Licence
Custom licence

At a glance

Rules for creating or changing a Handsontable plugin: file layout, lifecycle, hook registration, settings, conflict registration and IndexMapper use.

  • Works in 6 steps: index.ts: export { PLUGIN_KEY,… → Wire into src/plugins/index.ts. → Add the default option (disabled) in… → …
  • Creating a new Handsontable plugin
  • SKILL.md covers Plugin file structure, Contract, Key patterns (gold standard:… and Decoupling rules, plus 5 more sections
  • Calls npm and git; needs PLUGIN_KEY

What it does

A contributor guide for plugins inside the Handsontable repository. A plugin lives in its own folder under src/plugins, with an index file that re-exports the plugin key, priority and class, and a main class that extends BasePlugin. The full contract, including statics, lifecycle order, hard conflicts and the table of plugin priorities, is kept in src/plugins/base/AGENTS.md, and a new plugin picks a free priority number and adds its row to that table.

Key patterns follow the pagination plugin as the model. Internal state uses # private fields, hook callbacks are passed to addHook as arrow-function class fields so the registered reference can be removed later, and addHook on the plugin cleans up on disablePlugin while the one on the hot instance does not. Settings are read with getSetting, conflicts are registered at module level and checked in enablePlugin, and index maps are created in enablePlugin and unregistered in disablePlugin, using a hiding map to keep rows in the data or a trimming map to remove them. UI goes in its own class with injected dependencies.

When your agent uses it

  • Creating a new Handsontable plugin
  • Adding hooks or options to an existing plugin
  • Working with the enablePlugin, disablePlugin and updatePlugin lifecycle
  • Registering conflicts between plugins or integrating an IndexMapper

Example prompts

  • “Create a new Handsontable plugin that hides rows by a custom rule.”
  • “Add a beforeMyAction hook to the filters plugin and register the hook name.”
  • “Make my plugin conflict with nestedRows and mergeCells.”

Requirements

  • A checkout of the Handsontable repository

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. index.ts: export { PLUGIN_KEY, PLUGIN_PRIORITY, ClassName } from './pluginName';
  2. Wire into src/plugins/index.ts.
  3. Add the default option (disabled) in src/dataMap/metaManager/metaSchema.ts.
  4. For new hook signatures or settings, add them to src/core/settings.ts (GridSettings); npm run build:types regenerates the public .d.ts…
  5. Write AGENTS.md and symlink CLAUDE.md to it with the relative target, so the link resolves in a git worktree
  6. Add your PLUGIN_PRIORITY row to the table in src/plugins/base/AGENTS.md, in the same change: nothing enforces it, so it drifts silently.

What it can do on your machine

Read from SKILL.md and the folder at commit 68b5e97. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • PLUGIN_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Handsontable Plugin Development loads about 2.3k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 1,038 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~84
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 1,038 words (~2,319 tokens).

“Statics (PLUGIN_KEY, PLUGIN_PRIORITY, SETTING_KEYS, PLUGIN_DEPS, DEFAULT_SETTINGS, SETTINGS_VALIDATORS), lifecycle order, onUpdateSettings, hard conflicts, and the PLUGIN_PRIORITY table: src/plugins/base/AGENTS.md. Pick a free priority number from that table and add your row to it.”

— opening of SKILL.md by handsontable, Custom licence
name
handsontable-plugin-dev
path
handsontable/src/plugins/**

Read the full SKILL.md on GitHub

Files

Just SKILL.md in .claude/skills/handsontable-plugin-dev of handsontable/handsontable.

Open the folder on GitHubat commit 68b5e97

Compare with similar skills

Handsontable Plugin Development next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Handsontable Plugin Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Handsontable Plugin Development this skillhandsontable/handsontable22k—~2.3kAutomated safety check: PassCustom licence
Moai Ref React Patternsmodu-ai/moai-adk1.2k—~1.8kAutomated safety check: PassApache-2.0
@pierre/diffs Code Renderingpierrecomputer/pierre6.2k2 repos~803Automated safety check: PassApache-2.0
Project-Native Component Builderkostja94/bricks199—~965Automated safety check: PassMIT
Spec App Consistency Auditleo-kuang-ai/spec-first107—~4.6kAutomated safety check: PassMIT
JavaScript IO Effects With Sagasparalleldrive/aidd384—~587Automated safety check: PassMIT

Similar skills

  • Moai Ref React Patterns

    modu-ai/moai-adk

    React/Next.js component design patterns, state management strategies, and project structure reference for frontend development.

    1.2k GitHub stars~1.8k tokensUpdated today
    Frontend & DesignAuto-check passed
  • @pierre/diffs Code Rendering

    pierrecomputer/pierre

    Guides an agent through using @pierre/diffs to render syntax-highlighted files and diffs, and to build editing and review surfaces in React or plain JavaScript.

    6.2k GitHub starsUsed in 2 repos~803 tokens
    DevelopmentAuto-check passed
  • Builds new interface components inside an existing project, reusing its design system, stack and conventions instead of producing isolated demo UI.

    199 GitHub stars~965 tokensUpdated 12 days ago
    Frontend & DesignAuto-check passed
  • Spec App Consistency Audit

    leo-kuang-ai/spec-first

    Audit mobile App PRD/Figma/local-source consistency across page routes, KMP/Clean Architecture, components, analytics, i18n, engineering quality, and industry lenses before runtime validation; use…

    107 GitHub stars~4.6k tokensUpdated 13 days ago
    DevelopmentAuto-check passed
  • Teaches the saga pattern with call and put so network requests and side effects stay out of the logic and sagas can be tested without mocks.

    384 GitHub stars~587 tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Proves that a refactor leaves every rendered preview page unchanged by comparing fresh HTML output against a baseline captured beforehand.

    42k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed

More from handsontable/handsontable

All 31 skills in this repo
  • Handsontable Playwright E2E Tests

    handsontable/handsontable

    Guides writing and changing Playwright end-to-end tests for Handsontable using page objects, data-testid hooks and deterministic waits.

    22k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Guides changes to the @handsontable/angular-wrapper package: the HotTableComponent lifecycle, NgZone performance handling, settings services and the ng-packagr build.

    22k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • BrowserStack Live Testing

    handsontable/handsontable

    Opens a live BrowserStack session on a real Android, iOS or desktop browser for a local or public URL, tunneling localhost through Cloudflare when needed.

    22k GitHub stars~950 tokensUpdated today
    Auto-check passed
  • Handsontable Changelog Entry

    handsontable/handsontable

    Decides whether a code change needs a changelog entry and creates the JSON file in .changelogs with the right type, framework and user-facing title.

    22k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Code Review Graph Navigator

    handsontable/handsontable

    Queries a pre-built, Tree-sitter-based code graph of the whole monorepo instead of grepping call chains, for exploring, debugging, refactoring or reviewing code.

    22k GitHub stars~939 tokensUpdated today
    Auto-check passed
  • Handsontable Coordinate Systems

    handsontable/handsontable

    Explains Handsontable's physical, visual and renderable row and column coordinate spaces and how to convert between them with IndexMapper, for debugging misplaced rows or columns.

    22k GitHub stars~721 tokensUpdated today
    Auto-check passed

Questions about Handsontable Plugin Development

What does Handsontable Plugin Development do?

Rules for creating or changing a Handsontable plugin: file layout, lifecycle, hook registration, settings, conflict registration and IndexMapper use. A contributor guide for plugins inside the Handsontable repository. A plugin lives in its own folder under src/plugins, with an index file that re-exports the plugin key, priority and class, and a main class that extends BasePlugin.

When should I use Handsontable Plugin Development?

Handsontable Plugin Development fits situations like: creating a new Handsontable plugin; adding hooks or options to an existing plugin; working with the enablePlugin, disablePlugin and updatePlugin lifecycle; registering conflicts between plugins or integrating an IndexMapper.

How do I install Handsontable Plugin Development in Claude Code?

Run `npx skills add handsontable/handsontable --skill handsontable-plugin-dev -a claude-code`. Or copy the skill folder (.claude/skills/handsontable-plugin-dev in handsontable/handsontable) into .claude/skills/handsontable-plugin-dev in your project. Claude Code loads it when a task matches its description.

How do I install Handsontable Plugin Development in Codex?

Run `npx skills add handsontable/handsontable --skill handsontable-plugin-dev -a codex`. Or copy the skill folder (.claude/skills/handsontable-plugin-dev in handsontable/handsontable) into .agents/skills/handsontable-plugin-dev in your project. Codex loads it when a task matches its description.

Can I use Handsontable Plugin Development in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add handsontable/handsontable --skill handsontable-plugin-dev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/handsontable-plugin-dev, .gemini/skills/handsontable-plugin-dev, .github/skills/handsontable-plugin-dev and .opencode/skills/handsontable-plugin-dev in your project.

What does Handsontable Plugin Development need to run?

Going by SKILL.md and its folder, Handsontable Plugin Development needs the command-line tools its instructions call (npm and git) and credentials named PLUGIN_KEY. Our summary lists: A checkout of the Handsontable repository.

Does Handsontable Plugin Development access the network?

SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Handsontable Plugin Development safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Handsontable Plugin Development use?

Handsontable Plugin Development has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Handsontable Plugin Development use?

About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Handsontable Plugin Development?

Skills that share tags, products or a category with Handsontable Plugin Development: Moai Ref React Patterns (modu-ai/moai-adk, 1.2k stars), @pierre/diffs Code Rendering (pierrecomputer/pierre, 6.2k stars), Project-Native Component Builder (kostja94/bricks, 199 stars) and Spec App Consistency Audit (leo-kuang-ai/spec-first, 107 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Handsontable Plugin Development?

handsontable (a GitHub organization) maintains it in handsontable/handsontable, which has 22,059 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 7, 2026.

Source: handsontable/handsontable on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.