specweave 1.0.491 → 1.0.493

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/README.md CHANGED
@@ -190,7 +190,7 @@ SpecWeave solves multi-agent chaos with **file-based coordination**:
190
190
 
191
191
  ### Three Pillars
192
192
 
193
- **Programmable AI** — Skills are programs in English. Customize any skill's behavior via `skill-memories/*.md` without forking. Your rules override defaults. Original skills keep getting updates.
193
+ **Extensible AI** — Skills extend what AI coding agents can do — structured markdown instructions that define how an agent behaves. Customize any skill via `skill-memories/*.md` without forking. Your rules override defaults. Original skills keep getting updates.
194
194
 
195
195
  **Autonomous Teams** — Run agent swarms across iTerm/tmux panes. Each agent owns an increment. File-based coordination prevents conflicts. Work on auth, payments, and notifications simultaneously.
196
196
 
@@ -283,7 +283,7 @@ Claude: *automatically uses React Hook Form + Zod*
283
283
  | Obfuscated behavior | Transparent SKILL.md |
284
284
  | Can't customize | Extend via skill-memories |
285
285
  | Vendor lock-in | You control the logic |
286
- | Suggestions only | Programmable reasoning |
286
+ | Suggestions only | Structured reasoning |
287
287
 
288
288
  **Enable auto-learning:**
289
289
  ```bash
@@ -291,7 +291,7 @@ Claude: *automatically uses React Hook Form + Zod*
291
291
  /sw:reflect-status # See what Claude has learned
292
292
  ```
293
293
 
294
- **[Skills deep dive](https://verified-skill.com/docs/overview/skills-as-programs)** | **[Skill development guidelines](https://verified-skill.com/docs/guides/skill-development-guidelines)** | **[Skill generation](https://verified-skill.com/docs/skills/extensible/skill-generation)**
294
+ **[Skills deep dive](https://verified-skill.com/docs/overview/skills-as-structured-expertise)** | **[Skill development guidelines](https://verified-skill.com/docs/guides/skill-development-guidelines)** | **[Skill generation](https://verified-skill.com/docs/skills/extensible/skill-generation)**
295
295
 
296
296
  **AI-Powered Skill Generation:** SpecWeave automatically detects recurring patterns across your project's living docs using LLM analysis -- not hardcoded keyword matching. When patterns mature, it suggests generating project-specific Claude Code skills complete with evals and benchmarks. Use `--seed` mode to bootstrap instantly on existing projects. [Learn more](https://verified-skill.com/docs/skills/extensible/skill-generation).
297
297
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "1.0.491",
3
+ "version": "1.0.493",
4
4
  "description": "100+ domain-expert AI skills — PM, Architect, Frontend, QA, Security and more. Skills learn your team's patterns permanently. Spec-first planning, autonomous execution, multi-agent teams, synced to GitHub/JIRA. Claude Code, Cursor, Copilot & more.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -110,10 +110,10 @@ if [[ -z "$INCREMENT_DIR" ]] || [[ ! -d "$INCREMENT_DIR" ]]; then
110
110
  --arg old_priority "$old_priority" '
111
111
  del(.increments[$id]) |
112
112
  del(.mtimes[$id]) |
113
- .summary.total -= 1 |
114
- .summary[$old_status_key] -= 1 |
115
- .summary.byType[$old_type] -= 1 |
116
- .summary.byPriority[$old_priority] -= 1 |
113
+ .summary.total = ((.summary.total // 0) - 1) |
114
+ .summary[$old_status_key] = ((.summary[$old_status_key] // 0) - 1) |
115
+ .summary.byType[$old_type] = ((.summary.byType[$old_type] // 0) - 1) |
116
+ .summary.byPriority[$old_priority] = ((.summary.byPriority[$old_priority] // 0) - 1) |
117
117
  .updatedAt = (now | strftime("%Y-%m-%dT%H:%M:%SZ"))
118
118
  ' "$CACHE_FILE" > "$TEMP_FILE"
119
119
  mv "$TEMP_FILE" "$CACHE_FILE"
@@ -270,10 +270,10 @@ if [[ "$is_new" == "true" ]]; then
270
270
  --arg priority "$priority" '
271
271
  .increments[$id] = $inc |
272
272
  .mtimes[$id] = $mtime |
273
- .summary.total += 1 |
274
- .summary[$status_key] += 1 |
275
- .summary.byType[$type] += 1 |
276
- .summary.byPriority[$priority] += 1 |
273
+ .summary.total = ((.summary.total // 0) + 1) |
274
+ .summary[$status_key] = ((.summary[$status_key] // 0) + 1) |
275
+ .summary.byType[$type] = ((.summary.byType[$type] // 0) + 1) |
276
+ .summary.byPriority[$priority] = ((.summary.byPriority[$priority] // 0) + 1) |
277
277
  .updatedAt = (now | strftime("%Y-%m-%dT%H:%M:%SZ"))
278
278
  ' "$CACHE_FILE" > "$TEMP_FILE"
279
279
  else
@@ -293,16 +293,16 @@ else
293
293
  .increments[$id] = $inc |
294
294
  .mtimes[$id] = $mtime |
295
295
  (if $old_status_key != $new_status_key then
296
- .summary[$old_status_key] -= 1 |
297
- .summary[$new_status_key] += 1
296
+ .summary[$old_status_key] = ((.summary[$old_status_key] // 0) - 1) |
297
+ .summary[$new_status_key] = ((.summary[$new_status_key] // 0) + 1)
298
298
  else . end) |
299
299
  (if $old_type != $new_type then
300
- .summary.byType[$old_type] -= 1 |
301
- .summary.byType[$new_type] += 1
300
+ .summary.byType[$old_type] = ((.summary.byType[$old_type] // 0) - 1) |
301
+ .summary.byType[$new_type] = ((.summary.byType[$new_type] // 0) + 1)
302
302
  else . end) |
303
303
  (if $old_priority != $new_priority then
304
- .summary.byPriority[$old_priority] -= 1 |
305
- .summary.byPriority[$new_priority] += 1
304
+ .summary.byPriority[$old_priority] = ((.summary.byPriority[$old_priority] // 0) - 1) |
305
+ .summary.byPriority[$new_priority] = ((.summary.byPriority[$new_priority] // 0) + 1)
306
306
  else . end) |
307
307
  .updatedAt = (now | strftime("%Y-%m-%dT%H:%M:%SZ"))
308
308
  ' "$CACHE_FILE" > "$TEMP_FILE"