| name | add-awesome-tool |
| description | This skill should be used when analyzing a link to an AI tool and adding it to the awesome-ai-tools readme with proper categorization |
Add Awesome Tool
Analyze a URL (or multiple URLs) to an AI tool, extract relevant information, and add it to the awesome-ai-tools data/tools.json file with proper categorization. The readme.md is automatically generated from the JSON data.
Workflow Overview
This repository uses a JSON-first approach:
- data/tools.json - Source of truth for all tools
- scripts/generate-readme.js - Generates readme.md from tools.json
- readme.md - Auto-generated, do not edit directly
Usage
When the user provides a link to an AI tool, use this skill to:
- Fetch and analyze the webpage content
- Extract key information (name, description, features, pricing, etc.)
- Determine the appropriate category and subcategory
- Add the tool entry to tools.json in the correct category
- Regenerate readme.md from the updated JSON
- Update the "Last Updated" date
The skill supports both single links and multiple links in one request.
Workflow
To add a tool:
- Analyze the URL: Use WebFetch to extract information from the tool's website
- Determine category: Identify the correct category/subcategory from data/tools.json structure
- Create tool entry: Format as JSON object with all relevant fields
- Update tools.json: Add the tool to the appropriate category in data/tools.json
- Regenerate readme: Run
node scripts/generate-readme.jsto update readme.md - Update metadata: Update lastUpdated field if needed
Bundled Resources
scripts/
analyze_and_add.py: Helper script (DEPRECATED - Use WebFetch + JSON editing instead):
- Fetches webpage content from provided URLs
- Extracts tool information (name, description, features, pricing)
- Outputs structured data for manual addition to tools.json
For the JSON workflow, use Claude's built-in tools:
- WebFetch: Extract information from tool websites
- Read/Edit: Modify data/tools.json directly
- Bash: Run
node scripts/generate-readme.jsto regenerate readme
references/
categories.md: Complete list of categories from tools.json with descriptions to help with categorization
Implementation
When the user provides a link (or says something like "add this tool"):
Analyze the URL:
- Use WebFetch to extract information from the tool's website
- Extract: name, type, website, repository, documentation, installation, key features, pricing, etc.
Identify category:
- Read
data/tools.jsonto see available categories - Determine correct category/subcategory based on tool type
- Refer to
references/categories.mdfor guidance
- Read
Format as JSON:
- Create a tool object with relevant fields
- Follow the structure of existing entries in tools.json
- Only include fields that have actual values
Update tools.json:
- Use Edit tool to add the new tool entry to the appropriate category
- Insert alphabetically within the category if possible
Regenerate readme:
node scripts/generate-readme.jsUpdate metadata in tools.json if needed (lastUpdated field)
Categories
The readme contains these main categories:
- AI Inference Providers (with subcategories)
- MCP Providers
- CLI Tools
- Cloud-Based Agentic Coding Services
- VS Code Extensions
- JetBrains IDE Tools
- Full IDE Tools
- Code Review & Security Tools
- Testing & QA Tools
- API Testing Tools
- Documentation & Code Explanation
- Database & SQL Tools
- Local Model Infrastructure
- AI/ML Libraries & Frameworks
- Browser Extensions
- Search & Research Tools
- Other Tools & Infrastructure
Entry Format
Each tool entry in tools.json follows this structure:
{
"name": "Tool Name",
"type": "Brief description",
"developer": "Company/Organization (if different from tool name)",
"website": "https://example.com",
"repository": "https://github.com/... (if open source)",
"documentation": "https://docs.example.com (if available)",
"installation": "installation command",
"models": "Supported models",
"keyFeatures": [
"Feature 1",
"Feature 2",
"Feature 3"
],
"pricing": "Pricing model (if applicable)",
"worksWith": [
"Compatible tools/platforms",
"Integration options",
"Use cases"
]
}
Common field names (use camelCase):
- name, type, developer, stakeholder, website, repository, documentation
- installation, models, keyFeatures, pricing, specialFeatures
- status, release, formerName, rebranding
- worksWith (array)
Examples
User: "Add this tool: https://github.com/example/awesome-ai-cli"
Assistant:
- Uses WebFetch to analyze the URL
- Extracts: "Awesome AI CLI - A command-line tool for..."
- Determines: "CLI Tools" → "Full Agentic Project-Level CLIs" category
- Creates JSON object with all extracted fields
- Edits tools.json to add the entry in correct category
- Runs
node scripts/generate-readme.jsto update readme - Shows the user the generated entry
User: "Add these: https://tool1.com https://tool2.com"
Assistant: Processes both URLs, adds both to tools.json, then regenerates readme once
Limitations
- Webpage content must be accessible (no paywalls or login requirements)
- Works best with official tool websites that have clear documentation
- May need manual adjustment for tools that fit multiple categories
- Cannot automatically determine "Works with:" compatibility without additional context
- JSON editing requires careful attention to syntax and structure