home / skills / jeremylongshore / claude-code-plugins-plus-skills / openrouter-function-calling

This skill enables OpenRouter function calling integration for agents, guiding setup, testing, and monitoring to enable structured tool use.

npx playbooks add skill jeremylongshore/claude-code-plugins-plus-skills --skill openrouter-function-calling

Review the files below or copy the command above to add this skill to your agents.

Files (10)
SKILL.md
1.6 KB
---
name: openrouter-function-calling
description: |
  Implement function/tool calling with OpenRouter models. Use when building agents or structured outputs. Trigger with phrases like 'openrouter functions', 'openrouter tools', 'openrouter agent', 'function calling'.
allowed-tools: Read, Write, Edit, Grep
version: 1.0.0
license: MIT
author: Jeremy Longshore <[email protected]>
---

# Openrouter Function Calling

## Overview

This skill demonstrates implementing function calling and tool use patterns with OpenRouter-supported models.

## Prerequisites

- OpenRouter integration
- Model that supports function calling (GPT-4, Claude, etc.)

## Instructions

Follow these steps to implement this skill:

1. **Verify Prerequisites**: Ensure all prerequisites listed above are met
2. **Review the Implementation**: Study the code examples and patterns below
3. **Adapt to Your Environment**: Modify configuration values for your setup
4. **Test the Integration**: Run the verification steps to confirm functionality
5. **Monitor in Production**: Set up appropriate logging and monitoring

## Output

Successful execution produces:
- Working OpenRouter integration
- Verified API connectivity
- Example responses demonstrating functionality

## Error Handling

See `{baseDir}/references/errors.md` for comprehensive error handling.

## Examples

See `{baseDir}/references/examples.md` for detailed examples.

## Resources

- [OpenRouter Documentation](https://openrouter.ai/docs)
- [OpenRouter Models](https://openrouter.ai/models)
- [OpenRouter API Reference](https://openrouter.ai/docs/api-reference)
- [OpenRouter Status](https://status.openrouter.ai)

Overview

This skill shows how to implement function and tool calling with OpenRouter-supported models to build agents and structured outputs. It provides practical patterns for wiring model-invoked functions, validating inputs/outputs, and integrating with existing Python workflows. Use it to enable model-driven tool execution and predictable structured responses.

How this skill works

The implementation registers callable tools or functions and exposes schemas so OpenRouter models can select and invoke them when appropriate. The model returns structured function calls that the agent code parses, executes, and then supplies the result back to the model for follow-up. Error cases and validation steps ensure safe, auditable execution and clear fallback behavior.

When to use it

  • Building conversational agents that must perform actions or fetch live data
  • Producing structured outputs (JSON) from model responses for downstream processing
  • Integrating model-driven automation into CI/CD, devops, or data pipelines
  • Connecting language models to external tools, APIs, or system commands
  • Prototyping multi-step workflows where the model orchestrates tool calls

Best practices

  • Register a small, well-documented set of tools with explicit input/output schemas
  • Validate and sanitize all model-provided arguments before executing any tool
  • Log each function call, input, and output for observability and debugging
  • Implement timeouts, rate limits, and permission checks for risky actions
  • Test with unit and integration tests that simulate both normal and erroneous model calls

Example use cases

  • Agent that queries a ticketing system to open/update incidents via function calls
  • Automation that converts natural language tasks into structured API calls for deployments
  • Data enrichment pipeline where the model calls a lookup tool and returns normalized JSON
  • Monitoring agent that calls diagnostic tools and summarizes results in structured reports

FAQ

Which OpenRouter models support function calling?

Use models documented by OpenRouter as supporting function/tool calling — check the OpenRouter Models page for current capabilities.

How do I secure tool execution invoked by the model?

Restrict available tools, validate inputs, enforce permission checks, and run risky operations in isolated environments with strict resource limits.

What should I do when the model returns malformed arguments?

Implement input validation and graceful error handling: reject the call with a descriptive error, log details, and optionally ask the model to retry with corrected data.