Class: XAeonAgents::Agents::SkillInstallerAgent
- Inherits:
-
ComposableAgents::Agent
- Object
- ComposableAgents::Agent
- XAeonAgents::Agents::SkillInstallerAgent
- Includes:
- XAeonAgents::AgentDefaults
- Defined in:
- lib/x_aeon_agents/agents/skill_installer_agent.rb
Overview
Agent responsible for installing skills from the .skills manifest.
Instance Method Summary collapse
-
#input_artifacts_contracts ⇒ Hash{Symbol => Object}
Define input artifacts contracts.
-
#run(agent: 'cline') ⇒ Hash{Symbol => Object}
Execute the agent to install skills from the .skills manifest.
Methods included from XAeonAgents::AgentDefaults
#new_agent, prepended, singleton_session_id
Instance Method Details
#input_artifacts_contracts ⇒ Hash{Symbol => Object}
Define input artifacts contracts
12 13 14 |
# File 'lib/x_aeon_agents/agents/skill_installer_agent.rb', line 12 def input_artifacts_contracts { agent: 'Agent name to be used to install skills' } end |
#run(agent: 'cline') ⇒ Hash{Symbol => Object}
Execute the agent to install skills from the .skills manifest.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/x_aeon_agents/agents/skill_installer_agent.rb', line 20 def run(agent: 'cline') agent_name = agent.to_sym original_no_color = ENV.fetch('NO_COLOR', nil) ENV['NO_COLOR'] = '1' begin list_lines = `skillkit manifest`.split("\n") ensure ENV['NO_COLOR'] = original_no_color end list_lines = list_lines[(list_lines.index('Skills:') + 1)..] list_lines[0..(list_lines.index('') - 1)].each_slice(2) do |repo_desc, skills_desc| install_skills_recursive( repo_desc[4..].strip, skills_desc[12..].split(',').map(&:strip), agent_name ) end puts puts 'Skills identified in the skillkit manifest and their dependencies have been installed successfully' { installed: true } end |