ask-agent 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: edea591926e0360d2eb24990d423ef183e3abf99bc141df768a7ee11774db288
4
- data.tar.gz: 2e5f013ee517281679e0ab717792ce3110411389b1b2df185b7d6c4c7636e106
3
+ metadata.gz: 80bddb94871d90233cf471e4a0667e6c2bb109edda83e772403000e6c86234bc
4
+ data.tar.gz: 9095268cfba594c639620991a60f490414b2834b7cd0d627732a7e17c1a4ba65
5
5
  SHA512:
6
- metadata.gz: d7a430b5c791d0d25920836d604f529b1cac16e8c608f6ebaf1c04b0e5b449a1887c8b3a293ed1e2c6e75cdea23fc7c8614f0e80860c6cfad234951eaf8bc1f7
7
- data.tar.gz: 580ccbb6e82210c446f7c8669d0b57a3fb90297156502d6a6c4a872c3f871c6838722c754fe02577083dc49f5cd28da9365d5f9da800d5e1921302bd8bd10958
6
+ metadata.gz: b792c3dcc1323e1c491c815d3ce8a58e7b253731f7cc5ed7189a4287b5acac5c2e5a5f9909d2b71705d805c8536057ad189e7d72482ef9cef06c27a48aa04b32
7
+ data.tar.gz: 4ca8a713e64926e58c97408ccaba3dc12e5b2f0f2ae9d4cd6f128ba2bebab4610ecaca559f9ff79e8d13706a6548b85f51e4be7ca176160239b8c38a17415984
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [0.10.0] — 2026-07-21
2
+
3
+ ### Added
4
+
5
+ - **`askr skills` CLI commands** — new subcommands for discovering and inspecting skills:
6
+
7
+ ```bash
8
+ askr skills list # All discovered skills with descriptions and tags
9
+ askr skills show rails_debug # Full details + instructions + sibling files
10
+ askr skills search deploy # Search by name, description, or tags
11
+ ```
12
+
13
+ Skills commands integrate with ask-skills 0.4.0, supporting enhanced frontmatter (tags, version, metadata) and sibling file discovery.
14
+
1
15
  ## [0.9.1] — 2026-07-21
2
16
 
3
17
  ### Changed
data/lib/ask/agent/cli.rb CHANGED
@@ -15,6 +15,8 @@ module Ask
15
15
  cmd_schedule
16
16
  when "new"
17
17
  cmd_new(argv[1..])
18
+ when "skills"
19
+ cmd_skills(argv[1..])
18
20
  when "help", "--help", "-h", nil
19
21
  cmd_help
20
22
  else
@@ -150,6 +152,113 @@ module Ask
150
152
  puts "Run it: askr run #{name}"
151
153
  end
152
154
 
155
+ def cmd_skills(args)
156
+ sub = args.first
157
+
158
+ case sub
159
+ when "list"
160
+ cmd_skills_list
161
+ when "show"
162
+ cmd_skills_show(args[1])
163
+ when "search"
164
+ cmd_skills_search(args[1])
165
+ else
166
+ puts "Usage: askr skills <list|show|search>"
167
+ puts ""
168
+ puts "Commands:"
169
+ puts " list List all discovered skills"
170
+ puts " show <name> Show skill details and sibling files"
171
+ puts " search <query> Search skills by name, description, or tags"
172
+ end
173
+ end
174
+
175
+ def cmd_skills_list
176
+ require "ask/skills"
177
+ registry = Ask::Skills.discover
178
+
179
+ if registry.names.empty?
180
+ puts "No skills found."
181
+ return
182
+ end
183
+
184
+ puts "Discovered skills:"
185
+ puts ""
186
+ registry.names.sort.each do |name|
187
+ skill = registry[name]
188
+ puts " #{skill.name}"
189
+ puts " description: #{skill.description}"
190
+ puts " tags: #{skill.tags.join(", ")}" if skill.tags.any?
191
+ siblings = skill.siblings
192
+ if siblings.any?
193
+ summaries = siblings.map { |cat, files| "#{files.length} #{cat}" }.join(", ")
194
+ puts " files: #{summaries}"
195
+ end
196
+ end
197
+ end
198
+
199
+ def cmd_skills_show(name)
200
+ unless name
201
+ puts "Usage: askr skills show <name>"
202
+ exit 1
203
+ end
204
+
205
+ require "ask/skills"
206
+ registry = Ask::Skills.discover
207
+ skill = registry[name]
208
+
209
+ unless skill
210
+ puts "Skill not found: #{name}"
211
+ exit 1
212
+ end
213
+
214
+ puts "Name: #{skill.name}"
215
+ puts "Description: #{skill.description}"
216
+ puts "Source: #{skill.source}"
217
+ puts "Tags: #{skill.tags.join(", ")}" if skill.tags.any?
218
+
219
+ if skill.siblings.any?
220
+ puts ""
221
+ puts "Sibling files:"
222
+ skill.siblings.each do |category, files|
223
+ puts " #{category}/"
224
+ files.each { |f| puts " #{f}" }
225
+ end
226
+ end
227
+
228
+ puts ""
229
+ puts "--- Instructions ---"
230
+ puts skill.instructions
231
+ end
232
+
233
+ def cmd_skills_search(query)
234
+ unless query
235
+ puts "Usage: askr skills search <query>"
236
+ exit 1
237
+ end
238
+
239
+ require "ask/skills"
240
+ registry = Ask::Skills.discover
241
+ query_down = query.downcase
242
+
243
+ matches = registry.names.select do |name|
244
+ skill = registry[name]
245
+ name.downcase.include?(query_down) ||
246
+ skill.description.downcase.include?(query_down) ||
247
+ skill.tags.any? { |t| t.downcase.include?(query_down) }
248
+ end
249
+
250
+ if matches.empty?
251
+ puts "No skills matching \"#{query}\"."
252
+ return
253
+ end
254
+
255
+ puts "Skills matching \"#{query}\":"
256
+ matches.sort.each do |name|
257
+ skill = registry[name]
258
+ puts " #{skill.name} — #{skill.description}"
259
+ end
260
+ end
261
+
153
262
  def cmd_help
154
263
  puts <<~HELP
155
264
  Usage: askr <command> [options]
@@ -159,18 +268,26 @@ module Ask
159
268
  list List all discovered agents
160
269
  schedule Start the scheduler for all scheduled agents
161
270
  new <name> Scaffold a new agent directory
271
+ skills list List all discovered skills
272
+ skills show <name> Show skill details and instructions
273
+ skills search <query> Search skills by name, description, or tags
162
274
  help Show this help
163
275
 
164
276
  Examples:
165
277
  askr list
166
278
  askr run health_check
167
- askr run health_check "Check the server status"
168
- askr new deploy_bot
169
279
  askr schedule
280
+ askr skills list
281
+ askr skills show rails_debug
282
+ askr skills search deploy
170
283
 
171
284
  Agent directories are discovered from:
172
285
  ./agents/<name>/agent.rb
173
286
  ./app/agents/<name>/agent.rb
287
+
288
+ Skills are discovered from:
289
+ ./agents/shared/skills/<name>/SKILL.md
290
+ ./app/agents/shared/skills/<name>/SKILL.md
174
291
  HELP
175
292
  end
176
293
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ask
4
4
  module Agent
5
- VERSION = "0.9.1"
5
+ VERSION = "0.10.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ask-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kaka Ruto