ira-claude-plugins
Personal Claude Code skills, published as an installable plugin marketplace.
Description follows below after the installation instructions.
Install in ClaudeCode
/plugin marketplace add seefood/ira-claude-plugins
/plugin install test-before-install@ira-claude-plugins
/plugin install json-to-toon@ira-claude-plugins
/plugin install debugging-with-the-scientific-method@ira-claude-plugins
/plugin install settings-curator@ira-claude-plugins
Install with homeshick in Kiro and Cursor
This repository is also a homeshick castle. With homeshick installed, clone and link it like this:
homeshick clone git@github.com:seefood/ira-claude-plugins.git
homeshick link ira-claude-plugins
Linking the castle installs the global skills and Kiro permission hook from
home/:
~/.cursor/skills/— Cursor copies of the skills~/.kiro/skills/— Kiro copies of the skills~/.kiro/hooks/permission-gate.jsonand~/.kiro/hooks/permission-gate.py— a KiroPreToolUsehook that applies Claude-style allow/deny rules from the current project's.claude/settings.json
The hook falls through to Kiro's built-in permission system when no matching
Claude rule exists. Linking the castle manages all files under home/, not
just these paths; use homeshick unlink ira-claude-plugins to remove its
links without deleting the castle checkout.
Install as a Kiro Power
This repository is also a Kiro Power
using the vendor-neutral Agent Plugins format.
The root plugin.json identifies the Power, and the root skills/ directory
exposes the existing skills under plugins/ without duplicating their files:
plugin.json
skills/<name> -> ../plugins/<name>/skills/<name>
Each symlink points to the complete skill directory, including its
SKILL.md, references/, and scripts/ files. The Agent Plugins manifest has
no path-remapping field, so these root-level links provide the conventional
Kiro skills/<name>/ layout while keeping the Claude plugin sources canonical.
Install as a Kiro Power
In Kiro, open the Powers panel, choose Add Custom Power → Import power from GitHub, enter:
https://github.com/seefood/ira-claude-plugins
and install it. Kiro can update a GitHub-installed Power from its source; see Install Powers and Create Powers.
The Kiro Power packages the four skills. The Claude-compatible permission gate
and other global files under home/.kiro/ remain managed by the homeshick
installation above, because Kiro Powers do not currently document packaging
arbitrary global hooks or configuration.
Plugins
test-before-install
Vet a third-party agent artifact (Claude Code skill, plugin, MCP server) or a local "enhancement" from a remote or external source before installing it locally. Fetches the source read-only into quarantine, runs static and type-appropriate scanners in isolation, verifies findings by hand, and reports a verdict with the side effects to consent to.
See plugins/test-before-install/skills/test-before-install/SKILL.md.
json-to-toon
Converts JSON command output (AWS CLI, kubectl -o json, terraform show -json, snyk-agent-scan --json, etc.) to compact TOON notation before it
enters the conversation, to save ingestion tokens. Skips conversion when the
raw JSON itself is the deliverable (editing, piping to another JSON
consumer, saving for later). Maintains a living registry of known
JSON-emitting commands that grows as new ones are discovered.
See plugins/json-to-toon/skills/json-to-toon/SKILL.md.
Measured token savings on real command output (tiktoken, cl100k_base /
o200k_base — an approximation of the actual Sonnet 5 tokenizer, not an
exact count):
| Source | JSON tokens | TOON tokens | Savings |
|---|---|---|---|
mnemon status (tabular) | 481 | 195 | 59.5% |
mnemon search (free-text) | 2521 | 2310 | 8.4% |
Savings scale with how tabular the data is: uniform arrays of objects
collapse into key[N]{fields}: header + rows, while prose-heavy fields
(e.g. long content strings) don't compress much beyond removing JSON
punctuation.
settings-curator
Consolidate scattered per-directory .claude/settings.local.json files
(created when Claude Code sessions were started from subdirectories instead
of the repo root) into the root .claude/settings.json as durable, curated
permission rules, then replace the redundant nested .claude directories
with symlinks to the root one so future sessions share one config.
See plugins/settings-curator/skills/settings-curator/SKILL.md.
debugging-with-the-scientific-method
Replaces ad hoc "try this, try that" debugging with a written lab-notebook log of hypothesis, experiment, and result — one falsifiable hypothesis at a time, forcing precision and preventing repeated dead ends.
See plugins/debugging-with-the-scientific-method/skills/debugging-with-the-scientific-method/SKILL.md.
Method and example adapted from Noam Elfanbaum's debugging-with-the-scientific-method.
Repository layout
The repository combines three packaging formats:
Claude Code marketplace:
.claude-plugin/marketplace.json - marketplace manifest
plugins/<name>/.claude-plugin/plugin.json - per-plugin manifest
plugins/<name>/skills/<name>/SKILL.md - canonical skill files
Kiro Agent Plugin / Power:
plugin.json - Agent Plugins manifest
skills/<name> -> ../plugins/<name>/skills/<name> - skill directory links
The root skills/ links expose the complete skill directories, including
SKILL.md, references/, and scripts/, without duplicating the canonical
files under plugins/.
Homeshick castle:
home/.cursor/ - Cursor global files
home/.kiro/ - Kiro global skills, hooks, and settings
See the Claude Code plugin marketplace schema, the Agent Plugins specification, and the homeshick documentation for the corresponding packaging formats.
License
MIT, see LICENSE.