update-tool-plugin
Update an existing LNAI tool plugin
Best use case
update-tool-plugin is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Update an existing LNAI tool plugin
Teams using update-tool-plugin should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/update-tool-plugin/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How update-tool-plugin Compares
| Feature / Agent | update-tool-plugin | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Update an existing LNAI tool plugin
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Update Tool Plugin
Guide for modifying an existing plugin to support new features or fix issues.
## Before You Start
Search the official documentation for the target tool to understand:
- Has the configuration format changed?
- Are there new features to support?
- What is the expected output format?
## Plugin Locations
All plugins are in `packages/core/src/plugins/`:
- `claude-code/` - Claude Code
- `cursor/` - Cursor IDE
- `copilot/` - GitHub Copilot
- `windsurf/` - Windsurf IDE
- `opencode/` - OpenCode
- `gemini/` - Gemini CLI
- `codex/` - Codex
## Common Update Scenarios
### Adding Support for a New Feature
1. **Search official docs** for the feature's config format
2. **Update `export()` method** to generate new output files
3. **Remove from `skipped`** in `validate()` if feature was previously skipped
4. **Add tests** for the new export behavior
### Fixing Transformation Issues
1. **Check `transforms.ts`** for transformation logic
2. **Update transformation functions** as needed
3. **Verify with tests** that output matches expected format
### Updating Output Format
1. **Review tool's official docs** for current format requirements
2. **Update `export()` to match** new format requirements
3. **Update tests** to verify new output structure
## Testing Changes
```bash
# 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>
```
## Key Files to Review
| 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 |
## Validation Patterns
```typescript
// 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"],
});
```
## After Making Changes
1. Run `pnpm typecheck` to verify types
2. Run `pnpm test` to verify tests pass
3. Run `lnai sync --dry-run` to preview output
4. Update documentation if behavior changed
## Reference Documentation
- Existing plugins in `packages/core/src/plugins/` as examples
- The Plugin interface in `packages/core/src/plugins/types.ts`
- Transform utilities in `packages/core/src/utils/transforms.ts`Related Skills
writing-opencode-plugins
Guides development of OpenCode plugins including project structure, testing patterns, and publishing. Use when creating or modifying OpenCode plugins.
workflow-new-plugin
Guided workflow for creating a new Volon plugin — ideation, requirements, spec, plan, tasks.
using-mcp-tools-with-mcpc
Use mcpc CLI to interact with MCP servers - call tools, read resources, get prompts. Use when working with Model Context Protocol servers, calling MCP tools, or accessing MCP resources programmatically; prefer key:=value bindings over raw JSON bodies.
u2017-tool-health-monitoring-for-personal-finance-management
Operate the "tool health monitoring for personal finance management" capability in production for tool health monitoring for personal finance management workflows. Use when mission execution explicitly requires this capability and outcomes must be reproducible, policy-gated, and handoff-ready.
tooluniverse-install-skills
Detect and auto-install missing ToolUniverse research skills by checking common client skill directories and cloning from GitHub if absent. Use when ToolUniverse specialized skills are not installed, when setting up a new project, or when the tooluniverse router skill needs to bootstrap its sub-skills before routing.
tooling
Python development tooling configuration and best practices
tool-rename-deprecation
Ensure renamed built-in tool references preserve backward compatibility. Use when renaming a toolReferenceName, tool set referenceName, or any tool identifier. Run on ANY change to tool registration code. Covers legacyToolReferenceFullNames for tools and legacyFullNames for tool sets.
tool-design
Build tools that agents can use effectively, including architectural reduction patterns
Static Analysis Tools Skill
Integration with security-focused static analysis tools
skill-elevenlabs-tts-tool
ElevenLabs text-to-speech CLI tool guide
setup-tooluniverse
Install and configure ToolUniverse with MCP integration for any AI coding client (Cursor, Claude Desktop, Windsurf, VS Code, Codex, Gemini CLI, Trae, Cline, Antigravity, OpenCode, etc.). Covers uv/uvx setup, MCP configuration, API key walkthrough, skill installation, and upgrading. Use when setting up ToolUniverse, configuring MCP servers, troubleshooting installation issues, upgrading versions, or when user mentions installing ToolUniverse or setting up scientific tools.
Setting Up Jujutsu Repositories and Tool Integration
Set up jj repositories including colocation decisions, integrate with development tools like Vite/Vitest, and choose between jj library and CLI for tooling. Use when setting up new repositories, experiencing tool integration issues, or building jj integrations.