@laitszkin/apollo-toolkit 2.6.0 → 2.7.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/AGENTS.md CHANGED
@@ -38,6 +38,7 @@ This repository enables users to install and run a curated set of reusable agent
38
38
  - Users can publish structured GitHub issues or feature proposals with auth fallbacks.
39
39
  - Users can prepare and open open-source pull requests from existing changes.
40
40
  - Users can generate storyboard image sets from chapters, novels, articles, or scripts.
41
+ - Users can configure OpenClaw from official documentation, including `~/.openclaw/openclaw.json`, skills loading, SecretRefs, CLI edits, and validation or repair workflows.
41
42
  - Users can record multi-account spending and balance changes in monthly Excel ledgers with summary analytics and charts.
42
43
  - Users can review the current git change set from an unbiased reviewer perspective to find abstraction opportunities and simplification candidates.
43
44
  - Users can process GitHub pull request review comments and resolve addressed threads.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ All notable changes to this repository are documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [v2.7.0] - 2026-03-20
8
+
9
+ ### Added
10
+ - Add `openclaw-configuration` for explaining, editing, validating, and troubleshooting OpenClaw configuration from the current official docs, including `~/.openclaw/openclaw.json`, skills config, secrets, and CLI workflows.
11
+ - Add bundled OpenClaw configuration references covering the official doc map, config option guide, and operational best practices.
12
+
13
+ ### Changed
14
+ - Update `fix-github-issues` to require temporary worktree and local branch cleanup as part of direct-push or PR completion, with explicit cleanup verification before finishing.
15
+ - Update `learn-skill-from-conversations` to treat post-completion cleanup or finalization follow-ups as evidence that the owning workflow's done criteria need tightening.
16
+ - Update the repository skill inventory and project capability docs to include OpenClaw configuration support.
17
+
7
18
  ## [v2.6.0] - 2026-03-20
8
19
 
9
20
  ### Added
package/README.md CHANGED
@@ -31,6 +31,7 @@ A curated skill catalog for Codex, OpenClaw, and Trae with a managed installer t
31
31
  - open-github-issue
32
32
  - open-source-pr-workflow
33
33
  - openai-text-to-image-storyboard
34
+ - openclaw-configuration
34
35
  - record-spending
35
36
  - resolve-review-comments
36
37
  - review-change-set
