auriga-cli 1.20.4 → 1.20.6

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
@@ -11,7 +11,7 @@ This repo itself is a fully configured harness project. You can clone it to see
11
11
  | Module | Description |
12
12
  |---|---|
13
13
  | **Workflow** | `CLAUDE.md` auriga workflow: requirement clarification -> TDD -> Review, Harness principles, Subagent usage guide |
14
- | **Skills** | External development process skills — brainstorming, systematic-debugging, TDD, verification, planning, playwright |
14
+ | **Skills** | External development process skills — systematic-debugging, TDD, verification, planning, playwright (spec authoring ships as the `spec-design` skill inside the `auriga-workflow-skills` plugin) |
15
15
  | **Recommended Skills** | Optional utility skills (e.g. `codex-agent`, `claude-code-agent`) you can add on top of the workflow skills |
16
16
  | **Plugins** | Recommended Claude Code and Codex plugins — skill-creator, claude-md-management, codex, auriga-go, auriga-git-guards, auriga-workflow-skills, auriga-notify, session-instructions-loader, deep-review |
17
17
  | **Hooks** | Legacy Claude Code hook installer. No repo-owned hooks are currently exposed here; `notify` ships as the `auriga-notify` plugin. |
@@ -96,7 +96,6 @@ Installs selected skills via `npx skills add`, targeting both Claude Code and Co
96
96
 
97
97
  | Skill | Source | Description |
98
98
  |---|---|---|
