agent-skillboard 0.2.10 → 0.2.12

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,28 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.2.12 — 2026-07-03
6
+
7
+ ### Changed
8
+
9
+ - Install help and docs now state that global npm installs and updates rerun
10
+ agent-layer setup automatically, refreshing managed guidance files and
11
+ installing into newly detected supported agent roots.
12
+
13
+ ### Fixed
14
+
15
+ - Added regression coverage for update-style postinstall runs so managed
16
+ SkillBoard guidance is refreshed and newly detected agent roots are installed
17
+ during the same lifecycle pass.
18
+
19
+ ## 0.2.11 — 2026-07-03
20
+
21
+ ### Fixed
22
+
23
+ - Codex setup now creates and installs into `~/.agents/skills` when the user
24
+ already has a `~/.agents` home, even if `~/.agents/skills` did not exist yet
25
+ and `~/.codex/skills` was also detected.
26
+
5
27
  ## 0.2.10 — 2026-07-03
6
28
 
7
29
  ### Fixed
package/README.md CHANGED
@@ -102,9 +102,13 @@ by that npm command.
102
102
  The install-time setup writes a user-level `skillboard` guidance skill under
103
103
  detected agent homes. For Codex, detection includes `CODEX_HOME/skills`,
104
104
  `AGENTS_HOME/skills`, `~/.agents/skills`, and `~/.codex/skills`.
105
+ If `~/.agents` already exists, setup creates `~/.agents/skills` because that is
106
+ the shared Codex-visible skill tree in LazyCodex-style environments.
105
107
  It does not create `skillboard.config.yaml`,
106
108
  `.skillboard/`, `AGENTS.md`, or `CLAUDE.md` in projects.
107
- No separate setup command is required after a normal global install.
109
+ No separate setup command is required after a normal global install or update:
110
+ npm lifecycle scripts rerun the agent-home scan, refresh managed SkillBoard
111
+ guidance files, and add newly detected supported agent roots.
108
112
 
109
113
  Run `skillboard setup --agent codex,claude,opencode,hermes --yes` later only
110
114
  after adding another supported agent, enabling a new agent home, or installing
@@ -7,14 +7,14 @@ if (isTruthy(process.env.SKILLBOARD_SKIP_POSTINSTALL)) {
7
7
  }
8
8
 
9
9
  process.stderr.write(`${[
10
- "SkillBoard installed.",
10
+ "SkillBoard installed or updated.",
11
11
  "It does not change agent configs or project files.",
12
12
  ""
13
13
  ].join("\n")}\n`);
14
14
 
15
15
  if (!shouldAutoSetup(process.env)) {
16
16
  process.stderr.write(`${[
17
- "Global installs auto-run agent setup when supported agent homes are detected.",
17
+ "Global installs and updates auto-run agent setup when supported agent homes are detected.",
18
18
  "Run skillboard setup later after adding another supported agent:",
19
19
  " skillboard setup",
20
20
  "",
@@ -40,7 +40,7 @@ try {
40
40
  packageSpec: "agent-skillboard"
41
41
  });
42
42
  if (exitCode === 0) {
43
- process.stderr.write("Agent setup complete. Run skillboard setup later after adding another supported agent.\n");
43
+ process.stderr.write("Agent setup complete. Package updates rerun this setup automatically; run skillboard setup later after adding another supported agent.\n");
44
44
  } else {
45
45
  process.stderr.write("Agent setup did not find supported agent homes. Run skillboard setup after installing or enabling a supported agent.\n");
46
46
  }
package/docs/install.md CHANGED
@@ -44,7 +44,13 @@ The install-time setup writes a user-level SkillBoard guidance skill under
44
44
  detected agent homes such as `CODEX_HOME`, `AGENTS_HOME`, `CLAUDE_HOME`,
45
45
  `OPENCODE_HOME`, and `HERMES_HOME`. Codex detection also checks
46
46
  `~/.agents/skills` and `~/.codex/skills`.
47
- No separate setup command is required after a normal global install.
47
+ If `~/.agents` exists but `~/.agents/skills` does not, setup creates the
48
+ `skills` directory and installs the guidance skill there so Codex profiles that
49
+ read the shared agent skill tree can see SkillBoard after restart.
50
+ No separate setup command is required after a normal global install or update.
51
+ When npm runs lifecycle scripts, package updates rerun the agent-home scan,
52
+ refresh managed SkillBoard guidance files, and add newly detected supported
53
+ agent roots.
48
54
 
49
55
  Run `skillboard setup` later when you add another supported agent, enable a new
50
56
  agent home, intentionally skipped lifecycle scripts, or need to repair the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-skillboard",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "Let AI agents pick and use allowed skills in each workflow.",
5
5
  "keywords": [
6
6
  "ai-agent",
@@ -12,7 +12,11 @@ export async function detectedAgentSkillRoots(agent, home = homedir(), env = pro
12
12
  const candidates = await agentSkillRootCandidates(agent, home, env);
13
13
  const detected = [];
14
14
  for (const candidate of candidates) {
15
- if (candidate.explicit || await exists(candidate.skillRoot)) {
15
+ if (
16
+ candidate.explicit
17
+ || await exists(candidate.skillRoot)
18
+ || candidate.detectWhenExists !== undefined && await exists(candidate.detectWhenExists)
19
+ ) {
16
20
  detected.push(candidate);
17
21
  }
18
22
  }
@@ -41,10 +45,11 @@ export async function agentSkillRootCandidates(agent, home = homedir(), env = pr
41
45
  const normalized = normalizeAgent(agent);
42
46
  const xdgConfig = env.XDG_CONFIG_HOME ?? join(home, ".config");
43
47
  if (normalized === "codex") {
48
+ const agentsHome = join(home, ".agents");
44
49
  return uniqueCandidates([
45
50
  env.CODEX_HOME === undefined ? null : candidate(join(env.CODEX_HOME, "skills"), "CODEX_HOME/skills", true, false),
46
51
  env.AGENTS_HOME === undefined ? null : candidate(join(env.AGENTS_HOME, "skills"), "AGENTS_HOME/skills", true, false),
47
- candidate(join(home, ".agents", "skills"), "~/.agents/skills", false, false),
52
+ candidate(join(agentsHome, "skills"), "~/.agents/skills", false, false, agentsHome),
48
53
  candidate(join(home, ".codex", "skills"), "~/.codex/skills", false, true)
49
54
  ]);
50
55
  }
@@ -79,8 +84,8 @@ function normalizeAgent(agent) {
79
84
  return agent;
80
85
  }
81
86
 
82
- function candidate(skillRoot, source, explicit, fallback) {
83
- return { skillRoot, source, explicit, fallback };
87
+ function candidate(skillRoot, source, explicit, fallback, detectWhenExists) {
88
+ return { skillRoot, source, explicit, fallback, detectWhenExists };
84
89
  }
85
90
 
86
91
  function fallbackCandidate(candidates) {
package/src/cli.mjs CHANGED
@@ -1549,7 +1549,7 @@ function helpText() {
1549
1549
  "After global install:",
1550
1550
  " npm install -g agent-skillboard",
1551
1551
  " sudo npm install -g agent-skillboard is also supported when system npm requires it.",
1552
- " The package postinstall auto-runs agent-layer guidance setup for detected supported agents.",
1552
+ " The package postinstall auto-runs agent-layer guidance setup on install and update.",
1553
1553
  " Under sudo, setup targets SUDO_USER's agent homes while npm still controls the binary prefix.",
1554
1554
  " Run skillboard setup later after adding another supported agent or when install scripts were skipped.",
1555
1555
  "",