@laitszkin/apollo-toolkit 2.11.4 → 2.12.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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to this repository are documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [v2.12.0] - 2026-03-28
8
+
9
+ ### Added
10
+ - Add `agents` mode to install scripts for copying skills into `~/.agents/skills` directory, supporting agent-skill-compatible software.
11
+
12
+ ### Changed
13
+ - Strengthen `production-sim-debug` so simulation investigations must verify protocol-sensitive blame against official docs or upstream source, distinguish liquidation pipeline stages precisely, and explain quote-budget counts as attempts versus unique opportunities.
14
+
7
15
  ## [v2.11.4] - 2026-03-27
8
16
 
9
17
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laitszkin/apollo-toolkit",
3
- "version": "2.11.4",
3
+ "version": "2.12.0",
4
4
  "description": "Apollo Toolkit npm installer for managed skill copying across Codex, OpenClaw, and Trae.",
5
5
  "license": "MIT",
6
6
  "author": "LaiTszKin",
@@ -8,7 +8,7 @@ description: Investigate production or local simulation runs for runtime-toolcha
8
8
  ## Dependencies
9
9
 
10
10
  - Required: `systematic-debug` for evidence-first root-cause analysis when a simulation shows failing or missing expected behavior.
11
- - Conditional: `scheduled-runtime-health-check` when the user wants a bounded production/local simulation run executed and observed; `read-github-issue` when the requested simulation work is driven by a remote issue; `open-github-issue` when confirmed toolchain gaps should be published.
11
+ - Conditional: `scheduled-runtime-health-check` when the user wants a bounded production/local simulation run executed and observed; `read-github-issue` when the requested simulation work is driven by a remote issue; `marginfi-development` when liquidation, health, receivership, or instruction-order conclusions depend on official marginfi docs/source; `jupiter-development` when swap, quote, routing, or rate-limit conclusions depend on official Jupiter docs; `open-github-issue` when confirmed toolchain gaps should be published.
12
12
  - Optional: none.
13
13
  - Fallback: If the relevant simulation entrypoint, preset, logs, or run artifacts cannot be found, stop and report the missing evidence instead of inferring behavior from stale docs or memory.
14
14
 
@@ -63,6 +63,13 @@ Use this skill to debug simulation workflows where the repository exposes a prod
63
63
 
64
64
  ### 4) Separate product failures from toolchain realism failures
65
65
 
66
+ - When the suspected blocker touches protocol rules, instruction legality, quote semantics, or liquidation invariants, verify the claim against the relevant official docs or upstream source before assigning blame.
67
+ - For every major blocker, explicitly classify the result as one of:
68
+ - production bot problem
69
+ - simulation environment problem
70
+ - both
71
+ - Treat "both" as a first-class result when a bot bug and a local-harness realism gap are stacked in the same flow.
72
+
66
73
  - Classify each blocker into one of these buckets:
67
74
  - preset design mismatch
68
75
  - runtime scheduling or budget behavior
@@ -75,6 +82,31 @@ Use this skill to debug simulation workflows where the repository exposes a prod
75
82
  - If a local stub inflates or distorts profitability, preserve the runtime behavior and calibrate the stub.
76
83
  - If a scenario intentionally stresses one dimension, make sure the harness is not accidentally stressing unrelated dimensions.
77
84
 
