Files
librefang-registry/skills/README.md
T
Evan d43077afa9 fix(providers): remove ~anthropic, skip ~ prefixes in sync script (#69)
* fix(providers): remove ~anthropic, skip ~ prefixes in sync script

OpenRouter uses ~ prefixes for internal auto-routing aliases (e.g. ~anthropic).
These are not real providers — they already route through openrouter.toml.
The generated ~anthropic.toml was confusing (looked like a stale backup)
and redundant with the existing openrouter provider.

- Delete providers/~anthropic.toml
- Skip provider IDs starting with ~ in sync-pricing.py --create-missing

* fix(providers): remove morph, aider, kwaipilot

- morph: specialized code-editing/patching tool, not a general LLM provider
- aider: CLI meta-tool wrapper (base_url empty), redundant with claude-code/codex-cli/gemini-cli/qwen-code
- kwaipilot: Kwai internal coding assistant routed via OpenRouter, niche

* fix(sync): add morph/aider/kwaipilot to SKIP_PROVIDERS to prevent re-creation

* feat(sync): merge OpenRouter-only providers into openrouter.toml

Instead of generating standalone .toml files that just wrap the OpenRouter
endpoint, merge their models directly into openrouter.toml with the
standard 'openrouter/{provider}/{model}' ID convention.

- Add _build_model_fields() and _model_lines() helpers to deduplicate
  model rendering between standalone and merged paths
- Add merge_into_openrouter() that appends new models idempotently
- generate_provider_toml() now only runs for providers in PROVIDER_API
- --create-missing routes OpenRouter-only providers to merge_into_openrouter

* fix(providers): remove 14 OpenRouter-only standalone files

These providers have no direct public API and all route through
openrouter.ai/api/v1. Per the new sync-pricing.py policy, their models
will be merged into openrouter.toml on the next CI run instead of
living in separate files that just wrap the OpenRouter endpoint.

Removed: allenai, deepcogito, essentialai, inclusionai, inflection,
liquid, meituan, nex-agi, nousresearch, prime-intellect, relace,
switchpoint, tngtech, writer

* fix(providers): remove 7 niche providers with no driver support

No dedicated LLM driver code exists for these providers — they rely
purely on OpenAI-compatible passthrough with no special handling.
Removing them reduces registry noise; users can still reach them via
openrouter.toml if needed.

Removed: microsoft, ibm-granite, xiaomi, upstage, inception, aion-labs, arcee-ai

* fix(providers): remove ai21, chutes, venice

All three use ApiFormat::OpenAI with no special handling — pure passthrough.
No registry entry needed; users can reach them via openrouter.toml or by
adding a custom provider.

* docs(providers): rewrite README with full provider catalog and inclusion criteria

- List all 46 providers grouped by category with descriptions
- Document why each provider exists (direct API, unique endpoint, dedicated driver, local, CLI)
- Add inclusion criteria section explaining when to create standalone files vs merging into openrouter.toml
- Document sync script routing logic
- Update model counts: 49→46 providers, 339→232 models

* docs: add comprehensive READMEs for all registry sections + deepinfra provider

- agents/README.md: 32 agents across 7 categories with capability field reference
- channels/README.md: 44 channels across 5 categories with protocol reference table
- hands/README.md: 18 hands across 5 categories with HAND.toml format guide
- mcp/README.md: 33 MCP servers across 5 categories with transport/auth format
- plugins/README.md: 12 plugins with hook protocol documentation
- skills/README.md: 60 skills across 9 categories with SKILL.md format guide
- providers/deepinfra.toml: add DeepInfra serverless inference (5 models)
2026-04-24 00:02:33 +09:00

198 lines
9.6 KiB
Markdown

# Skills Registry
Skills are reusable expertise modules that can be attached to any agent. Each skill carries a system prompt that injects domain knowledge, best practices, and behavioral guidelines into an agent's context at conversation time. Skills are composable — a single agent can load multiple skills simultaneously.
## File Format
A skill lives in its own subdirectory. The only required file is `SKILL.md`. An optional `skill.toml` provides structured metadata when `[runtime]`, `[input]` schema, or explicit versioning is needed.
```
skills/
├── rust-expert/
│ └── SKILL.md # required: frontmatter + prompt body
├── meeting-agenda/
│ ├── SKILL.md # required: frontmatter + prompt body
│ └── skill.toml # optional: runtime type, input schema, version
└── code-runner/
├── SKILL.md # overview (prompt body unused for script skills)
├── skill.toml # runtime = python, entry = main.py
└── main.py
```
### SKILL.md format
```markdown
---
name: rust-expert
description: "Rust programming expert for ownership, lifetimes, async/await, traits, and unsafe code"
---
# Rust Programming Expertise
You are an expert Rust developer with deep understanding of the ownership system...
```
The frontmatter must contain `name` and `description`. The Markdown body becomes the injected prompt.
### skill.toml format (optional)
Only required when you need `[runtime]`, `[input]` schema, or structured metadata beyond what frontmatter supports:
```toml
[skill]
name = "meeting-agenda"
version = "0.1.0"
description = "Generate a structured meeting agenda from a topic and duration."
tags = ["meeting", "productivity"]
[runtime]
type = "promptonly" # promptonly | python | node | shell
[input]
topic = { type = "string", description = "The meeting topic", required = true }
duration_minutes = { type = "string", description = "Duration in minutes", required = true }
```
If both files exist, `skill.name` and `skill.description` in `skill.toml` must match the frontmatter in `SKILL.md`. The validator enforces this to prevent drift.
## Installing and Using Skills
```bash
# List all available skills in the registry
librefang catalog skills
# Attach a skill to an agent
librefang skill attach <agent-name> rust-expert
# Attach multiple skills
librefang skill attach <agent-name> rust-expert security-audit
# Detach a skill
librefang skill detach <agent-name> rust-expert
# Test a skill locally with sample input
librefang skill test ./skills/meeting-agenda \
--input '{"topic": "Q1 planning", "duration_minutes": "30"}'
```
## All Skills (61 total)
### Programming Languages
| Name | Description |
|------|-------------|
| css-expert | CSS expert for flexbox, grid, animations, responsive design, and modern layout techniques |
| golang-expert | Go programming expert for goroutines, channels, interfaces, modules, and concurrency patterns |
| python-expert | Python expert for stdlib, packaging, type hints, async/await, and performance optimization |
| rust-expert | Rust programming expert for ownership, lifetimes, async/await, traits, and unsafe code |
| typescript-expert | TypeScript expert for type system, generics, utility types, and strict mode patterns |
| wasm-expert | WebAssembly expert for WASI, component model, Rust/C compilation, and browser integration |
### Web Frameworks and APIs
| Name | Description |
|------|-------------|
| graphql-expert | GraphQL expert for schema design, resolvers, subscriptions, and performance optimization |
| nextjs-expert | Next.js expert for App Router, SSR/SSG, API routes, middleware, and deployment |
| oauth-expert | OAuth 2.0 and OpenID Connect expert for authorization flows, PKCE, and token management |
| openapi-expert | OpenAPI/Swagger expert for API specification design, validation, and code generation |
| react-expert | React expert for hooks, state management, Server Components, and performance optimization |
### Databases
| Name | Description |
|------|-------------|
| elasticsearch | Elasticsearch expert for queries, mappings, aggregations, index management, and cluster operations |
| mongodb | MongoDB operations expert for queries, aggregation pipelines, indexes, and schema design |
| postgres-expert | PostgreSQL expert for query optimization, indexing, extensions, and database administration |
| redis-expert | Redis expert for data structures, caching patterns, Lua scripting, and cluster operations |
| sql-analyst | SQL query expert for optimization, schema design, and data analysis |
| sqlite-expert | SQLite expert for WAL mode, query optimization, embedded patterns, and advanced features |
| vector-db | Vector database expert for embeddings, similarity search, RAG patterns, and indexing strategies |
### Cloud and Infrastructure
| Name | Description |
|------|-------------|
| ansible | Ansible automation expert for playbooks, roles, inventories, and infrastructure management |
| aws | AWS cloud services expert for EC2, S3, Lambda, IAM, and AWS CLI |
| azure | Microsoft Azure expert for az CLI, AKS, App Service, and cloud infrastructure |
| docker | Docker expert for containers, Compose, Dockerfiles, and debugging |
| gcp | Google Cloud Platform expert for gcloud CLI, GKE, Cloud Run, and managed services |
| helm | Helm chart expert for Kubernetes package management, templating, and dependency management |
| kubernetes | Kubernetes operations expert for kubectl, pods, deployments, and debugging |
| nginx | Nginx configuration expert for reverse proxy, load balancing, TLS, and performance tuning |
| terraform | Terraform IaC expert for providers, modules, state management, and planning |
### DevOps and CI/CD
| Name | Description |
|------|-------------|
| ci-cd | CI/CD pipeline expert for GitHub Actions, GitLab CI, Jenkins, and deployment automation |
| git-expert | Git operations expert for branching, rebasing, conflicts, and workflows |
| github | GitHub operations expert for PRs, issues, code review, Actions, and gh CLI |
| linux-networking | Linux networking expert for iptables, nftables, routing, DNS, and network troubleshooting |
| prometheus | Prometheus monitoring expert for PromQL, alerting rules, Grafana dashboards, and observability |
| sentry | Sentry error tracking and debugging specialist |
| shell-scripting | Shell scripting expert for Bash, POSIX compliance, error handling, and automation |
| sysadmin | System administration expert for Linux, macOS, Windows, services, and monitoring |
### Security
| Name | Description |
|------|-------------|
| compliance | Compliance expert for SOC 2, GDPR, HIPAA, PCI-DSS, and security frameworks |
| crypto-expert | Cryptography expert for TLS, symmetric/asymmetric encryption, hashing, and key management |
| security-audit | Security audit expert for OWASP Top 10, CVE analysis, code review, and penetration testing methodology |
### AI and Machine Learning
| Name | Description |
|------|-------------|
| llm-finetuning | LLM fine-tuning expert for LoRA, QLoRA, dataset preparation, and training optimization |
| ml-engineer | Machine learning engineer expert for PyTorch, scikit-learn, model evaluation, and MLOps |
| prompt-engineer | Prompt engineering expert for chain-of-thought, few-shot learning, evaluation, and LLM optimization |
| web-search | Web search and research specialist for finding and synthesizing information |
### Productivity Tools
| Name | Description |
|------|-------------|
| confluence | Confluence wiki expert for page structure, spaces, macros, and content organization |
| figma-expert | Figma design expert for components, auto-layout, design systems, and developer handoff |
| jira | Jira project management expert for issues, sprints, workflows, and reporting |
| linear-tools | Linear project management expert for issues, cycles, projects, and workflow automation |
| notion | Notion workspace management and content creation specialist |
| pdf-reader | PDF content extraction and analysis specialist |
| slack-tools | Slack workspace management and automation specialist |
### Writing and Communication
| Name | Description |
|------|-------------|
| email-writer | Professional email writing expert for tone, structure, clarity, and business communication |
| presentation | Presentation expert for slide structure, storytelling, visual design, and audience engagement |
| technical-writer | Technical writing expert for API docs, READMEs, ADRs, and developer documentation |
| writing-coach | Writing improvement specialist for grammar, style, clarity, and structure |
### Engineering Practice
| Name | Description |
|------|-------------|
| api-tester | API testing expert for curl, REST, GraphQL, authentication, and debugging |
| code-reviewer | Code review specialist focused on patterns, bugs, security, and performance |
| data-analyst | Data analysis expert for statistics, visualization, pandas, and exploration |
| data-pipeline | Data pipeline expert for ETL, Apache Spark, Airflow, dbt, and data quality |
| interview-prep | Technical interview preparation expert for algorithms, system design, and behavioral questions |
| project-manager | Project management expert for Agile, estimation, risk management, and stakeholder communication |
| regex-expert | Regular expression expert for crafting, debugging, and explaining patterns |
## Adding a New Skill
1. Create `skills/<name>/SKILL.md` with frontmatter (`name`, `description`) and the prompt body.
2. If you need `[runtime]`, `[input]`, or structured metadata, add `skills/<name>/skill.toml`.
3. Add implementation files (`main.py`, etc.) when `runtime` is not `promptonly`.
4. Run `python scripts/validate.py`.
5. Submit a PR.
See [CONTRIBUTING.md](../CONTRIBUTING.md) for the full guide.