en un clic
new
Create a new Tinker plugin from the template
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Create a new Tinker plugin from the template
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Add MCP tools to a Tinker plugin so agents can automate it via tinker call / tinker mcp. Use when the user asks to add MCP, registerMcp, mcp.tools, or make a plugin callable from the CLI.
Check code against Tinker plugin coding standards
Review changed code for reuse, quality, and efficiency, then fix any issues found.
| name | new |
| description | Create a new Tinker plugin from the template |
| argument-hint | <plugin-name> [description] |
Create a new Tinker plugin from scratch.
plugin-name: kebab-case name without the tinker- prefix (e.g., base64, color-picker)description: optional short description in EnglishList existing plugins and check if any are functionally similar to the new one:
ls packages/
If a similar plugin exists, ask the user whether to copy it as the base instead of the most suitable existing plugin. Use the user's choice as the copy source in the next step.
Ask the user: does this plugin need Node.js/Electron APIs (file system, OS info, native dialogs beyond tinker.*, etc.)? If yes → advanced (with src/renderer/, src/preload/, optionally src/common/). If no → basic (flat src/ layout, no preload).
cp -r packages/tinker-<source> packages/tinker-<plugin-name>
Where <source> is the similar plugin chosen by the user, or the default template for the type:
hanzi-converter (flat src/, standard App.tsx + main.tsx, no data files)wallpaper (src/renderer/ + src/preload/, single preload file, optional src/common/)package.jsonEdit packages/tinker-<plugin-name>/package.json:
name → "tinker-<plugin-name>"description → provided descriptiontinker.name → Title Case English nametinker.locales.zh-CN.name → Chinese name (ask if unclear)Basic plugin layout (src/ flat, e.g. like tinker-hanzi-converter):
scripts: only dev and build using plain vite commands (no concurrently)tinker.main → "dist/index.html"tinker.preloadindex.html entry: <script type="module" src="/src/main.tsx"></script>Advanced plugin layout (src/renderer/ + src/preload/, e.g. like tinker-wallpaper):
concurrently-based dev/build scripts as-istinker.main → "dist/renderer/index.html"tinker.preload → "dist/preload/index.js"index.html entry: <script type="module" src="/src/renderer/main.tsx"></script>Also remind the user: icon.png must be replaced with a real icon (200×200 px).
cd packages/tinker-<plugin-name> && npm run build
Fix any TypeScript or build errors before finishing.
The scaffold is complete. Do not modify App.tsx, store.ts, i18n files, or any other source files to implement the plugin's actual functionality. Leave all template content as-is and inform the user that the scaffold is ready for them to implement.