惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
H
Help Net Security
腾讯CDC
宝玉的分享
宝玉的分享
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
爱范儿
爱范儿
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
D
Docker
V
V2EX
Last Week in AI
Last Week in AI
G
Google Developers Blog
IT之家
IT之家
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 聂微东

Show HN

GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: Generate Claude Code Workflows using Spec Driven Development approach Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal).
GitHub - agenthatch/agenthatch: Where agents hatch.
EternalRight · 2026-06-17 · via Show HN

agenthatch

Turn any SKILL.md into a standalone, runnable AI Agent.

PyPI version Python versions PyPI downloads License X


The problem with SKILL.md

SKILL.md promised a lot. Write a markdown file, tell your agent what to do, and it works. In practice, anyone who has used more than three skills across Claude Code, Codex CLI, or OpenClaw knows the friction:

Pain point What actually happens
No isolation Skills leak into each other. A file-organizer skill and a git-ops skill share the same context window. The agent confuses instructions meant for one with the other.
Reference book, not operating manual Agents treat SKILL.md as a loose suggestion, not a contract. Given a long skill, the model skim-reads it. It picks the parts that seem relevant and ignores the rest.
Token waste Every SKILL.md lives in the system prompt. Add 5 skills at 3KB each and you just burned 15KB of context before the conversation even starts. On long-running tasks this compounds fast.
No validation A typo in a tool name, a missing parameter, an ambiguous instruction. The agent won't catch any of it until runtime, and by then the conversation is 20 turns deep.
Scale decays Skills work at 1–3. At 10+ they become unmanageable. No dependency graph, no conflict detection, no way to tell which skill overrides which.

The core issue isn't the format. It's that SKILL.md is prompt engineering, not software engineering. You're asking an LLM to interpret human prose at runtime, every time, with no compilation, no type checking, no contract.


What agenthatch does

agenthatch treats a SKILL.md as source code — not a prompt. It compiles it through a deterministic pipeline into a standalone Python agent that you can import, ship, and run anywhere.

SKILL.md  →  Parse  →  6-Harness LLM Pipeline  →  Code Generation  →  Runnable Agent
   (input)   (Phase 1)    (Phase 2: AI inference)     (Phase 3: Jinja2)     (output)

The result is a self-contained Python package with its own pyproject.toml, a CLI entry point, typed tool definitions, MCP integration, and a runtime configuration. It's not a wrapper around your skill — it is the skill, compiled into code.


Quick Start

# Install
pip install agenthatch

# Initialize with your LLM provider
agenthatch init

# Add a SKILL.md
agenthatch skills add ./my-skill/SKILL.md

# Hatch it into an agent
agenthatch hatch my-skill

# Run it
agenthatch run my-skill

Three steps from markdown to running agent. The hatched agent lives in your skillhouse and can be re-run anytime.


SKILL.md vs agenthatch

SKILL.md (raw) agenthatch (hatched)
Execution Interpreted at runtime by LLM Compiled into standalone Python package
Isolation All skills share one context window Each agent has its own runtime, tools, and config
Validation None. Typos and ambiguities caught at runtime. Schema-validated AHSSPEC before code generation
Token cost Full skill body in system prompt every turn ~150 bytes of runtime config
Tool definitions Prose descriptions, LLM guesses how to call Type-annotated Python functions with JSON Schema
MCP Manual wiring per agent Auto-detected, auto-configured
Determinism LLM interprets differently each time Same SKILL.md → same AHSSPEC structure (low-temp inference)
Multi-skill scaling Degrades past 3–5 skills Unlimited. Each agent is a separate process.
Debugging Read the LLM's chain-of-thought and pray Standard Python debugging, logging, tests

Architecture

agenthatch runs a 3-phase pipeline with 6 AI harnesses working in parallel:

Phase 1: Deterministic Parse (no AI)

The SKILL.md is parsed for frontmatter, body, and directory files. No AI involved. A pure file-system operation. The output is a ContextPack with zero semantic transformation.

Phase 2: 6-Harness LLM Inference

Six specialized AI harnesses process the skill, each with its own persona and temperature profile:

Harness Role Temp
A — Identity Extract name, version, description from frontmatter 0.1
B — Intent Infer trigger phrases and user intents 0.5
C — Interface Design tool signatures, parameters, and return types 0.5
D — Base Detect runtime base class and instruction structure 0.3
E — Assembly Cross-validate all harness outputs, produce AHSSPEC 0.2
F — MCP Detect and configure MCP server connections 0.3

