clawpilot 0.1.1 → 0.2.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.
@@ -0,0 +1,57 @@
1
+ # clawpilot v0.1.2
2
+
3
+ Released: 2026-02-13
4
+
5
+ ## Highlights
6
+
7
+ - Added installer non-interactive mode with `--yes`.
8
+ - Added timezone override support with `--timezone <IANA>`.
9
+ - Improved installer validation and error messaging for missing option values.
10
+ - Improved productivity loop prompt structure (Morning / Midday / Evening flow).
11
+ - Added troubleshooting guidance for npm publish `E403` (2FA/token setup).
12
+
13
+ ## What Changed
14
+
15
+ ### Installer UX
16
+
17
+ - New CLI option: `--yes`
18
+ - Disables prompts and fails fast when required values are missing.
19
+ - New CLI option: `--timezone <IANA>`
20
+ - Persists explicit timezone into OpenClaw config.
21
+ - CLI help output now documents the new options.
22
+ - Installer now prints a concise post-install next step message.
23
+
24
+ ### Reliability
25
+
26
+ - Reinstall and config update behavior remain idempotent.
27
+ - Existing custom fields under `skills.entries.clawpilot-productivity` are preserved.
28
+ - `skills.load.extraDirs` remains deduplicated across repeated installs.
29
+
30
+ ### Prompt Template
31
+
32
+ - Refined `templates/soul-injection.md` to enforce a clearer daily operating format:
33
+ - Morning: 3 measurable tasks
34
+ - Midday: status + unblock action
35
+ - Evening: review + tomorrow first action
36
+ - Added explicit rescue sprint guardrail (max two per week).
37
+
38
+ ### Docs
39
+
40
+ - Added Quick Start and local isolated install examples.
41
+ - Added npm publish troubleshooting for `E403`.
42
+ - Added 0.1.2 plan/design docs.
43
+
44
+ ## Verification
45
+
46
+ - Test suite: `node --test` (7/7 passing)
47
+ - Package dry run: `npm pack --dry-run`
48
+ - Smoke flow validated:
49
+ - `node bin/cli.js install --home <temp> --yes --timezone UTC`
50
+ - `node bin/cli.js install --home <temp> --yes --timezone UTC --force`
51
+
52
+ ## Upgrade
53
+
54
+ ```bash
55
+ npx -y clawpilot@latest --help
56
+ npx -y clawpilot@latest install --yes --timezone UTC
57
+ ```
@@ -0,0 +1,24 @@
1
+ # clawpilot v0.2.0 (Draft)
2
+
3
+ ## Highlights
4
+
5
+ - Added runtime command execution via `clawpilot run`.
6
+ - Added productivity workflow handlers: `morning`, `midday`, `evening`, `report`.
7
+ - Added OpenClaw Gateway delivery adapter (`openclaw message send`).
8
+ - Added fictional K-style role packs (`hana`, `minji`).
9
+ - Added template rendering and runtime state persistence.
10
+ - Added installer defaults for Telegram gateway delivery and role pack config.
11
+
12
+ ## Runtime Commands
13
+
14
+ ```bash
15
+ clawpilot run --command morning --dry-run --timezone UTC --role-pack hana
16
+ clawpilot run --command midday --dry-run --status done --status blocked --status deferred
17
+ clawpilot run --command evening --dry-run
18
+ clawpilot run --command report --dry-run
19
+ ```
20
+
21
+ ## Notes
22
+
23
+ - This release does not include direct Telegram Bot API webhook integration.
24
+ - Delivery is routed through OpenClaw Gateway.
@@ -0,0 +1,19 @@
1
+ # clawpilot v0.2.1 (Draft)
2
+
3
+ ## Highlights
4
+
5
+ - Added social recap formatting helpers for Telegram, X, and LinkedIn styles.
6
+ - Added weekly report summarization with completion rate and blocker counts.
7
+ - Added content templates for social output formats.
8
+ - Improved docs coverage for runtime workflows and publishing checks.
9
+
10
+ ## New Content Paths
11
+
12
+ - `templates/content/social-telegram.md`
13
+ - `templates/content/social-x.md`
14
+ - `templates/content/social-linkedin.md`
15
+
16
+ ## Notes
17
+
18
+ - Focus remains execution-first productivity workflow.
19
+ - Role identity remains fictional and non-celebrity.
@@ -0,0 +1,44 @@
1
+ # Troubleshooting
2
+
3
+ Common runtime/install failures and how to fix them quickly.
4
+
5
+ ## Error Codes
6
+
7
+ - `gateway_missing`: OpenClaw CLI is unavailable.
8
+ Fix: install OpenClaw and verify with `openclaw --version`.
9
+ - `openclaw_version_unsupported`: OpenClaw version is below minimum required version.
10
+ Fix: upgrade OpenClaw to the minimum version reported by preflight.
11
+ - `openclaw_version_unknown`: OpenClaw version string could not be parsed.
12
+ Fix: verify `openclaw --version` outputs semantic version (`x.y.z`).
13
+ - `gateway_unreachable`: Gateway process is offline or refused connection.
14
+ Fix: start gateway and verify connectivity.
15
+ - `auth_invalid`: Token or gateway auth is invalid.
16
+ Fix: refresh auth token and retry.
17
+ - `channel_not_found`: Target channel/chat is not found.
18
+ Fix: verify `--channel` or `delivery.channel`.
19
+ - `permission_denied`: OS/app permission blocked send.
20
+ Fix: grant permissions and retry.
21
+ - `network_timeout`: DNS/network timeout while sending.
22
+ Fix: retry and verify network path.
23
+ - `invalid_payload`: Message payload rejected (400).
24
+ Fix: validate channel/message/media fields.
25
+ - `rate_limited`: Gateway/provider is throttling requests.
26
+ Fix: add backoff and reduce send frequency.
27
+ - `channel_required`: Non-dry-run command has no channel value.
28
+ Fix: pass `--channel <target>` or set `delivery.channel`.
29
+ - `delivery_channel_missing`: Config check warning for missing default channel in gateway mode.
30
+ Fix: set `delivery.channel` in `openclaw.json` or pass `--channel`.
31
+ - `gateway_token_missing`: Config check warning for missing gateway token source.
32
+ Fix: set `OPENCLAW_GATEWAY_TOKEN` env var or OpenClaw token config.
33
+
34
+ ## Useful Commands
35
+
36
+ - JSON error output for automation:
37
+ - `node bin/cli.js run --command morning --json-errors`
38
+ - Preflight summary before install:
39
+ - `node bin/cli.js install --preflight`
40
+ - `node bin/cli.js install --preflight --json-errors`
41
+ - Safe validation without sending:
42
+ - `node bin/cli.js run --command morning --dry-run --timezone UTC`
43
+ - Re-run install with existing policy:
44
+ - `node bin/cli.js install --on-existing update --yes --timezone UTC`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawpilot",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "OpenClaw productivity copilot installer and skill package.",
5
5
  "private": false,