@@ -16,8 +16,8 @@ description: Resolve issues from remote GitHub repositories via GitHub CLI (`gh`
16
16
 
17
17
  - Evidence: Verify repository context, fetch remote issue details, and derive expected behavior from issue text before coding.
18
18
  - Execution: Select the issue, open an isolated worktree by default, fix it through `systematic-debug`, validate locally, then hand off to the delivery workflow that matches the user's request.
19
- - Quality: Keep scope limited to the selected issue, capture exact validation commands, and preserve issue linkage in the final PR or commit message.
20
- - Output: Finish with either a linked PR or a direct pushed commit, then clean up the temporary worktree when the work is complete.
19
+ - Quality: Keep scope limited to the selected issue, capture exact validation commands, preserve issue linkage in the final PR or commit message, and treat temporary worktree cleanup as part of completion rather than an optional follow-up.
20
+ - Output: Finish with either a linked PR or a direct pushed commit, then clean up the temporary worktree plus any matching local branch before reporting completion.
21
21
 
22
22
  ## Overview
23
23
 
@@ -89,10 +89,12 @@ python3 scripts/list_issues.py --limit 50 --state open
89
89
  - executed test commands and results
90
90
  - Include issue-closing reference (for example, `Closes #<issue-number>`) whenever a PR is opened.
91
91
 
92
- ### 8) Clean up the temporary worktree after PR creation
92
+ ### 8) Clean up the temporary worktree after PR creation or direct push
93
93
 
94
94
  - Once the PR is opened or the direct push is complete and no more work is needed in that isolated tree, remove the worktree you created for the fix.
95
95
  - Also clean up the matching local branch reference if it is no longer needed locally.
96
+ - Verify the cleanup with `git worktree list` and confirm the temporary path no longer appears before finishing.
97
+ - If the worktree cannot be removed because of uncommitted changes or a still-checked-out branch, resolve that state immediately instead of leaving cleanup for a later user request.
96
98
 
97
99
  ## Included Script
98
100
 
@@ -15,7 +15,7 @@ description: Learn and evolve the local skill library from recent Codex conversa
15
15
  ## Standards
16
16
 
17
17
  - Evidence: Extract recent Codex session history first and derive reusable lessons only from actual conversation patterns.
18
- - Execution: Inventory the current skill catalog before editing, prioritize repeated requests, user corrections, and reported errors, then prefer a focused update to the strongest related skill or create a new skill only when the overlap is weak.
18
+ - Execution: Inventory the current skill catalog before editing, prioritize repeated requests, user corrections, reported errors, and post-completion follow-up asks that reveal missing closure, then prefer a focused update to the strongest related skill or create a new skill only when the overlap is weak.
19
19
  - Quality: Take no action when there are no recent sessions, avoid unrelated broad refactors, and validate every changed skill.
20
20
  - Output: Report the analyzed sessions, extracted lessons, created or updated skills, and the reasoning behind each decision.
21
21
 
@@ -48,6 +48,8 @@ python3 ~/.codex/skills/learn-skill-from-conversations/scripts/extract_recent_co
48
48
  - Identify repeated user needs, recurring friction, and repeated manual workflows.
49
49
  - Give extra weight to moments where the user corrected the agent, rejected an earlier interpretation, or pointed out a missing preference or requirement.
50
50
  - Give extra weight to user-reported errors, regressions, or avoidable mistakes, then ask how a skill can prevent repeating that failure mode.
51
+ - Treat a user follow-up that asks for cleanup or an omitted finalization step immediately after the assistant reported completion as evidence that the workflow's done criteria were incomplete.
52
+ - When that kind of follow-up recurs, tighten the owning skill's completion checklist before considering any new-skill extraction.
51
53
  - Ignore one-off issues that do not provide reusable value.
52
54
  - Distinguish between:
53
55
  - repeated trigger intent that deserves a new skill
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: openclaw-configuration
3
+ description: Build, audit, and explain OpenClaw configuration from official documentation. Use when configuring `~/.openclaw/openclaw.json`, mapping config options, adjusting skills or secrets, generating validated snippets, or diagnosing config errors with `openclaw config`, `openclaw configure`, and `openclaw doctor`.
4
+ ---
5
+
6
+ # OpenClaw Configuration
7
+
8
+ ## Dependencies
9
+
10
+ - Required: none.
11
+ - Conditional: `answering-questions-with-research` when a request depends on newer OpenClaw docs than the bundled references cover.
12
+ - Optional: none.
13
+ - Fallback: If the local CLI is unavailable, work from the bundled references and clearly mark any runtime behavior that was not verified on the machine.
14
+
15
+ ## Standards
16
+
17
+ - Evidence: Verify the active config file, current values, and CLI diagnostics before editing.
18
+ - Execution: Prefer the smallest safe change; use `openclaw config` for narrow edits and direct JSON edits for broad restructures.
19
+ - Quality: Keep the file schema-valid, avoid plaintext secrets when a SecretRef or env var fits, and preserve unrelated valid settings.
20
+ - Output: Return exact file paths, touched keys, validation commands, and any restart or hot-reload caveats.
21
+
22
+ ## Goal
23
+
24
+ Help another agent configure OpenClaw safely, quickly, and with citations back to the official docs.
25
+
26
+ ## Workflow
27
+
28
+ ### 1. Classify the request
29
+
30
+ Decide whether the user needs:
31
+
32
+ - a config explanation
33
+ - a new starter config
34
+ - a targeted key update
35
+ - skills loading or per-skill env setup
36
+ - secrets or provider wiring
37
+ - validation or repair of a broken config
38
+
39
+ Assume the canonical config file is `~/.openclaw/openclaw.json` unless the environment proves otherwise.
40
+
41
+ ### 2. Choose the safest edit surface
42
+
43
+ - Use `openclaw onboard` or `openclaw configure` for guided setup.
44
+ - Use `openclaw config get/set/unset/validate` for precise path-based edits.
45
+ - Use direct JSON edits only when changing several related branches at once.
46
+ - If the local gateway is running, the Control UI config tab at `http://127.0.0.1:18789` can help inspect or edit the same schema-backed config.
47
+
48
+ ### 3. Load only the references you need
49
+
50
+ - Read `references/official-docs.md` first for the canonical doc map.
51
+ - Read `references/config-reference-map.md` when you need option names, CLI behavior, hot reload, skills config, env handling, or secrets rules.
52
+ - Read `references/best-practices.md` before producing a new config, touching credentials, or fixing a broken setup.
53
+
54
+ ### 4. Apply minimal, schema-safe changes
55
+
56
+ - Prefer `openclaw config set` for one-path edits.
57
+ - Prefer SecretRefs or env substitution over plaintext credentials.
58
+ - For skill-specific setup, use `skills.load.extraDirs`, `skills.entries.<skillKey>`, and per-skill `env` or `apiKey`.
59
+ - Do not invent unknown root keys; OpenClaw rejects schema-invalid config.
60
+
61
+ ### 5. Validate before finishing
62
+
63
+ - Run `openclaw config validate` after edits.
64
+ - If the gateway refuses to boot, run `openclaw doctor`.
65
+ - Use `openclaw doctor --repair` only after reviewing what it will change; the tool can back up the config and remove unknown keys.
66
+ - Call out whether the change should hot-apply or may still need a restart.
67
+
68
+ ### 6. Return a concise handoff
69
+
70
+ Always include:
71
+
72
+ - the file or keys changed
73
+ - the command or JSON snippet used
74
+ - the validation command
75
+ - any secret or env prereqs
76
+ - the official doc pages that justify the change
77
+
78
+ ## Common Tasks
79
+
80
+ ### Generate a starter config
81
+
82
+ Start from the official minimal or starter shape, then add only the channels, models, or skills the user actually needs.
83
+
84
+ ### Explain config options
85
+
86
+ Summarize the relevant branch and point back to the matching official page rather than dumping the entire reference.
87
+
88
+ ### Configure skills
89
+
90
+ Use `skills.load.extraDirs` for additional skill folders and `skills.entries.<skillKey>` for per-skill enablement, env vars, or `apiKey`.
91
+
92
+ ### Wire secrets
93
+
94
+ Prefer SecretRefs (`env`, `file`, or `exec`) for supported credential fields. Use plaintext only when the user explicitly wants a local-only quick setup and understands the tradeoff.
95
+
96
+ ### Repair a broken config
97
+
98
+ Run `openclaw config validate`, then `openclaw doctor`, and only then make the smallest correction that restores schema validity.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "OpenClaw Configuration"
3
+ short_description: "Configure and troubleshoot OpenClaw settings"
4
+ default_prompt: "Use $openclaw-configuration to explain, edit, validate, or troubleshoot OpenClaw configuration, including `~/.openclaw/openclaw.json`, `skills` settings, env vars, SecretRefs, and official OpenClaw CLI/config workflows."
@@ -0,0 +1,55 @@
1
+ # OpenClaw Configuration Best Practices
2
+
3
+ These rules are distilled from the official OpenClaw docs and adapted into a practical workflow.
4
+
5
+ ## Authoring rules
6
+
7
+ - Treat `~/.openclaw/openclaw.json` as the source of truth unless the environment proves otherwise.
8
+ - Prefer the smallest possible edit surface:
9
+ - one key: `openclaw config set`
10
+ - one subtree removal: `openclaw config unset`
11
+ - several coordinated edits: direct JSON edit plus validation
12
+ - Keep JSON structure conservative; OpenClaw rejects unknown keys.
13
+ - Use the configuration examples page as a baseline instead of inventing a new root layout.
14
+
15
+ ## Safety rules
16
+
17
+ - Never store production credentials in plaintext if a SecretRef or env var can be used.
18
+ - Avoid mixing plaintext and SecretRefs for the same credential path; the ref wins on supported fields and makes ownership clearer.
19
+ - Validate immediately after editing:
20
+ - `openclaw config validate`
21
+ - `openclaw doctor` when the gateway still behaves unexpectedly
22
+ - Use `openclaw doctor --repair` only when you are comfortable with automatic cleanup and backup behavior.
23
+
24
+ ## Environment rules
25
+
26
+ - Prefer `${VAR_NAME}` substitution for portable config shared across machines.
27
+ - Keep env var names uppercase to match the documented substitution pattern.
28
+ - Use `env.shellEnv.enabled` only when the missing-key import behavior is intentional and understood.
29
+ - Avoid scattering the same secret across the parent shell, local `.env`, and `~/.openclaw/.env`; keep precedence simple.
30
+
31
+ ## Skills rules
32
+
33
+ - Put extra skill roots in `skills.load.extraDirs` instead of hard-coding ad hoc discovery logic elsewhere.
34
+ - Use `skills.entries.<skillKey>.enabled` for explicit enable or disable state.
35
+ - Use `skills.entries.<skillKey>.env` for skill-local environment variables.
36
+ - Use `skills.entries.<skillKey>.apiKey` only when the skill expects a primary env-backed API key convenience field.
37
+ - Leave `skills.load.watch` enabled while iterating on local skills unless file-watch churn becomes a confirmed problem.
38
+ - If you set `skills.install.nodeManager`, remember the official docs still recommend Node as the runtime for the gateway itself.
39
+
40
+ ## Troubleshooting rules
41
+
42
+ - If the gateway stops booting after a config change, assume schema breakage first and validate before changing unrelated systems.
43
+ - When troubleshooting a credentialed path, inspect both the config branch and the SecretRef provider branch.
44
+ - When a user asks for "why did this stop working," capture the exact key path and the command used to validate it.
45
+ - For broken skill loading, check both `skills.load.extraDirs` and the effective `skillKey` mapping.
46
+
47
+ ## Recommended delivery format
48
+
49
+ When answering a user or editing a machine, return:
50
+
51
+ 1. the exact file or key path
52
+ 2. the change made
53
+ 3. the validation command
54
+ 4. the secret or env prerequisites
55
+ 5. the official docs used
@@ -0,0 +1,189 @@
1
+ # OpenClaw Config Reference Map
2
+
3
+ This file condenses the official OpenClaw configuration docs into a quick operator map.
4
+
5
+ ## Main file and edit surfaces
6
+
7
+ - Canonical file: `~/.openclaw/openclaw.json`
8
+ - Guided setup:
9
+ - `openclaw onboard`
10
+ - `openclaw configure`
11
+ - Precise edits:
12
+ - `openclaw config get <path>`
13
+ - `openclaw config set <path> <value>`
14
+ - `openclaw config unset <path>`
15
+ - `openclaw config validate`
16
+ - UI editing:
17
+ - Config tab in the local Control UI at `http://127.0.0.1:18789`
18
+ - Direct editing:
19
+ - safe for broader restructures, but validate immediately afterward
20
+
21
+ ## Validation and reload behavior
22
+
23
+ - OpenClaw enforces a strict schema.
24
+ - Unknown keys, bad types, or invalid values can prevent the gateway from starting.
25
+ - The root `$schema` string is the documented exception for editor schema metadata.
26
+ - When validation fails, the docs point to diagnostic commands such as:
27
+ - `openclaw doctor`
28
+ - `openclaw logs`
29
+ - `openclaw health`
30
+ - `openclaw status`
31
+ - The gateway watches `~/.openclaw/openclaw.json` and hot-applies many changes automatically.
32
+
33
+ ## CLI behavior worth remembering
34
+
35
+ ### Paths
36
+
37
+ - Dot notation works: `agents.defaults.workspace`
38
+ - Bracket notation works: `agents.list[0].tools.exec.node`
39
+
40
+ ### Value parsing
41
+
42
+ - `openclaw config set` parses JSON5 when possible.
43
+ - Use `--strict-json` when you want parsing to be required.
44
+ - Use strings intentionally for values such as heartbeat durations.
45
+
46
+ ### Assignment modes
47
+
48
+ - Value mode: plain path/value edit
49
+ - SecretRef builder mode: build a supported ref without hand-writing JSON
50
+ - Provider builder mode: build `secrets.providers.<alias>` entries
51
+ - Batch mode: apply several edits from a JSON payload or file
52
+
53
+ ## Official namespace map
54
+
55
+ The full reference documents these major sections:
56
+
57
+ - `channels`
58
+ - `agents`
59
+ - `session`
60
+ - `messages`
61
+ - `talk`
62
+ - `tools`
63
+ - custom providers and base URLs
64
+ - `skills`
65
+ - `plugins`
66
+ - `browser`
67
+ - `ui`
68
+ - `gateway`
69
+ - `hooks`
70
+ - canvas host
71
+ - discovery
72
+ - `environment`
73
+ - `secrets`
74
+ - auth storage
75
+ - logging
76
+ - CLI
77
+ - wizard
78
+ - identity
79
+ - `cron`
80
+ - media model template variables
81
+ - config includes via `$include`
82
+
83
+ Use the official full reference when you need the exact nested shape under one of these branches.
84
+
85
+ ## Environment variables
86
+
87
+ The gateway docs describe three non-inline sources:
88
+
89
+ - env vars from the parent process
90
+ - `.env` in the current working directory
91
+ - `~/.openclaw/.env` as a global fallback
92
+
93
+ Neither `.env` file overrides variables that are already present in the parent process.
94
+
95
+ The docs also describe config-side helpers:
96
+
97
+ - inline `env` sections
98
+ - optional shell env import via `env.shellEnv.enabled`
99
+ - config string substitution with `${VAR_NAME}`
100
+
101
+ Key rules called out by the docs:
102
+
103
+ - substitution targets uppercase variable names
104
+ - missing or empty values fail at load time
105
+ - use `$${VAR}` to escape a literal placeholder
106
+
107
+ ## Secrets and credential references
108
+
109
+ OpenClaw documents a common SecretRef shape:
110
+
111
+ ```json
112
+ {
113
+ "source": "env",
114
+ "provider": "default",
115
+ "id": "OPENAI_API_KEY"
116
+ }
117
+ ```
118
+
119
+ Supported ref sources in the docs:
120
+
121
+ - `env`
122
+ - `file`
123
+ - `exec`
124
+
125
+ Operational rules confirmed by the secrets docs:
126
+
127
+ - if a supported field has both plaintext and a ref, the ref takes precedence
128
+ - `openclaw secrets audit --check` is the default preflight
129
+ - `openclaw secrets configure` helps wire providers
130
+ - a final `openclaw secrets audit --check` confirms the setup
131
+
132
+ ## Skills configuration
133
+
134
+ The official skills config page documents these fields:
135
+
136
+ - `skills.allowBundled`
137
+ - `skills.load.extraDirs`
138
+ - `skills.load.watch`
139
+ - `skills.load.watchDebounceMs`
140
+ - `skills.install.preferBrew`
141
+ - `skills.install.nodeManager`
142
+ - `skills.entries.<skillKey>.enabled`
143
+ - `skills.entries.<skillKey>.env`
144
+ - `skills.entries.<skillKey>.apiKey`
145
+
146
+ Notes confirmed by the docs:
147
+
148
+ - `skills.entries` keys default to the skill name
149
+ - if a skill defines `metadata.openclaw.skillKey`, use that key instead
150
+ - watcher-driven skill changes are picked up on the next agent turn when watching is enabled
151
+
152
+ ## Example snippets to adapt
153
+
154
+ ### Minimal starter
155
+
156
+ ```json
157
+ {
158
+ "agents": {
159
+ "defaults": {
160
+ "workspace": "~/.openclaw/workspace"
161
+ }
162
+ },
163
+ "channels": {
164
+ "whatsapp": {
165
+ "allowFrom": ["+15555550123"]
166
+ }
167
+ }
168
+ }
169
+ ```
170
+
171
+ ### Custom skill directory plus per-skill env
172
+
173
+ ```json
174
+ {
175
+ "skills": {
176
+ "load": {
177
+ "extraDirs": ["~/skills", "~/.apollo-toolkit"]
178
+ },
179
+ "entries": {
180
+ "openclaw-configuration": {
181
+ "enabled": true,
182
+ "env": {
183
+ "OPENCLAW_CONFIG_PATH": "~/.openclaw/openclaw.json"
184
+ }
185
+ }
186
+ }
187
+ }
188
+ }
189
+ ```
@@ -0,0 +1,40 @@
1
+ # OpenClaw Official Config Docs
2
+
3
+ Last verified: 2026-03-20
4
+
5
+ Use this file as the entry map into the official OpenClaw documentation on `docs.openclaw.ai`.
6
+
7
+ ## Canonical pages
8
+
9
+ - Gateway configuration overview: `https://docs.openclaw.ai/gateway/configuration`
10
+ - Covers the main config file path, edit surfaces, strict validation, hot reload, env vars, and links to the full reference.
11
+ - Full configuration reference: `https://docs.openclaw.ai/gateway/configuration-reference`
12
+ - Covers the major top-level namespaces such as `channels`, `agents`, `tools`, `skills`, `plugins`, `gateway`, `secrets`, `cron`, and `$include`.
13
+ - Configuration examples: `https://docs.openclaw.ai/gateway/configuration-examples`
14
+ - Provides minimal and starter-shaped configs plus common deployment patterns.
15
+ - Skills config: `https://docs.openclaw.ai/tools/skills-config`
16
+ - Covers `skills.allowBundled`, `skills.load.*`, `skills.install.*`, and `skills.entries.<skillKey>`.
17
+ - Secrets management: `https://docs.openclaw.ai/gateway/secrets`
18
+ - Covers SecretRef structure, providers, precedence, audit flow, and secure credential handling.
19
+ - CLI config command: `https://docs.openclaw.ai/cli/config`
20
+ - Covers `openclaw config get/set/unset/validate`, path syntax, parsing rules, and SecretRef builder modes.
21
+ - CLI configure command: `https://docs.openclaw.ai/cli/configure`
22
+ - Covers the guided configuration wizard.
23
+ - CLI doctor command: `https://docs.openclaw.ai/cli/doctor`
24
+ - Covers diagnostics, repair behavior, backups, and environment checks.
25
+
26
+ ## Core facts confirmed from the official docs
27
+
28
+ - The canonical config file is `~/.openclaw/openclaw.json`.
29
+ - OpenClaw supports guided edits, CLI path edits, Control UI editing, and direct file editing.
30
+ - The gateway validates the config strictly against schema; unknown keys are rejected except for the root `$schema` metadata key.
31
+ - The gateway watches the config file and hot-applies many changes automatically.
32
+ - Secrets can be supplied through env vars, files, or exec-backed SecretRefs, depending on the field.
33
+
34
+ ## When to open which doc
35
+
36
+ - Need the exact field name or namespace: open the full reference.
37
+ - Need a starting snippet or pattern: open configuration examples.
38
+ - Need to load custom skills or set per-skill env: open skills config.
39
+ - Need to wire API keys safely: open secrets management plus CLI config.
40
+ - Need to repair a broken config: open gateway configuration plus CLI doctor.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laitszkin/apollo-toolkit",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "description": "Apollo Toolkit npm installer for managed skill linking across Codex, OpenClaw, and Trae.",
5
5
  "license": "MIT",
6
6
  "author": "LaiTszKin",