Each harness runs an Analyze → Infer → Self-Validate → Correct loop with up to 2 internal retries. Harness E cross-validates the other five outputs and produces a unified AHSSPEC (Agent Hatch Standard Specification).

Phase 3: Code Generation

Jinja2 templates render the AHSSPEC into a complete Python agent package:

hatched-agent/
├── pyproject.toml          # pip-installable package
├── runtime.toml            # LLM provider, model, API keys
├── README.md               # Generated usage docs
├── agenthatch.yaml         # AHSSPEC manifest
└── src/{package_name}/
    ├── __init__.py
    ├── agent.py            # Agent class (extends AHCoreAgent)
    ├── tools.py            # Type-annotated tool implementations
    └── references.py       # AI-extracted structured data

Runtime: PlanLayer

Generated agents use the PlanLayer state machine — a 6-state planning engine that runs STARTING → PLANNING → EXECUTING → VERIFYING → REPLANNING → DONE. It adapts mid-task: merges completed steps, branches on failure, and degrades gracefully when tools time out.


How it works under the hood

Click to expand: the full pipeline in detail

Step 1: agenthatch init

Sets up ~/.agenthatch/ with your LLM provider configuration. Supports OpenAI, DeepSeek, Anthropic, and any OpenAI-compatible endpoint. The config file is TOML. Readable, versionable, easy to share.

Step 2: agenthatch skills add <path>

Copies the SKILL.md and its directory into the skillhouse index. The skillhouse tracks every skill you've added, its hatch status, and where its generated agent lives.

Step 3: agenthatch hatch <name>

The full pipeline runs:

Phase 1 (deterministic): Parse SKILL.md → ContextPack
Phase 2 (AI): 6 harnesses → HarnessOutput → Assembly → AHSSPEC
Phase 3 (Jinja2): AHSSPEC → agent package

Flags:

  • --no-generate — skip Phase 3, review the AHSSPEC first
  • --force — overwrite existing hatched agent
  • --dry-run — preview without writing files

Step 4: agenthatch run <name>

Launches the hatched agent in interactive TUI mode. The agent loads its runtime config, connects to its LLM provider, and starts a conversation loop with tool calling, context compaction, and PlanLayer-driven execution.


CLI Reference

Command What it does
agenthatch init Initialize config and provider setup
agenthatch skills add <path> Register a SKILL.md in the skillhouse
agenthatch skills list List all registered skills
agenthatch skills delete <name> Remove a skill from the skillhouse
agenthatch hatch <name> Run the full pipeline (parse → harness → generate)
agenthatch run <name> Launch a hatched agent in interactive TUI
agenthatch search <query> Search the skillhouse index
agenthatch doctor Diagnose environment and dependencies
agenthatch assemble Re-assemble an existing skillhouse agent

Installation

Requires Python 3.11 or later.

For development:

git clone https://github.com/agenthatch/agenthatch.git
cd agenthatch
pip install -e ".[dev]"

Documentation

Document Link
Contributing Guide CONTRIBUTING.md
Security Policy SECURITY.md
Support SUPPORT.md
Roadmap ROADMAP.md
Code of Conduct CODE_OF_CONDUCT.md
Changelog CHANGELOG.md

Community


Contributing

agenthatch is a solo project looking for its first contributors. Issues, pull requests, documentation, design -- every bit moves the project forward.

See CONTRIBUTING.md for dev setup, the quality gate (hatch run quality:check), and PR guidelines.

AI-assisted contributions are welcome. Run the quality gate before submitting — that's all that matters.


FAQ

Who is this for?

Anyone who maintains more than 3 SKILL.md files and feels the friction. Claude Code users, Codex CLI users, OpenClaw users — if you've ever thought "I wish this skill was a real program," this is for you.

Can I use this with Claude Code / Codex / OpenClaw?

Yes. The hatched agent is a standalone Python package. You can run it as a CLI, import it as a library, or wrap it as an MCP server. It doesn't depend on any specific agent platform.

What MCP servers are supported?

Any MCP server that speaks the standard protocol. Harness F auto-detects MCP servers referenced in your SKILL.md and configures them in the generated agent's runtime.

Does this replace SKILL.md?

No. SKILL.md is the input format. agenthatch is the compiler. You still write skills in markdown — agenthatch turns them into agents.


License

MIT — see LICENSE for details.


📖 简体中文版请见 README_CN.md