From fumi
Create a new fumi action (userscript) in ~/.config/fumi/actions/ for the fumi Chrome extension
How this skill is triggered — by the user, by Claude, or both
Slash command
/fumi:fumi-actionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a new fumi action based on the user's request.
Create a new fumi action based on the user's request.
$ARGUMENTS
Pick a filename and ID. Lowercase kebab-case <id>.js. The @id is derived from the filename by lowercasing and replacing non-alphanumerics with -. If unsure, ask the user for the target site and a short slug.
Choose @match patterns. Use Chrome match patterns (https://github.com/*/pull/*, *://*.example.com/*, <all_urls>). Add @exclude only if needed. Confirm scope with the user when ambiguous — narrower is safer.
Check for collisions. List ~/.config/fumi/actions/ and ensure neither the filename nor the derived @id already exist.
Write the file to ~/.config/fumi/actions/<id>.js with the frontmatter block first, then the action body wrapped in an IIFE. Example skeleton:
// ==Fumi Action==
// @id <id>
// @match <pattern>
// ==/Fumi Action==
(() => {
// action code
})();
Tell the user how to load it. Open the fumi extension popup → click Reload actions → reload the target page. Edits do not hot-reload.
@id, @match, @exclude are recognized — any other directive causes the file to be rejected (not ignored). Directive names must be lowercase.@match must appear at least once. @id and @exclude are optional. @match and @exclude may repeat.USER_SCRIPT world at document_idle. It cannot touch page globals directly, cannot use chrome.* APIs, and has no persistent storage.turbo:load / pjax:end and/or use a MutationObserver like actions/github-scroll-to-top.js does.await fumi.run(scriptPath, payload, { timeoutMs? }). scriptPath is relative to ~/.config/fumi/scripts/, no leading /, no ... Resolves with { exitCode, stdout, stderr, durationMs }; rejects only when the script never spawned. If the action needs a host script that doesn't exist yet, offer to create it via the fumi-script skill.fumi.run is 768 KiB, stderr 128 KiB; default timeout 30 s.fumi-...) and check for existence before re-creating DOM.Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub tkuramot/fumi --plugin fumi