Skip to content

Python API Reference

skill-reach provides a programmatic Python API for embedding reachability measurement, manifest linting, and automated description optimization into custom tools or workflows.


Module Index

Module Description
reach.artifact Evaluation artifact schema, scoring metrics, and confusion matrix data structures.
reach.catalog Catalog discovery, filesystem scanning, and YAML frontmatter parsing.
reach.check Two-stage CI/CD quality gate orchestration, threshold enforcement, and GitHub Actions summary generation.
reach.cluster Modularity-based skill clustering for subagent catalog scoping.
reach.config Configuration loading and Pydantic settings models.
reach.diff A/B evaluation comparison, noise floor estimation, and effect size reporting.
reach.lint Static analysis engine for validating skill manifests and listing budgets.
reach.metrics Accuracy, precision, recall, F1, and multi-step trajectory evaluation metrics.
reach.models Domain representations: Skill, Catalog, Query, and ProbeResult.
reach.optimize Synthesis and empirical optimization routines for skill descriptions.
reach.overlap BM25 vocabulary competition ranking, nearest-rival extraction, and pairwise collision detection.
reach.queries Labeled evaluation query set loading, serialization, provenance recording, and digest generation.
reach.registry Google Cloud Agent Registry REST client, ADC token resolution, and cache manager.
reach.retrieval BM25 lexical scoring, dense embeddings, and reciprocal rank fusion (RRF).
reach.run Execution engine for conducting evaluation runs and probe batches.
reach.runtime Agent execution runtime interfaces, CLI subprocess template drivers, Antigravity domain bridges, and trajectory telemetry.
reach.sweep Multi-scale catalog scaling sweeps, capacity knee detection, and loss decomposition.
reach.uncertainty Wilson score confidence intervals, sample size sizing, and power analysis.

Quick Example

Programmatically load a catalog, run static linting, and inspect issues:

from pathlib import Path
from reach.catalog import load_skills
from reach.lint import lint_skills

skills = load_skills(Path("./skills"))
report = lint_skills(skills)

for issue in report.issues:
    print(f"[{issue.rule}] {issue.skill}: {issue.message}")