Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add aivrar/portable-hermes-agent --skill instructorgit clone --depth 1 https://github.com/aivrar/portable-hermes-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/aivrar/portable-hermes-agent/instructor)<a href="https://agentmods.dev/skills/aivrar/portable-hermes-agent/instructor"><img src="https://agentmods.dev/badge/skills/aivrar/portable-hermes-agent/instructor/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/aivrar/portable-hermes-agent/instructor"><img src="https://agentmods.dev/badge/skills/aivrar/portable-hermes-agent/instructor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00013 | $0.04239 |
| Opus 5.5 | $0.00005 | $0.01696 |
| Sonnet 5.5 | $0.00003 | $0.00848 |
| Haiku 4.5 | $0.00001 | $0.00424 |
Grade A, and why
instructor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
91% identical to prompt-engineering-instructor — 15 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 745 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Instructor: Structured LLM Outputs
When to Use This Skill
Use Instructor when you need to:
- Extract structured data from LLM responses reliably
- Validate outputs against Pydantic schemas automatically
- Retry failed extractions with automatic error handling
- Parse complex JSON with type safety and validation
- Stream partial results for real-time processing
- Support multiple LLM providers with consistent API
GitHub Stars: 15,000+ | Battle-tested: 100,000+ developers
Installation
# Base installation
pip install instructor
# With specific providers
pip install "instructor[anthropic]" # Anthropic Claude
pip install "instructor[openai]" # OpenAI
pip install "instructor[all]" # All providers
Quick Start
Basic Example: Extract User Data
import instructor
from pydantic import BaseModel
from anthropic import Anthropic
# Define output structure
class User(BaseModel):
name: str
age: int
email: str
# Create instructor client
client = instructor.from_anthropic(Anthropic())
# Extract structured data
user = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[{
"role": "user",
"content": "John Doe is 30 years old. His email is [email protected]"
}],
response_model=User
)
print(user.name) # "John Doe"
print(user.age) # 30
print(user.email) # "[email protected]"
With OpenAI
from openai import OpenAI
client = instructor.from_openai(OpenAI())
user = client.chat.completions.create(
model="gpt-4o-mini",
response_model=User,
messages=[{"role": "user", "content": "Extract: Alice, 25, [email protected]"}]
)
Core Concepts
1. Response Models (Pydantic)
Response models define the structure and validation rules for LLM outputs.
Basic Model
from pydantic import BaseModel, Field
class Article(BaseModel):
title: str = Field(description="Article title")
author: str = Field(description="Author name")
word_count: int = Field(description="Number of words", gt=0)
tags: list[str] = Field(description="List of relevant tags")
article = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[{
"role": "user",
"content": "Analyze this article: [article text]"
}],
response_model=Article
)
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 745 lines · 13 tokens per session scan A 61c88e70b525
instructor is a skill published in the GitHub repository aivrar/portable-hermes-agent (244 stars, last pushed yesterday), licensed MIT. It adds 13 tokens to every session and 4,239 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 91% identical to prompt-engineering-instructor, differing in 15 lines, and is treated as a copy.
instructor compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| instructoraivrar/portable-hermes-agent | Skill | 244 | yesterday | MIT | A | 13 | Claude Code, Codex |
| proxy-local-ai-subscriptionsPeiiii/nextclaw | Skill | 263 | yesterday | MIT | B | 126 | Codex |
| ai-prompt-crafterFerroxLabs/wayland | Skill | 617 | 6d ago | AGPL-3.0 | A | 93 | Claude Code, Codex |
| emotion-to-camera-languageL-Trunks/ai-film-skills | Skill | 30 | 1mo ago | none | A | 202 | Claude Code, Codex |
| outlinescyborg-garden/hermes-agent-mt | Skill | 14 | 2d ago | MIT | A | 17 | Claude Code, Codex |
| mao-zedong-perspectivehkfrank996/mao-zedong-perspective | Skill | 13 | 6mo ago | MIT | A | 81 | Claude Code, Codex |
| guidancecyborg-garden/hermes-agent-mt | Skill | 14 | 2d ago | MIT | A | 16 | Claude Code, Codex |