Skip to content

AgentSkills: support loading skills from GitHub URLs #2090

@dgallitelli

Description

@dgallitelli

Feature Request

Problem

The AgentSkills plugin and Skill class currently only support loading skills from local filesystem paths or raw content strings. This means skills hosted on GitHub (or any remote URL) must be manually cloned or downloaded before they can be used.

For example, given a public skill repo like aws-data-agent-skill, the current workflow requires:

# Current: must clone first, then point to local path
plugin = AgentSkills(skills=["./data-agent"])

Proposed Solution

Support GitHub URLs (and optionally generic HTTPS URLs) as skill sources:

from strands import Agent, AgentSkills

# Load skill directly from a GitHub repo
plugin = AgentSkills(skills=["https://github.com/dgallitelli/aws-data-agent-skill"])

# Or mixed with local skills
plugin = AgentSkills(skills=[
    "https://github.com/org/skill-repo",
    "./local-skills/my-skill",
])

agent = Agent(plugins=[plugin])

The plugin would:

  1. Detect URL-type sources (e.g., https://github.com/...)
  2. Fetch the repo contents (SKILL.md + references/ + scripts/ + assets/)
  3. Cache them locally (e.g., in a temp dir or configurable cache path)
  4. Load them as normal filesystem skills via the existing Skill.from_file() path

Why This Matters

  • Shareable skills — Teams can publish skills as GitHub repos and reference them directly, without manual cloning or vendoring into every project.
  • Version pinning — Could support branch/tag/commit references: https://github.com/org/skill@v1.0.0
  • Cleaner deployments — Agents deployed to AgentCore Runtime or Lambda would not need to bundle skill files in the deployment package; they could fetch them at startup or build time.
  • Ecosystem growth — Lowers the friction for sharing and discovering community skills.

Alternatives Considered

  • Manual git clone at startup — Works but adds boilerplate to every agent that uses remote skills.
  • Git submodules — Adds complexity to the repo structure.
  • Skill.from_content() with httpx — Possible but loses the directory structure (references/, scripts/, assets/).

Additional Context

This came up while building a data discovery agent that uses a skill published at github.com/dgallitelli/aws-data-agent-skill and deployed on AgentCore Runtime. The skill works great when bundled locally, but it would be cleaner to reference the GitHub URL directly — especially for demos and quick prototyping.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions