sneakoscope 0.6.38 → 0.6.41
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/README.md +228 -9
- package/docs/assets/sneakoscope-codex-logo.png +0 -0
- package/package.json +2 -1
- package/src/cli/main.mjs +3 -0
- package/src/core/fsx.mjs +1 -1
- package/src/core/harness-conflicts.mjs +0 -1
- package/src/core/init.mjs +21 -20
package/README.md
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
<
|
|
2
|
-
<
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="docs/assets/sneakoscope-codex-logo.png" alt="ㅅㅋㅅ logo" width="96" height="96">
|
|
3
|
+
</p>
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
<h1 align="center">Sneakoscope Codex</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/sneakoscope"><img alt="npm version" src="https://img.shields.io/npm/v/sneakoscope.svg"></a>
|
|
9
|
+
<a href="https://www.npmjs.com/package/sneakoscope"><img alt="license" src="https://img.shields.io/npm/l/sneakoscope.svg"></a>
|
|
10
|
+
<img alt="Node.js 20.11+" src="https://img.shields.io/badge/node-20.11%2B-339933.svg">
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
Sneakoscope Codex is a zero-runtime-dependency Node.js harness for Codex CLI/App. `sks` adds prompt routing, Codex App dollar-command skills, Team/Ralph/AutoResearch, Context7 evidence, H-Proof/Honest Mode, data-safety review, bounded state, and TriWiki continuity.
|
|
5
14
|
|
|
6
15
|
Core value: repetition resistance. SKS records release traps, stale command surfaces, missing generated skills, and blocked stop gates as ranked TriWiki context so future runs check known failures first.
|
|
7
16
|
|
|
8
17
|
## AI Answer Snapshot
|
|
9
18
|
|
|
10
|
-
Package: `sneakoscope`. CLI: `sks` or `sneakoscope`. Global install seeds `$HOME/.agents/skills` so Codex App can show `$sks`, `$team`, `$qa-loop`, and the other SKS dollar routes before
|
|
19
|
+
Package: `sneakoscope`. CLI: `sks` or `sneakoscope`. Global install seeds `$HOME/.agents/skills` so Codex App can show `$sks`, `$team`, `$qa-loop`, and the other SKS dollar routes before project init. `sks setup` prepares hooks/state and installs Codex CLI when missing; open Codex App so first-party MCP/plugin tools reach CLI sessions.
|
|
11
20
|
|
|
12
21
|
```bash
|
|
13
22
|
npm i -g sneakoscope
|
|
@@ -21,12 +30,66 @@ sks doctor --fix
|
|
|
21
30
|
sks selftest --mock
|
|
22
31
|
```
|
|
23
32
|
|
|
33
|
+
## Why Developers Star Sneakoscope Codex
|
|
34
|
+
|
|
35
|
+
- **First-run Codex App readiness**: global install creates user-level `.agents/skills` before project init.
|
|
36
|
+
- **Command-surface consistency**: route registry, `sks dollar-commands`, generated skills, quick reference, README, and selftests agree.
|
|
37
|
+
- **Multi-agent Team orchestration**: scouts, TriWiki refresh, debate, fresh executors, review, and evidence run as one workflow.
|
|
38
|
+
- **Ralph no-question execution**: ambiguity is collected before work, sealed in `decision-contract.json`, then resolved by the decision ladder during execution.
|
|
39
|
+
- **Guarded data workflows**: risky data or schema requests are routed through an explicit safety surface before implementation.
|
|
40
|
+
- **Honest completion**: H-Proof and Honest Mode require evidence before the assistant claims the task is complete.
|
|
41
|
+
- **Bounded memory and logs**: raw outputs live in files, prompts receive small tails/summaries, and `sks gc` can prune old artifacts.
|
|
42
|
+
- **TriWiki continuity**: long-running work keeps source/hash/RGBA anchors instead of lossy summaries.
|
|
43
|
+
|
|
44
|
+
## Install
|
|
45
|
+
|
|
46
|
+
Use the npm registry package for normal installs:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npm i -g sneakoscope
|
|
50
|
+
sks setup
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If your shell cannot see the global binary yet:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx -y -p sneakoscope sks setup
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Project-only install is supported when hooks must call the local package:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
npm i -D sneakoscope
|
|
63
|
+
npx sks setup --install-scope project
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Local-only setup keeps generated SKS files out of git status:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
sks setup --local-only
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
The package exposes two equivalent shell commands:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
sks <command>
|
|
76
|
+
sneakoscope <command>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
`@openai/codex` is not bundled. `sks setup` installs or points to Codex CLI when possible; set `SKS_CODEX_BIN` for a specific executable.
|
|
80
|
+
|
|
24
81
|
## Commands
|
|
25
82
|
|
|
83
|
+
There are two command surfaces:
|
|
84
|
+
|
|
85
|
+
- **Terminal CLI commands**: run in a shell as `sks ...` or `sneakoscope ...`.
|
|
86
|
+
- **Prompt `$` commands**: type at the start of a Codex App prompt to force a route.
|
|
87
|
+
|
|
26
88
|
```bash
|
|
27
89
|
sks commands
|
|
28
90
|
sks quickstart|codex-app
|
|
29
91
|
sks dollar-commands
|
|
92
|
+
sks usage install|dollar|team|ralph|wiki|imagegen
|
|
30
93
|
sks tmux check|status
|
|
31
94
|
sks --auto-review --high
|
|
32
95
|
sks auto-review status|enable|start --high
|
|
@@ -43,24 +106,180 @@ sks hproof check latest
|
|
|
43
106
|
sks guard check; sks eval run|compare; sks gx init|render|validate|drift|snapshot; sks gc --dry-run
|
|
44
107
|
```
|
|
45
108
|
|
|
46
|
-
Prompt routes use one canonical name each:
|
|
109
|
+
Prompt routes use one canonical name each:
|
|
47
110
|
|
|
48
|
-
|
|
111
|
+
```text
|
|
112
|
+
$DFix tiny design/content changes
|
|
113
|
+
$Answer answer-only research or explanation
|
|
114
|
+
$SKS general Sneakoscope setup/status/help
|
|
115
|
+
$Team implementation/code-changing Team workflow
|
|
116
|
+
$QA-LOOP UI/API E2E verification loop
|
|
117
|
+
$Ralph clarification-gated no-question mission
|
|
118
|
+
$Research frontier discovery workflow
|
|
119
|
+
$AutoResearch iterative experiment/improvement loop
|
|
120
|
+
$DB data safety review
|
|
121
|
+
$GX deterministic visual context cartridges
|
|
122
|
+
$Wiki TriWiki refresh, pack, validate, prune
|
|
123
|
+
$Help command and workflow help
|
|
124
|
+
```
|
|
49
125
|
|
|
50
|
-
|
|
126
|
+
Examples:
|
|
51
127
|
|
|
52
|
-
|
|
128
|
+
```text
|
|
129
|
+
$DFix 글자 색 파란색으로 바꿔줘
|
|
130
|
+
$Team executor:5 reviewer:2 user:1 리드미와 generated skills를 맞춰줘
|
|
131
|
+
$Ralph 결제 실패 재시도 로직 개선
|
|
132
|
+
$DB 위험한 데이터 변경인지 먼저 검사해줘
|
|
133
|
+
$Help 사용 가능한 명령어 알려줘
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Release notes: `CHANGELOG.md`; checked by `npm run release:check`.
|
|
53
137
|
|
|
54
138
|
## Codex App
|
|
55
139
|
|
|
56
|
-
Global install creates user-level `$` skills
|
|
140
|
+
Global install creates user-level `$` skills:
|
|
141
|
+
|
|
142
|
+
```text
|
|
143
|
+
$HOME/.agents/skills/<route>/SKILL.md
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Run `sks setup` once inside each project to add project hooks/skills plus `.sneakoscope/` state:
|
|
147
|
+
|
|
148
|
+
```text
|
|
149
|
+
.codex/config.toml Codex profiles, multi-agent limits, Context7 MCP
|
|
150
|
+
.codex/hooks.json Codex hook entrypoints through SKS guards
|
|
151
|
+
.agents/skills/ repo-local route and support skills
|
|
152
|
+
.codex/agents/ Team analysis, consensus, worker, reviewer roles
|
|
153
|
+
.codex/SNEAKOSCOPE.md quick reference for Codex App
|
|
154
|
+
AGENTS.md managed repository rules
|
|
155
|
+
.sneakoscope/ missions, gates, policy, wiki, GX, reports
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Team status is mirrored to `team-live.md`, `team-transcript.jsonl`, and `sks team watch latest`.
|
|
57
159
|
|
|
58
160
|
Implementation/code-changing prompts default to Team orchestration: parallel analysis scouts, TriWiki refresh/validate, debate/consensus, then fresh parallel executors. Answer-only, DFix, Help, Wiki maintenance, and safety-specific routes stay lightweight.
|
|
59
161
|
|
|
60
162
|
Codex CLI parity is gated on Codex App because App MCP/plugin tools are shared with CLI sessions. `sks setup` installs `@openai/codex` when missing and prints tool hints. `sks --auto-review --high` is the shortest high-reasoning auto-review entry.
|
|
61
163
|
|
|
164
|
+
## Team Workflow
|
|
165
|
+
|
|
166
|
+
Team mode is the default for implementation and code-changing work. It is scout-first:
|
|
167
|
+
|
|
168
|
+
```text
|
|
169
|
+
analysis scouts -> TriWiki refresh/validate -> debate -> consensus
|
|
170
|
+
-> fresh executor team -> review -> integration -> Honest Mode
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Role counts such as `executor:5 reviewer:2 user:1` control the Team shape. `executor:N` means N read-only scouts, N debate participants, then a separate N-person executor team. The parent agent owns integration and final verification.
|
|
174
|
+
|
|
175
|
+
Useful files:
|
|
176
|
+
|
|
177
|
+
```text
|
|
178
|
+
.sneakoscope/missions/<MISSION_ID>/team-plan.json
|
|
179
|
+
.sneakoscope/missions/<MISSION_ID>/team-analysis.md
|
|
180
|
+
.sneakoscope/missions/<MISSION_ID>/team-live.md
|
|
181
|
+
.sneakoscope/missions/<MISSION_ID>/team-transcript.jsonl
|
|
182
|
+
.sneakoscope/missions/<MISSION_ID>/team-gate.json
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Ralph Workflow
|
|
186
|
+
|
|
187
|
+
Ralph is for clarification-gated execution:
|
|
188
|
+
|
|
189
|
+
```text
|
|
190
|
+
ralph prepare -> questions.md and required-answers.schema.json
|
|
191
|
+
ralph answer -> decision-contract.json
|
|
192
|
+
ralph run -> no-question execution and done-gate evaluation
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
After `decision-contract.json` is sealed, Ralph does not ask more questions. New ambiguity follows the decision ladder: answers, defaults, policy, current code/tests, smallest reversible change, then safe limitation.
|
|
196
|
+
|
|
62
197
|
## TriWiki
|
|
63
198
|
|
|
64
199
|
TriWiki scores claims by trust, freshness, risk, and token cost. Read `.sneakoscope/wiki/context-pack.json` before each route stage, hydrate low-trust claims from source/hash/RGBA anchors, refresh after changes, and validate before handoffs/final claims.
|
|
65
200
|
|
|
66
201
|
Repeated failures are promoted, not buried. Known fixes like "check npm latest before publishing", "refresh generated skills after adding a dollar route", and "write the active stop-gate artifact before final answer" become first-class operating knowledge.
|
|
202
|
+
|
|
203
|
+
## H-Proof And Honest Mode
|
|
204
|
+
|
|
205
|
+
H-Proof evaluates whether a mission can be called done. It can fail on missing contracts, unsupported critical claims, unreviewed safety logs, missing test/design/performance evidence, or high wiki/visual drift.
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
sks hproof check latest
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Honest Mode is the final human-readable pass: restate the actual goal, compare evidence to that goal, list verification, and state any hard blocker without over-claiming.
|
|
212
|
+
|
|
213
|
+
## Design And Assets
|
|
214
|
+
|
|
215
|
+
UI/UX reads `design.md` first. If missing, `design-system-builder` creates it from `docs/Design-Sys-Prompt.md`. Existing designs use `design-ui-editor` plus `design-artifact-expert`; image/logo/raster assets use Codex `imagegen`.
|
|
216
|
+
|
|
217
|
+
## Runtime State
|
|
218
|
+
|
|
219
|
+
SKS keeps runtime state bounded:
|
|
220
|
+
|
|
221
|
+
- child process output is tailed
|
|
222
|
+
- large raw logs are stored as files
|
|
223
|
+
- wiki and mission artifacts can be packed or pruned
|
|
224
|
+
- package bloat is checked before release
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
sks stats
|
|
228
|
+
sks gc --dry-run
|
|
229
|
+
sks wiki refresh
|
|
230
|
+
sks wiki validate .sneakoscope/wiki/context-pack.json
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Package Layout
|
|
234
|
+
|
|
235
|
+
```text
|
|
236
|
+
bin/sks.mjs CLI executable
|
|
237
|
+
src/cli/main.mjs command router, hooks, selftest, mission commands
|
|
238
|
+
src/core/init.mjs setup, generated skills, Codex App quick reference
|
|
239
|
+
src/core/routes.mjs route and dollar-command registry
|
|
240
|
+
src/core/db-safety.mjs data safety classifier
|
|
241
|
+
src/core/pipeline.mjs ambiguity gates and route mission state
|
|
242
|
+
src/core/hproof.mjs done-gate evaluator
|
|
243
|
+
src/core/triwiki-attention.mjs
|
|
244
|
+
docs/assets/ logo asset shipped in the npm package
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
The npm package is allowlisted to `bin`, `src`, the logo PNG, `README.md`, and `LICENSE`.
|
|
248
|
+
|
|
249
|
+
## Development
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
npm run repo-audit
|
|
253
|
+
npm run packcheck
|
|
254
|
+
npm run selftest
|
|
255
|
+
npm run sizecheck
|
|
256
|
+
npm run release:check
|
|
257
|
+
npm run publish:dry
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
`npm run sizecheck` blocks accidental package bloat. Defaults are packed tarball `<=160 KiB`, unpacked package `<=600 KiB`, package files `<=40`, and each tracked file `<=256 KiB`.
|
|
261
|
+
|
|
262
|
+
## Publishing
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
npm whoami
|
|
266
|
+
npm owner ls sneakoscope
|
|
267
|
+
npm run publish:dry
|
|
268
|
+
npm run publish:npm
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
If npm authentication fails, log in with an owner account or ask an existing owner to add your npm username.
|
|
272
|
+
|
|
273
|
+
## FAQ
|
|
274
|
+
|
|
275
|
+
### Does Sneakoscope Codex replace Codex CLI?
|
|
276
|
+
|
|
277
|
+
No. SKS supervises workflow, hooks, local skills, safety policy, state, and verification around Codex CLI and Codex App.
|
|
278
|
+
|
|
279
|
+
### Why does SKS install user-level skills?
|
|
280
|
+
|
|
281
|
+
Codex App command discovery happens before a project may be initialized. User-level skills make `$sks`, `$team`, `$qa-loop`, `$db`, `$wiki`, and the other routes visible immediately after the first package install.
|
|
282
|
+
|
|
283
|
+
### What should I run when commands look stale?
|
|
284
|
+
|
|
285
|
+
Run `sks dollar-commands`, then `sks doctor --fix`, then `sks codex-app check`. For release validation, run `npm run publish:dry`.
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sneakoscope",
|
|
3
3
|
"displayName": "ㅅㅋㅅ",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.41",
|
|
5
5
|
"description": "Sneakoscope Codex: database-safe Codex CLI/App harness with Team, Ralph, AutoResearch, TriWiki, and Honest Mode.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"homepage": "https://github.com/mandarange/Sneakoscope-Codex#readme",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"files": [
|
|
24
24
|
"bin",
|
|
25
25
|
"src",
|
|
26
|
+
"docs/assets/sneakoscope-codex-logo.png",
|
|
26
27
|
"README.md",
|
|
27
28
|
"LICENSE"
|
|
28
29
|
],
|
package/src/cli/main.mjs
CHANGED
|
@@ -2373,11 +2373,14 @@ async function selftest() {
|
|
|
2373
2373
|
await initProject(repairTmp, {});
|
|
2374
2374
|
await writeTextAtomic(path.join(repairTmp, '.agents', 'skills', 'team', 'SKILL.md'), 'tampered\n');
|
|
2375
2375
|
await writeTextAtomic(path.join(repairTmp, '.agents', 'skills', 'agent-team', 'SKILL.md'), '---\nname: agent-team\ndescription: Fallback Codex App picker alias for $Team.\n---\n');
|
|
2376
|
+
await ensureDir(path.join(repairTmp, '.agents', 'skills', 'custom-keep'));
|
|
2377
|
+
await writeTextAtomic(path.join(repairTmp, '.agents', 'skills', 'custom-keep', 'SKILL.md'), '---\nname: custom-keep\ndescription: User custom skill, not generated by SKS.\n---\n');
|
|
2376
2378
|
await writeTextAtomic(path.join(repairTmp, '.codex', 'skills', 'team', 'SKILL.md'), 'legacy mirror\n');
|
|
2377
2379
|
await initProject(repairTmp, { force: true, repair: true });
|
|
2378
2380
|
const repairedTeamSkill = await safeReadText(path.join(repairTmp, '.agents', 'skills', 'team', 'SKILL.md'));
|
|
2379
2381
|
if (!repairedTeamSkill.includes('SKS Team multi-agent orchestration') || repairedTeamSkill.includes('tampered')) throw new Error('selftest failed: doctor repair did not regenerate team skill');
|
|
2380
2382
|
if (await exists(path.join(repairTmp, '.agents', 'skills', 'agent-team', 'SKILL.md'))) throw new Error('selftest failed: doctor repair did not remove deprecated agent-team alias skill');
|
|
2383
|
+
if (!(await exists(path.join(repairTmp, '.agents', 'skills', 'custom-keep', 'SKILL.md')))) throw new Error('selftest failed: doctor repair removed a user-owned custom skill');
|
|
2381
2384
|
if (await exists(path.join(repairTmp, '.codex', 'skills', 'team', 'SKILL.md'))) throw new Error('selftest failed: doctor repair did not remove legacy .codex/skills');
|
|
2382
2385
|
const conflictTmp = tmpdir();
|
|
2383
2386
|
await ensureDir(path.join(conflictTmp, '.omx'));
|
package/src/core/fsx.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import os from 'node:os';
|
|
|
5
5
|
import crypto from 'node:crypto';
|
|
6
6
|
import { spawn } from 'node:child_process';
|
|
7
7
|
|
|
8
|
-
export const PACKAGE_VERSION = '0.6.
|
|
8
|
+
export const PACKAGE_VERSION = '0.6.41';
|
|
9
9
|
export const DEFAULT_PROCESS_TAIL_BYTES = 256 * 1024;
|
|
10
10
|
export const DEFAULT_PROCESS_TIMEOUT_MS = 30 * 60 * 1000;
|
|
11
11
|
|
package/src/core/init.mjs
CHANGED
|
@@ -566,11 +566,11 @@ Hooks route Codex App events through SKS guards; status messages show checks, wh
|
|
|
566
566
|
|
|
567
567
|
export async function installSkills(root) {
|
|
568
568
|
const skills = {
|
|
569
|
-
'dfix': `---\nname: dfix\ndescription: Ultralight fast design/content fix mode for $DFix or $dfix requests and inferred simple edits such as text color, copy, labels, spacing, or translation.\n---\n\
|
|
570
|
-
'answer': `---\nname: answer\ndescription: Answer-only research route for ordinary questions that should not start implementation.\n---\n\nUse
|
|
569
|
+
'dfix': `---\nname: dfix\ndescription: Ultralight fast design/content fix mode for $DFix or $dfix requests and inferred simple edits such as text color, copy, labels, spacing, or translation.\n---\n\nUse for tiny copy/color/label/spacing/translation edits. List exact micro-edits, inspect only needed files, apply only those edits, and run cheap verification. Bypass broad SKS routing, Ralph, Research, eval, and redesign. Read \`design.md\` for UI work when present; use imagegen for image/logo/raster assets.\n`,
|
|
570
|
+
'answer': `---\nname: answer\ndescription: Answer-only research route for ordinary questions that should not start implementation.\n---\n\nUse for explanations, comparisons, status, facts, source-backed research, or docs guidance. Use repo/TriWiki first for project-local facts; hydrate low-trust claims from source. Browse or use Context7 for current external package/API/framework/MCP docs. End with Honest Mode; do not create missions, subagents, or file edits.\n`,
|
|
571
571
|
'sks': `---\nname: sks\ndescription: General Sneakoscope Codex command route for $SKS or $sks usage, setup, status, and workflow help.\n---\n\nUse the local SKS control surface. Prefer discovery commands for availability questions: sks commands, sks usage <topic>, sks quickstart, sks codex-app, sks context7 check, sks guard check, sks conflicts check, sks reasoning, sks wiki pack, and sks pipeline status. If implementation or code-changing work is requested through $SKS or rough natural language, promote it to Team by default unless Answer, DFix, Help, Wiki maintenance, or a safety-specific route applies. Surface route/guard/write-scope status, then use worker subagents for independent scopes; parent integrates and verifies. Context tracking uses TriWiki as SSOT. Do not edit installed harness control files except in this engine source repo. Harness conflicts require sks conflicts prompt and human-approved cleanup.\n`,
|
|
572
572
|
'wiki': `---\nname: wiki\ndescription: Dollar-command route for $Wiki TriWiki refresh, pack, validate, and prune commands.\n---\n\nUse for $Wiki or Korean wiki-refresh requests. Refresh/update/갱신: run sks wiki refresh, then validate .sneakoscope/wiki/context-pack.json. Pack: run sks wiki pack, then validate. Prune/clean/정리: use sks wiki refresh --prune, or sks wiki prune --dry-run for inspection. Report claims, anchors, trust, validation, and blockers. Do not start ambiguity-gated implementation, subagents, or unrelated work.\n`,
|
|
573
|
-
'team': `---\nname: team\ndescription: SKS Team multi-agent orchestration for $Team and default implementation/code-changing routes.\n---\n\nUse for $Team/$team,
|
|
573
|
+
'team': `---\nname: team\ndescription: SKS Team multi-agent orchestration for $Team and default implementation/code-changing routes.\n---\n\nUse for $Team/$team, implementation, code-changing, or parallel specialist work. Ambiguity gate first, then exactly requested role counts: executor:N creates N scouts, N debate participants, and a fresh N-person executor team. Split repo/docs/tests/API/risk/UX slices, refresh/validate TriWiki before debate, implementation, review, and final claims, and mirror useful events with sks team event. Parent integrates and verifies.\n`,
|
|
574
574
|
'qa-loop': `---\nname: qa-loop\ndescription: Dollar-command route for $QA-LOOP UI/API E2E verification with ambiguity questions, safety gates, Browser Use/Computer Use evidence, and a QA report.\n---\n\nUse only $QA-LOOP. Start with mandatory QA questions: UI/API/both, local vs deployed target, mutation policy, login need. Credentials are test-only runtime input; never save secrets, cookies, auth state, or secret screenshots. UI E2E requires Browser Use or Computer Use evidence, otherwise mark it unverified. Deployed targets are read-only smoke by default; destructive removal tests are forbidden. After answers seal, run sks qa-loop answer/run, complete qa-ledger.json, qa-report.md, qa-gate.json, and Honest Mode.\n`,
|
|
575
575
|
'ralph': `---\nname: ralph\ndescription: Dollar-command route for $Ralph or $ralph mandatory clarification and no-question mission workflows.\n---\n\nUse when the user invokes $Ralph/$ralph or requests a clarification-gated autonomous implementation mission. Prepare with sks ralph prepare, answer/seal required slots when answers are provided, then run only after decision-contract.json exists.\n`,
|
|
576
576
|
'research': `---\nname: research\ndescription: Dollar-command route for $Research or $research frontier discovery workflows.\n---\n\nUse when the user invokes $Research/$research or asks for research, hypotheses, new mechanisms, falsification, or testable predictions. Prefer sks research prepare and sks research run. Do not use for ordinary code edits.\n`,
|
|
@@ -578,28 +578,28 @@ export async function installSkills(root) {
|
|
|
578
578
|
'db': `---\nname: db\ndescription: Dollar-command route for $DB or $db database and Supabase safety checks.\n---\n\nUse when the user invokes $DB/$db or the task touches SQL, Supabase, Postgres, migrations, Prisma, Drizzle, Knex, MCP database tools, or production data. Run or follow sks db policy, sks db scan, sks db classify, and sks db check. Destructive database operations remain forbidden.\n`,
|
|
579
579
|
'gx': `---\nname: gx\ndescription: Dollar-command route for $GX or $gx deterministic GX visual context cartridges.\n---\n\nUse when the user invokes $GX/$gx or asks for architecture/context visualization through SKS. Prefer sks gx init, render, validate, drift, and snapshot. vgraph.json remains the source of truth.\n`,
|
|
580
580
|
'help': `---\nname: help\ndescription: Dollar-command route for $Help or $help explaining installed SKS commands and workflows.\n---\n\nUse when the user invokes $Help/$help or asks what commands exist. Prefer concise output from sks commands, sks usage <topic>, sks quickstart, sks aliases, and sks codex-app.\n`,
|
|
581
|
-
'prompt-pipeline': `---\nname: prompt-pipeline\ndescription: Default SKS prompt optimization pipeline for execution prompts; Answer and DFix bypass it.\n---\n\
|
|
581
|
+
'prompt-pipeline': `---\nname: prompt-pipeline\ndescription: Default SKS prompt optimization pipeline for execution prompts; Answer and DFix bypass it.\n---\n\nClassify intent first. $Answer handles questions; $DFix handles tiny design/content edits; implementation defaults to Team unless a specific safety/research/GX route applies. Infer goal, target, constraints, acceptance criteria, risk, and smallest safe route, then ask generated questions and seal with sks pipeline answer latest answers.json before execution.\n\nFor code work, surface route/guard/scopes, use Team workers for independent scopes, and keep parent-owned integration, tests, Context7, H-Proof, and Honest Mode.\n\nDesign routing: read \`design.md\` first; if missing use design-system-builder with plan-tool ambiguity removal and a default font recommendation; if present use design-ui-editor/design-artifact-expert. Image, logo, raster, and bitmap assets must use imagegen.\n\nContext continuity: TriWiki context-tracking SSOT is .sneakoscope/wiki/context-pack.json. Use relevant TriWiki context before every route stage, hydrate low-trust/stale source/hash/RGBA claims, run \`sks wiki refresh\` or \`sks wiki pack\` after findings/artifact changes, and validate with \`sks wiki validate .sneakoscope/wiki/context-pack.json\` before handoffs and final claims.\n`,
|
|
582
582
|
'reasoning-router': `---\nname: reasoning-router\ndescription: Temporary SKS reasoning-effort routing for every command and pipeline route.\n---\n\nUse medium for simple fulfillment such as copy, color, command discovery, setup display, or mechanical edits. Use high for any logical, safety, architecture, database, orchestration, refactor, or multi-file implementation work. Use xhigh for research, AutoResearch, hypotheses, falsification, benchmarks, SEO/GEO experiments, and open-ended discovery.\n\nRules:\n- Treat the routing as temporary for the current route only.\n- Do not persist profile changes.\n- Return to the default or user-selected profile when the route gate passes.\n- Inspect with sks reasoning \"prompt\" and sks pipeline status.\n`,
|
|
583
|
-
'pipeline-runner': `---\nname: pipeline-runner\ndescription: Execute SKS dollar-command routes as stateful pipelines with mission artifacts, route gates, Context7 evidence, temporary reasoning routing, and Honest Mode.\n---\n\nEvery $ command is a route
|
|
584
|
-
'context7-docs': `---\nname: context7-docs\ndescription: Enforce Context7 MCP documentation evidence for SKS routes that depend on external libraries, frameworks, APIs, MCPs, package managers, DB SDKs, or generated docs.\n---\n\nWhen
|
|
585
|
-
'seo-geo-optimizer': `---\nname: seo-geo-optimizer\ndescription: SEO/GEO support for README, npm, GitHub, keywords, snippets, schema, and AI-search visibility.\n---\n\nUse for SEO
|
|
586
|
-
'honest-mode': `---\nname: honest-mode\ndescription: Required final SKS verification pass before claiming a task is complete.\n---\n\
|
|
587
|
-
'autoresearch-loop': `---\nname: autoresearch-loop\ndescription: Iterative AutoResearch-style loop for open-ended improvement, discovery, prompt, ranking, SEO/GEO, and workflow-quality tasks.\n---\n\nUse
|
|
583
|
+
'pipeline-runner': `---\nname: pipeline-runner\ndescription: Execute SKS dollar-command routes as stateful pipelines with mission artifacts, route gates, Context7 evidence, temporary reasoning routing, and Honest Mode.\n---\n\nEvery $ command is a route. Use .sneakoscope/state/current.json, route artifacts under .sneakoscope/missions/<id>/, temporary reasoning routing, TriWiki context before stages, source hydration for low-trust claims, Context7 when required, and Honest Mode before final. Surface guard/scopes before edits, record evidence, refresh/pack/validate TriWiki, and use sks pipeline status/resume for current state.\n`,
|
|
584
|
+
'context7-docs': `---\nname: context7-docs\ndescription: Enforce Context7 MCP documentation evidence for SKS routes that depend on external libraries, frameworks, APIs, MCPs, package managers, DB SDKs, or generated docs.\n---\n\nWhen required, resolve-library-id, then query-docs for the resolved id. Legacy get-library-docs evidence is accepted. Prefer sks context7 tools/resolve/docs/evidence and finish only after both evidence stages exist. Check setup with sks context7 check.\n`,
|
|
585
|
+
'seo-geo-optimizer': `---\nname: seo-geo-optimizer\ndescription: SEO/GEO support for README, npm, GitHub, keywords, snippets, schema, and AI-search visibility.\n---\n\nUse for SEO/GEO, package metadata, README ranking, snippets, schema, and AI search. Optimize README, package.json, docs, badges, topics, quickstart, examples, command discovery, exact names, keywords, and AI Answer Snapshot. Do not invent metrics; use $AutoResearch unless it is a tiny copy edit.\n`,
|
|
586
|
+
'honest-mode': `---\nname: honest-mode\ndescription: Required final SKS verification pass before claiming a task is complete.\n---\n\nBefore final: restate the goal, compare result to evidence, list tests/commands/inspections, state uncertainty or blockers plainly, and do not claim completion beyond evidence. Include concise SKS Honest Mode or 솔직모드 when required.\n`,
|
|
587
|
+
'autoresearch-loop': `---\nname: autoresearch-loop\ndescription: Iterative AutoResearch-style loop for open-ended improvement, discovery, prompt, ranking, SEO/GEO, and workflow-quality tasks.\n---\n\nUse for research, ranking, prompt/workflow improvement, benchmark gains, or repeated refinement. Loop: program, hypothesis, smallest falsifying experiment, metric, keep/discard, falsify, next step. Keep a ledger and do not claim improvement without evidence.\n`,
|
|
588
588
|
'ralph-supervisor': `---\nname: ralph-supervisor\ndescription: Run the Ralph no-question loop after a decision contract is sealed.\n---\n\nYou are the Ralph Supervisor.\n\nRules:\n- Never ask the user during Ralph run.\n- Use decision-contract.json and the decision ladder.\n- Continue until done-gate.json passes or safe scope is completed with explicit limitation.\n- Keep outputs bounded. Write raw logs to files and summarize only tails.\n- Database destructive operations are never allowed.\n- Write progress to .sneakoscope mission files.\n`,
|
|
589
589
|
'ralph-resolver': `---\nname: ralph-resolver\ndescription: Resolve newly discovered ambiguity during Ralph using the sealed decision ladder, without asking the user.\n---\n\nResolve ambiguity in this order: seed contract, explicit answers, approved defaults, AGENTS.md, current code/tests, smallest reversible change, defer optional scope. Never ask the user. If database risk is involved, prefer read-only, no-op, local-only migration file, or safe limitation; never run destructive SQL.\n`,
|
|
590
590
|
'hproof-claim-ledger': `---\nname: hproof-claim-ledger\ndescription: Extract atomic claims and classify support status.\n---\n\nEvery factual statement must become an atomic claim. Unsupported critical claims cannot be used for implementation or final answer. Database claims require DB safety evidence.\n`,
|
|
591
591
|
'hproof-evidence-bind': `---\nname: hproof-evidence-bind\ndescription: Bind claims to code, tests, decision contract, vgraph, beta, wiki, or GX render evidence.\n---\n\nEvidence priority: current code/tests, decision-contract.json, vgraph.json, beta.json, GX snapshot/render metadata, LLM Wiki coordinate index, user prompt. Database claims must respect .sneakoscope/db-safety.json. Wiki claims should carry id, hash, source path, and RGBA/trig coordinate anchors so they can be hydrated instead of treated as unsupported summaries.\n`,
|
|
592
592
|
'db-safety-guard': `---\nname: db-safety-guard\ndescription: Enforce Sneakoscope Codex database safety before using SQL, Supabase MCP, Postgres, Prisma, Drizzle, Knex, or migration commands.\n---\n\nRules:\n- Never run DROP, TRUNCATE, mass DELETE/UPDATE, db reset, db push, project deletion, branch reset/merge/delete, or RLS-disabling operations.\n- Supabase MCP must be read-only and project-scoped by default.\n- Live writes through execute_sql are blocked; use migration files and only local/preview branches if explicitly allowed.\n- Production writes are forbidden.\n- If unsure, read-only only.\n`,
|
|
593
|
-
'gx-visual-generate': `---\nname: gx-visual-generate\ndescription: Render a deterministic SVG/HTML visual sheet from vgraph.json and beta.json.\n---\n\nUse sks gx render.
|
|
594
|
-
'gx-visual-read': `---\nname: gx-visual-read\ndescription: Read a Sneakoscope Codex deterministic visual sheet and produce context notes.\n---\n\nExtract nodes, edges, invariants, tests, risks, uncertainties, and RGBA
|
|
595
|
-
'gx-visual-validate': `---\nname: gx-visual-validate\ndescription: Validate render metadata against vgraph.json and beta.json.\n---\n\nRun sks gx validate and
|
|
596
|
-
'turbo-context-pack': `---\nname: turbo-context-pack\ndescription: Build ultra-low-token context packet with Q4 bits, Q3 tags, top-K claims, and minimal evidence.\n---\n\nDefault to Q4/Q3 plus TriWiki RGBA
|
|
597
|
-
'research-discovery': `---\nname: research-discovery\ndescription: Run SKS Research Mode for frontier-style research, hypotheses, novelty ledgers, falsification, and experiments.\n---\n\
|
|
598
|
-
'performance-evaluator': `---\nname: performance-evaluator\ndescription: Evaluate SKS performance, token-saving, accuracy-proxy, context-compression, or workflow improvements.\n---\n\nUse
|
|
599
|
-
'imagegen': `---\nname: imagegen\ndescription: Required bridge to Codex image generation for logos, image assets, raster visuals, and image edits.\n---\n\nUse
|
|
600
|
-
'design-system-builder': `---\nname: design-system-builder\ndescription: Create design.md from docs/Design-Sys-Prompt.md when UI/UX work has no design system.\n---\n\
|
|
601
|
-
'design-ui-editor': `---\nname: design-ui-editor\ndescription: Edit UI/UX using design.md and design-artifact-expert.\n---\n\
|
|
602
|
-
'design-artifact-expert': `---\nname: design-artifact-expert\ndescription: Create or revise high-fidelity HTML, UI, prototype, deck-like, or visual design artifacts with rendered verification.\n---\n\nUse for design
|
|
593
|
+
'gx-visual-generate': `---\nname: gx-visual-generate\ndescription: Render a deterministic SVG/HTML visual sheet from vgraph.json and beta.json.\n---\n\nUse sks gx render. vgraph.json is source of truth; renders embed source hash and RGBA wiki anchors.\n`,
|
|
594
|
+
'gx-visual-read': `---\nname: gx-visual-read\ndescription: Read a Sneakoscope Codex deterministic visual sheet and produce context notes.\n---\n\nExtract nodes, edges, invariants, tests, risks, uncertainties, and RGBA anchors from source/render/snapshot. Do not infer hidden nodes.\n`,
|
|
595
|
+
'gx-visual-validate': `---\nname: gx-visual-validate\ndescription: Validate render metadata against vgraph.json and beta.json.\n---\n\nRun sks gx validate and drift; fail stale or incomplete hashes, nodes, edges, invariants, or anchors.\n`,
|
|
596
|
+
'turbo-context-pack': `---\nname: turbo-context-pack\ndescription: Build ultra-low-token context packet with Q4 bits, Q3 tags, top-K claims, and minimal evidence.\n---\n\nDefault to Q4/Q3 plus TriWiki RGBA anchors; add Q2/Q1 only when needed. Keep id, hash, path, and coordinate tuple for hydration.\n`,
|
|
597
|
+
'research-discovery': `---\nname: research-discovery\ndescription: Run SKS Research Mode for frontier-style research, hypotheses, novelty ledgers, falsification, and experiments.\n---\n\nFrame criteria, map assumptions, generate hypotheses, falsify, keep surviving insights, and record novelty/confidence/falsifiers/next experiments. Do not overclaim.\n`,
|
|
598
|
+
'performance-evaluator': `---\nname: performance-evaluator\ndescription: Evaluate SKS performance, token-saving, accuracy-proxy, context-compression, or workflow improvements.\n---\n\nUse sks eval run/compare before claims. Report token_savings_pct, accuracy_delta/proxy, required_recall, support, and meaningful_improvement.\n`,
|
|
599
|
+
'imagegen': `---\nname: imagegen\ndescription: Required bridge to Codex image generation for logos, image assets, raster visuals, and image edits.\n---\n\nUse for generated or edited image assets: logo, product image, illustration, sprite, mockup, texture, cutout, or bitmap. Do not substitute placeholder SVG/HTML/CSS; follow design.md when relevant.\n`,
|
|
600
|
+
'design-system-builder': `---\nname: design-system-builder\ndescription: Create design.md from docs/Design-Sys-Prompt.md when UI/UX work has no design system.\n---\n\nWhen \`design.md\` is missing, read docs/Design-Sys-Prompt.md, inspect product/UI context, use the plan tool for ambiguity plus default font recommendation, then create tokens, components, states, imagery, accessibility, and verification rules. Use imagegen for assets.\n`,
|
|
601
|
+
'design-ui-editor': `---\nname: design-ui-editor\ndescription: Edit UI/UX using design.md and design-artifact-expert.\n---\n\nRead \`design.md\`, inspect relevant UI/assets/tests, apply the smallest design-system-conformant change, use imagegen for image/logo/raster assets, and verify render quality. If missing, use design-system-builder first.\n`,
|
|
602
|
+
'design-artifact-expert': `---\nname: design-artifact-expert\ndescription: Create or revise high-fidelity HTML, UI, prototype, deck-like, or visual design artifacts with rendered verification.\n---\n\nUse for design/UI/prototype/HTML visual work. Read design.md when present, build the usable artifact first, preserve state, verify overlap/readability/responsiveness, and use imagegen for required assets.\n`
|
|
603
603
|
};
|
|
604
604
|
for (const [name, content] of Object.entries(skills)) {
|
|
605
605
|
const dir = path.join(root, '.agents', 'skills', name);
|
|
@@ -680,7 +680,8 @@ function isGeneratedSksAgentSkill(text, name) {
|
|
|
680
680
|
if (!text) return false;
|
|
681
681
|
const s = String(text);
|
|
682
682
|
if (!new RegExp(`name:\\s*${name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\b`).test(s)) return false;
|
|
683
|
-
|
|
683
|
+
if (/\bnot generated by SKS\b/i.test(s)) return false;
|
|
684
|
+
return /Sneakoscope generated|Fallback Codex App picker alias|Codex App picker alias for|Dollar-command route generated by SKS/i.test(s);
|
|
684
685
|
}
|
|
685
686
|
|
|
686
687
|
function isGeneratedSksLegacySkill(text, name) {
|