update-tool-plugin

Update an existing LNAI tool plugin

16 stars

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

$curl -o ~/.claude/skills/update-tool-plugin/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/tools/update-tool-plugin/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/update-tool-plugin/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How update-tool-plugin Compares

Feature / Agentupdate-tool-pluginStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

16
from diegosouzapw/awesome-omni-skill

Guides development of OpenCode plugins including project structure, testing patterns, and publishing. Use when creating or modifying OpenCode plugins.

workflow-new-plugin

16
from diegosouzapw/awesome-omni-skill

Guided workflow for creating a new Volon plugin — ideation, requirements, spec, plan, tasks.

using-mcp-tools-with-mcpc

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

Python development tooling configuration and best practices

tool-rename-deprecation

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

Build tools that agents can use effectively, including architectural reduction patterns

Static Analysis Tools Skill

16
from diegosouzapw/awesome-omni-skill

Integration with security-focused static analysis tools

skill-elevenlabs-tts-tool

16
from diegosouzapw/awesome-omni-skill

ElevenLabs text-to-speech CLI tool guide

setup-tooluniverse

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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.