harnex 0.2.1 → 0.2.2

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: 33c38b43c188b222f3e5c7f7fb31faa40dfdafb915cd7701c30e0d99a061536f
4
- data.tar.gz: 39fc5c7f891d0afe34369e45c6dfaef0b7f6a2529424e8e77a9074dc37d5e913
3
+ metadata.gz: 2f5551eb9f757a6028039163377a2a10bd044132513b582d50c94a5ababde1b4
4
+ data.tar.gz: 82a6b0e9d329c94b40c2ee79ea4bd0a153cce8e5a246c208e27d7eee702d22f4
5
5
  SHA512:
6
- metadata.gz: dcdeb08358531f7454c9c5cafc36d8dcb70a03fd08d0eb67193dafaed17bc369331a761111280ce90df0b2ec524b00b2222805bdd0cd0d2a7ba8af519500819c
7
- data.tar.gz: 4369820425e0509a48af6b7e1c9c5f6a8aaf834da91e8be382cb70d5fc35ec602fb70cbc955c5999ad5b3587c42c48d9dc6f42b77dde611c970a04a78857d9d2
6
+ metadata.gz: cf269eb8b5bbf171154f0530d26f3135866e966e085c386326183432c4cf6b0c5cdd45f3585dd5632c7bd0db4098a54193c4d815bf4e1ab8256aa22c4f1aec9f
7
+ data.tar.gz: be798ec3085903e0851d7cd20b31789eed202b076774a144ed8038d23d1d61aa12ac8c9489b04370498f3108d2138672a3db2a36ba4efdb3b7c1e7763b219626
data/README.md CHANGED
@@ -15,11 +15,11 @@ Requires **Ruby 3.x**. No other dependencies.
15
15
  Then install workflow skills into your repo so agents can use them:
16
16
 
17
17
  ```bash
18
- harnex skills install dispatch chain-implement open close
18
+ harnex skills install
19
19
  ```
20
20
 
21
- This adds orchestration skills (fire-and-watch, chain-implement, session
22
- lifecycle) that Claude Code and Codex pick up automatically.
21
+ This adds orchestration skills (dispatch, chain-implement) that Claude
22
+ Code and Codex pick up automatically.
23
23
 
24
24
  ## What it does
25
25
 
@@ -100,7 +100,7 @@ Harnex ships workflow skills that automate this pattern:
100
100
  Install skills into your repo so agents can use them:
101
101
 
102
102
  ```bash
103
- harnex skills install dispatch chain-implement
103
+ harnex skills install
104
104
  ```
105
105
 
106
106
  ## All commands
data/lib/harnex/cli.rb CHANGED
@@ -108,7 +108,7 @@ module Harnex
108
108
  harnex logs --id main --follow
109
109
  harnex pane --id main --lines 40
110
110
  harnex send --id main --message "Summarize current progress."
111
- harnex skills install close
111
+ harnex skills install
112
112
  TEXT
113
113
  end
114
114
  end
@@ -3,11 +3,11 @@ require "fileutils"
3
3
  module Harnex
4
4
  class Skills
5
5
  SKILLS_ROOT = File.expand_path("../../../../skills", __FILE__)
6
- DEFAULT_SKILL = "harnex"
6
+ INSTALL_SKILLS = %w[dispatch chain-implement].freeze
7
7
 
8
8
  def self.usage
9
9
  <<~TEXT
10
- Usage: harnex skills install [SKILL...] [--global]
10
+ Usage: harnex skills install [--global]
11
11
 
12
12
  Subcommands:
13
13
  install Install bundled skills into the current repo
@@ -16,12 +16,9 @@ module Harnex
16
16
  --global Install to ~/.claude/skills and ~/.codex/skills
17
17
  instead of the current repo
18
18
 
19
- Available skills: #{bundled_skill_names.join(', ')}
19
+ Installs: #{INSTALL_SKILLS.join(', ')}
20
20
 
21
- With no SKILL argument, installs #{DEFAULT_SKILL.inspect}.
22
- Pass one or more skill names to install specific skills.
23
-
24
- Without --global, copies the skill to .claude/skills/<skill>/
21
+ Without --global, copies each skill to .claude/skills/<skill>/
25
22
  in the current repo and symlinks .codex/skills/<skill> to it.
26
23
 
27
24
  With --global, symlinks both ~/.claude/skills/<skill> and
@@ -29,10 +26,6 @@ module Harnex
29
26
  TEXT
30
27
  end
31
28
 
32
- def self.bundled_skill_names
33
- Dir.children(SKILLS_ROOT).select { |name| File.directory?(File.join(SKILLS_ROOT, name)) }.sort
34
- end
35
-
36
29
  def initialize(argv)
37
30
  @argv = argv.dup
38
31
  end
@@ -70,7 +63,6 @@ module Harnex
70
63
  private
71
64
 
72
65
  def parse_install_args(args)
73
- skill_names = []
74
66
  global = false
75
67
  help = false
76
68
 
@@ -83,25 +75,21 @@ module Harnex
83
75
  when /\A-/
84
76
  raise "harnex skills: unknown option #{arg.inspect}"
85
77
  else
86
- skill_names << arg
78
+ warn("harnex skills install: unexpected argument #{arg.inspect}")
79
+ raise "harnex skills install takes no positional arguments"
87
80
  end
88
81
  end
89
82
 
90
- skill_names = [DEFAULT_SKILL] if skill_names.empty?
91
-
92
- [skill_names, global, help]
83
+ [INSTALL_SKILLS, global, help]
93
84
  end
94
85
 
95
86
  def resolve_skill_source(skill_name)
96
- return nil unless self.class.bundled_skill_names.include?(skill_name)
97
-
98
- File.join(SKILLS_ROOT, skill_name)
87
+ path = File.join(SKILLS_ROOT, skill_name)
88
+ File.directory?(path) ? path : nil
99
89
  end
100
90
 
101
91
  def missing_skill(skill_name)
102
- warn("harnex skills: unknown skill #{skill_name.inspect}")
103
- available = self.class.bundled_skill_names
104
- warn("available skills: #{available.join(', ')}") unless available.empty?
92
+ warn("harnex skills: bundled skill #{skill_name.inspect} not found at #{SKILLS_ROOT}")
105
93
  1
106
94
  end
107
95
 
@@ -1,3 +1,3 @@
1
1
  module Harnex
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harnex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jikku Jose