smithery/krystianjonca

update-tool-plugin

Update an existing LNAI tool plugin

Installation

$ npx skills add smithery/krystianjonca --skill update-tool-plugin

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/krystianjonca.

npx skills add smithery/krystianjonca

Browse all from smithery/krystianjonca

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Declared
Codex Declared
GitHub Copilot Declared
Windsurf Declared
Gemini CLI Declared
Cline Not declared
OpenCode Declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code cursor codex github-copilot windsurf gemini opencode

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,793 B
  • docs SUMMARY.md 61 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

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

# 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

// 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