add-tool-plugin
Add support for a new AI coding tool
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/add-tool-plugin/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How add-tool-plugin Compares
| Feature / Agent | add-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?
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
Update an existing LNAI tool plugin
deploy
Deploy the application to production
laravel-plugin-discovery
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.
n8n-mcp-tools-expert
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.
hugging-face-tool-builder
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.
free-tool-strategy
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.
debugging-toolkit-smart-debug
Use when working with debugging toolkit smart debug
AI Coding Toolkit — Master Every AI Coding Assistant
> 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
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
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.
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.
Teleton Plugin Builder
This skill guides an AI agent through the process of building custom plugins for Teleton, a Telegram AI agent operating on the TON blockchain.