99
- | brainstorming | [obra/superpowers](https://github.com/obra/superpowers) | Requirement clarification and design exploration |
100
99
  | systematic-debugging | [obra/superpowers](https://github.com/obra/superpowers) | Systematic debugging — find root cause before fixing |
101
100
  | test-driven-development | [obra/superpowers](https://github.com/obra/superpowers) | Test-driven development workflow |
102
101
  | verification-before-completion | [obra/superpowers](https://github.com/obra/superpowers) | Pre-completion verification — evidence before assertions |
@@ -120,7 +119,7 @@ Supports both project and global installation scopes.
120
119
 
121
120
  ### Plugins
122
121
 
123
- Installs selected plugins for Claude Code, Codex, or both. Claude Code uses `claude plugins install` and honors `--scope project|user`; Codex uses `codex plugin marketplace add` and enables selected plugins in `~/.codex/config.toml`.
122
+ Installs selected plugins for Claude Code, Codex, or both. Claude Code uses `claude plugins install` and honors `--scope project|user`; Codex uses `codex plugin marketplace add/upgrade` (the right one is picked by reading `~/.codex/config.toml`) and enables selected plugins in `~/.codex/config.toml`.
124
123
 
125
124
  Examples:
126
125
 
@@ -139,7 +138,7 @@ npx -y auriga-cli install plugins --agent both --plugin auriga-git-guards
139
138
  | codex | Claude Code | Codex cross-model collaboration |
140
139
  | auriga-go | Claude Code / Codex | Workflow autopilot for the auriga workflow. Reminder-based navigation across the `CLAUDE.md` phases. Bundles two skills: `auriga-go` (description-based NL trigger + `/auriga-go`) and `/goalify` (plans an autonomous goal from a spec or work-in-progress and dispatches it via Claude Code's built-in `/goal` command). |
141
140
  | auriga-git-guards | Claude Code / Codex | Three git-lifecycle guardrails plus the bundled `git-workflow` skill. Hooks: `commit-reminder` (PostToolUse on `Edit` / `Write` / `MultiEdit` in Claude Code and on `apply_patch` — Codex's canonical file-edit `tool_name` — so it fires in both runtimes → when uncommitted diff vs `HEAD` exceeds 200 lines or 8 files and the last reminder was ≥ 60 s ago, inject a nudge to commit at the next semantic boundary), `pr-create-guard` (PostToolUse on `gh pr create` → fetch the new PR's body via `gh pr view` and inject headings + TODO counts as `additionalContext` so the Agent can self-verify the five-element PR description: scope / acceptance criteria / design decisions / risks / remaining TODOs), and `pr-ready-guard` (PreToolUse on `gh pr ready` → block on stray planning docs at `findings.md` / `progress.md` / `task_plan.md` / `docs/superpowers/specs/*.md`, unfinalized active specs in `docs/specs/*.md`, or unpushed commits; otherwise inject the body snapshot). The two PostToolUse hooks reach full Claude Code / Codex parity; Codex currently fails open on `pr-ready-guard`'s PreToolUse `additionalContext` informational path (block path identical). |
142
- | auriga-workflow-skills | Claude Code / Codex | Bundles the auriga-owned workflow execution skills: `incremental-impl`, `test-designer`, and `session-compound`. Installed by default through the plugin path instead of `install skills`. |
141
+ | auriga-workflow-skills | Claude Code / Codex | Bundles the auriga-owned workflow execution skills: `incremental-impl`, `test-designer`, `session-compound`, and `spec-design`. Installed by default through the plugin path instead of `install skills`. |
143
142
  | auriga-notify *(opt-in)* | Claude Code | macOS native notification plugin for Claude Code `Notification` events. Focus-aware sound-only mode, click-to-activate, per-project notification grouping, and migrated `config.json` / `icon.png` support. Not installed by `install --all`; install explicitly with `install plugins --plugin auriga-notify`. |
144
143
  | session-instructions-loader | Codex | Codex-only SessionStart plugin that injects ancestor `AGENTS.md` files plus repo-configured extra instruction files. |
145
144
  | deep-review | Claude Code / Codex | Multi-dimensional PR review orchestrator — dispatches parallel reviewers (spec-conformance, correctness, test-quality, docs-sync, plus conditional robustness/UX/performance/structure/code-quality/skill-plugin-quality) and synthesizes findings into an actionable punch list. Bundles a companion `reviewer-creator` skill for scaffolding project-level custom reviewers under `docs/rules/review/`. Drives the formal-review phase in `CLAUDE.md`. |
package/README.zh-CN.md CHANGED
@@ -11,7 +11,7 @@
11
11
  | 模块 | 说明 |
12
12
  |---|---|
13
13
  | **Workflow** | `CLAUDE.md` 里的 auriga 工作流:需求澄清 → TDD → Review,Harness 原则,Subagent 使用指南 |
14
- | **Skills** | 外部开发流程 skills —— brainstorming、systematic-debugging、TDD、verification、planning、playwright |
14
+ | **Skills** | 外部开发流程 skills —— systematic-debugging、TDD、verification、planning、playwright(spec 撰写由 `auriga-workflow-skills` 插件内的 `spec-design` skill 提供)|
15
15
  | **Recommended Skills** | 可选的工具类 skills(如 `codex-agent`、`claude-code-agent`),在 workflow skills 之外按需追加 |
16
16
  | **Plugins** | 推荐的 Claude Code 和 Codex 插件 —— skill-creator、claude-md-management、codex、auriga-go、auriga-git-guards、auriga-workflow-skills、auriga-notify、session-instructions-loader、deep-review |
17
17
  | **Hooks** | 传统 Claude Code hook 安装器。目前没有仓库自维护 hook 暴露在这里;`notify` 已迁移为 `auriga-notify` 插件。 |
@@ -96,7 +96,6 @@ npx auriga-cli
96
96
 
97
97
  | Skill | 来源 | 说明 |
98
98
  |---|---|---|
99
- | brainstorming | [obra/superpowers](https://github.com/obra/superpowers) | 需求澄清与设计探索 |
100
99
  | systematic-debugging | [obra/superpowers](https://github.com/obra/superpowers) | 系统化调试,先找根因再修复 |
101
100
  | test-driven-development | [obra/superpowers](https://github.com/obra/superpowers) | 测试驱动开发流程 |
102
101
  | verification-before-completion | [obra/superpowers](https://github.com/obra/superpowers) | 完成前验证,用证据说话 |
@@ -120,7 +119,7 @@ npx auriga-cli
120
119
 
121
120
  ### Plugins
122
121
 
123
- 可以把选中的插件安装到 Claude Code、Codex 或两者都装。Claude Code 路径使用 `claude plugins install`,并遵守 `--scope project|user`;Codex 路径使用 `codex plugin marketplace add`,并在 `~/.codex/config.toml` 里启用选中的插件。
122
+ 可以把选中的插件安装到 Claude Code、Codex 或两者都装。Claude Code 路径使用 `claude plugins install`,并遵守 `--scope project|user`;Codex 路径根据 `~/.codex/config.toml` 中是否已注册同名 marketplace 自动选择 `codex plugin marketplace add` 或 `upgrade`,并在 `~/.codex/config.toml` 里启用选中的插件。
124
123
 
125
124
  示例:
126
125
 
@@ -139,7 +138,7 @@ npx -y auriga-cli install plugins --agent both --plugin auriga-git-guards
139
138
  | codex | Claude Code | Codex 跨模型协作 |
140
139
  | auriga-go | Claude Code / Codex | auriga 工作流的自动驾驶:按 `CLAUDE.md` 的 phase 做 reminder-based 导航。内置两个 skill:`auriga-go`(按 description 的自然语言触发 + `/auriga-go` slash command)和 `/goalify`(根据 spec 或当前进展 plan 出 goal,并通过 Claude Code 内置的 `/goal` 命令分发执行)。 |
141
140
  | auriga-git-guards | Claude Code / Codex | 三个 git-lifecycle guardrail + 内置 `git-workflow` skill。Hooks:`commit-reminder`(Claude Code 下 PostToolUse 匹配 `Edit` / `Write` / `MultiEdit`,Codex 下匹配 `apply_patch`(Codex 文件编辑 canonical `tool_name`),两个 runtime 都触发 —— 未提交 diff 对比 `HEAD` 超过 200 行或 8 个文件,且距上次提醒 ≥ 60 s 时,注入提醒让 Agent 在下一个语义边界 commit)、`pr-create-guard`(`gh pr create` 的 PostToolUse —— 通过 `gh pr view` 拉真实 PR body,扫 `^##` / `^###` headings 并统计 `- [ ]` / `- [x]` 注入 `additionalContext`,让 Agent 对照五要素:scope / acceptance criteria / design decisions / risks / remaining TODOs)、`pr-ready-guard`(`gh pr ready` 的 PreToolUse —— 仅按结构信号拦截:游离 `findings.md` / `progress.md` / `task_plan.md` / `docs/superpowers/specs/*.md`、`docs/specs/*.md` 内未结案的活跃 spec、未 push commits;放行时注入 body 快照)。两个 PostToolUse hook 在 Claude Code / Codex 上完全对齐;Codex 仅对 `pr-ready-guard` 的 PreToolUse `additionalContext` 信息路径 fail-open(block 路径两边一致)。 |
142
- | auriga-workflow-skills | Claude Code / Codex | 打包 auriga 自维护的工作流执行 skills:`incremental-impl`、`test-designer`、`session-compound`。默认通过插件路径安装,不再通过 `install skills` 作为独立条目安装。 |
141
+ | auriga-workflow-skills | Claude Code / Codex | 打包 auriga 自维护的工作流执行 skills:`incremental-impl`、`test-designer`、`session-compound`、`spec-design`。默认通过插件路径安装,不再通过 `install skills` 作为独立条目安装。 |
143
142
  | auriga-notify *(opt-in)* | Claude Code | Claude Code `Notification` 事件的 macOS 原生通知插件。支持焦点感知仅提示音、点击唤起终端、按项目分组通知,并迁移旧 `config.json` / `icon.png`。不随 `install --all` 默认安装,需要显式执行 `install plugins --plugin auriga-notify`。 |
144
143
  | session-instructions-loader | Codex | Codex-only SessionStart 插件,注入上层目录的 `AGENTS.md` 和仓库配置的额外 instruction 文件。 |
145
144
  | deep-review | Claude Code / Codex | 多维度 PR review 编排器 —— 并行派发各维度 reviewer(spec-conformance、correctness、test-quality、docs-sync,以及条件触发的 robustness/UX/performance/structure/code-quality/skill-plugin-quality),汇总成 punch list。同包内打包了 `reviewer-creator` skill,用于在 `docs/rules/review/` 下生成项目级自定义 reviewer。承担 `CLAUDE.md` 中的正式评审职责。 |
package/dist/catalog.json CHANGED
@@ -1,10 +1,6 @@
1
1
  {
2
- "generatedAt": "2026-05-14T14:34:30.876Z",
2
+ "generatedAt": "2026-05-15T08:06:41.771Z",
3
3
  "workflowSkills": [
4
- {
5
- "name": "brainstorming",
6
- "description": "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation."
7
- },
8
4
  {
9
5
  "name": "planning-with-files",
10
6
  "description": "Implements Manus-style file-based planning to organize and track progress on complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when asked to plan out, break down, or organize a multi-step project, research task, or any work requiring 5+ tool calls. Supports automatic session recovery after /clear."
@@ -79,7 +75,7 @@
79
75
  },
80
76
  {
81
77
  "name": "auriga-workflow-skills",
82
- "description": "(Claude/Codex) Bundles the auriga-owned workflow execution skills: incremental-impl, test-designer, and session-compound. Dual-Agent compatible (Claude Code + Codex).",
78
+ "description": "(Claude/Codex) Bundles the auriga-owned workflow execution skills: incremental-impl, test-designer, session-compound, and spec-design. Dual-Agent compatible (Claude Code + Codex).",
83
79
  "agents": [
84
80
  "claude",
85
81
  "codex"
package/dist/cli.js CHANGED
@@ -800,7 +800,7 @@ async function runLegacyMenu() {
800
800
  message: "Select module types to install:",
801
801
  choices: [
802
802
  { name: "Workflow — CLAUDE.md + AGENTS.md", value: "workflow", checked: true },
803
- { name: "Skills — Development process skills (brainstorming, TDD, debugging...)", value: "skills", checked: true },
803
+ { name: "Skills — Development process skills (TDD, debugging, verification, planning...)", value: "skills", checked: true },
804
804
  { name: "Recommended Skills — Extra utility skills (claude-code-agent, codex-agent...)", value: "recommended", checked: true },
805
805
  { name: "Plugins — Claude Code / Codex plugins (skill-creator, codex, auriga-go...)", value: "plugins", checked: true },
806
806
  { name: "Hooks — Claude Code hooks (notifications, etc.)", value: "hooks", checked: true },
package/dist/guide.js CHANGED
@@ -68,7 +68,7 @@ the legacy hooks category is currently empty; recommended skills are NOT include
68
68
 
69
69
  Targeted — single category, picking from the catalog surfaced in Step 2:
70
70
  ${cmd("npx -y auriga-cli install workflow --lang en")}
71
- ${cmd("npx -y auriga-cli install skills --skill brainstorming test-driven-development")}
71
+ ${cmd("npx -y auriga-cli install skills --skill systematic-debugging test-driven-development")}
72
72
  ${cmd("npx -y auriga-cli install plugins --plugin skill-creator codex --scope user")}
73
73
  ${cmd("npx -y auriga-cli install plugins --agent codex --plugin session-instructions-loader")}
74
74
 
package/dist/plugins.js CHANGED
@@ -422,18 +422,30 @@ function runPostInstallMigration(pluginName, opts, runtimes) {
422
422
  migrateLegacyNotifyConfig(opts);
423
423
  }
424
424
  }
425
- function codexMarketplaceAddCommand(packageRoot) {
426
- if (process.env.DEV === "1") {
427
- return `codex plugin marketplace add ${shellQuote(packageRoot)}`;
428
- }
429
- return "codex plugin marketplace add https://github.com/Ben2pc/auriga-cli.git";
425
+ // Source string Codex CLI records in `~/.codex/config.toml`
426
+ // `[marketplaces.<name>].source` after `marketplace add` succeeds. Used for
427
+ // exact-string compare against the registered marketplace's source to detect
428
+ // same-name-different-source hijack attempts before running `upgrade`.
429
+ function codexLocalMarketplaceSource(packageRoot) {
430
+ if (process.env.DEV === "1")
431
+ return packageRoot;
432
+ return "https://github.com/Ben2pc/auriga-cli.git";
430
433
  }
431
- function codexExternalMarketplaceAddCommand(source) {
434
+ function codexExternalMarketplaceSource(source) {
432
435
  // `source` is validated by validateExtraPluginConfigs against
433
436
  // MARKETPLACE_SOURCE_RE (alphanumerics + `._/-`) — no shell metachars
434
- // can reach this string. URL form deliberately mirrors
435
- // codexMarketplaceAddCommand's hardcoded production branch.
436
- return `codex plugin marketplace add https://github.com/${source}.git`;
437
+ // can reach this string.
438
+ return `https://github.com/${source}.git`;
439
+ }
440
+ function codexMarketplaceAddCommand(packageRoot) {
441
+ const source = codexLocalMarketplaceSource(packageRoot);
442
+ // DEV-mode local paths may contain spaces; URLs need no shell quoting.
443
+ return process.env.DEV === "1"
444
+ ? `codex plugin marketplace add ${shellQuote(source)}`
445
+ : `codex plugin marketplace add ${source}`;
446
+ }
447
+ function codexExternalMarketplaceAddCommand(source) {
448
+ return `codex plugin marketplace add ${codexExternalMarketplaceSource(source)}`;
437
449
  }
438
450
  function codexMarketplaceUpgradeCommand(marketplaceName) {
439
451
  return `codex plugin marketplace upgrade ${shellQuote(marketplaceName)}`;
@@ -449,13 +461,36 @@ function commandErrorText(error) {
449
461
  parts.push(String(withOutput.stderr));
450
462
  return parts.join("\n");
451
463
  }
452
- function escapeRegex(value) {
453
- return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
454
- }
455
- function isCodexMarketplaceAlreadyAdded(error, marketplaceName) {
456
- const text = commandErrorText(error);
457
- const marketplacePattern = new RegExp(`marketplace ['"]?${escapeRegex(marketplaceName)}['"]? is already added`, "i");
458
- return marketplacePattern.test(text);
464
+ // Codex CLI records every added marketplace as `[marketplaces.<name>]` in
465
+ // `~/.codex/config.toml` with a `source` field. Returns that stored source
466
+ // for an exact-string compare against the source we would `add`, or null
467
+ // when the marketplace isn't registered or the entry is malformed.
468
+ //
469
+ // Why config.toml is the authoritative signal: Codex's `add` command is
470
+ // silently idempotent for an already-added marketplace (exit 0, prints to
471
+ // stdout, no error), so we can't detect already-added by catching an
472
+ // `add` failure. The stored source also lets us guard against same-name
473
+ // hijack — a fork registered under our marketplace name would be invisible
474
+ // to a presence-only check.
475
+ function readCodexMarketplaceSource(marketplaceName) {
476
+ const configPath = path.join(codexHome(), "config.toml");
477
+ if (!fs.existsSync(configPath))
478
+ return null;
479
+ try {
480
+ const parsed = parseToml(fs.readFileSync(configPath, "utf-8"));
481
+ const marketplaces = parsed.marketplaces;
482
+ if (typeof marketplaces !== "object" || marketplaces === null || Array.isArray(marketplaces)) {
483
+ return null;
484
+ }
485
+ const entry = marketplaces[marketplaceName];
486
+ if (typeof entry !== "object" || entry === null || Array.isArray(entry))
487
+ return null;
488
+ const source = entry.source;
489
+ return typeof source === "string" ? source : null;
490
+ }
491
+ catch {
492
+ return null;
493
+ }
459
494
  }
460
495
  function isCodexMarketplaceDifferentSource(error) {
461
496
  return /already added from a different source/i.test(commandErrorText(error));
@@ -616,34 +651,45 @@ function enableCodexPluginConfig(configPath, pluginKeys, needsPluginHooks) {
616
651
  const content = minimalContent ?? buildCodexPluginConfigToml(originalContent, configPath, pluginKeys, needsPluginHooks);
617
652
  atomicWriteFile(configPath, content.endsWith("\n") ? content : `${content}\n`);
618
653
  }
619
- async function addCodexMarketplaceWithRetry(marketplaceName, addCommand, opts, marketplaceExecOpts, failures) {
654
+ async function addCodexMarketplaceWithRetry(marketplaceName, addCommand, expectedSource, opts, marketplaceExecOpts, failures) {
655
+ const registeredSource = readCodexMarketplaceSource(marketplaceName);
656
+ if (registeredSource !== null) {
657
+ if (registeredSource !== expectedSource) {
658
+ // Supply-chain guard: a same-name marketplace pointing at a different
659
+ // source (e.g. a fork URL) must not be silently `upgrade`d — its
660
+ // content would be cached under our name and consumed downstream.
661
+ const msg = `Codex marketplace ${marketplaceName} is already added from a different source`;
662
+ log.error(`${msg}\n registered: ${registeredSource}\n expected: ${expectedSource}`);
663
+ failures.push(msg);
664
+ return;
665
+ }
666
+ try {
667
+ exec(codexMarketplaceUpgradeCommand(marketplaceName), marketplaceExecOpts);
668
+ log.ok(`Codex marketplace ${marketplaceName} upgraded`);
669
+ }
670
+ catch (e) {
671
+ // Surface the underlying upgrade error so a 6-month-out reader
672
+ // can tell apart ENOENT / network / auth / git failures.
673
+ log.error(`Failed to upgrade Codex marketplace: ${marketplaceName}\n${commandErrorText(e)}`);
674
+ failures.push(`codex marketplace ${marketplaceName}`);
675
+ }
676
+ return;
677
+ }
620
678
  try {
621
679
  exec(addCommand, marketplaceExecOpts);
622
680
  log.ok(`Codex marketplace ${marketplaceName} added`);
623
- return;
624
681
  }
625
682
  catch (e) {
626
683
  if (isCodexMarketplaceDifferentSource(e)) {
684
+ // Defense-in-depth: config.toml didn't claim the name but Codex CLI
685
+ // refused with "different source" — rare divergence between Codex
686
+ // internal state and config.toml.
627
687
  const msg = `Codex marketplace ${marketplaceName} is already added from a different source`;
628
688
  log.error(`${msg}\n${commandErrorText(e)}`);
629
689
  failures.push(msg);
630
690
  return;
631
691
  }
632
- if (isCodexMarketplaceAlreadyAdded(e, marketplaceName)) {
633
- try {
634
- exec(codexMarketplaceUpgradeCommand(marketplaceName), marketplaceExecOpts);
635
- log.ok(`Codex marketplace ${marketplaceName} upgraded`);
636
- return;
637
- }
638
- catch (upgradeErr) {
639
- // Surface the underlying upgrade error so a 6-month-out reader
640
- // can tell apart ENOENT / network / auth / git failures.
641
- log.error(`Failed to upgrade Codex marketplace: ${marketplaceName}\n${commandErrorText(upgradeErr)}`);
642
- failures.push(`codex marketplace ${marketplaceName}`);
643
- return;
644
- }
645
- }
646
- // Same: surface the add error rather than masking ENOENT / network / auth.
692
+ // Surface the add error rather than masking ENOENT / network / auth.
647
693
  log.error(`Failed to add Codex marketplace: ${marketplaceName}\n${commandErrorText(e)}`);
648
694
  failures.push(`codex marketplace ${marketplaceName}`);
649
695
  }
@@ -726,7 +772,7 @@ async function installCodexPlugins(packageRoot, opts) {
726
772
  ? { inherit: true }
727
773
  : undefined;
728
774
  if (localMarketplace) {
729
- await addCodexMarketplaceWithRetry(localMarketplace.name, codexMarketplaceAddCommand(packageRoot), opts, marketplaceExecOpts, failures);
775
+ await addCodexMarketplaceWithRetry(localMarketplace.name, codexMarketplaceAddCommand(packageRoot), codexLocalMarketplaceSource(packageRoot), opts, marketplaceExecOpts, failures);
730
776
  }
731
777
  // Dedupe external marketplaces by name — multiple plugins from the same
732
778
  // upstream share a single `marketplace add` call.
@@ -735,7 +781,7 @@ async function installCodexPlugins(packageRoot, opts) {
735
781
  uniqueExternalMarketplaces.set(p.marketplace.name, p.marketplace);
736
782
  }
737
783
  for (const mp of uniqueExternalMarketplaces.values()) {
738
- await addCodexMarketplaceWithRetry(mp.name, codexExternalMarketplaceAddCommand(mp.source), opts, marketplaceExecOpts, failures);
784
+ await addCodexMarketplaceWithRetry(mp.name, codexExternalMarketplaceAddCommand(mp.source), codexExternalMarketplaceSource(mp.source), opts, marketplaceExecOpts, failures);
739
785
  }
740
786
  if (failures.length === 0) {
741
787
  const localMarketplaceContentRoot = localMarketplace
package/dist/skills.js CHANGED
@@ -7,7 +7,6 @@ import { atomicWriteFile, exec, execAsync, log, withEsc } from "./utils.js";
7
7
  // directly references. Anything else in skills-lock.json is surfaced via
8
8
  // installRecommendedSkills as an opt-in utility.
9
9
  export const WORKFLOW_SKILLS = [
10
- "brainstorming",
11
10
  "planning-with-files",
12
11
  "playwright-cli",
13
12
  "systematic-debugging",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auriga-cli",
3
- "version": "1.20.4",
3
+ "version": "1.20.6",
4
4
  "description": "Interactive CLI to install Claude Code harness modules (Workflow, Skills, Recommended Skills, Plugins, Hooks)",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,8 +25,8 @@
25
25
  "dev": "tsc --watch",
26
26
  "start": "node dist/cli.js",
27
27
  "pretest": "npm run build",
28
- "test": "tsc -p tsconfig.test.json && DEV=1 node --test --experimental-test-module-mocks dist-test/tests/hooks.test.js dist-test/tests/hooks-uninstall.test.js dist-test/tests/skills.test.js dist-test/tests/skills-uninstall.test.js dist-test/tests/catalog.test.js dist-test/tests/cli-parse.test.js dist-test/tests/install-nontty.test.js dist-test/tests/plugins.test.js dist-test/tests/plugins-uninstall.test.js dist-test/tests/content-fetch.test.js dist-test/tests/utils.test.js dist-test/tests/guide.test.js dist-test/tests/validators.test.js dist-test/tests/entrypoint.test.js dist-test/tests/state.test.js dist-test/tests/server.test.js dist-test/tests/server-auth.test.js dist-test/tests/server-apply.test.js dist-test/tests/apply-handlers.test.js dist-test/tests/ui-fetch.test.js dist-test/tests/workflow-install.test.js dist-test/tests/workflow-uninstall.test.js dist-test/tests/tarball-shape.test.js",
29
- "test:watch": "tsc -p tsconfig.test.json --watch & node --test --watch --experimental-test-module-mocks dist-test/tests/hooks.test.js dist-test/tests/hooks-uninstall.test.js dist-test/tests/skills.test.js dist-test/tests/skills-uninstall.test.js dist-test/tests/catalog.test.js dist-test/tests/cli-parse.test.js dist-test/tests/install-nontty.test.js dist-test/tests/plugins.test.js dist-test/tests/plugins-uninstall.test.js dist-test/tests/content-fetch.test.js dist-test/tests/utils.test.js dist-test/tests/guide.test.js dist-test/tests/validators.test.js dist-test/tests/entrypoint.test.js dist-test/tests/state.test.js dist-test/tests/server.test.js dist-test/tests/server-auth.test.js dist-test/tests/server-apply.test.js dist-test/tests/apply-handlers.test.js dist-test/tests/ui-fetch.test.js dist-test/tests/workflow-install.test.js dist-test/tests/workflow-uninstall.test.js dist-test/tests/tarball-shape.test.js",
28
+ "test": "tsc -p tsconfig.test.json && DEV=1 node --test --experimental-test-module-mocks dist-test/tests/hooks.test.js dist-test/tests/hooks-uninstall.test.js dist-test/tests/skills.test.js dist-test/tests/skills-uninstall.test.js dist-test/tests/catalog.test.js dist-test/tests/cli-parse.test.js dist-test/tests/install-nontty.test.js dist-test/tests/plugins.test.js dist-test/tests/plugins-uninstall.test.js dist-test/tests/content-fetch.test.js dist-test/tests/utils.test.js dist-test/tests/guide.test.js dist-test/tests/validators.test.js dist-test/tests/entrypoint.test.js dist-test/tests/state.test.js dist-test/tests/server.test.js dist-test/tests/server-auth.test.js dist-test/tests/server-apply.test.js dist-test/tests/apply-handlers.test.js dist-test/tests/ui-fetch.test.js dist-test/tests/workflow-install.test.js dist-test/tests/workflow-uninstall.test.js dist-test/tests/tarball-shape.test.js dist-test/tests/spec-design.test.js",
29
+ "test:watch": "tsc -p tsconfig.test.json --watch & node --test --watch --experimental-test-module-mocks dist-test/tests/hooks.test.js dist-test/tests/hooks-uninstall.test.js dist-test/tests/skills.test.js dist-test/tests/skills-uninstall.test.js dist-test/tests/catalog.test.js dist-test/tests/cli-parse.test.js dist-test/tests/install-nontty.test.js dist-test/tests/plugins.test.js dist-test/tests/plugins-uninstall.test.js dist-test/tests/content-fetch.test.js dist-test/tests/utils.test.js dist-test/tests/guide.test.js dist-test/tests/validators.test.js dist-test/tests/entrypoint.test.js dist-test/tests/state.test.js dist-test/tests/server.test.js dist-test/tests/server-auth.test.js dist-test/tests/server-apply.test.js dist-test/tests/apply-handlers.test.js dist-test/tests/ui-fetch.test.js dist-test/tests/workflow-install.test.js dist-test/tests/workflow-uninstall.test.js dist-test/tests/tarball-shape.test.js dist-test/tests/spec-design.test.js",
30
30
  "pretest:e2e": "npm run build",
31
31
  "test:e2e": "tsc -p tsconfig.test.json && node --test dist-test/tests/e2e-install.test.js",
32
32
  "pretest:web-ui-e2e": "npm run build && npm --prefix ui ci && npm --prefix ui run build",