@super-hands/connect 0.1.21 → 0.1.24
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/client.mjs +69 -18
- package/package.json +1 -1
package/client.mjs
CHANGED
|
@@ -42,7 +42,7 @@ function codexConfigBlock(args) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
// lib/connect-skill.ts
|
|
45
|
-
var CONNECT_SKILL_VERSION =
|
|
45
|
+
var CONNECT_SKILL_VERSION = 17;
|
|
46
46
|
var CONNECT_SKILL_DIR = MCP_SERVER_KEY;
|
|
47
47
|
var CONNECT_SKILL_FILENAME = "SKILL.md";
|
|
48
48
|
var VERSION_MARKER = `[//]: # (superhands-skill-version: ${CONNECT_SKILL_VERSION})`;
|
|
@@ -63,6 +63,15 @@ describe how agents should build in this product. Source labels tell you where
|
|
|
63
63
|
an instruction came from and how to read it; they are not a choice about which
|
|
64
64
|
half to follow.
|
|
65
65
|
|
|
66
|
+
Design traces connect guidance to reported changes, evidence and designer review.
|
|
67
|
+
For this task, create a stable task reference once (for example a UUID), and send
|
|
68
|
+
it as \`trace.taskId\` on the first Instructions read. Reuse it if that read
|
|
69
|
+
needs retrying. Save the returned \`trace.runId\` and \`trace.decisionId\`;
|
|
70
|
+
send \`trace.runId\` on every later read and report. Do not use a transport
|
|
71
|
+
session or a shared credential as a task identity. Send \`trace.target\` for
|
|
72
|
+
known screens/parts, \`trace.phase\` (before or during), and \`trace.trigger\`
|
|
73
|
+
when an observation prompted guidance. Unknown scope stays unknown.
|
|
74
|
+
|
|
66
75
|
Before you build, change, or restyle any UI:
|
|
67
76
|
|
|
68
77
|
1. Call the \`superhands_get_instructions\` MCP tool with \`intent\` set to what
|
|
@@ -115,30 +124,72 @@ Before you build, change, or restyle any UI:
|
|
|
115
124
|
entries pull in different directions, prefer the more specific instruction,
|
|
116
125
|
preserve explicit exceptions, and call out any conflict you cannot honestly
|
|
117
126
|
resolve.
|
|
118
|
-
5.
|
|
127
|
+
5. Keep each design decision explicit. Use \`superhands_report_trace\` with the
|
|
128
|
+
runId, a stable eventId and occurredAt timestamp (reuse both on retries).
|
|
129
|
+
Send a \`decision\` event with the returned delivery IDs when one context
|
|
130
|
+
response supports several decisions; use \`replaces\` to refine a provisional
|
|
131
|
+
group without counting both. Title it \u201CSuggested \u2026\u201D until output inspection
|
|
132
|
+
establishes reuse. Keep conflicting sources and any explicit resolution.
|
|
133
|
+
Register each identifiable output with an \`output\` event: revision,
|
|
134
|
+
identity (commit:<sha>[:dirty-digest], deployment:<build-id>, or
|
|
135
|
+
artifact:<digest>), label and target. A preview URL is only a locator.
|
|
136
|
+
Later revisions name the preceding revision in \`supersedes\`.
|
|
137
|
+
Send \`response\` events with decisionId, revision, description and
|
|
138
|
+
\`reported_applied\`, \`reported_adapted\`, or \`reported_rejected\`.
|
|
139
|
+
Include a concise explicit reason when useful; never provide private reasoning.
|
|
140
|
+
Agent reports and agent-run checks are labelled **Agent reported**, not
|
|
141
|
+
independent verification. A screenshot is an artifact, not a passed check.
|
|
142
|
+
Use \`superhands_add_trace_artifact\` for available images or evidence links,
|
|
143
|
+
with their route, viewport and UI state. Missing capture capability is a gap;
|
|
144
|
+
it must not stop coding. Never invent a before image or an unguided baseline.
|
|
145
|
+
Read \`superhands_get_trace\` before responding to designer feedback. Feedback
|
|
146
|
+
belongs to its reviewed revision. After addressing it, register the new output
|
|
147
|
+
and send a \`ready\` event naming feedbackId; only the designer may approve.
|
|
148
|
+
Report interrupted/failed/resumed lifecycle explicitly; to resume a terminal
|
|
149
|
+
run, read and supersede its lifecycleId. Later outputs do not inherit approval.
|
|
150
|
+
If trace recording fails, report that gap and continue the coding task.
|
|
151
|
+
|
|
152
|
+
6. When you finish a part, call \`superhands_report_part\` with \`part\` \u2014 the
|
|
153
|
+
part you just finished, in the words you fetched it under \u2014 and
|
|
154
|
+
\`instructionChanges\`: for each Instruction you built that part to, its key
|
|
155
|
+
exactly as it was handed to you and one line on the concrete change it
|
|
156
|
+
caused there \u2014 \`{ "part": "the form's validation errors",
|
|
157
|
+
"instructionChanges": [{ "key": "skill#every-view-has-its-states", "change":
|
|
158
|
+
"kept the typed values and named the failing field" }] }\`. If one caused no
|
|
159
|
+
change, say that in its line. The run's page shows the line beside that
|
|
160
|
+
Instruction as it lands, so the person watching sees what each changed
|
|
161
|
+
while you work rather than only at the end. It records and does not
|
|
162
|
+
review; a failed call costs the work nothing.
|
|
163
|
+
- In your working log, say "[part] reported" when it returns.
|
|
164
|
+
- If that tool is not available on this server, skip this step; the
|
|
165
|
+
closing report below carries the same lines.
|
|
166
|
+
6. As your work reaches files your opening intent never mentioned, call
|
|
119
167
|
\`superhands_possible_misses\` with the \`paths\` you are actually in. It is
|
|
120
168
|
a free, instant, advisory list of checks those files usually need \u2014 not a
|
|
121
169
|
review, not a gate \u2014 so call it as the work moves and once before your
|
|
122
170
|
summary, passing \`handled\` for anything you already covered.
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
171
|
+
7. When you have finished \u2014 not part-way through \u2014 say so with
|
|
172
|
+
\`superhands_report_completed_build\`, naming the \`route\` if you know it,
|
|
173
|
+
and \`instructionChanges\`: for each Instruction you were handed up front
|
|
174
|
+
or picked up during the work, its key exactly as it was handed to you and
|
|
175
|
+
one line on the concrete change it caused in what you built \u2014 \`{ "key":
|
|
176
|
+
"skill#every-view-has-its-states", "change": "added loading, empty and
|
|
177
|
+
error states to the orders table" }\`. Do not send your code: there is no
|
|
178
|
+
field for files, and the report is your account of the build rather than a
|
|
179
|
+
copy of it. Repeat the lines you reported per part where they still hold,
|
|
180
|
+
and add one for anything you were handed and never reported. If one caused
|
|
181
|
+
no change, say that in its line rather than leaving it out. The team sees
|
|
182
|
+
there that the work is done and reads those lines as your words; it
|
|
132
183
|
records and does not review, so a failed report costs the work nothing. A
|
|
133
|
-
successful response ends with
|
|
134
|
-
once in your final response so
|
|
135
|
-
|
|
136
|
-
reported each changed. It is
|
|
137
|
-
was applied.
|
|
138
|
-
|
|
184
|
+
successful response ends with
|
|
185
|
+
the run's Instructions receipt; include it once in your final response so
|
|
186
|
+
the person can see what was handed over up front, picked up during the
|
|
187
|
+
work, or only named for later, and what you reported each changed. It is
|
|
188
|
+
context provenance, not proof that anything was applied.
|
|
189
|
+
8. In that final response, state the same concrete output change each
|
|
139
190
|
picked-up Instruction caused, in your own words. This is your account of the
|
|
140
191
|
work, not a Superhands review or verification.
|
|
141
|
-
|
|
192
|
+
9. When you finish, say you followed the team's Instructions \u2014 never that your
|
|
142
193
|
work was checked. Reading Instructions is not a check, reporting a build is
|
|
143
194
|
not a review, and nothing has looked at what you built.
|
|
144
195
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-hands/connect",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.24",
|
|
4
4
|
"description": "Connect the coding agents on this machine to your team's Superhands MCP server — with `start`, from a machine that has no Superhands account at all. Refresh it later with `update` (no token needed), and take it back off again with `uninstall`. Writes each client's own config; reads no repository, uploads nothing.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"superhands-connect": "client.mjs"
|