From triage
Re-package this plugin as a shareable .plugin file, safe for git and public sharing. Excludes personal workspace-config.md. Use when: export plugin, package plugin, build plugin, share plugin, publish plugin, update plugin file, push to git, commit plugin.
How this skill is triggered — by the user, by Claude, or both
Slash command
/triage:export-pluginThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Re-packages this plugin into a distributable `.plugin` file — personal config excluded,
Re-packages this plugin into a distributable .plugin file — personal config excluded,
safe to commit or share publicly.
skills/triage/references/workspace-config.md — personal config, stays localskills/triage/references/reminders.md — personal reminders, stays local*.DS_Store, __MACOSX — OS noise*.plugin files at the plugin root (regenerated fresh)These exclusions match .gitignore so the git folder and the .plugin file stay in sync.
This SKILL.md lives at skills/export-plugin/SKILL.md inside the plugin. The plugin root is
two directories up from this file. Read .claude-plugin/plugin.json from that root to
get the plugin name field.
Zip only the known source paths explicitly (avoids capturing .git, build artefacts, or personal config):
cd "PLUGIN_ROOT" && \
zip -r "/tmp/NAME.plugin" \
.claude-plugin \
commands \
skills \
.mcp.json \
.gitignore \
README.md \
--exclude "*/workspace-config.md" \
--exclude "*/reminders.md" \
--exclude "*/.DS_Store" \
--exclude "*.DS_Store"
This allowlist approach is safer than a denylist — .git/, personal config, and OS noise are excluded by not being listed, not by pattern matching.
Copy /tmp/NAME.plugin to:
PLUGIN_ROOT/NAME.plugin — replaces the tracked file so git picks it up~/Downloads/NAME.plugin — for sharing or drag-and-drop installIf writing to the plugin root fails (read-only install location), save to Downloads only
and tell the user: "Saved to Downloads — copy NAME.plugin into your git clone to commit it."
Use mcp__scheduled-tasks__list_scheduled_tasks to check whether a task with taskId = "triage" exists.
If it exists:
commands/triage.md (the steps), skills/triage/references/workspace-config.md (identity + board config), and skills/triage/references/reminders.md (reminders table) from the plugin root.mcp__scheduled-tasks__update_scheduled_task with taskId = "triage" and the compiled prompt.This keeps the scheduled job in sync with every export — no plugin reimport required.
If the triage task does not exist in the scheduler, skip silently and note: "No scheduled triage task found — skipped sync."
List the files packaged and those excluded. Confirm both output paths. If the scheduled task was synced, note: "✅ Scheduled task SKILL.md updated." Then say:
"Commit
NAME.pluginalongside the source files — anyone cloning the repo can open it to import the plugin. Run/export-pluginagain any time you make changes."
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub matthewweaver/claude-triage