@super-hands/connect 0.1.23 → 0.1.25
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 +62 -15
- package/package.json +1 -1
package/client.mjs
CHANGED
|
@@ -42,11 +42,11 @@ function codexConfigBlock(args) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
// lib/connect-skill.ts
|
|
45
|
-
var CONNECT_SKILL_VERSION =
|
|
45
|
+
var CONNECT_SKILL_VERSION = 18;
|
|
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})`;
|
|
49
|
-
var CONNECT_SKILL_DESCRIPTION = `Build UI the way this team has decided it should be built. Use BEFORE building, changing, or restyling any page, screen, view, form, or component \u2014 "build a page", "add a screen", "create a form", "make a dashboard", "redesign this", "new landing page" \u2014 and when asked how this product should look or behave. Reads the team's build-time Instructions from their Superhands MCP server.`;
|
|
49
|
+
var CONNECT_SKILL_DESCRIPTION = `Build UI the way this team has decided it should be built. Use BEFORE building, changing, or restyling any page, screen, view, form, or component \u2014 "build a page", "add a screen", "create a form", "make a dashboard", "redesign this", "new landing page" \u2014 and when asked how this product should look or behave. Reads the team's build-time Instructions from their Superhands MCP server, fetches task-wide requirements before starting and each part's selected instructions before building, including copy, and follows explicit requirements even when unusual or agent-specific.`;
|
|
50
50
|
var CONNECT_SKILL_CONTENT = `---
|
|
51
51
|
name: ${CONNECT_SKILL_DIR}
|
|
52
52
|
description: ${CONNECT_SKILL_DESCRIPTION}
|
|
@@ -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
|
|
@@ -80,14 +89,15 @@ Before you build, change, or restyle any UI:
|
|
|
80
89
|
example \`["app/marketing/pricing.tsx"]\`. The team writes down where
|
|
81
90
|
Instructions apply, and a path answers that far better than a description
|
|
82
91
|
does. Leave it out if you do not know yet; it narrows nothing away.
|
|
83
|
-
2. Plan against
|
|
84
|
-
keys
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
92
|
+
2. Plan against the selected Instructions. The first answer names them under
|
|
93
|
+
**Reachable**, with keys and opening text; it does not render them in full.
|
|
94
|
+
Fetch every selected entry when its scope is reached, including review-enforced
|
|
95
|
+
decisions. Superhands has already selected these for the task: sequence their
|
|
96
|
+
use, not a second shortlist based on your preferences. Map every selected key
|
|
97
|
+
to the work it governs. The closing **Not selected** index is available for
|
|
98
|
+
anything selection missed; fetch an entry there if the work reaches its scope.
|
|
99
|
+
If no entry covers a part, say guidance was not found for it, rather than
|
|
100
|
+
assuming the team has never written any.
|
|
91
101
|
3. As you start each part \u2014 the sidebar, then the table, then the form \u2014 call
|
|
92
102
|
\`superhands_get_instruction_modules\` with the reachable keys covering the
|
|
93
103
|
part you are starting now and \`part\` set to that part in a few words,
|
|
@@ -105,17 +115,54 @@ Before you build, change, or restyle any UI:
|
|
|
105
115
|
the start. These are instructions to follow, not facts to know, so modules
|
|
106
116
|
for a part you are not building are a page of directions about the wrong
|
|
107
117
|
thing sitting in your context while you work.
|
|
108
|
-
-
|
|
109
|
-
|
|
110
|
-
|
|
118
|
+
- Fetch instructions governing the whole task, agent behaviour or communication
|
|
119
|
+
before starting that work, and continue applying them throughout the task.
|
|
120
|
+
Fetch copy instructions before writing text, including placeholder copy,
|
|
121
|
+
headings, buttons and footers, even during layout or styling work. A part
|
|
122
|
+
includes its copy, controls, accessibility and states as well as its styling.
|
|
123
|
+
- If an entry's full text excludes the actual work, or the task changes so its
|
|
124
|
+
scope is no longer reached, state the concrete reason it does not apply.
|
|
125
|
+
Do not silently omit it.
|
|
111
126
|
- If that tool is not available on this server,
|
|
112
127
|
build from what step 1 already returned and skip this step. Do not ask
|
|
113
128
|
for the whole library instead \u2014 that is the wall of text step 1 avoided.
|
|
129
|
+
Say which entries could not be read; never claim to have followed unavailable text.
|
|
114
130
|
4. Build to what comes back. Use the selected Instructions together. When two
|
|
115
131
|
entries pull in different directions, prefer the more specific instruction,
|
|
116
132
|
preserve explicit exceptions, and call out any conflict you cannot honestly
|
|
117
|
-
resolve.
|
|
118
|
-
|
|
133
|
+
resolve. Do not dismiss an explicit requirement as a leftover test, placeholder,
|
|
134
|
+
accidental entry or bad brand choice because it looks unusual. Do not ask for
|
|
135
|
+
confirmation merely because you would prefer a different result. An explicit
|
|
136
|
+
agent-specific text prefix is an exception to general copy style: apply the
|
|
137
|
+
prefix and follow the general style for the rest of the text. If requirements
|
|
138
|
+
remain incompatible after applying their scopes and exceptions, identify the
|
|
139
|
+
exact conflict and ask a focused question; continue work independent of the answer.
|
|
140
|
+
5. Keep each design decision explicit. Use \`superhands_report_trace\` with the
|
|
141
|
+
runId, a stable eventId and occurredAt timestamp (reuse both on retries).
|
|
142
|
+
Send a \`decision\` event with the returned delivery IDs when one context
|
|
143
|
+
response supports several decisions; use \`replaces\` to refine a provisional
|
|
144
|
+
group without counting both. Title it \u201CSuggested \u2026\u201D until output inspection
|
|
145
|
+
establishes reuse. Keep conflicting sources and any explicit resolution.
|
|
146
|
+
Register each identifiable output with an \`output\` event: revision,
|
|
147
|
+
identity (commit:<sha>[:dirty-digest], deployment:<build-id>, or
|
|
148
|
+
artifact:<digest>), label and target. A preview URL is only a locator.
|
|
149
|
+
Later revisions name the preceding revision in \`supersedes\`.
|
|
150
|
+
Send \`response\` events with decisionId, revision, description and
|
|
151
|
+
\`reported_applied\`, \`reported_adapted\`, or \`reported_rejected\`.
|
|
152
|
+
Include a concise explicit reason when useful; never provide private reasoning.
|
|
153
|
+
Agent reports and agent-run checks are labelled **Agent reported**, not
|
|
154
|
+
independent verification. A screenshot is an artifact, not a passed check.
|
|
155
|
+
Use \`superhands_add_trace_artifact\` for available images or evidence links,
|
|
156
|
+
with their route, viewport and UI state. Missing capture capability is a gap;
|
|
157
|
+
it must not stop coding. Never invent a before image or an unguided baseline.
|
|
158
|
+
Read \`superhands_get_trace\` before responding to designer feedback. Feedback
|
|
159
|
+
belongs to its reviewed revision. After addressing it, register the new output
|
|
160
|
+
and send a \`ready\` event naming feedbackId; only the designer may approve.
|
|
161
|
+
Report interrupted/failed/resumed lifecycle explicitly; to resume a terminal
|
|
162
|
+
run, read and supersede its lifecycleId. Later outputs do not inherit approval.
|
|
163
|
+
If trace recording fails, report that gap and continue the coding task.
|
|
164
|
+
|
|
165
|
+
6. When you finish a part, call \`superhands_report_part\` with \`part\` \u2014 the
|
|
119
166
|
part you just finished, in the words you fetched it under \u2014 and
|
|
120
167
|
\`instructionChanges\`: for each Instruction you built that part to, its key
|
|
121
168
|
exactly as it was handed to you and one line on the concrete change it
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-hands/connect",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
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"
|