{"toolCount":191,"categoryCounts":{"devtools":67,"ai":63,"formatter":8,"converter":29,"generator":24},"generatedAt":"2026-04-12T03:01:31.205Z","tools":[{"id":"agent-skill-validator","name":"Agent Skill Validator","description":"Validate skill definitions across OpenClaw, Claude, Codex, and MCP with portability scoring and exact fixes","category":"ai","icon":"✅","keywords":["agent skill validator","prompt schema validator","ai skill lint tool","openclaw skill validator","codex prompt lint","claude prompt validation","mcp tool schema checker"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","mcp","prompting"],"url":"/agent-skill-validator/"},{"id":"skill-spec-converter","name":"SkillSpec Converter","description":"Convert one canonical skill definition into OpenClaw SKILL.md, Claude blocks, Codex scaffolds, and MCP manifest snippets","category":"ai","icon":"🧠","keywords":["skill spec converter","agent skill converter","convert ai skills between frameworks","openclaw skill format","claude codex prompt converter","mcp manifest generator"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","mcp","prompting"],"url":"/skill-spec-converter/"},{"id":"skill-regression-suite-builder","name":"Skill Regression Suite Builder","description":"Build deterministic regression suites for skill updates with risk-weighted pass-rate gates and CI-ready case definitions","category":"ai","icon":"RS","keywords":["skill regression suite builder","agent skill regression testing","prompt regression test generator","ai skill eval suite","codex skill test cases","claude skill regression"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/skill-regression-suite-builder/"},{"id":"skill-scope-collision-detector","name":"Skill Scope Collision Detector","description":"Detect cross-scope skill version and enabled-state collisions across global, user, project, and local configuration layers","category":"ai","icon":"SC","keywords":["skill scope collision detector","agent skill scope precedence","claude settings scope conflicts","codex skill version drift","ai skill config collision","scope override checker"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/skill-scope-collision-detector/"},{"id":"skill-payload-budget-optimizer","name":"Skill Payload Budget Optimizer","description":"Optimize skill pack token and byte budgets against context windows with deterministic compress, defer, and keep recommendations","category":"ai","icon":"PB","keywords":["skill payload budget optimizer","agent context window skill budget","prompt payload optimization","mcp skill token budget","ai skill pack size optimizer","context budget planner"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","mcp","prompting"],"url":"/skill-payload-budget-optimizer/"},{"id":"tool-approval-matrix-compiler","name":"Tool Approval Matrix Compiler","description":"Compile cross-platform allow, ask, and deny decisions for tool capabilities across Codex, Claude, and managed MCP policies","category":"ai","icon":"AM","keywords":["tool approval matrix compiler","agent tool permission matrix","codex claude mcp policy builder","ai agent approval policy","tool governance matrix","least privilege tool policy"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","mcp","prompting"],"url":"/tool-approval-matrix-compiler/"},{"id":"skill-release-canary-planner","name":"Skill Release Canary Planner","description":"Generate staged canary rollout plans for skill updates with deterministic stop conditions and rollback checklists","category":"ai","icon":"RC","keywords":["skill release canary planner","agent skill rollout strategy","prompt canary deployment","ai skill rollback checklist","release stage planner","skill progressive rollout"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/skill-release-canary-planner/"},{"id":"trace-failure-classifier","name":"Trace Failure Classifier","description":"Classify failed trace events into root-cause buckets and output deterministic remediation guidance for agent incident triage","category":"ai","icon":"TF","keywords":["trace failure classifier","agent trace root cause analysis","llm tool call failure classification","ai trace incident triage","trace remediation planner","agent observability failure categories"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/trace-failure-classifier/"},{"id":"cli-ux-linter","name":"CLI UX Linter","description":"Audit your CLI --help output for discoverability, flag consistency, examples, and error guidance","category":"devtools","icon":"🧪","keywords":["cli ux linter","cli ux checker","command line ux audit","help output lint","cli best practices checker","command design lint"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["cli","devtools"],"url":"/cli-ux-linter/"},{"id":"ai-cli-generator","name":"AI CLI Generator","description":"Generate Node or Python CLI scaffolds from OpenAPI with auth wiring, retries, pagination, and shell completion stubs","category":"devtools","icon":"⌨️","keywords":["openapi cli generator","swagger cli generator","api cli generator","generate cli from openapi","python cli from api","node cli boilerplate"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["cli","devtools","openapi"],"url":"/ai-cli-generator/"},{"id":"csv-endpoint-builder","name":"CSV Endpoint Builder","description":"Turn CSV data into endpoint-ready mock responses, OpenAPI snippets, and production starter templates","category":"devtools","icon":"📡","keywords":["csv endpoint builder","csv to api generator","csv rest api template","csv to json endpoint","openapi from csv","mock api from csv"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools","openapi"],"url":"/csv-endpoint-builder/"},{"id":"llm-crawl-policy-validator","name":"LLM Crawl Policy Validator","description":"Validate robots.txt and llms.txt files, detect conflicts, simulate AI bot access, and export corrected policies","category":"ai","icon":"🤖","keywords":["llms.txt validator","ai crawler policy checker","robots.txt ai bots","gptbot block","llm crawl policy","ai bot access control"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/llm-crawl-policy-validator/"},{"id":"mcp-governance-composer","name":"MCP Governance Composer","description":"Compose managed MCP governance packs with allow/deny lists, approval boundaries, and operator rollout checklists","category":"ai","icon":"PG","keywords":["mcp governance policy builder","managed mcp json generator","agent tool governance","mcp allow deny policy","claude managed mcp","mcp approval boundaries"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","mcp","prompting"],"url":"/mcp-governance-composer/"},{"id":"mcp-tool-search-budget-simulator","name":"MCP Tool Search Budget Simulator","description":"Simulate context-window usage for full MCP tool injection versus search-first retrieval strategies","category":"ai","icon":"TB","keywords":["mcp tool search budget","tool schema token planner","context window planning","mcp retrieval budget","tool injection cost simulator","agent context budget"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","mcp","prompting"],"url":"/mcp-tool-search-budget-simulator/"},{"id":"claude-settings-scope-diff","name":"Claude Settings Scope Diff","description":"Diff managed, user, project, and local settings scopes and compute the effective merged Claude configuration","category":"ai","icon":"CS","keywords":["claude settings diff","config precedence checker","managed policy override","claude scope merge","claude desktop settings","agent config drift"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/claude-settings-scope-diff/"},{"id":"claude-hook-policy-simulator","name":"Claude Hook Policy Simulator","description":"Simulate Claude hook decisions for pre/post tool events and validate policy rule coverage before rollout","category":"ai","icon":"HK","keywords":["claude hook policy simulator","tool event policy tester","hook rules validator","claude pre hook policy","claude post hook policy","agent guardrail simulation"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting","security"],"url":"/claude-hook-policy-simulator/"},{"id":"openprose-flow-linter","name":"OpenProse Flow Linter","description":"Lint OpenProse flow graphs for unreachable stages, dangling edges, privileged paths, and approval gaps","category":"devtools","icon":"FL","keywords":["openprose flow linter","workflow graph validator","approval gate checker","agent flow lint","workflow stage validator","orchestration flow checker"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools","prompting"],"url":"/openprose-flow-linter/"},{"id":"openclaw-skill-trust-scanner","name":"OpenClaw Skill Trust Scanner","description":"Scan SKILL.md instructions for destructive command patterns, missing safety boundaries, and trust posture","category":"ai","icon":"TS","keywords":["openclaw skill trust scanner","skill security linter","agent skill risk checker","skill md safety scanner","prompt trust score","destructive command detection"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting","security"],"url":"/openclaw-skill-trust-scanner/"},{"id":"agent-tool-blast-radius-mapper","name":"Agent Tool Blast Radius Mapper","description":"Map tool capability blast radius, score operational risk, and produce least-privilege policy buckets","category":"ai","icon":"BR","keywords":["agent tool blast radius mapper","tool permission risk matrix","least privilege planner","agent capability risk score","tool governance matrix","automation blast radius"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/agent-tool-blast-radius-mapper/"},{"id":"trace-context-validator","name":"Trace Context Validator","description":"Validate W3C traceparent and tracestate headers for distributed tracing correctness and propagation safety","category":"devtools","icon":"TR","keywords":["traceparent validator","tracestate checker","trace context linter","w3c trace context","distributed tracing headers","otel header validation"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/trace-context-validator/"},{"id":"retry-idempotency-contract-builder","name":"Retry & Idempotency Contract Builder","description":"Generate endpoint-level retry and idempotency contracts with deterministic test vectors and rollout guidance","category":"devtools","icon":"ID","keywords":["retry idempotency policy builder","api retry contract","idempotency key planner","safe retry strategy","http idempotency matrix","retry governance template"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/retry-idempotency-contract-builder/"},{"id":"csp-sri-policy-builder","name":"CSP & SRI Policy Builder","description":"Build strict CSP header templates and SRI tag snippets for frontend script hardening and safer deployments","category":"devtools","icon":"CSP","keywords":["csp policy builder","sri generator","security header composer","content security policy builder","subresource integrity tag builder","frontend hardening"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools","security"],"url":"/csp-sri-policy-builder/"},{"id":"ai-model-comparison","name":"AI Model Comparison","description":"Compare AI models: pricing, context windows, benchmarks, and specs side by side","category":"ai","icon":"vs","keywords":["ai","model","comparison","benchmark","mmlu","context","window","specs"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-model-comparison/"},{"id":"json-formatter","name":"JSON Formatter & Validator","description":"Format, validate, and beautify JSON with syntax highlighting","category":"formatter","icon":"{ }","keywords":["json","format","validate","beautify","minify","pretty print","lint","syntax"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["formatter"],"url":"/json-formatter/"},{"id":"mcp-directory","name":"MCP Server Directory","description":"Curated directory of Model Context Protocol servers with install commands and categories","category":"ai","icon":"MCP","keywords":["mcp","model context protocol","server","directory","claude","ai","tools","integration"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","mcp"],"url":"/mcp-directory/"},{"id":"flexbox-playground","name":"CSS Flexbox & Grid Playground","description":"Interactive CSS Flexbox and Grid playground with live visual preview and code output","category":"generator","icon":"CSS","keywords":["css","flexbox","grid","layout","playground","interactive","visual","flex"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["generator"],"url":"/flexbox-playground/"},{"id":"regex-tester","name":"Regex Tester","description":"Test and debug regular expressions with live matching, capture group extraction, plain-English explanations, and ReDoS vulnerability detection. Supports JavaScript, Python, and Go regex flavors.","category":"devtools","icon":".*","keywords":["regex","regular expression","test","match","pattern","replace","capture","group"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/regex-tester/"},{"id":"qr-code-generator","name":"QR Code Generator","description":"Generate QR codes for URLs, text, WiFi, and app flows — export SVG/PNG or automate generation via free API","category":"generator","icon":"QR","keywords":["qr","code","generator","barcode","url","wifi","svg","png"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/qr-code-generator/"},{"id":"agent-comparison","name":"AI Agent Framework Comparison","description":"Compare AI agent frameworks: LangChain, CrewAI, AutoGen, Mastra, and more side by side","category":"ai","icon":"🤖","keywords":["ai","agent","framework","comparison","langchain","crewai","autogen","mastra"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/agent-comparison/"},{"id":"tailwind-converter","name":"CSS to Tailwind Converter","description":"Convert vanilla CSS to Tailwind CSS utility classes with property mapping and spacing scale conversion","category":"converter","icon":"TW","keywords":["tailwind","css","convert","utility","classes","migration","transform","postcss"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/tailwind-converter/"},{"id":"password-generator","name":"Password Generator","description":"Generate strong, cryptographically secure passwords with customizable length, character sets, and entropy meter","category":"generator","icon":"🔑","keywords":["password","generator","secure","random","crypto","strong","bulk","entropy"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/password-generator/"},{"id":"ai-pricing","name":"AI Pricing Calculator","description":"Compare AI API costs across providers for your specific workload","category":"ai","icon":"$","keywords":["ai","pricing","cost","calculator","api","openai","anthropic","compare"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai"],"url":"/ai-pricing/"},{"id":"html-to-jsx","name":"HTML to JSX Converter","description":"Convert HTML to JSX with automatic attribute renaming, style objects, self-closing tags, and comment conversion","category":"converter","icon":"⟨/⟩","keywords":["html","jsx","react","convert","className","attributes","style","component"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/html-to-jsx/"},{"id":"box-shadow-generator","name":"CSS Box Shadow Generator","description":"Visual CSS box-shadow generator with multiple layers, live preview, presets, and instant CSS copy","category":"generator","icon":"◧","keywords":["css","box-shadow","shadow","generator","visual","layers","inset","design"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/box-shadow-generator/"},{"id":"token-counter","name":"LLM Token Counter","description":"Count tokens and estimate model costs across GPT, Claude, Gemini, Llama, and more — with optional free API access for apps and agents","category":"ai","icon":"Tk","keywords":["token","counter","tokenizer","llm","gpt","claude","cost","estimate"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/token-counter/"},{"id":"color-palette-generator","name":"Color Palette Generator","description":"Generate accessible color palettes and convert HEX/RGB/HSL for UI systems, design tokens, and branding workflows","category":"generator","icon":"🎨","keywords":["color","palette","generator","scheme","harmony","complementary","analogous","triadic","tetradic","monochromatic","split complementary","css","tailwind","scss","json","export","wcag","accessibility"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator","prompting"],"url":"/color-palette-generator/"},{"id":"mermaid-viewer","name":"Mermaid Diagram Viewer","description":"Render Mermaid diagrams instantly — flowcharts, sequence diagrams, and more with SVG/PNG export","category":"devtools","icon":"◇","keywords":["mermaid","diagram","viewer","flowchart","sequence diagram","renderer","svg","markdown"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/mermaid-viewer/"},{"id":"docker-compose-validator","name":"Docker Compose Validator","description":"Validate Docker Compose YAML with structural checks, dependency validation, and common mistake detection","category":"devtools","icon":"🐳","keywords":["docker","compose","yaml","validate","lint","container","devops","service"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/docker-compose-validator/"},{"id":"jwt-decoder","name":"JWT Decoder & Inspector","description":"Decode and inspect JSON Web Tokens — header, payload, claims, and expiration","category":"devtools","icon":"JWT","keywords":["jwt","json web token","decode","inspect","claims","bearer","auth","token"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools","prompting","security"],"url":"/jwt-decoder/"},{"id":"rules-file-generator","name":"CLAUDE.md / Rules File Generator","description":"Generate CLAUDE.md, .cursorrules, and copilot-instructions.md files for your project with templates","category":"ai","icon":"📋","keywords":["claude.md","cursorrules","copilot-instructions","rules file","generator","ai assistant","cursor","claude code"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai"],"url":"/rules-file-generator/"},{"id":"openapi-preview","name":"OpenAPI / Swagger Preview","description":"Paste an OpenAPI or Swagger spec and see interactive API documentation instantly","category":"devtools","icon":"API","keywords":["openapi","swagger","api","documentation","preview","rest","spec","schema"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools","openapi"],"url":"/openapi-preview/"},{"id":"github-actions-builder","name":"GitHub Actions YAML Builder","description":"Build GitHub Actions workflows visually — templates for Node, Python, Docker, deployment, and matrix strategies","category":"devtools","icon":"GH","keywords":["github actions","yaml builder","workflow generator","ci cd","template","matrix strategy","automation"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/github-actions-builder/"},{"id":"color-converter","name":"Color Converter","description":"Convert colors between HEX, RGB, HSL, HSV, CMYK, and Tailwind CSS with contrast checker","category":"converter","icon":"🎨","keywords":["color","hex","rgb","hsl","hsv","cmyk","tailwind","converter","picker"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/color-converter/"},{"id":"cron-builder","name":"Cron Expression Builder","description":"Build and validate cron expressions with human-readable schedule descriptions, next-run previews, timezone support, and a free REST API for automation workflows.","category":"devtools","icon":"⏱","keywords":["cron","crontab","schedule","expression","builder","timer","linux","job"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/cron-builder/"},{"id":"svg-path-editor","name":"SVG Path Editor","description":"Interactive SVG path editor with visual canvas, operations, and command reference","category":"generator","icon":"SVG","keywords":["svg","path","editor","bezier","curve","vector","icon","d attribute"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["generator"],"url":"/svg-path-editor/"},{"id":"ai-model-picker","name":"AI Model Picker Quiz","description":"Answer 7 questions and get personalized AI model recommendations — compare GPT, Claude, Gemini, Llama, and more","category":"ai","icon":"🎯","keywords":["which ai model","model picker","quiz","recommendation","gpt","claude","gemini","llama","best ai model"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-model-picker/"},{"id":"diff-checker","name":"Text & Code Diff Checker","description":"Compare text, JSON, and YAML with structured change detection for reviews, debugging, and CI pipelines","category":"devtools","icon":"±","keywords":["diff","compare","text","code","difference","merge","changes","patch"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/diff-checker/"},{"id":"sql-formatter","name":"SQL Formatter & Beautifier","description":"Format, beautify, and minify SQL queries with keyword capitalization","category":"formatter","icon":"SQL","keywords":["sql","format","beautify","minify","query","database","indent","mysql"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["formatter"],"url":"/sql-formatter/"},{"id":"favicon-generator","name":"Favicon Generator","description":"Generate favicons from text or emoji in all standard sizes with HTML and PWA manifest snippets","category":"generator","icon":"⬡","keywords":["favicon","icon","generator","emoji","png","apple-touch","pwa","manifest"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/favicon-generator/"},{"id":"prompt-library","name":"System Prompt Library","description":"Curated collection of system prompts for coding, writing, analysis, and more","category":"ai","icon":"Pr","keywords":["prompt","system","library","template","chatgpt","claude","collection"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/prompt-library/"},{"id":"json-to-go","name":"JSON to Go Struct","description":"Convert JSON to idiomatic Go struct definitions with json tags, nested structs, omitempty, and pointer options","category":"converter","icon":"Go","keywords":["json","go","golang","struct","converter","json to go","go struct generator","json tags"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/json-to-go/"},{"id":"json-to-python","name":"JSON to Python Dataclass","description":"Convert JSON to Python dataclass or TypedDict definitions with type hints, nested classes, and Optional types","category":"converter","icon":"Py","keywords":["json","python","dataclass","typeddict","converter","type hints","json to python","pydantic"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/json-to-python/"},{"id":"json-to-typescript","name":"JSON to TypeScript Converter","description":"Convert JSON to TypeScript interfaces and types with smart type inference, nested objects, and union types","category":"converter","icon":"TS","keywords":["json","typescript","converter","interface","type","generator","json to ts","nested","union types"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/json-to-typescript/"},{"id":"json-to-zod","name":"JSON to Zod Schema","description":"Convert JSON to Zod schema definitions with optional/required inference, coerce mode, and nested schema support","category":"converter","icon":"Zod","keywords":["json to zod","zod schema generator","typescript validation","zod converter","runtime type validation"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/json-to-zod/"},{"id":"json-to-kotlin","name":"JSON to Kotlin Data Class","description":"Convert JSON to Kotlin data classes with @Serializable annotations — supports kotlinx.serialization, Gson, and Moshi","category":"converter","icon":"Kt","keywords":["json to kotlin","kotlin data class generator","kotlin serialization","json converter kotlin"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/json-to-kotlin/"},{"id":"json-to-rust-serde","name":"JSON to Rust Serde","description":"Convert JSON to Rust structs with Serde derive macros — includes rename strategies, Option types, and field visibility control","category":"converter","icon":"Rs","keywords":["json to rust","rust serde struct","json converter rust","serde derive generator"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/json-to-rust-serde/"},{"id":"mcp-config-generator","name":"MCP Server Config Generator","description":"Generate MCP server configurations for Claude Desktop, Cursor, and Windsurf with visual editor and presets","category":"ai","icon":"MCP","keywords":["mcp","config","generator","claude desktop","cursor","windsurf","model context protocol","server","json"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","mcp"],"url":"/mcp-config-generator/"},{"id":"diff-merge-tool","name":"3-Way Diff & Merge Tool","description":"3-way merge with conflict resolution — compare Base, Theirs, and Mine versions to resolve merge conflicts","category":"devtools","icon":"⇋","keywords":["3 way merge","diff","merge conflicts","git merge","conflict resolution","text compare","version control","merge tool","three way diff"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/diff-merge-tool/"},{"id":"json-schema-generator","name":"JSON Schema Generator","description":"Generate production-ready JSON Schemas from examples for function calling, structured output, and agent tool contracts","category":"ai","icon":"{}","keywords":["json","schema","generator","function calling","structured output","validation","openapi"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","openapi","prompting"],"url":"/json-schema-generator/"},{"id":"css-gradient-generator","name":"CSS Gradient Generator","description":"Visual gradient builder with live preview — create linear, radial, and conic gradients with color stops and CSS output","category":"generator","icon":"🎨","keywords":["css","gradient","generator","linear","radial","conic","color","stops","visual","background"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/css-gradient-generator/"},{"id":"prompt-template-builder","name":"Prompt Template Builder","description":"Build AI prompt templates with variables, live preview, and export to JSON/YAML","category":"ai","icon":"📝","keywords":["prompt","template","builder","ai","chatgpt","claude","variables","llm"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/prompt-template-builder/"},{"id":"tailwind-reference","name":"Tailwind CSS Reference","description":"Interactive Tailwind CSS cheat sheet with 500+ utilities — search, browse by category, view live previews, and copy class names","category":"devtools","icon":"TW","keywords":["tailwind","css","cheat sheet","reference","utility","classes","framework","guide","documentation","tailwind reference"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/tailwind-reference/"},{"id":"meta-tag-generator","name":"Meta Tag Generator & Previewer","description":"Generate SEO meta tags with live Google, Facebook, and Twitter card previews","category":"generator","icon":"SEO","keywords":["meta","tag","seo","og","open graph","twitter","card","preview","generator"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/meta-tag-generator/"},{"id":"ai-cost-estimator","name":"AI Cost Estimator","description":"Estimate total AI API costs for real-world workloads across all major providers","category":"ai","icon":"💰","keywords":["ai","cost","estimator","budget","api","pricing","workload","monthly"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai"],"url":"/ai-cost-estimator/"},{"id":"system-prompt-editor","name":"System Prompt Editor","description":"Write and analyze AI system prompts with live token counting, variable detection, and XML highlighting","category":"ai","icon":"✏️","keywords":["system prompt","editor","ai","token counter","prompt engineering","claude","gpt","variables"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/system-prompt-editor/"},{"id":"graphql-schema-viewer","name":"GraphQL Schema Viewer","description":"Paste a GraphQL schema and explore types, fields, and relationships — no server needed, all client-side","category":"devtools","icon":"GQL","keywords":["graphql","schema viewer","type browser","sdl","types","fields","relationships","explorer"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["cli","devtools"],"url":"/graphql-schema-viewer/"},{"id":"llm-output-diff","name":"LLM Output Diff Tool","description":"Compare outputs from different AI models side-by-side with diff highlighting","category":"ai","icon":"⇄","keywords":["llm","output","diff","compare","model","ai","gpt","claude","gemini"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/llm-output-diff/"},{"id":"context-window-visualizer","name":"AI Context Window Visualizer","description":"Visualize how your AI model's context window is allocated across system prompt, tools, conversation, and RAG","category":"ai","icon":"📊","keywords":["context window","visualizer","token","llm","system prompt","tools","conversation","allocation"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/context-window-visualizer/"},{"id":"test-data-generator","name":"Test Data Generator","description":"Generate realistic test data in JSON, CSV, and SQL — names, emails, addresses, and 25+ types with custom schemas","category":"generator","icon":"🎲","keywords":["test data generator","fake data","faker","mock data","json generator","csv generator","sql insert"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/test-data-generator/"},{"id":"markdown-preview","name":"Markdown Preview","description":"Live Markdown preview with GitHub Flavored Markdown support","category":"formatter","icon":"MD","keywords":["markdown","preview","gfm","github","render","live","editor","html"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["formatter"],"url":"/markdown-preview/"},{"id":"yaml-json","name":"YAML ↔ JSON Converter","description":"Convert between YAML and JSON formats with validation and configurable formatting","category":"converter","icon":"YML","keywords":["yaml","json","convert","config","devops","kubernetes","docker","yml"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/yaml-json/"},{"id":"text-case-converter","name":"Text Case Converter","description":"Convert text between camelCase, snake_case, PascalCase, kebab-case, and 10+ more formats instantly","category":"converter","icon":"Aa","keywords":["text case converter","camelcase","snake_case","pascalcase","kebab-case","naming convention","convert"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/text-case-converter/"},{"id":"ai-prompt-comparator","name":"AI Prompt Tester & Comparator","description":"Compare AI prompt variations side-by-side with token counting, diff highlighting, and variable tracking — test prompts before deployment","category":"ai","icon":"🔄","keywords":["ai","prompt","comparison","tester","comparison tool","prompt engineering","token counter","variable tracking","diff","side by side"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-prompt-comparator/"},{"id":"toml-editor","name":"TOML Editor & Converter","description":"Parse, validate, and convert TOML to/from JSON and YAML — essential for Rust, Python, and config files","category":"converter","icon":"TML","keywords":["toml","json","yaml","convert","config","rust","cargo","python","pyproject","parser"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/toml-editor/"},{"id":"placeholder-image","name":"Placeholder Image Generator","description":"Generate custom placeholder images with configurable dimensions, colors, and text — download as PNG","category":"generator","icon":"IMG","keywords":["placeholder","image","generator","dummy","mockup","dimensions","png","preview"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["generator"],"url":"/placeholder-image/"},{"id":"format-detective","name":"Format Detective","description":"Detect unknown data formats and convert between JSON, YAML, XML, CSV, TOML, and text with browser + API workflows","category":"converter","icon":"?!","keywords":["format detector","data format","detect json yaml csv xml toml","format converter","file type detector","data identifier"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/format-detective/"},{"id":"csv-json","name":"CSV ↔ JSON Converter","description":"Convert between CSV and JSON with auto-delimiter detection and proper escaping","category":"converter","icon":"CSV","keywords":["csv","json","convert","data","table","import","export","spreadsheet"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/csv-json/"},{"id":"api-header-builder","name":"API Header Builder & cURL Generator","description":"Build HTTP requests visually and generate code for cURL, fetch, axios, and Python with headers, auth, and query params","category":"devtools","icon":"API","keywords":["curl","command","builder","api","header","http","request","fetch","axios","python","rest","generator","online"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/api-header-builder/"},{"id":"jsonpath-tester","name":"JSONPath Tester","description":"Test JSONPath expressions with real-time results — interactive JSON tree with click-to-path, syntax help, and examples","category":"devtools","icon":"$..","keywords":["jsonpath","tester","json","path","query","filter","expression","validator","online","$..","recursive"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["cli","devtools"],"url":"/jsonpath-tester/"},{"id":"http-status-codes","name":"HTTP Status Code Reference","description":"Interactive searchable reference for all HTTP status codes with descriptions and use cases","category":"devtools","icon":"HTTP","keywords":["http","status","code","reference","api","rest","response","error"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/http-status-codes/"},{"id":"xml-formatter","name":"XML Formatter & Viewer","description":"Format, beautify, and validate XML with syntax highlighting, tree view toggle, and minification","category":"formatter","icon":"XML","keywords":["xml","formatter","online","beautify","minify","validate","tree view","syntax highlighting","viewer"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["formatter"],"url":"/xml-formatter/"},{"id":"log-parser","name":"Log Parser & Highlighter","description":"Parse and analyze logs with syntax highlighting, level filtering, and search. Auto-detects JSONL, Python, syslog, nginx formats","category":"formatter","icon":"📄","keywords":["log","parser","viewer","analyzer","logs","debugging","JSONL","syslog","nginx","python logging","filter","search"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["formatter"],"url":"/log-parser/"},{"id":"jsonl-viewer","name":"NDJSON/JSONL Viewer","description":"Parse and view JSONL (newline-delimited JSON) with interactive table, filtering, sorting, and export","category":"devtools","icon":"{}","keywords":["jsonl","ndjson","viewer","parser","logs","json lines","newline delimited","event stream","table"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/jsonl-viewer/"},{"id":"markdown-to-html","name":"Markdown to HTML Converter","description":"Convert Markdown ↔ HTML with GitHub Flavored Markdown support, clean output, and optional API automation","category":"converter","icon":"MD→","keywords":["markdown","html","converter","gfm","github flavored markdown","markdown to html","convert markdown","html generator","markdown parser"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/markdown-to-html/"},{"id":"token-budget-planner","name":"Prompt Token Budget Planner","description":"Plan your AI system prompt token budget visually across sections against model context limits","category":"ai","icon":"📊","keywords":["token","budget","planner","prompt","system prompt","context window","llm","ai","claude","gpt","allocation"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/token-budget-planner/"},{"id":"subnet-calculator","name":"IP & Subnet Calculator","description":"Calculate subnets, CIDR ranges, network addresses, and host counts for IPv4 with visual binary breakdown","category":"devtools","icon":"IP","keywords":["subnet calculator","cidr","ip calculator","subnet mask","ipv4","network","broadcast","host range"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/subnet-calculator/"},{"id":"ai-tool-schema-builder","name":"AI Tool Schema Builder","description":"Visual schema builder for AI tool definitions with export to OpenAI, Anthropic, MCP, and JSON Schema formats","category":"ai","icon":"🛠","keywords":["ai","tool","schema","builder","json schema","openai","function calling","anthropic","mcp","visual editor"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","mcp"],"url":"/ai-tool-schema-builder/"},{"id":"nginx-config-generator","name":"Nginx Config Generator","description":"Generate nginx configurations for reverse proxy, SSL, static sites, and load balancers with security headers","category":"generator","icon":"NGX","keywords":["nginx config","generator","reverse proxy","ssl","server block","load balancer","security headers"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator","security"],"url":"/nginx-config-generator/"},{"id":"base64","name":"Base64 Encoder/Decoder","description":"Encode and decode Base64 strings and files","category":"converter","icon":"B64","keywords":["base64","encode","decode","binary","string","file","data uri","image"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/base64/"},{"id":"url-encoder","name":"URL Encoder/Decoder","description":"Encode and decode URL components and full URLs","category":"converter","icon":"%","keywords":["url","encode","decode","percent","uri","query string","parameter","escape"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/url-encoder/"},{"id":"unicode-inspector","name":"Unicode Character Inspector","description":"Inspect any text character-by-character: code points, UTF-8/16/32 bytes, HTML entities, JS escapes, and Unicode categories","category":"converter","icon":"U+","keywords":["unicode inspector","unicode code point","utf-8 bytes","utf-16","character encoding","unicode category","html entity","js escape unicode","string inspector","unicode debugger"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/unicode-inspector/"},{"id":"timestamp-converter","name":"Unix Timestamp Converter","description":"Convert between Unix timestamps and human-readable dates","category":"converter","icon":"T","keywords":["unix","timestamp","epoch","date","time","convert","milliseconds","seconds"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/timestamp-converter/"},{"id":"js-minifier","name":"JavaScript Minifier & Beautifier","description":"Minify or beautify JavaScript code with compression ratio stats","category":"formatter","icon":"JS","keywords":["javascript","minify","beautify","format","compress","uglify","js","code"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["formatter"],"url":"/js-minifier/"},{"id":"css-minifier","name":"CSS Minifier & Beautifier","description":"Minify or beautify CSS with size reduction stats and comment removal options","category":"formatter","icon":"CSS","keywords":["css","minify","beautify","format","compress","stylesheet","minifier","online"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["formatter"],"url":"/css-minifier/"},{"id":"html-formatter","name":"HTML Formatter & Viewer","description":"Format, beautify, and validate HTML with live preview, syntax highlighting, and minification","category":"formatter","icon":"HTML","keywords":["html formatter","html beautifier","format html","beautify html","minify html","html validator","html preview","html editor"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["formatter"],"url":"/html-formatter/"},{"id":"structured-output-validator","name":"LLM Structured Output Validator","description":"Validate structured outputs and tool schemas for OpenAI, Anthropic, MCP, and JSON Schema with detailed errors and fix guidance","category":"ai","icon":"✓","keywords":["llm","structured output","validator","json schema","function calling","tool response","validate"],"hasApi":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","mcp","prompting"],"url":"/structured-output-validator/"},{"id":"ssh-config-generator","name":"SSH Config Generator","description":"Generate SSH config files with jump hosts, port forwarding, and identity keys — visual editor with presets","category":"devtools","icon":"SSH","keywords":["ssh config","generator","proxyjump","ssh tunnel","port forwarding","identity file","bastion"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/ssh-config-generator/"},{"id":"openapi-to-typescript","name":"OpenAPI to TypeScript Generator","description":"Generate TypeScript types and API clients from OpenAPI 3.x specs — handles $ref, allOf, oneOf, discriminators","category":"converter","icon":"TS","keywords":["openapi","typescript","generator","swagger","types","api client","codegen","interface"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["cli","converter","openapi"],"url":"/openapi-to-typescript/"},{"id":"shell-command-explainer","name":"Shell Command Explainer","description":"Break down and explain shell commands with annotated syntax highlighting and dangerous pattern detection","category":"devtools","icon":"🐚","keywords":["shell","command","explainer","bash","terminal","linux","unix","cli","syntax"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["cli","devtools"],"url":"/shell-command-explainer/"},{"id":"config-validator","name":"YAML/JSON5 Config Validator","description":"Validate YAML, JSON5, and JSON configs with instant error detection, linting, and format conversion","category":"devtools","icon":"✓","keywords":["yaml","json5","validator","online","config","lint","parser","openclaw","skills","json","validate"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/config-validator/"},{"id":"webhook-inspector","name":"Webhook Payload Inspector","description":"Analyze webhook payloads with formatted JSON view, HMAC signature verification, timestamp detection, and cURL reconstruction","category":"devtools","icon":"🔗","keywords":["webhook","payload","inspector","debug","hmac","signature","verify","curl","discord","slack","stripe","github","api"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools","security"],"url":"/webhook-inspector/"},{"id":"robots-txt-generator","name":"robots.txt Generator & Validator","description":"Generate and validate robots.txt with user-agent rules, sitemap URLs, and AI scraper blocking — download or copy instantly","category":"generator","icon":"🤖","keywords":["robots.txt","generator","validator","seo","sitemap","crawler","googlebot","user-agent","disallow","allow","ai scraper","gptbot"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator","prompting"],"url":"/robots-txt-generator/"},{"id":"git-commit-message-generator","name":"Git Commit Message Generator","description":"Generate conventional commit messages with proper formatting — supports types, scopes, breaking changes, and issue references","category":"generator","icon":"git","keywords":["git","commit","message","generator","conventional commits","commit format","git commit","version control","semantic versioning","changelog"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/git-commit-message-generator/"},{"id":"ascii-art-generator","name":"ASCII Art Generator","description":"Convert text to ASCII art with 10 unique fonts — perfect for README files, terminal banners, and code comments","category":"generator","icon":"AA","keywords":["ascii","art","generator","text","banner","figlet","readme","terminal","monospace","font"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/ascii-art-generator/"},{"id":"html-entities","name":"HTML Entity Encoder","description":"Encode and decode HTML entities and special characters","category":"converter","icon":"&;","keywords":["html","entity","encode","decode","escape","special characters","ampersand","entities"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/html-entities/"},{"id":"image-to-base64","name":"Image to Base64 Converter","description":"Convert PNG, JPG, GIF, WebP, and SVG images to Base64 encoding with data URI, CSS, and HTML formats","category":"converter","icon":"📸","keywords":["image to base64","base64 image encoder","convert image to base64","data uri","png to base64","jpg to base64","svg to base64","image encoder"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/image-to-base64/"},{"id":"number-base-converter","name":"Number Base Converter","description":"Convert between hex, binary, decimal, and octal with bit visualization and bitwise operations","category":"converter","icon":"0x","keywords":["hex to decimal","binary converter","number base","octal","hexadecimal","bitwise","binary calculator"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/number-base-converter/"},{"id":"byte-converter","name":"Byte & Data Unit Converter","description":"Convert between bytes, KB, MB, GB, TB with SI and binary standards — includes transfer time estimator","category":"converter","icon":"MB","keywords":["byte converter","mb to gb","bytes to mb","data unit","kb to mb","gigabyte","terabyte","transfer time"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/byte-converter/"},{"id":"json-sorter-cleaner","name":"JSON Sorter & Cleaner","description":"Sort JSON keys, remove null values, deduplicate arrays, flatten nested objects — multiple operations in one tool","category":"devtools","icon":"{}↓","keywords":["json sorter","sort json keys","json cleaner","remove nulls","flatten json","deduplicate","transformer"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/json-sorter-cleaner/"},{"id":"glob-pattern-tester","name":"Glob Pattern Tester","description":"Test glob patterns against file paths with real-time matching — supports gitignore, tsconfig, and shell syntax","category":"devtools","icon":"*.*","keywords":["glob tester","glob pattern","gitignore tester","file pattern","wildcard","minimatch","test"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/glob-pattern-tester/"},{"id":"uuid-generator","name":"UUID Generator","description":"Generate UUID v4 and UUID v7 with bulk output and format controls","category":"generator","icon":"🔑","keywords":["uuid generator","uuid v4","uuid v7","random uuid","bulk uuid","guid generator"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/uuid-generator/"},{"id":"memory-file-builder","name":"Markdown Memory File Builder","description":"Create structured markdown memory files for AI agents — SOUL.md, USER.md, AGENTS.md, daily logs, decision records, and more","category":"ai","icon":"📝","keywords":["markdown","memory file","ai agent","soul.md","user.md","agents.md","openclaw","daily log","decision record","lesson learned","template","generator"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/memory-file-builder/"},{"id":"api-response-mocker","name":"API Response Mocker","description":"Generate mock API responses for testing — get instant code for fetch, MSW, Express, curl, and Python without spinning up a server","category":"devtools","icon":"API","keywords":["api","mock","testing","fetch","msw","express","curl","python","agent","tools","response","http","rest"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools","prompting"],"url":"/api-response-mocker/"},{"id":"embedding-similarity-calculator","name":"Embedding Similarity Calculator","description":"Calculate cosine similarity, dot product, and distance between embedding vectors from OpenAI, Cohere, and more","category":"ai","icon":"cos","keywords":["embedding","similarity","cosine","dot product","euclidean","vector","compare","openai","rag"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","cli"],"url":"/embedding-similarity-calculator/"},{"id":"rag-chunk-calculator","name":"RAG Chunk Size Calculator","description":"Calculate optimal chunk size and overlap for RAG pipelines based on document type and embedding model","category":"ai","icon":"📐","keywords":["rag","chunk size","calculator","retrieval","embedding","overlap","chunking","langchain","vector"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai"],"url":"/rag-chunk-calculator/"},{"id":"agent-trace-viewer","name":"Agent Trace Viewer","description":"Visualize AI agent execution traces with timeline, table, and detail views for debugging LangChain and OpenAI agents","category":"ai","icon":"🔍","keywords":["agent","trace","viewer","debug","langchain","openai","timeline","tool calls","observability"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/agent-trace-viewer/"},{"id":"prompt-version-diff","name":"Prompt Version Diff","description":"Compare AI prompt versions with semantic diff — track variable changes, instruction modifications, and token deltas","category":"ai","icon":"Δ","keywords":["prompt","diff","compare","version","prompt engineering","system prompt","variables","changes"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/prompt-version-diff/"},{"id":"guardrail-rule-tester","name":"AI Guardrail Rule Tester","description":"Build and test AI guardrail rules with instant feedback — preset PII, injection, and safety patterns","category":"ai","icon":"🛡","keywords":["guardrails","ai","content filter","tester","pii","prompt injection","safety","rules"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting","security"],"url":"/guardrail-rule-tester/"},{"id":"function-call-simulator","name":"Function Call Flow Simulator","description":"Simulate AI function calling and tool use flows without API calls — test multi-step agent conversations","category":"ai","icon":"f()","keywords":["function calling","simulator","tool use","openai","anthropic","agent","test","mock","flow"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/function-call-simulator/"},{"id":"api-format-converter","name":"OpenAI ↔ Anthropic Format Converter","description":"Convert between OpenAI and Anthropic API formats — messages, tool definitions, and responses bidirectionally","category":"converter","icon":"⇄","keywords":["openai","anthropic","converter","api format","messages","tool definitions","claude","gpt","migration"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/api-format-converter/"},{"id":"chmod-calculator","name":"chmod Calculator","description":"Visual Unix permission calculator with bidirectional numeric and symbolic chmod conversion","category":"devtools","icon":"📁","keywords":["chmod calculator","file permissions","unix permissions","linux chmod","permission calculator","rwx"],"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools","security"],"url":"/chmod-calculator/"},{"id":"env-file-manager","name":"Env File Manager","description":"Parse, validate, edit, and convert .env files between JSON, YAML, Docker, and Shell formats","category":"devtools","icon":"⚙","keywords":["env","environment variables","dotenv",".env","docker","yaml","json","shell","export","config"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/env-file-manager/"},{"id":"ai-api-key-tester","name":"AI API Key Tester","description":"Validate AI API keys from Anthropic, OpenAI, OpenRouter, Groq, and more — detect provider, check format, get config snippets","category":"ai","icon":"🔑","keywords":["api key","tester","validator","anthropic","openai","openrouter","groq","google ai","claude","gpt","gemini","openclaw","config","validation"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai"],"url":"/ai-api-key-tester/"},{"id":"cron-tester","name":"Cron Expression Tester","description":"Test cron expressions and see next run times in your timezone. Generate cron from natural language like 'every Monday at 9am'. Free, private, no signup.","category":"devtools","icon":"⏰","keywords":["cron expression tester","cron tester online","test cron expression","natural language to cron","cron next run calculator","crontab guru alternative","cron schedule validator","cron expression checker"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/cron-tester/"},{"id":"markdown-table-generator","name":"Markdown Table Generator","description":"Visual spreadsheet-like table editor that outputs clean Markdown tables with CSV import and alignment controls","category":"generator","icon":"⊞","keywords":["markdown","table","generator","editor","csv","import","alignment","spreadsheet","github","gfm"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/markdown-table-generator/"},{"id":"htaccess-generator","name":"htaccess Generator","description":"Visual Apache .htaccess file generator with redirects, rewrites, security headers, caching rules, and access control","category":"generator","icon":".ht","keywords":["htaccess","generator","apache","redirect","rewrite","mod_rewrite","security","cache","htaccess file"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator","security"],"url":"/htaccess-generator/"},{"id":"launchd-plist-generator","name":"launchd Plist Generator","description":"Visual macOS launchd plist XML file generator for daemons and scheduled tasks with calendar intervals and install commands","category":"generator","icon":"⚙️","keywords":["launchd","plist","macos","daemon","service","cron","schedule","xml","generator","calendar interval","keepalive"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/launchd-plist-generator/"},{"id":"hash-generator","name":"Hash Generator","description":"Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes for text or files","category":"devtools","icon":"🔐","keywords":["hash generator","sha256","md5","sha1","sha512","file hash","checksum","hash compare"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools","security"],"url":"/hash-generator/"},{"id":"lorem-ipsum","name":"Lorem Ipsum Generator","description":"Generate placeholder text in various formats","category":"generator","icon":"Aa","keywords":["lorem","ipsum","placeholder","text","dummy","paragraph","words","sentences"],"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["generator"],"url":"/lorem-ipsum/"},{"id":"ai-token-pricing-calculator","name":"AI Token + Pricing Calculator","description":"Paste text, count tokens, and compare LLM API costs across GPT, Claude, Gemini and more with batch estimation and CSV export","category":"ai","icon":"🪙","keywords":["ai token calculator","llm cost calculator","openai cost estimator","claude pricing per token","gpt cost calculator","ai api cost comparison","token pricing","batch estimation"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-token-pricing-calculator/"},{"id":"env-file-validator","name":"ENV File Validator","description":"Validate .env files against .env.example — catch missing variables, empty values, and type mismatches","category":"devtools","icon":".env","keywords":["env file validator","dotenv checker","env example validator","missing environment variables","env validation","dotenv","config","environment"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/env-file-validator/"},{"id":"env-generator","name":"Environment Variable Generator","description":"Generate .env files from Docker Compose, Kubernetes configs, or framework presets. Create documented environment variable templates instantly.","category":"devtools","icon":"⚙️","keywords":["env","generator","environment","variables","dotenv",".env","docker compose","kubernetes","template","config"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/env-generator/"},{"id":"system-design-simulator","name":"System Design Simulator","description":"Visual drag-and-drop system architecture builder with components, connections, templates, and export — perfect for interview prep","category":"devtools","icon":"🏗️","keywords":["system design","architecture","diagram","drag and drop","simulator","interview","distributed systems","whiteboard","components"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/system-design-simulator/"},{"id":"webmcp-playground","name":"WebMCP Playground","description":"Test and validate WebMCP tool definitions — paste manifest JSON, simulate agent tool calls, validate against the W3C spec, preview tool discovery.","category":"ai","icon":"🔌","keywords":["webmcp","playground","validator","tester","tool definition","navigator.modelContext","chrome 146","w3c","ai agent","mcp","browser","web model context protocol"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","mcp","prompting"],"url":"/webmcp-playground/"},{"id":"mcp-generator","name":"MCP Server Starter Generator","description":"Generate complete MCP server projects with tools, resources, and auth — TypeScript, Python, or Go","category":"ai","icon":"🔧","keywords":["mcp","server","generator","starter","boilerplate","model context protocol","typescript","python","go","tools","resources"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","mcp"],"url":"/mcp-generator/"},{"id":"extension-guard","name":"Extension Guard","description":"Scan Chrome extension permissions for security risks with risk scoring, dangerous combination detection, and plain-English explanations","category":"devtools","icon":"🛡️","keywords":["chrome","extension","security","scanner","permissions","risk","safe","malicious","privacy","guard"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools","security"],"url":"/extension-guard/"},{"id":"url-metadata-extractor","name":"URL Metadata Extractor","description":"Extract OG tags, canonical URLs, meta descriptions, and JSON-LD from pasted HTML","category":"devtools","icon":"OG","keywords":["url metadata extractor","og tag extractor","meta tag parser","json-ld extractor"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/url-metadata-extractor/"},{"id":"tech-stack-detector","name":"Website Tech Stack Detector","description":"Detect website frameworks and platforms from pasted HTML, headers, and script URLs","category":"devtools","icon":"TS","keywords":["tech stack detector","what framework is this site","website technology checker"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/tech-stack-detector/"},{"id":"rss-feed-validator","name":"RSS Feed Validator","description":"Validate RSS/Atom XML and preview feed entries with parser diagnostics","category":"devtools","icon":"RSS","keywords":["rss validator","atom feed validator","rss checker"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/rss-feed-validator/"},{"id":"dns-lookup","name":"DNS Lookup Parser","description":"Parse dig and nslookup output into structured DNS record views","category":"devtools","icon":"DNS","keywords":["dns lookup parser","dig parser","dns record viewer"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/dns-lookup/"},{"id":"http-header-inspector","name":"HTTP Header Inspector","description":"Inspect HTTP response headers for security, caching, and CORS posture","category":"devtools","icon":"HDR","keywords":["http header inspector","security headers checker","cors headers"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools","security"],"url":"/http-header-inspector/"},{"id":"ssl-checker","name":"SSL Certificate Checker","description":"Parse certificate text and check issuer, SANs, and expiry risk","category":"devtools","icon":"SSL","keywords":["ssl checker","certificate expiry checker","pem parser"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/ssl-checker/"},{"id":"cursor-rules-generator","name":"Cursor Rules Generator","description":"Generate .cursorrules and .windsurfrules files for AI coding assistants","category":"ai","icon":"CR","keywords":["cursor rules generator","cursorrules","windsurfrules"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai"],"url":"/cursor-rules-generator/"},{"id":"ai-response-comparator","name":"AI Response Comparator","description":"Compare model outputs side-by-side with diff and analysis modes","category":"ai","icon":"AI","keywords":["ai response comparator","compare ai outputs","llm response diff"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-response-comparator/"},{"id":"openapi-changelog","name":"OpenAPI Changelog Generator","description":"Generate endpoint-level changelogs by diffing two OpenAPI specs","category":"devtools","icon":"API","keywords":["openapi changelog","openapi diff","api changelog generator"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools","openapi"],"url":"/openapi-changelog/"},{"id":"webhook-signature-verifier","name":"Webhook Signature Verifier","description":"Verify webhook signatures and inspect payload integrity before processing","category":"devtools","icon":"WH","keywords":["webhook signature verifier","hmac webhook verify","webhook auth"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools","security"],"url":"/webhook-signature-verifier/"},{"id":"gitignore-generator","name":".gitignore Generator","description":"Generate stack-aware .gitignore templates for modern projects","category":"devtools","icon":"GI","keywords":["gitignore generator","create gitignore","git ignore template"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/gitignore-generator/"},{"id":"package-json-generator","name":"Package.json Generator","description":"Generate package.json scaffolds for apps and libraries","category":"devtools","icon":"PKG","keywords":["package json generator","npm package json","node package template"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/package-json-generator/"},{"id":"license-compatibility-checker","name":"License Compatibility Checker","description":"Check whether open source licenses are compatible and get recommended outbound licenses","category":"devtools","icon":"⚖","keywords":["license compatibility","open source license","GPL MIT compatible","license checker","copyleft","Apache GPL","LGPL compatibility"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/license-compatibility-checker/"},{"id":"semver-calculator","name":"Semver Calculator","description":"Compare semantic versions and test range expressions","category":"devtools","icon":"SV","keywords":["semver calculator","npm version range","semver checker"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/semver-calculator/"},{"id":"dockerfile-generator","name":"Dockerfile Generator","description":"Generate safer Dockerfile templates for Node, Python, and Go","category":"devtools","icon":"DF","keywords":["dockerfile generator","dockerfile template","container dockerfile"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/dockerfile-generator/"},{"id":"readme-generator","name":"README Generator","description":"Generate clean README.md templates with project structure and usage sections","category":"generator","icon":"RD","keywords":["readme generator","github readme generator","markdown readme template"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/readme-generator/"},{"id":"cors-debugger","name":"CORS Debugger","description":"Analyze CORS failures and output concrete server-side fixes","category":"devtools","icon":"CORS","keywords":["cors debugger","cors error fix","access control allow origin"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/cors-debugger/"},{"id":"api-key-generator","name":"API Key Generator","description":"Generate secure, format-aware API keys and tokens for local development, testing, and CI pipelines. Supports custom lengths, prefixes, and character sets.","category":"devtools","icon":"KEY","keywords":["api key generator","generate api key","dev api key"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools","prompting"],"url":"/api-key-generator/"},{"id":"tailwind-previewer","name":"Tailwind Previewer","description":"Preview Tailwind utility output and conversion results","category":"converter","icon":"TW","keywords":["tailwind previewer","tailwind preview","css to tailwind preview"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["converter"],"url":"/tailwind-previewer/"},{"id":"regex-explainer","name":"Regex Explainer","description":"Explain regex matches, groups, and behavior interactively","category":"devtools","icon":"RE","keywords":["regex explainer","regex explanation","regex pattern analyzer"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools"],"url":"/regex-explainer/"},{"id":"json-patch-builder","name":"JSON Patch Builder","description":"Build RFC 6902 patch arrays from source and target JSON","category":"devtools","icon":"JP","keywords":["json patch builder","rfc 6902","json diff patch"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/json-patch-builder/"},{"id":"env-template-generator","name":"ENV Template Generator","description":"Generate structured .env templates and environment docs","category":"devtools","icon":".env","keywords":["env template generator","dotenv template","environment variable template"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/env-template-generator/"},{"id":"graphql-query-builder","name":"GraphQL Query Builder","description":"Build GraphQL queries and mutations from field and variable inputs","category":"devtools","icon":"GQL","keywords":["graphql query builder","graphql query generator","graphql mutation builder"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/graphql-query-builder/"},{"id":"validation-schema-generator","name":"Validation Schema Generator","description":"Generate validation schemas from representative JSON examples","category":"devtools","icon":"VAL","keywords":["validation schema generator","json validation schema","schema builder"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/validation-schema-generator/"},{"id":"changelog-generator","name":"Changelog Generator","description":"Generate categorized changelog documents from commit lists","category":"generator","icon":"CL","keywords":["changelog generator","release notes generator","commit to changelog"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/changelog-generator/"},{"id":"system-prompt-analyzer","name":"System Prompt Analyzer","description":"Analyze system prompts for clarity, structure, and token posture","category":"ai","icon":"SP","keywords":["system prompt analyzer","prompt lint","prompt analysis"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/system-prompt-analyzer/"},{"id":"mcp-tool-tester","name":"MCP Tool Tester","description":"Validate and test MCP/WebMCP tool definitions","category":"ai","icon":"MCP","keywords":["mcp tool tester","webmcp tester","mcp validator"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","mcp"],"url":"/mcp-tool-tester/"},{"id":"rate-limit-calculator","name":"Rate Limit Calculator","description":"Calculate allowed throughput and headroom for API quotas","category":"devtools","icon":"RL","keywords":["rate limit calculator","api quota calculator","requests per second calculator"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/rate-limit-calculator/"},{"id":"oauth-playground","name":"OAuth Playground","description":"Generate OAuth authorization URLs and token exchange requests","category":"devtools","icon":"OA","keywords":["oauth playground","oauth tester","authorization url generator"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools","prompting"],"url":"/oauth-playground/"},{"id":"nginx-config-converter","name":"Nginx Config Converter","description":"Convert and generate Nginx configuration patterns","category":"devtools","icon":"NG","keywords":["nginx config converter","nginx config generator","nginx config tool"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["devtools"],"url":"/nginx-config-converter/"},{"id":"web-to-markdown","name":"Web-to-Markdown Converter","description":"Convert webpage HTML to markdown and estimate token savings","category":"ai","icon":"MD","keywords":["web to markdown","url to markdown","html to markdown"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/web-to-markdown/"},{"id":"color-contrast-checker","name":"Color Contrast Checker","description":"Check WCAG 2.1 color contrast ratios between foreground and background colors. Shows AA/AAA pass/fail for normal and large text.","category":"devtools","icon":"◐◑","keywords":["wcag","contrast","accessibility","a11y","color","aa","aaa","checker","ratio"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/color-contrast-checker/"},{"id":"css-animation-generator","name":"CSS Animation Generator","description":"Visual CSS keyframe animation builder. Define keyframes, set timing functions, duration, delay, iteration count. Live preview and copy generated CSS.","category":"generator","icon":"▶","keywords":["css","animation","keyframes","generator","builder","timing","easing","bounce","fade"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/css-animation-generator/"},{"id":"css-units-converter","name":"CSS Units Converter","description":"Convert between CSS units: px, rem, em, vw, vh, %, and pt. Bidirectional with configurable base font size and viewport dimensions.","category":"converter","icon":"📐","keywords":["css units converter","px to rem","rem to px","em to px","px to em","vw to px","css unit calculator","responsive units converter"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/css-units-converter/"},{"id":"css-specificity-calculator","name":"CSS Specificity Calculator","description":"Calculate and visualize CSS selector specificity. Paste selectors to see specificity scores, compare multiple selectors, and understand which styles win.","category":"devtools","icon":"⚖️","keywords":["css specificity calculator","specificity score","css selector weight","css cascade calculator","selector priority checker","css specificity checker"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/css-specificity-calculator/"},{"id":"curl-converter","name":"cURL Converter","description":"Convert cURL commands to JavaScript fetch, Axios, Python requests, Node.js http, PHP, and Go. Supports headers, JSON body, form data, and auth.","category":"converter","icon":"🔄","keywords":["curl converter","curl to javascript","curl to python","curl to fetch","curl to axios","curl to go","curl to php","http request converter","curl command converter online"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["converter"],"url":"/curl-converter/"},{"id":"text-shadow-generator","name":"CSS Text Shadow Generator","description":"Build and preview CSS text-shadow effects interactively. Stack multiple shadow layers, use presets like neon or retro, and copy the ready-to-use CSS.","category":"generator","icon":"✦","keywords":["text shadow","css text-shadow","text effect","css generator","neon text","glow effect","text styling"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"M","maxInputBytes":262144,"timeoutMs":4000,"supportsStreaming":false,"tags":["generator"],"url":"/text-shadow-generator/"},{"id":"basic-auth-encoder","name":"Basic Auth Encoder / Decoder","description":"Encode and decode HTTP Basic Authentication credentials. Generate the Authorization header or curl flag from username and password, or decode a token back to plaintext.","category":"devtools","icon":"🔐","keywords":["basic auth","http authentication","authorization header","base64 encode","basic authentication","curl","http header"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools","prompting"],"url":"/basic-auth-encoder/"},{"id":"http-cookie-builder","name":"HTTP Cookie Builder","description":"Build and validate Set-Cookie headers interactively. Configure all cookie attributes — Secure, HttpOnly, SameSite, Path, Domain, Expires, Max-Age, Partitioned.","category":"devtools","icon":"🍪","keywords":["set-cookie","http cookie","cookie builder","samesite","httponly","secure cookie","cookie header","web security"],"isNew":true,"remoteCallable":true,"remoteMode":"dedicated_api","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["devtools","security"],"url":"/http-cookie-builder/"},{"id":"word-counter","name":"Word & Character Counter","description":"Count words, characters, sentences, paragraphs, and lines. Get instant reading time and speaking time estimates, plus top word frequency analysis.","category":"devtools","icon":"📊","keywords":["word counter","character counter","word count","text statistics","reading time","character count","text analysis","word frequency"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools"],"url":"/word-counter/"},{"id":"ai-code-smell-detector","name":"AI Code Smell Detector","description":"Detect AI-generated code anti-patterns — hallucinated imports, over-abstraction, verbose error handling, redundant logic, and AI tells. Instant scored analysis.","category":"ai","icon":"🔬","keywords":["ai code smell","ai code review","ai generated code checker","code quality","ai slop detector","copilot code review","ai code audit"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai"],"url":"/ai-code-smell-detector/"},{"id":"llm-workflow-cost-calculator","name":"LLM Workflow Cost Calculator","description":"Model multi-step AI pipelines — embed, retrieve, generate, validate — and see total cost per execution across providers with caching simulation.","category":"ai","icon":"🔄","keywords":["llm cost calculator","ai pipeline cost","ai workflow cost","rag cost calculator","llm api cost","ai budget planner","multi-step cost"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/llm-workflow-cost-calculator/"},{"id":"codebase-context-packer","name":"Codebase Context Packer","description":"Pack code files into optimized LLM context with smart truncation, token budgeting, and XML/markdown/plain output formats. Ready to paste into Claude or GPT.","category":"ai","icon":"📦","keywords":["codebase context","llm context builder","ai code context","context packer","token budget","claude context","context optimizer"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/codebase-context-packer/"},{"id":"ai-prompt-injection-tester","name":"AI Prompt Injection Tester","description":"Test system prompts against 50+ known injection attack patterns — role hijacking, instruction override, delimiter abuse, encoding attacks, and jailbreaks.","category":"ai","icon":"🛡️","keywords":["prompt injection","llm security","prompt vulnerability","ai security scanner","jailbreak tester","system prompt security","prompt hardening"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting","security"],"url":"/ai-prompt-injection-tester/"},{"id":"ai-api-error-decoder","name":"AI API Error Decoder","description":"Paste an error response from Claude, OpenAI, Gemini, or Mistral API — get a human-readable explanation, fix with code snippet, and retry strategy.","category":"ai","icon":"🔍","keywords":["ai api error","openai error fix","claude api error","gemini api error","llm api troubleshoot","api error decoder","rate limit fix"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-api-error-decoder/"},{"id":"ai-agent-cost-simulator","name":"AI Agent Cost Simulator","description":"Configure multi-agent architectures and visualize cost explosion curves. Compare multi-agent vs single-agent with context growth modeling and monthly projections.","category":"ai","icon":"🤖","keywords":["ai agent cost","multi agent cost","llm agent pricing","agent budget","langchain cost","crewai cost","agent cost calculator"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-agent-cost-simulator/"},{"id":"env-security-scanner","name":".env Security Scanner","description":"Detect exposed API keys, high-entropy secrets, and insecure defaults in .env files. Recognizes 40+ key formats from OpenAI, AWS, Stripe, GitHub, and more.","category":"devtools","icon":"🔐","keywords":["env security","env scanner","api key detector","secret scanner","dotenv security","env file audit","credential scanner"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["devtools","security"],"url":"/env-security-scanner/"},{"id":"openapi-to-mcp","name":"OpenAPI to MCP Generator","description":"Convert OpenAPI 3.x specs into MCP tool definitions — one tool per endpoint with proper input schemas. Export as config JSON, TypeScript, or Python server.","category":"converter","icon":"🔀","keywords":["openapi to mcp","mcp generator","swagger to mcp","api to mcp","mcp tool generator","convert openapi mcp","mcp server builder"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["converter","mcp","openapi"],"url":"/openapi-to-mcp/"},{"id":"ai-rules-linter","name":"AI Rules Linter","description":"Lint CLAUDE.md, .cursorrules, and copilot-instructions files for redundancy, conflicting instructions, missing sections, and token efficiency.","category":"ai","icon":"📏","keywords":["ai rules linter","claude.md linter","cursorrules validator","ai rules checker","copilot instructions","windsurfrules","rules analyzer"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-rules-linter/"},{"id":"git-diff-token-counter","name":"Git Diff Token Counter","description":"Paste a git diff and see token counts per file, cost across AI models for code review, and chunking suggestions when diffs exceed context limits.","category":"ai","icon":"📊","keywords":["git diff tokens","diff token counter","code review cost","ai diff cost","git diff size","token estimator","diff analyzer"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"H","maxInputBytes":524288,"timeoutMs":8000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/git-diff-token-counter/"},{"id":"llm-latency-estimator","name":"LLM Latency Estimator","description":"Estimate time-to-first-token, generation time, and total latency for any AI model. Get UX recommendations for spinners, streaming, and background jobs.","category":"ai","icon":"⚡","keywords":["llm latency","ai model speed","llm response time","ttfb estimator","ai model latency","tokens per second","model speed comparison"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/llm-latency-estimator/"},{"id":"prompt-ab-test-designer","name":"Prompt A/B Test Designer","description":"Design rigorous prompt experiments with sample size calculation, statistical significance, cost estimation, and evaluation framework export.","category":"ai","icon":"🧪","keywords":["prompt ab test","prompt testing","prompt experiment","prompt evaluation","ai prompt comparison","prompt optimization","prompt science"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/prompt-ab-test-designer/"},{"id":"mcp-permission-auditor","name":"MCP Permission Auditor","description":"Audit MCP server configurations for security risks — permission surface analysis, risk scoring, dangerous capability combinations, and least-privilege recommendations.","category":"ai","icon":"🔒","keywords":["mcp security","mcp permission audit","mcp config scanner","mcp risk assessment","claude desktop security","mcp least privilege"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","mcp","security"],"url":"/mcp-permission-auditor/"},{"id":"ai-doc-readability-scorer","name":"AI Doc Readability Scorer","description":"Score documentation for human and AI-agent readability across 6 dimensions — structure, code examples, API discoverability, schema coverage, LLM parseability.","category":"ai","icon":"📖","keywords":["documentation scorer","readme analyzer","doc quality checker","ai readable docs","documentation lint","api docs scorer"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-doc-readability-scorer/"},{"id":"ai-model-sunset-tracker","name":"AI Model Sunset Tracker","description":"Track AI model deprecation dates, migration paths, and breaking changes across OpenAI, Anthropic, Google, Meta, and Mistral. Filterable and searchable.","category":"ai","icon":"📅","keywords":["ai model sunset","model deprecation","llm lifecycle","gpt sunset date","claude model versions","ai model retirement","model migration"],"isNew":true,"remoteCallable":false,"remoteMode":"client_only","riskClass":"L","maxInputBytes":131072,"timeoutMs":2000,"supportsStreaming":false,"tags":["ai","prompting"],"url":"/ai-model-sunset-tracker/"}]}