---
schema_version: "newruntime-agent-readable-v0.2"
type: "post"
stable_id: "post:genkit-agent-skills-progressive-disclosure"
slug: "genkit-agent-skills-progressive-disclosure"
title: "Genkit Adds Progressive Disclosure For Agent Skills"
description: "Genkit now loads Agent Skills through middleware that discovers SKILL.md metadata first and activates full instructions, references, and scripts only when needed."
retrieval_nugget: "Genkit now loads Agent Skills through middleware that discovers SKILL.md metadata first and activates full instructions, references, and scripts only when needed. Google added Agent Skills support to Genkit across TypeScript, Go, Dart, and Python. The implementation makes progressive disclosure a harness behavior rather than a prompting convention. A skill remains a normal directory."
status: "published"
published_at: "2026-08-01"
updated_at: "2026-08-01"
record_date: "2026-08-01"
date_kind: "published_at"
topics: ["skills","context-engineering","genkit","agent-harnesses"]
source_urls: ["https://developers.googleblog.com/enable-on-demand-expertise-with-agent-skills-in-genkit-go"]
visuals: [{"id":"genkit-agent-skills-progressive-disclosure","kind":"editorial-diagram","role":"hero","src":"https://newruntime.com/images/posts/genkit-agent-skills-progressive-disclosure.webp","alt":"Hand-drawn progressive disclosure flow where skill metadata is scanned first, a matching request activates one SKILL file, and references or scripts load only for execution.","caption":"Genkit makes skill activation a middleware lifecycle instead of permanent prompt stuffing.","credit":"New Runtime synthesis from Google Developers Blog","source_url":"https://developers.googleblog.com/enable-on-demand-expertise-with-agent-skills-in-genkit-go","generated_with":"gemini-3.1-flash-image","width":1600,"height":900,"legend":[{"label":"Discovery","description":"The harness scans skill folders and exposes compact frontmatter descriptions."},{"label":"Activation","description":"A matching request triggers the full SKILL instructions through a dedicated tool."},{"label":"Execution","description":"References, assets, and scripts load only when the active workflow requires them."}]}]
telegram_message_id: 2902
telegram_url: "https://t.me/qwgai/2902"
telegram_message_ids: [2902,2903]
telegram_delivery_mode: "text_then_media"
telegram_media_url: "https://t.me/qwgai/2903"
routes: {"html":"https://newruntime.com/posts/genkit-agent-skills-progressive-disclosure/","markdown":"https://newruntime.com/posts/genkit-agent-skills-progressive-disclosure.md","json":"https://newruntime.com/posts/genkit-agent-skills-progressive-disclosure.json"}
source_format: "markdown"
---

# Genkit Adds Progressive Disclosure For Agent Skills

## Retrieval answer

Genkit now loads Agent Skills through middleware that discovers SKILL.md metadata first and activates full instructions, references, and scripts only when needed. Google added Agent Skills support to Genkit across TypeScript, Go, Dart, and Python. The implementation makes progressive disclosure a harness behavior rather than a prompting convention. A skill remains a normal directory.

Google added Agent Skills support to Genkit across TypeScript, Go, Dart, and Python. The implementation makes progressive disclosure a harness behavior rather than a prompting convention.

A skill remains a normal directory. `SKILL.md` contains metadata and instructions, while optional `scripts`, `references`, and `assets` hold executable or supporting resources. At initialization, Genkit scans configured skill paths and puts only frontmatter metadata into the system prompt.

When a request matches a skill description, middleware exposes a `use_skill` activation path and loads the full instructions. The active skill can then pull its own references or execute bundled scripts. Unrelated skills stay out of the model's working context.

In Genkit Go, this is implemented through the middleware lifecycle. Model wrappers handle individual calls, tool wrappers intercept executions, and generate wrappers see complete tool-loop iterations. The Skills middleware uses those hooks to discover, activate, and execute specialized knowledge without requiring a separate service.

The minimum integration is small: install the Genkit Go SDK, point the Skills middleware at one or more directories, and pass it through `ai.WithUse` during generation. That simplicity preserves a useful property of skills: they can be versioned and distributed like code.

The quality risk moves to metadata. If hundreds of skills have vague or overlapping descriptions, progressive disclosure still selects poorly. Genkit solves the loading mechanism. Teams still need ownership, collision checks, trace-based usage audits, and tests for when a skill should activate.