85
+ ### 4.1) Map the observed failure to the real pipeline stage
86
+
87
+ - Do not treat every `liquidation_event` row as evidence that the run reached verification or execution.
88
+ - Reconstruct the stage explicitly, such as:
89
+ - candidate discovery
90
+ - local estimate
91
+ - solver candidate quote
92
+ - verification or pre-submit re-quote
93
+ - simulation
94
+ - execution
95
+ - When logs or event rows expose `stage`, `bucket`, `reason`, or similar structured fields, use them to explain exactly where the attempt stopped.
96
+ - When the user is confused by counts, distinguish:
97
+ - unique positions
98
+ - candidate attempts
99
+ - quote attempts
100
+ - verification attempts
101
+ - executed liquidations
102
+
103
+ ### 4.2) Audit quote-budget behavior before calling the strategy broken
104
+
105
+ - Check whether a high quote count reflects many unique positions or repeated coarse/refinement exploration on the same few positions.
106
+ - Trace how the runtime reserves verification capacity versus non-verification capacity, and explain which bucket was exhausted.
107
+ - If the strategy relies on local oracle estimates before quoting, verify whether the admission threshold is merely "positive estimate" or something stricter before assuming those candidates were all strong.
108
+ - When quote pressure appears unreasonable, tie the explanation back to the actual solver-step count, coarse/refinement selection logic, and the number of cross-mint candidates in the run.
109
+
78
110
  ### 5) Trace the full decision tree for missed liquidations or remediations
79
111
 
80
112
  - Follow the candidate from discovery through:
@@ -117,12 +149,17 @@ Use this skill to debug simulation workflows where the repository exposes a prod
117
149
  - **Overloaded “unknown” failures**: logs contain structured reasons, but the first-pass analysis never decomposes them.
118
150
  - **Continuous-mode self-sabotage**: a stress regime intended to stale pull oracles instead makes the runtime’s own primary feeds unusable.
119
151
  - **Quote budget starvation**: local filtering improves behavior but still lets low-value cross-mint candidates consume scarce quote capacity before higher-value paths can finish.
152
+ - **Blame assigned too early**: the first visible error gets labeled as either bot or tooling before official docs, upstream source, and run artifacts confirm that attribution.
153
+ - **Phase confusion**: event counts are interpreted as verification or execution attempts even though the run stopped much earlier in candidate quote or pre-submit simulation.
154
+ - **Quote-count misread**: a large total quote count is mistaken for many distinct opportunities when the runtime actually spent repeated exploration quotes on a smaller set of positions.
120
155
 
121
156
  ## Output checklist
122
157
 
123
158
  - Name the exact scenario, preset, duration, and run directory.
124
159
  - State whether the root cause was product logic, toolchain realism, or both.
160
+ - For protocol-sensitive issues, name the official docs or upstream source used to justify that attribution.
125
161
  - Cite the artifact types used: preset, logs, SQLite tables, and code paths.
162
+ - Explain the failing stage in the liquidation pipeline and whether the key counts represent positions, attempts, quotes, or executed outcomes.
126
163
  - Summarize the narrow fix and the regression test or rerun evidence.
127
164
  - If the final scenario should be reused, state where the preset or docs were added.
128
165
 
