@shadowclone/cli 0.0.16 → 0.0.18
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/PRIVACY.md +1 -1
- package/README.md +32 -29
- package/dist/_.._/web/client/index.html +30 -45
- package/dist/shadowclone.js +1198 -527
- package/dist/web/index-25g5ahxa.css +1 -0
- package/dist/web/index-s4mjwgw0.js +134 -0
- package/evals.md +117 -267
- package/package.json +10 -10
- package/plugins/shadowclone/.claude-plugin/plugin.json +1 -1
- package/plugins/shadowclone/.codex-plugin/plugin.json +1 -1
- package/plugins/shadowclone/plugin.json +1 -1
- package/skills/choose-by-consequence/SKILL.md +66 -0
- package/skills/design-deep-modules/SKILL.md +32 -13
- package/skills/diagnose-before-editing/SKILL.md +38 -15
- package/skills/plan-with-review-page/SKILL.md +73 -0
- package/skills/plan-with-review-page/assets/review-page.html +160 -0
- package/skills/plan-with-review-page/scripts/validate-page.mjs +158 -0
- package/skills/research-primary-sources/SKILL.md +32 -12
- package/skills/resolve-conflicts-by-intent/SKILL.md +34 -13
- package/skills/scope-confirmed-changes/SKILL.md +44 -12
- package/skills/shadowclone-work/SKILL.md +29 -20
- package/skills/tests-that-catch-bugs/SKILL.md +73 -0
- package/skills/typescript-type-safety/SKILL.md +32 -14
- package/skills/verify-and-review/SKILL.md +40 -14
- package/skills/verify-review-findings/SKILL.md +59 -0
- package/skills/write-plain-english/SKILL.md +58 -0
- package/skills/write-plain-english/scripts/check-ste.mjs +200 -0
- package/dist/web/index-dzztba9n.css +0 -1
- package/dist/web/index-s1e5043w.js +0 -134
- package/skills/prove-regression-tests/SKILL.md +0 -31
- package/skills/testing-first/SKILL.md +0 -33
- package/skills/testing-risk-based/SKILL.md +0 -32
package/PRIVACY.md
CHANGED
|
@@ -10,7 +10,7 @@ Shadowclone excludes tool results, tool-returned file contents, thinking blocks,
|
|
|
10
10
|
|
|
11
11
|
## What leaves your machine
|
|
12
12
|
|
|
13
|
-
Opening the browser editor and using the local MCP server do not send data to Shadowclone. Optional learning, skill drafting, build descriptions
|
|
13
|
+
Opening the browser editor and using the local MCP server do not send data to Shadowclone. Optional learning, skill drafting, and build descriptions use an agent CLI you choose. Consented, redacted inputs go directly through that provider and are governed by its terms.
|
|
14
14
|
|
|
15
15
|
The build description action sends selected skill titles and redacted summaries. It does not send skill bodies, file paths, repository names, or ownership metadata.
|
|
16
16
|
|
package/README.md
CHANGED
|
@@ -34,11 +34,11 @@ Install the CLI:
|
|
|
34
34
|
npm install -g @shadowclone/cli
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
| Step | Command
|
|
38
|
-
|
|
|
39
|
-
| 1
|
|
40
|
-
| 2
|
|
41
|
-
| 3
|
|
37
|
+
| Step | Command | What happens | Time |
|
|
38
|
+
| ---- | --------------------------------------------------------------- | ------------------------------------------------------------------- | ----------------------: |
|
|
39
|
+
| 1 | `shadowclone init` | Answer three questions about learning and skill maintenance | About 1 minute |
|
|
40
|
+
| 2 | `shadowclone learn --deep` | Learn from enabled past sessions; repeat if more history remains | Up to 5 minutes per run |
|
|
41
|
+
| 3 | `shadowclone learning pending` and `shadowclone skills pending` | Review learned rules, scope, and publication before relying on them | About 1 minute |
|
|
42
42
|
|
|
43
43
|
Setup takes about two to three minutes, excluding learning. Deep learning needs an installed and configured `claude`, `codex`, `cursor-agent`, or `pi` CLI. [Pi setup](docs/guides/pi.md) uses any suitable model configured in Pi, including local providers. Claude Code learning on Linux needs `bwrap` and `socat` for its sandbox.
|
|
44
44
|
|
|
@@ -46,22 +46,25 @@ Setup takes about two to three minutes, excluding learning. Deep learning needs
|
|
|
46
46
|
|
|
47
47
|
Run `shadowclone` to see the current result and next action. Use `shadowclone wizard` to browse optional workflow skills in a browser.
|
|
48
48
|
|
|
49
|
-
**Delegate a
|
|
49
|
+
**Delegate a pull request.** The optional `shadowclone-work` skill takes a request, an issue, or an existing PR to ready for review: green checks, conflicts resolved, and review comments fixed or left for you. It replies to fixed comments with commit SHAs only and never merges. [Use delegated work](docs/guides/delegated-work.md).
|
|
50
|
+
|
|
51
|
+
**Use a personal GitHub clone.** Run `shadowclone bot setup` from a repository checkout. Name your App, select its repositories, and review the exact guidance before connecting your Claude subscription. The clone handles owner issues and tagged PR requests. Live installation qualification is pending. [Set up a GitHub clone](docs/guides/github-clones.md).
|
|
50
52
|
|
|
51
53
|
## Evaluations
|
|
52
54
|
|
|
53
|
-
|
|
55
|
+
We tested 24 fixed engineering tasks across eight preference families, with three repetitions per setup and model. Scores measure preference adherence, with each family weighted equally.
|
|
54
56
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
|
58
|
-
| Existing user skills
|
|
59
|
-
|
|
|
60
|
-
|
|
|
57
|
+
| Setup | GPT 6.1 Sol | GPT 6 Luna | Claude Sonnet 5.5 | Claude Opus 5.5 |
|
|
58
|
+
| ----------------------------------------- | ----------: | ---------: | ----------------: | --------------: |
|
|
59
|
+
| Agent alone | 77.3% | 59.0% | 56.5% | 53.2% |
|
|
60
|
+
| Existing user skills | 85.2% | 80.6% | 76.4% | 73.6% |
|
|
61
|
+
| Existing skills + Shadowclone routing | 86.1% | 72.7% | 76.9% | 75.9% |
|
|
62
|
+
| Existing skills + handwritten preferences | 92.4% | 81.2% | 91.7% | 86.1% |
|
|
63
|
+
| Existing skills + Shadowclone learning | 89.4% | 83.3% | 90.0% | 82.9% |
|
|
61
64
|
|
|
62
|
-
|
|
65
|
+
Shadowclone learning improved recorded adherence over existing skills on all four models. The gain ranges from 2.8 to 13.7 percentage points. Handwritten preferences provide a reference for what agents can follow when the intended rules are supplied directly.
|
|
63
66
|
|
|
64
|
-
The
|
|
67
|
+
The learning setup includes routing and actual learned preferences from synthetic correction sessions. These results measure preference delivery on this task set. [Read the setup definitions, family scores, methods, and measurement limits](evals.md).
|
|
65
68
|
|
|
66
69
|
## Privacy comes first
|
|
67
70
|
|
|
@@ -69,12 +72,12 @@ The existing skill contains three preferences; one shared learning run added two
|
|
|
69
72
|
|
|
70
73
|
**You choose what it reads.** Every capture source is off by default and has its own consent setting. Reading sessions does not silently enable memory, repository metadata, or skill editing.
|
|
71
74
|
|
|
72
|
-
| Operation
|
|
73
|
-
|
|
|
74
|
-
| Learning and skill maintenance | Selected redacted instructions, steering, and supporting context
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
| Evaluation
|
|
75
|
+
| Operation | What the selected provider can receive |
|
|
76
|
+
| ------------------------------ | ------------------------------------------------------------------------------- |
|
|
77
|
+
| Learning and skill maintenance | Selected redacted instructions, steering, and supporting context |
|
|
78
|
+
| Personal GitHub clone | The reviewed skills, native rules, selected repository, and issue or PR task |
|
|
79
|
+
| Browser editor | Nothing merely from opening it; optional AI drafting sends reviewed form fields |
|
|
80
|
+
| Evaluation | Synthetic prompts, the tested setup's guidance, and generated code |
|
|
78
81
|
|
|
79
82
|
**Redaction is a boundary, not an anonymity guarantee.** Tool results, tool-returned file contents, thinking blocks, and data-access results are excluded from learning. Use only sources and repositories you are authorized to send to the selected provider.
|
|
80
83
|
|
|
@@ -82,14 +85,14 @@ The existing skill contains three preferences; one shared learning run added two
|
|
|
82
85
|
|
|
83
86
|
## Guides
|
|
84
87
|
|
|
85
|
-
| Guide
|
|
86
|
-
|
|
|
87
|
-
| [Agent builds](docs/guides/agent-builds.md)
|
|
88
|
-
| [Learning](docs/guides/learning.md)
|
|
89
|
-
| [Skill maintenance](docs/guides/skills.md)
|
|
90
|
-
| [Repository setup](docs/guides/repositories.md) | Share checks and skills with a repository
|
|
91
|
-
| [How it works](docs/guides/how-it-works.md)
|
|
92
|
-
| [Command reference](docs/guides/commands.md)
|
|
88
|
+
| Guide | Use it to |
|
|
89
|
+
| ----------------------------------------------- | -------------------------------------------------------------- |
|
|
90
|
+
| [Agent builds](docs/guides/agent-builds.md) | Choose, create, and equip skills |
|
|
91
|
+
| [Learning](docs/guides/learning.md) | Run deep learning, background learning, or record a preference |
|
|
92
|
+
| [Skill maintenance](docs/guides/skills.md) | Review updates, conflicts, history, and undo |
|
|
93
|
+
| [Repository setup](docs/guides/repositories.md) | Share checks and skills with a repository |
|
|
94
|
+
| [How it works](docs/guides/how-it-works.md) | Follow guidance from consented evidence to coding agents |
|
|
95
|
+
| [Command reference](docs/guides/commands.md) | Find everyday and advanced commands |
|
|
93
96
|
|
|
94
97
|
**Further reading:** [Documentation index](docs/README.md) · [Architecture](docs/architecture/README.md) · [Design history](docs/design/README.md) · [Migration](docs/migration.md) · [Contributing](CONTRIBUTING.md) · [Security](SECURITY.md)
|
|
95
98
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<meta name="referrer" content="no-referrer" />
|
|
7
7
|
<meta
|
|
8
8
|
http-equiv="Content-Security-Policy"
|
|
9
|
-
content="default-src 'self'; connect-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; object-src 'none'; base-uri 'none'; form-action
|
|
9
|
+
content="default-src 'self'; connect-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; object-src 'none'; base-uri 'none'; form-action https://github.com"
|
|
10
10
|
/>
|
|
11
11
|
<title>Your agent build · Shadowclone</title>
|
|
12
12
|
<link rel="icon" type="image/svg+xml" href="../../../web/shadowclone-mark-w6a76wqy.svg" />
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
|
|
26
|
+
<link rel="stylesheet" crossorigin href="../../../web/index-25g5ahxa.css"><script type="module" crossorigin src="../../../web/index-s4mjwgw0.js"></script></head>
|
|
26
27
|
<body>
|
|
27
28
|
<div class="frame">
|
|
28
29
|
<header class="masthead">
|
|
@@ -38,8 +39,7 @@
|
|
|
38
39
|
<p class="eyebrow">YOUR AGENT. YOUR INSTINCTS.</p>
|
|
39
40
|
<h1 id="page-title">Build the way you think.</h1>
|
|
40
41
|
<p class="subtitle">
|
|
41
|
-
Equip a way of working. Every skill shapes how your agent approaches
|
|
42
|
-
a task.
|
|
42
|
+
Equip a way of working. Every skill shapes how your agent approaches a task.
|
|
43
43
|
</p>
|
|
44
44
|
</section>
|
|
45
45
|
|
|
@@ -63,34 +63,33 @@
|
|
|
63
63
|
<p id="scope-note" class="scope-note"></p>
|
|
64
64
|
<details id="library-note" class="library-note" hidden>
|
|
65
65
|
<summary>Built-in library · add your own</summary>
|
|
66
|
-
<p>
|
|
67
|
-
Include your installed skills by choosing the folders Shadowclone
|
|
68
|
-
can read.
|
|
69
|
-
</p>
|
|
66
|
+
<p>Include your installed skills by choosing the folders Shadowclone can read.</p>
|
|
70
67
|
<code>shadowclone skills configure</code>
|
|
71
68
|
</details>
|
|
72
69
|
</div>
|
|
73
70
|
<div id="notice" role="status" class="notice" hidden></div>
|
|
74
71
|
<details class="requirements">
|
|
75
72
|
<summary>Learning model</summary>
|
|
76
|
-
<p>
|
|
73
|
+
<p>
|
|
74
|
+
Models and credentials are configured in your coding harness. Session learning follows
|
|
75
|
+
that session's model.
|
|
76
|
+
</p>
|
|
77
77
|
<button id="load-models" class="quiet-button">Refresh available models</button>
|
|
78
|
-
<label
|
|
78
|
+
<label
|
|
79
|
+
>Saved model
|
|
80
|
+
<select id="learning-model">
|
|
81
|
+
<option>Refresh models to choose</option>
|
|
82
|
+
</select></label
|
|
83
|
+
>
|
|
79
84
|
</details>
|
|
80
85
|
|
|
81
86
|
<div class="workspace">
|
|
82
|
-
<section
|
|
83
|
-
id="constellation"
|
|
84
|
-
class="constellation"
|
|
85
|
-
aria-label="Skill constellation"
|
|
86
|
-
>
|
|
87
|
+
<section id="constellation" class="constellation" aria-label="Skill constellation">
|
|
87
88
|
<div id="constellation-status" class="constellation-status" role="status">
|
|
88
89
|
<p id="constellation-status-text">Loading your skills…</p>
|
|
89
90
|
<button id="retry-build" class="quiet-button" hidden>Retry loading skills</button>
|
|
90
91
|
</div>
|
|
91
92
|
<div class="constellation-controls" aria-label="Constellation controls">
|
|
92
|
-
<button id="fit-constellation" class="quiet-button">Fit</button>
|
|
93
|
-
<button id="reset-constellation" class="quiet-button">Reset</button>
|
|
94
93
|
<button
|
|
95
94
|
id="toggle-constellation-view"
|
|
96
95
|
class="quiet-button"
|
|
@@ -100,22 +99,18 @@
|
|
|
100
99
|
Map / list
|
|
101
100
|
</button>
|
|
102
101
|
</div>
|
|
103
|
-
<svg
|
|
104
|
-
id="starfield"
|
|
105
|
-
class="starfield"
|
|
106
|
-
aria-hidden="true"
|
|
107
|
-
></svg>
|
|
102
|
+
<svg id="starfield" class="starfield" aria-hidden="true"></svg>
|
|
108
103
|
<svg
|
|
109
104
|
id="constellation-map"
|
|
110
105
|
class="constellation-map"
|
|
111
|
-
aria-label="Skills grouped
|
|
106
|
+
aria-label="Skills grouped by source and category"
|
|
112
107
|
></svg>
|
|
113
108
|
<div id="constellation-list" class="constellation-list"></div>
|
|
114
|
-
<p class="tree-hint">Select a
|
|
109
|
+
<p class="tree-hint">Select a skill to equip it. Search highlights matches.</p>
|
|
115
110
|
</section>
|
|
116
111
|
|
|
117
112
|
<aside class="build-panel" aria-label="Your character build">
|
|
118
|
-
<section class="identity" aria-labelledby="identity-title">
|
|
113
|
+
<section id="identity" class="identity" aria-labelledby="identity-title" aria-live="polite">
|
|
119
114
|
<div>
|
|
120
115
|
<p class="eyebrow">YOUR BUILD</p>
|
|
121
116
|
<h2 id="identity-title">An open canvas</h2>
|
|
@@ -123,21 +118,17 @@
|
|
|
123
118
|
Choose the instincts you want your agent to bring to work.
|
|
124
119
|
</p>
|
|
125
120
|
</div>
|
|
126
|
-
<
|
|
127
|
-
<
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
id="
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
121
|
+
<ul id="abilities" class="abilities"></ul>
|
|
122
|
+
<p id="tradeoff" class="tradeoff" hidden></p>
|
|
123
|
+
<div class="naming-controls">
|
|
124
|
+
<p id="naming-source" class="naming-source"></p>
|
|
125
|
+
<button id="retry-name" class="quiet-button" hidden>Retry</button>
|
|
126
|
+
<button id="toggle-naming" class="quiet-button" aria-pressed="true">
|
|
127
|
+
Turn naming off
|
|
128
|
+
</button>
|
|
129
|
+
</div>
|
|
135
130
|
</section>
|
|
136
|
-
<section
|
|
137
|
-
id="detail"
|
|
138
|
-
class="detail"
|
|
139
|
-
aria-label="Selected skill"
|
|
140
|
-
></section>
|
|
131
|
+
<section id="detail" class="detail" aria-label="Selected skill"></section>
|
|
141
132
|
</aside>
|
|
142
133
|
</div>
|
|
143
134
|
|
|
@@ -147,12 +138,6 @@
|
|
|
147
138
|
hidden
|
|
148
139
|
aria-label="Repository requirements"
|
|
149
140
|
></section>
|
|
150
|
-
<details class="requirements">
|
|
151
|
-
<summary>Work in this repository</summary>
|
|
152
|
-
<p>Last recorded progress. Inspect a task for current verification and review readiness.</p>
|
|
153
|
-
<button id="refresh-tasks" class="quiet-button">Refresh recorded work</button>
|
|
154
|
-
<div id="task-list" aria-live="polite"></div>
|
|
155
|
-
</details>
|
|
156
141
|
</main>
|
|
157
142
|
|
|
158
143
|
<footer class="footer">
|