6
6
  "bin": {
package/skill/SKILL.md CHANGED
@@ -1,22 +1,33 @@
1
- # Clawpilot Productivity Skill
2
-
3
- You are a productivity copilot focused on helping the user ship meaningful work each day.
4
-
5
- ## Core Loop
6
-
7
- 1. Morning planning:
8
- - Ask for the user's top 3 outcome-based tasks.
9
- - Ensure each task is specific and verifiable.
10
- 2. Midday check-in:
11
- - Ask what is done, blocked, or deferred.
12
- - Help remove one blocker.
13
- 3. Evening review:
14
- - Summarize completed work.
15
- - Capture one improvement for tomorrow.
16
-
17
- ## Tone and Constraints
18
-
19
- - Keep responses short and action-oriented.
20
- - Be supportive and direct.
21
- - Avoid guilt, shame, or perfectionist framing.
22
- - Prefer one next action when the user is stuck.
1
+ # Clawpilot Productivity Skill
2
+
3
+ You are a productivity copilot focused on helping the user ship meaningful work each day.
4
+
5
+ ## Runtime Commands
6
+
7
+ - `/morning` - collect and lock top 3 measurable tasks.
8
+ - `/midday` - update status (`done`, `blocked`, `deferred`) for each task.
9
+ - `/evening` - review progress and define tomorrow's first action.
10
+ - `/report` - produce concise summary for user updates.
11
+
12
+ Delivery path:
13
+ - Use OpenClaw Gateway command: `openclaw message send`.
14
+ - Default target platform is Telegram from runtime config.
15
+
16
+ ## Core Loop
17
+
18
+ 1. Morning planning:
19
+ - Ask for the user's top 3 outcome-based tasks.
20
+ - Ensure each task is specific and verifiable.
21
+ 2. Midday check-in:
22
+ - Ask what is done, blocked, or deferred.
23
+ - Help remove one blocker.
24
+ 3. Evening review:
25
+ - Summarize completed work.
26
+ - Capture one improvement for tomorrow.
27
+
28
+ ## Tone and Constraints
29
+
30
+ - Keep responses short and action-oriented.
31
+ - Be supportive and direct.
32
+ - Avoid guilt, shame, or perfectionist framing.
33
+ - Prefer one next action when the user is stuck.
@@ -0,0 +1,68 @@
1
+ const SKILL_ID = 'clawpilot-productivity';
2
+ const CURRENT_CONFIG_SCHEMA_VERSION = 2;
3
+
4
+ function asObject(value) {
5
+ return value && typeof value === 'object' && !Array.isArray(value) ? value : {};
6
+ }
7
+
8
+ function migrateV1ToV2(inputConfig) {
9
+ const config = { ...asObject(inputConfig) };
10
+ const skills = { ...asObject(config.skills) };
11
+ const entries = { ...asObject(skills.entries) };
12
+ const existingEntry = asObject(entries[SKILL_ID]);
13
+
14
+ if (Object.keys(existingEntry).length > 0) {
15
+ const runtime = { ...asObject(existingEntry.runtime) };
16
+ const defaults = { ...asObject(runtime.defaults) };
17
+ const schedule = { ...asObject(runtime.schedule) };
18
+
19
+ if (existingEntry.timezone && defaults.timezone === undefined) {
20
+ defaults.timezone = existingEntry.timezone;
21
+ }
22
+ if (existingEntry.rolePack && defaults.rolePack === undefined) {
23
+ defaults.rolePack = existingEntry.rolePack;
24
+ }
25
+ if (Object.keys(schedule).length === 0 && existingEntry.schedule) {
26
+ Object.assign(schedule, asObject(existingEntry.schedule));
27
+ }
28
+
29
+ runtime.defaults = defaults;
30
+ runtime.schedule = schedule;
31
+ entries[SKILL_ID] = {
32
+ ...existingEntry,
33
+ runtime
34
+ };
35
+ skills.entries = entries;
36
+ config.skills = skills;
37
+ }
38
+
39
+ config.configSchemaVersion = 2;
40
+ return config;
41
+ }
42
+
43
+ function migrateConfig(sourceConfig = {}) {
44
+ let config = { ...asObject(sourceConfig) };
45
+ let version = Number.isInteger(config.configSchemaVersion)
46
+ ? config.configSchemaVersion
47
+ : 1;
48
+
49
+ while (version < CURRENT_CONFIG_SCHEMA_VERSION) {
50
+ if (version === 1) {
51
+ config = migrateV1ToV2(config);
52
+ version = 2;
53
+ continue;
54
+ }
55
+ break;
56
+ }
57
+
58
+ if (!Number.isInteger(config.configSchemaVersion)) {
59
+ config.configSchemaVersion = CURRENT_CONFIG_SCHEMA_VERSION;
60
+ }
61
+
62
+ return config;
63
+ }
64
+
65
+ module.exports = {
66
+ CURRENT_CONFIG_SCHEMA_VERSION,
67
+ migrateConfig
68
+ };