-
Notifications
You must be signed in to change notification settings - Fork 769
AgentSkills: support loading skills from GitHub URLs #2090
Copy link
Copy link
Open
Description
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:
- Detect URL-type sources (e.g.,
https://github.com/...) - Fetch the repo contents (SKILL.md + references/ + scripts/ + assets/)
- Cache them locally (e.g., in a temp dir or configurable cache path)
- 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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels