Summary
Add a sample showing how to run ANY skill using the AgentSkills plugin + use_agent + handoff_to_user. Replicates Kiro/Claude Code experience with zero hardcoding.
Proposed Location
02-samples/skill-agent-runner/
Core Pattern
import sys
from strands import Agent
from strands.vended_plugins.skills import Skill, AgentSkills
from strands_tools import use_agent, handoff_to_user, shell, file_read, file_write
skill = Skill.from_file(sys.argv[1]) # path to skill dir
agent = Agent(
plugins=[AgentSkills(skills=[skill])],
tools=[use_agent, handoff_to_user, shell, file_read, file_write],
)
agent(sys.argv[2] if len(sys.argv) > 2 else input("Task: "))
Why AgentSkills instead of raw system_prompt
AgentSkills uses progressive disclosure: injects skill metadata upfront, full instructions loaded on demand via skills tool
- Supports multi-skill via
Skill.from_directory()
- Proper plugin pattern — future-proof as plugin API evolves
Checklist
References
Summary
Add a sample showing how to run ANY skill using the
AgentSkillsplugin +use_agent+handoff_to_user. Replicates Kiro/Claude Code experience with zero hardcoding.Proposed Location
02-samples/skill-agent-runner/Core Pattern
Why AgentSkills instead of raw system_prompt
AgentSkillsuses progressive disclosure: injects skill metadata upfront, full instructions loaded on demand viaskillstoolSkill.from_directory()Checklist
AgentSkillsplugin withSkill.from_file()use_agentfor dynamic subagent spawninghandoff_to_userfor human-in-the-loop gatesReferences