@@ -9,18 +9,20 @@ $ErrorActionPreference = "Stop"
9
9
  function Show-Usage {
10
10
  @"
11
11
  Usage:
12
- ./scripts/install_skills.ps1 [codex|openclaw|trae|all]...
12
+ ./scripts/install_skills.ps1 [codex|openclaw|trae|agents|all]...
13
13
 
14
14
  Modes:
15
15
  codex Copy skills into ~/.codex/skills
16
16
  openclaw Copy skills into ~/.openclaw/workspace*/skills
17
17
  trae Copy skills into ~/.trae/skills
18
+ agents Copy skills into ~/.agents/skills (for agent-skill-compatible software)
18
19
  all Install all supported targets
19
20
 
20
21
  Optional environment overrides:
21
22
  CODEX_SKILLS_DIR Override codex skills destination path
22
23
  OPENCLAW_HOME Override openclaw home path
23
24
  TRAE_SKILLS_DIR Override trae skills destination path
25
+ AGENTS_SKILLS_DIR Override agents skills destination path
24
26
  APOLLO_TOOLKIT_HOME Override local install path used when repo root is unavailable
25
27
  APOLLO_TOOLKIT_REPO_URL Override git repository URL used when repo root is unavailable
26
28
  "@
@@ -126,8 +128,9 @@ function Resolve-Modes {
126
128
  Write-Host "1) codex (~/.codex/skills)"
127
129
  Write-Host "2) openclaw (~/.openclaw/workspace*/skills)"
128
130
  Write-Host "3) trae (~/.trae/skills)"
129
- Write-Host "4) all"
130
- $inputValue = Read-Host "Enter choice(s) [1-4]"
131
+ Write-Host "4) agents (~/.agents/skills)"
132
+ Write-Host "5) all"
133
+ $inputValue = Read-Host "Enter choice(s) [1-5]"
131
134
 
132
135
  foreach ($rawChoice in ($inputValue -split ",")) {
133
136
  $choice = $rawChoice.Trim()
@@ -135,10 +138,12 @@ function Resolve-Modes {
135
138
  "1" { Add-ModeOnce -Selected $selected -Mode "codex" }
136
139
  "2" { Add-ModeOnce -Selected $selected -Mode "openclaw" }
137
140
  "3" { Add-ModeOnce -Selected $selected -Mode "trae" }
138
- "4" {
141
+ "4" { Add-ModeOnce -Selected $selected -Mode "agents" }
142
+ "5" {
139
143
  Add-ModeOnce -Selected $selected -Mode "codex"
140
144
  Add-ModeOnce -Selected $selected -Mode "openclaw"
141
145
  Add-ModeOnce -Selected $selected -Mode "trae"
146
+ Add-ModeOnce -Selected $selected -Mode "agents"
142
147
  }
143
148
  default {
144
149
  throw "Invalid choice: $choice"
@@ -152,10 +157,12 @@ function Resolve-Modes {
152
157
  "codex" { Add-ModeOnce -Selected $selected -Mode "codex" }
153
158
  "openclaw" { Add-ModeOnce -Selected $selected -Mode "openclaw" }
154
159
  "trae" { Add-ModeOnce -Selected $selected -Mode "trae" }
160
+ "agents" { Add-ModeOnce -Selected $selected -Mode "agents" }
155
161
  "all" {
156
162
  Add-ModeOnce -Selected $selected -Mode "codex"
157
163
  Add-ModeOnce -Selected $selected -Mode "openclaw"
158
164
  Add-ModeOnce -Selected $selected -Mode "trae"
165
+ Add-ModeOnce -Selected $selected -Mode "agents"
159
166
  }
160
167
  default {
161
168
  Show-Usage
@@ -256,6 +263,22 @@ function Install-Trae {
256
263
  }
257
264
  }
258
265
 
266
+ function Install-Agents {
267
+ param([string[]]$SkillPaths)
268
+
269
+ $target = if ($env:AGENTS_SKILLS_DIR) {
270
+ $env:AGENTS_SKILLS_DIR
271
+ }
272
+ else {
273
+ Join-Path $HOME ".agents/skills"
274
+ }
275
+
276
+ Write-Host "Installing to agents: $target"
277
+ foreach ($src in $SkillPaths) {
278
+ Copy-Skill -Source $src -TargetRoot $target
279
+ }
280
+ }
281
+
259
282
  if ($Modes.Count -gt 0 -and ($Modes[0] -eq "-h" -or $Modes[0] -eq "--help")) {
260
283
  Show-Usage
261
284
  exit 0
@@ -269,6 +292,7 @@ foreach ($mode in $selectedModes) {
269
292
  "codex" { Install-Codex -SkillPaths $skillPaths }
270
293
  "openclaw" { Install-OpenClaw -SkillPaths $skillPaths }
271
294
  "trae" { Install-Trae -SkillPaths $skillPaths }
295
+ "agents" { Install-Agents -SkillPaths $skillPaths }
272
296
  default { throw "Unknown mode: $mode" }
273
297
  }
274
298
  }
@@ -4,18 +4,20 @@ set -euo pipefail
4
4
  usage() {
5
5
  cat <<"USAGE"
6
6
  Usage:
7
- ./scripts/install_skills.sh [codex|openclaw|trae|all]...
7
+ ./scripts/install_skills.sh [codex|openclaw|trae|agents|all]...
8
8
 
9
9
  Modes:
10
10
  codex Copy skills into ~/.codex/skills
11
11
  openclaw Copy skills into ~/.openclaw/workspace*/skills
12
12
  trae Copy skills into ~/.trae/skills
13
+ agents Copy skills into ~/.agents/skills (for agent-skill-compatible software)
13
14
  all Install all supported targets
14
15
 
15
16
  Optional environment overrides:
16
17
  CODEX_SKILLS_DIR Override codex skills destination path
17
18
  OPENCLAW_HOME Override openclaw home path
18
19
  TRAE_SKILLS_DIR Override trae skills destination path
20
+ AGENTS_SKILLS_DIR Override agents skills destination path
19
21
  APOLLO_TOOLKIT_HOME Override local install path used in curl/pipe mode
20
22
  APOLLO_TOOLKIT_REPO_URL Override git repository URL used in curl/pipe mode
21
23
  USAGE
@@ -135,6 +137,16 @@ install_trae() {
135
137
  done
136
138
  }
137
139
 
140
+ install_agents() {
141
+ local agents_skills_dir
142
+ agents_skills_dir="${AGENTS_SKILLS_DIR:-$HOME/.agents/skills}"
143
+
144
+ echo "Installing to agents: $agents_skills_dir"
145
+ for src in "${SKILL_PATHS[@]}"; do
146
+ replace_with_copy "$src" "$agents_skills_dir"
147
+ done
148
+ }
149
+
138
150
  add_mode_once() {
139
151
  local mode="$1"
140
152
  local existing
@@ -153,13 +165,14 @@ parse_mode() {
153
165
  local mode="$1"
154
166
 
155
167
  case "$mode" in
156
- codex|openclaw|trae)
168
+ codex|openclaw|trae|agents)
157
169
  add_mode_once "$mode"
158
170
  ;;
159
171
  all)
160
172
  add_mode_once "codex"
161
173
  add_mode_once "openclaw"
162
174
  add_mode_once "trae"
175
+ add_mode_once "agents"
163
176
  ;;
164
177
  *)
165
178
  echo "Invalid mode: $mode" >&2
@@ -195,8 +208,9 @@ choose_modes_interactive() {
195
208
  echo "1) codex (~/.codex/skills)"
196
209
  echo "2) openclaw (~/.openclaw/workspace*/skills)"
197
210
  echo "3) trae (~/.trae/skills)"
198
- echo "4) all"
199
- choice="$(read_choice_from_user 'Enter choice(s) [1-4]: ')"
211
+ echo "4) agents (~/.agents/skills)"
212
+ echo "5) all"
213
+ choice="$(read_choice_from_user 'Enter choice(s) [1-5]: ')"
200
214
 
201
215
  IFS=',' read -r -a choices <<< "$choice"
202
216
  for raw_choice in "${choices[@]}"; do
@@ -205,7 +219,8 @@ choose_modes_interactive() {
205
219
  1) add_mode_once "codex" ;;
206
220
  2) add_mode_once "openclaw" ;;
207
221
  3) add_mode_once "trae" ;;
208
- 4) add_mode_once "codex"; add_mode_once "openclaw"; add_mode_once "trae" ;;
222
+ 4) add_mode_once "agents" ;;
223
+ 5) add_mode_once "codex"; add_mode_once "openclaw"; add_mode_once "trae"; add_mode_once "agents" ;;
209
224
  *)
210
225
  echo "Invalid choice: $raw_choice" >&2
211
226
  exit 1
@@ -249,6 +264,7 @@ main() {
249
264
  codex) install_codex ;;
250
265
  openclaw) install_openclaw ;;
251
266
  trae) install_trae ;;
267
+ agents) install_agents ;;
252
268
  *)
253
269
  usage
254
270
  exit 1