Module: Ask::Skills

Defined in:
lib/ask/skills.rb,
lib/ask/skills/skill.rb,
lib/ask/skills/version.rb,
lib/ask/skills/registry.rb,
lib/ask/skills/formatter.rb,
lib/ask/skills/validator.rb,
lib/ask/skills/sources/base.rb,
lib/ask/skills/sources/gems.rb,
lib/ask/skills/sources/filesystem.rb

Defined Under Namespace

Modules: Source Classes: Error, Formatter, Registry, Skill, Validator

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.builtin_skills_dirObject



33
34
35
36
37
38
# File 'lib/ask/skills.rb', line 33

def builtin_skills_dir
  # Skills live in lib/ask/skills/<skill_name>/SKILL.md
  # __dir__ in this file (lib/ask/skills.rb) is lib/ask/
  # The skill directories are in lib/ask/skills/
  File.join(__dir__, "skills")
end

.default_sourcesObject



23
24
25
26
27
28
29
30
31
# File 'lib/ask/skills.rb', line 23

def default_sources
  [
    # Highest priority first — first source wins in Registry
    Source::Filesystem.new(project_dir: ".agents/skills"),
    Source::Filesystem.new(user_dir: "~/.config/ask/skills"),
    Source::Gems.new,
    Source::Filesystem.new(dir: builtin_skills_dir),
  ]
end

.discover(sources: nil) ⇒ Object



19
20
21
# File 'lib/ask/skills.rb', line 19

def discover(sources: nil)
  Registry.new(sources || default_sources)
end