.ai/skills/update-tool-plugin/SKILL.md
Update an existing LNAI tool plugin
npx skillsauth add krystianjonca/lnai update-tool-pluginInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guide for modifying an existing plugin to support new features or fix issues.
Search the official documentation for the target tool to understand:
All plugins are in packages/core/src/plugins/:
claude-code/ - Claude Codecursor/ - Cursor IDEcopilot/ - GitHub Copilotwindsurf/ - Windsurf IDEopencode/ - OpenCodegemini/ - Gemini CLIcodex/ - Codexexport() method to generate new output filesskipped in validate() if feature was previously skippedtransforms.ts for transformation logicexport() to match new format requirements# Run plugin-specific tests
pnpm test packages/core/src/plugins/<tool-name>/
# Run all tests
pnpm test
# Test against real project
lnai sync --dry-run -t <tool-name>
| File | Purpose |
| --------------------------- | ------------------------------- |
| index.ts | Main plugin implementation |
| types.ts | Tool-specific type definitions |
| transforms.ts | Format transformation functions |
| ../types.ts | Plugin interface definition |
| ../../utils/transforms.ts | Shared transform utilities |
// Mark feature as skipped (not supported)
skipped.push({
feature: "permissions",
reason: "Tool uses global permissions only",
});
// Add warning (supported but with caveats)
warnings.push({
message: "MCP servers require manual setup",
path: ["settings", "mcpServers"],
});
pnpm typecheck to verify typespnpm test to verify tests passlnai sync --dry-run to preview outputpackages/core/src/plugins/ as examplespackages/core/src/plugins/types.tspackages/core/src/utils/transforms.tsdevops
Deploy the application to production
tools
Add support for a new AI coding tool
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------