Vibeleaderboard
Index / agent
Visit github.com
Category
AI Agents
Rank
No. 1149Tools index

Previous survey · No. 1154 ·

Pricing
Open Source
Type
AGENT
Builder
coleam00
GitHub
107 stars
Date

About

Pydantic AI agent that implements the idea of Claude Skills (progressive disclosure) with no reliance on Claude itself.

What it does

It keeps a compact list of available capabilities in the model prompt, then fetches detailed instructions and supporting resources only when a request needs them. Skills are ordinary directories with YAML metadata, written guidance, optional references, and scripts. A streaming terminal interface exposes responses and tool activity.

Why it's ranked here

The design is small enough to understand quickly yet covers discovery, instruction loading, resource loading, provider configuration, validation, evaluations, and interactive use. Type-checked metadata and path containment checks add substance. The strongest claim is the reusable skill convention, although the included agent remains closely coupled to Pydantic AI.

What's good

Skill authors work with Markdown, YAML metadata, references, and optional scripts instead of changing the agent core. The loader rejects missing or invalid metadata. Resource reads and directory listings block traversal outside each skill. The repository also supplies five varied examples, automated tests, evaluation datasets, validation scripts, streaming output, and optional tracing.

Tradeoffs

The portable part is the skill directory convention, not the complete runtime, which directly depends on Pydantic AI. The agent decides when resources are relevant, so correct disclosure still depends on model behavior and prompt compliance. General HTTP tools accept model-supplied URLs without a host allowlist. Setup requires Python, UV, and provider credentials, even when using the local provider option.

How to use it well

Use it as a reference implementation or starter for Python teams testing modular agent instructions across several model providers. Add narrowly described skills, keep large documentation in optional resources, and exercise routing with the supplied evaluation pattern. It fits terminal experiments and embedded Python agents. It does not supply a hosted service, browser interface, or deployment platform.

Technical notes+

src/skill_loader.py scans child directories for SKILL.md, parses YAML frontmatter with yaml.safe_load, and validates metadata through SkillMetadata. src/agent.py injects discovered metadata into MAIN_SYSTEM_PROMPT and registers skill_tools plus HTTP GET and POST tools. src/skill_tools.py strips frontmatter when loading instructions and uses resolved paths with Path.is_relative_to for containment. src/http_tools.py pools an async HTTP client, retries GET requests on HTTP 429, truncates long text responses, but does not apply equivalent retry logic to POST. src/providers.py configures OpenRouter, OpenAI, or Ollama. pyproject.toml packages src with Hatchling and declares Python 3.11 or newer.

Observed

Primary language
Python
Packaging
Hatchling wheel package named custom-skill-agent, with dependencies declared in pyproject.toml
Install surface
Repository clone followed by UV dependency synchronization
Interfaces
Rich-based conversational CLI and importable Python package
Provider support
OpenRouter, OpenAI, and Ollama through configured model providers
Quality structure
Unit and integration tests, YAML evaluation datasets, custom evaluators, and validation scripts are included
Included skill library
Five skills cover weather, academic research, recipes, world time, and code review

Read from README.md, pyproject.toml, src/cli.py, src/__init__.py, src/agent.py, src/prompts.py, src/settings.py, src/providers.py, src/http_tools.py, src/skill_tools.py, src/dependencies.py, src/skill_loader.py, src/skill_toolset.py, scripts/__init__.py, scripts/test_agent.py.

What it can do

  • Create custom AI agents with progressive skill disclosure

    Agent configuration and skill definitionsConfigured AI agent with hierarchical capabilities

  • Process user requests through skill-based routing

    Natural language user queriesContextually appropriate responses using relevant skills

  • Dynamically reveal available skills based on context

    Current conversation state and user intentContextually relevant skill options and capabilities

  • Execute specialized tasks through modular skill components

    Task parameters and skill selectionTask-specific results and data processing

  • Validate and structure agent interactions using Pydantic models

    Raw user inputs and agent responsesType-validated, structured data exchanges

Tags

pydantic-aiskillsagentprogressive-disclosure

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.