add-tool-plugin

Add support for a new AI coding tool

239 stars

Best use case

add-tool-plugin is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Add support for a new AI coding tool

Teams using add-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/add-tool-plugin/SKILL.md --create-dirs "https://raw.githubusercontent.com/KrystianJonca/lnai/main/.ai/skills/add-tool-plugin/SKILL.md"

Manual Installation

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

How add-tool-plugin Compares

Feature / Agentadd-tool-pluginStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Add support for a new AI coding tool

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

# Add Tool Plugin

Guide for adding LNAI support for a new AI coding tool.

## Overview

Each plugin implements the `Plugin` interface to transform unified `.ai/` config into a tool's native format.

## Before You Start

Search the official documentation for the target tool to understand its configuration format:

- What config files does it use?
- What file formats are supported (JSON, YAML, Markdown)?
- Where should config files be placed?
- What features does it support (rules, MCP, settings)?

## Steps

### 1. Add Tool ID

Update `packages/core/src/constants.ts`:

- Add tool ID to `TOOL_IDS` array (e.g., "newtool")
- Add output directory to `TOOL_OUTPUT_DIRS` map
- Add override directory to `OVERRIDE_DIRS` map

### 2. Create Plugin Directory

Create `packages/core/src/plugins/<tool-name>/`:

```
<tool-name>/
├── index.ts          # Plugin implementation
├── types.ts          # Tool-specific types (optional)
├── transforms.ts     # Transformation functions (optional)
└── index.test.ts     # Tests
```

### 3. Implement Plugin Interface

In `index.ts`, implement the `Plugin` interface:

```typescript
import type { Plugin } from "../types";
import type { OutputFile, UnifiedState, ValidationResult } from "../../types";
import { applyFileOverrides } from "../../utils/transforms";

export const newToolPlugin: Plugin = {
  id: "newtool",
  name: "New Tool",

  async detect(rootDir: string): Promise<boolean> {
    // Check if tool's config exists
    return false;
  },

  async import(rootDir: string): Promise<Partial<UnifiedState> | null> {
    // Import existing config to unified format
    return null;
  },

  async export(state: UnifiedState, rootDir: string): Promise<OutputFile[]> {
    const files: OutputFile[] = [];

    // Add AGENTS.md symlink
    if (state.agents) {
      files.push({
        path: ".newtool/AGENTS.md",
        type: "symlink",
        target: "../.ai/AGENTS.md",
      });
    }

    // Add rules, settings, MCP servers...

    return applyFileOverrides(files, rootDir, "newtool");
  },

  validate(state: UnifiedState): ValidationResult {
    const warnings: ValidationWarningDetail[] = [];
    const skipped: SkippedFeatureDetail[] = [];

    // Add warnings for unsupported features

    return { valid: true, errors: [], warnings, skipped };
  },
};
```

### 4. Register Plugin

In `packages/core/src/plugins/index.ts`:

```typescript
import { newToolPlugin } from "./newtool/index";
pluginRegistry.register(newToolPlugin);
```

### 5. Add Tests

Create `index.test.ts` with tests for `export()` and `validate()`.

### 6. Add Documentation

Create `apps/docs/src/content/docs/tools/<tool-name>.md` documenting:

- Tool overview
- Supported features
- Output format
- Any limitations

### 7. Run Quality Checks

```bash
pnpm lint && pnpm typecheck && pnpm test
```

## Key Concepts

- **OutputFile types**: "symlink", "json", "text"
- **applyFileOverrides()**: Apply user overrides from `.ai/.<tool>/`
- **ValidationResult**: Return warnings/skipped for unsupported features

## Reference Documentation

When implementing, refer to:

- 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

update-tool-plugin

239
from KrystianJonca/lnai

Update an existing LNAI tool plugin

deploy

239
from KrystianJonca/lnai

Deploy the application to production

laravel-plugin-discovery

144923
from affaan-m/everything-claude-code

Discover and evaluate Laravel packages via LaraPlugins.io MCP. Use when the user wants to find plugins, check package health, or assess Laravel/PHP compatibility.

DevelopmentClaude

n8n-mcp-tools-expert

31392
from sickn33/antigravity-awesome-skills

Expert guide for using n8n-mcp MCP tools effectively. Use when searching for nodes, validating configurations, accessing templates, managing workflows, or using any n8n-mcp tool. Provides tool selection guidance, parameter formats, and common patterns.

Workflow AutomationClaude

hugging-face-tool-builder

31392
from sickn33/antigravity-awesome-skills

Your purpose is now is to create reusable command line scripts and utilities for using the Hugging Face API, allowing chaining, piping and intermediate processing where helpful. You can access the API directly, as well as use the hf command line tool.

Developer ToolsClaude

free-tool-strategy

31392
from sickn33/antigravity-awesome-skills

You are an expert in engineering-as-marketing strategy. Your goal is to help plan and evaluate free tools that generate leads, attract organic traffic, and build brand awareness.

Marketing StrategyClaude

debugging-toolkit-smart-debug

31392
from sickn33/antigravity-awesome-skills

Use when working with debugging toolkit smart debug

Development ToolsClaude

AI Coding Toolkit — Master Every AI Coding Assistant

3891
from openclaw/skills

> The complete methodology for 10X productivity with AI-assisted development. Covers Cursor, Windsurf, Cline, Aider, Claude Code, GitHub Copilot, and more — tool-agnostic principles that work everywhere.

china-tools-sourcing

3891
from openclaw/skills

Comprehensive tools industry sourcing guide for international buyers – provides detailed information about China's hand tools, power tools, garden tools, measuring tools, and industrial tool manufacturing clusters, supply chain structure, regional specializations, and industry trends (2026 updated).

github-tools

3891
from openclaw/skills

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

DevOps & Infrastructure

office-design-toolkit

44
from 0xAstroAlpha/office-design-toolkit

Bộ kỹ năng Office (DOCX/PPTX/XLSX/PDF) và Design Toolkit tích hợp từ file người dùng cung cấp.

General Utilities

Teleton Plugin Builder

13
from TONresistor/teleton-plugins

This skill guides an AI agent through the process of building custom plugins for Teleton, a Telegram AI agent operating on the TON blockchain.

Coding & Development