Skip to content

feat: Introduce a "Skills" framework for ADK agents#1055

Open
copybara-service[bot] wants to merge 1 commit intomainfrom
test_885332438
Open

feat: Introduce a "Skills" framework for ADK agents#1055
copybara-service[bot] wants to merge 1 commit intomainfrom
test_885332438

Conversation

@copybara-service
Copy link

feat: Introduce a "Skills" framework for ADK agents

This change adds a new "Skills" framework to the ADK, enabling agents to discover, load, and execute modular skills. Skills are defined by a SKILL.md file containing frontmatter and instructions, and can include additional resources like references, assets, and scripts.

Key components include:

  • SkillLoader: An interface with implementations for loading skills from local files (LocalSkillLoader) and Google Cloud Storage (GcsSkillLoader).
  • Frontmatter, Resources, Script, and Skill: Data models representing the structure of a skill.
  • SkillToolset: A new BaseToolset that provides tools for interacting with skills:
    • list_skills: Lists available skills.
    • load_skill: Loads the main instructions of a skill.
    • load_skill_resource: Loads files from a skill's references/, assets/, or scripts/ directories.
    • run_skill_script: Executes scripts within a skill's scripts/ directory using a provided BaseCodeExecutor.
  • The SkillToolset also adds default system instructions to guide the LLM on how to use skills.
  • The LlmAgent and BaseLlmFlow are updated to properly integrate the SkillToolset's request processing.

@copybara-service copybara-service bot force-pushed the test_885332438 branch 14 times, most recently from d61449c to 8d710bb Compare March 19, 2026 02:16
This change adds a new "Skills" framework to the ADK, enabling agents to discover, load, and execute modular skills. Skills are defined by a `SKILL.md` file containing frontmatter and instructions, and can include additional resources like references, assets, and scripts.

Key components include:
-   `SkillLoader`: An interface with implementations for loading skills from local files (`LocalSkillLoader`) and Google Cloud Storage (`GcsSkillLoader`).
-   `Frontmatter`, `Resources`, `Script`, and `Skill`: Data models representing the structure of a skill.
-   `SkillToolset`: A new `BaseToolset` that provides tools for interacting with skills:
    -   `list_skills`: Lists available skills.
    -   `load_skill`: Loads the main instructions of a skill.
    -   `load_skill_resource`: Loads files from a skill's `references/`, `assets/`, or `scripts/` directories.
    -   `run_skill_script`: Executes scripts within a skill's `scripts/` directory using a provided `BaseCodeExecutor`.
-   The `SkillToolset` also adds default system instructions to guide the LLM on how to use skills.
-   The `LlmAgent` and `BaseLlmFlow` are updated to properly integrate the `SkillToolset`'s request processing.

PiperOrigin-RevId: 885332438
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant