supered 0.1.3 → 0.2.1
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/README.md +19 -0
- package/bin/supered.mjs +8 -25
- package/docs/evals/README.md +34 -0
- package/docs/evals/baseline-results.json +132 -0
- package/docs/evals/scenarios.json +212 -0
- package/docs/index.html +23 -0
- package/docs/skill-design-principles.md +25 -0
- package/docs/styles.css +40 -0
- package/docs/which-skill.md +33 -0
- package/gemini-extension.json +1 -1
- package/install.sh +37 -1
- package/lib/eval-pack.js +101 -0
- package/lib/host-install.js +88 -0
- package/lib/manifest.js +7 -73
- package/lib/package-verification.js +113 -0
- package/lib/release-bundle.js +135 -0
- package/lib/supered-policy.js +32 -0
- package/package.json +1 -1
- package/skills/build-in-slices/SKILL.md +71 -15
- package/skills/make-a-map/SKILL.md +77 -15
- package/skills/prove-the-change/SKILL.md +73 -15
- package/skills/shape-the-task/SKILL.md +67 -14
- package/skills/ship-the-work/SKILL.md +75 -15
- package/skills/trace-the-fault/SKILL.md +71 -13
- package/skills/using-supered/SKILL.md +79 -11
|
@@ -1,27 +1,83 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: build-in-slices
|
|
3
|
-
description: Use when implementing
|
|
3
|
+
description: Use when implementing code, docs, package, site, or repo changes that can regress if done as one large edit.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Build In Slices
|
|
7
7
|
|
|
8
|
-
Build
|
|
8
|
+
Build in slices so progress remains reviewable and mistakes stay small. The unit of work is not "a file"; it is a behavior plus the evidence that behavior changed.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Trigger
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
2. Run it and observe the failure when practical.
|
|
14
|
-
3. Implement the slice.
|
|
15
|
-
4. Re-run the relevant check.
|
|
16
|
-
5. Continue only after the evidence matches the claim.
|
|
12
|
+
Use this for feature work, skill rewrites, docs that affect installation, CLI behavior, package metadata, release automation, browser-visible pages, tests, or any change where a broad edit could hide a broken assumption.
|
|
17
13
|
|
|
18
|
-
##
|
|
14
|
+
## Do Not Use When
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
- Add CLI behavior before expanding documentation.
|
|
22
|
-
- Add one skill file, validate it, then add the next.
|
|
23
|
-
- Update docs only after the product surface is real.
|
|
16
|
+
Do not use this as an excuse to create dozens of microscopic commits. Do not slice by activity only, such as "edit files" then "test later". Do not keep code that was written before the test when test-first proof is feasible.
|
|
24
17
|
|
|
25
|
-
##
|
|
18
|
+
## Required Inputs
|
|
26
19
|
|
|
27
|
-
|
|
20
|
+
- Current plan or shaped task.
|
|
21
|
+
- Existing test and validation commands.
|
|
22
|
+
- Files likely to change.
|
|
23
|
+
- Definition of done for the current slice.
|
|
24
|
+
- Known user constraints and any dirty worktree state.
|
|
25
|
+
|
|
26
|
+
## Operating Procedure
|
|
27
|
+
|
|
28
|
+
1. Choose one behavior to change.
|
|
29
|
+
2. Add or update the smallest automated check that would fail without the change. If automation is not practical, define a manual proof such as screenshot, HTTP response, or CLI transcript.
|
|
30
|
+
3. Run the check and read the failure. If it passes before implementation, the check is weak or the behavior already exists.
|
|
31
|
+
4. Implement the minimum change that makes the check pass.
|
|
32
|
+
5. Run the targeted check again. Fix the implementation, not the test, unless the test is demonstrably wrong.
|
|
33
|
+
6. Refactor only after the check is green.
|
|
34
|
+
7. Run a broader verification set before moving to a new risk area.
|
|
35
|
+
8. Update the user with the evidence, not just the intent.
|
|
36
|
+
|
|
37
|
+
## Output Contract
|
|
38
|
+
|
|
39
|
+
For each meaningful slice, record:
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
Slice:
|
|
43
|
+
Expected red check:
|
|
44
|
+
Change:
|
|
45
|
+
Green check:
|
|
46
|
+
Files touched:
|
|
47
|
+
Next risk:
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Guardrails
|
|
51
|
+
|
|
52
|
+
- Stop if the worktree contains unrelated changes that could be staged accidentally.
|
|
53
|
+
- Do not batch unrelated behavior under one "cleanup" slice.
|
|
54
|
+
- Do not update docs to claim a feature before the feature or command exists.
|
|
55
|
+
- Never say a slice is done without a fresh check.
|
|
56
|
+
- Keep generated artifacts out of git unless they are intentional release assets.
|
|
57
|
+
|
|
58
|
+
## Failure Modes
|
|
59
|
+
|
|
60
|
+
- **Test-after bias:** The agent writes code first, then a test that mirrors the code. Fix by deleting or ignoring the implementation and writing the test from desired behavior.
|
|
61
|
+
- **Mega-slice:** Many files change before any check runs. Fix by backing up to the smallest failing check.
|
|
62
|
+
- **Doc drift:** README changes before CLI behavior exists. Fix by implementing and verifying command behavior first.
|
|
63
|
+
- **Green but irrelevant:** The check passes but does not cover the new behavior. Fix by making the assertion user-visible.
|
|
64
|
+
|
|
65
|
+
## Quality Gates
|
|
66
|
+
|
|
67
|
+
- The slice has one primary behavior.
|
|
68
|
+
- The proof would have caught the old state.
|
|
69
|
+
- The diff is small enough to review.
|
|
70
|
+
- Broader verification still passes before handoff.
|
|
71
|
+
|
|
72
|
+
## Example
|
|
73
|
+
|
|
74
|
+
Good:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
Slice: npm install path.
|
|
78
|
+
Expected red check: package test fails because publishConfig/files are missing.
|
|
79
|
+
Change: add package metadata and verify-package script.
|
|
80
|
+
Green check: npm test and npm run verify-package pass.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Bad: "Rewrite the package, docs, CLI, release notes, and site" followed by one final test run.
|
|
@@ -1,27 +1,89 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: make-a-map
|
|
3
|
-
description: Use when
|
|
3
|
+
description: Use when a direction is approved but the implementation path, sequencing, files, or checks are not yet clear.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Make A Map
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Make a map after the task is shaped and before broad edits begin. A good map is short, sequenced by risk, and specific enough that the next command is obvious.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Trigger
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
2. Identify the files that must change.
|
|
14
|
-
3. Split work into slices that can be verified independently.
|
|
15
|
-
4. Put the highest-risk slice first.
|
|
16
|
-
5. Name the exact verification commands.
|
|
12
|
+
Use this when the work spans multiple files, needs tests, has ordering dependencies, touches packaging or release behavior, or could be done in several plausible ways. Also use it when the user asks for a plan after approving a direction.
|
|
17
13
|
|
|
18
|
-
##
|
|
14
|
+
## Do Not Use When
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
- No ornamental refactors.
|
|
22
|
-
- Keep tasks scoped to the user's request.
|
|
23
|
-
- Update the map as facts change.
|
|
16
|
+
Do not write a plan before inspecting the repo. Do not create a plan for a single obvious edit unless risk is high. Do not keep planning after implementation evidence has invalidated the map; update it.
|
|
24
17
|
|
|
25
|
-
##
|
|
18
|
+
## Required Inputs
|
|
26
19
|
|
|
27
|
-
|
|
20
|
+
- Approved brief or clearly understood request.
|
|
21
|
+
- Repo structure and relevant files.
|
|
22
|
+
- Available commands: tests, validation, build, lint, browser checks, publish checks.
|
|
23
|
+
- Known risks and dependencies.
|
|
24
|
+
- User constraints on scope, timing, or release.
|
|
25
|
+
|
|
26
|
+
## Operating Procedure
|
|
27
|
+
|
|
28
|
+
1. Inspect before planning: list files, read package scripts, check git status, and identify existing patterns.
|
|
29
|
+
2. Write a small set of steps, usually three to seven. Each step should change behavior or reduce risk.
|
|
30
|
+
3. Put the highest-risk unknown first: failing tests, package metadata, browser rendering, auth, external API, migration, or destructive operation.
|
|
31
|
+
4. For each step, name the file area and the check that proves it.
|
|
32
|
+
5. Keep only one step `in_progress`. Update the map when a fact changes.
|
|
33
|
+
6. Prefer vertical slices: test plus implementation plus verification. Avoid "edit all docs" followed by "hope it works".
|
|
34
|
+
7. Mark deferred work explicitly so it does not leak into the current task.
|
|
35
|
+
|
|
36
|
+
## Output Contract
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
Plan:
|
|
40
|
+
1. Step:
|
|
41
|
+
Files:
|
|
42
|
+
Check:
|
|
43
|
+
Risk reduced:
|
|
44
|
+
2. ...
|
|
45
|
+
Deferred:
|
|
46
|
+
Stop conditions:
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Use compact bullets in chat. Use a formal checklist only for multi-step work.
|
|
50
|
+
|
|
51
|
+
## Guardrails
|
|
52
|
+
|
|
53
|
+
- Stop if the plan contains a step that cannot be verified.
|
|
54
|
+
- Do not include unrelated refactors, dependency upgrades, or formatting churn.
|
|
55
|
+
- Do not plan a push, release, or publish before naming the authentication and verification requirements.
|
|
56
|
+
- Do not let tests be a final cleanup step. Put the first meaningful test before implementation when practical.
|
|
57
|
+
|
|
58
|
+
## Failure Modes
|
|
59
|
+
|
|
60
|
+
- **Inventory plan:** "Read files, edit files, test" adds no value. Fix by naming specific files and proof.
|
|
61
|
+
- **Risk-last sequencing:** The hardest unknown appears at the end. Fix by moving it first.
|
|
62
|
+
- **No stop condition:** The agent keeps going after a failed check. Fix by saying what blocks progress.
|
|
63
|
+
- **Unowned dependencies:** The plan assumes tools or credentials exist. Fix by checking them early.
|
|
64
|
+
|
|
65
|
+
## Quality Gates
|
|
66
|
+
|
|
67
|
+
- Every step has a check.
|
|
68
|
+
- The plan can survive interruption because status is explicit.
|
|
69
|
+
- The plan honors the user's scope.
|
|
70
|
+
- The first step produces useful evidence, even if the implementation fails.
|
|
71
|
+
|
|
72
|
+
## Example
|
|
73
|
+
|
|
74
|
+
Good:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
1. Add failing quality tests for skill structure.
|
|
78
|
+
Files: tests/skill-quality.test.mjs
|
|
79
|
+
Check: npm test fails on current thin skills.
|
|
80
|
+
Risk reduced: defines "robust" before rewriting.
|
|
81
|
+
2. Rewrite skills against the tested structure.
|
|
82
|
+
Files: skills/*/SKILL.md
|
|
83
|
+
Check: npm test passes.
|
|
84
|
+
3. Verify package and site.
|
|
85
|
+
Files: package metadata, docs if changed
|
|
86
|
+
Check: npm run verify-package && npm run verify-site.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Bad: "Improve all skills, update docs, run tests" with no file boundaries or proof.
|
|
@@ -1,27 +1,85 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prove-the-change
|
|
3
|
-
description: Use
|
|
3
|
+
description: Use when a claim may be made that work is done, correct, fixed, tested, published, deployed, visible, or ready.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Prove The Change
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Evidence comes before claims. This skill prevents the agent from converting confidence, memory, or a partial check into a completion statement.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Trigger
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
2. Pick the command or inspection that proves each claim.
|
|
14
|
-
3. Run the checks.
|
|
15
|
-
4. Read the output and note failures honestly.
|
|
16
|
-
5. Report only what the evidence supports.
|
|
12
|
+
Use this before final answers, after fixes, before commits, before releases, before saying tests pass, after publishing, after browser-visible work, and whenever the user asks "is it done?" or "does it work?"
|
|
17
13
|
|
|
18
|
-
##
|
|
14
|
+
## Do Not Use When
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
- `npm run validate` for Supered bundle integrity.
|
|
22
|
-
- `git status --short` for clean or expected working tree state.
|
|
23
|
-
- A browser or screenshot check for visible UI work.
|
|
16
|
+
Do not use stale command output from a previous turn. Do not use this to invent checks after the fact while skipping the actual command. Do not claim the whole product is verified when only one layer was checked.
|
|
24
17
|
|
|
25
|
-
##
|
|
18
|
+
## Required Inputs
|
|
26
19
|
|
|
27
|
-
|
|
20
|
+
- Claims you are about to make.
|
|
21
|
+
- Commands or observations that can prove each claim.
|
|
22
|
+
- Current git state.
|
|
23
|
+
- External targets when relevant: npm registry, GitHub release, Pages URL, CI run, browser screenshot, API response.
|
|
24
|
+
- Known limitations or blocked checks.
|
|
25
|
+
|
|
26
|
+
## Operating Procedure
|
|
27
|
+
|
|
28
|
+
1. Write the claims in plain language. Example: "Tests pass", "npm package is live", "site renders on mobile".
|
|
29
|
+
2. Map each claim to evidence:
|
|
30
|
+
- code behavior: targeted test plus broader suite
|
|
31
|
+
- package integrity: `npm pack`, tarball inspection, install from tarball
|
|
32
|
+
- publish: registry/API lookup and real install from clean temp dir
|
|
33
|
+
- website: HTTP status, content check, browser screenshot
|
|
34
|
+
- repository state: `git status --short --branch`, remote run status
|
|
35
|
+
3. Run the full command fresh. Read exit code and output.
|
|
36
|
+
4. If any check fails, state the failure and either fix it or downgrade the claim.
|
|
37
|
+
5. Report evidence compactly in the final response.
|
|
38
|
+
6. Include residual risk only when it matters to the user's next decision.
|
|
39
|
+
|
|
40
|
+
## Output Contract
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
Claims checked:
|
|
44
|
+
Commands run:
|
|
45
|
+
Results:
|
|
46
|
+
Remote checks:
|
|
47
|
+
Not checked:
|
|
48
|
+
Conclusion:
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
For routine coding work, the final answer can be shorter, but it must still name the meaningful checks.
|
|
52
|
+
|
|
53
|
+
## Guardrails
|
|
54
|
+
|
|
55
|
+
- Stop if you catch yourself writing "should", "probably", "looks", or "I think" in a completion claim.
|
|
56
|
+
- Never claim a remote publish from a local dry-run.
|
|
57
|
+
- Never call CI green until the remote run conclusion is success.
|
|
58
|
+
- Do not hide failed checks behind passing checks.
|
|
59
|
+
- Do not ask the user to verify something you can verify with available tools.
|
|
60
|
+
|
|
61
|
+
## Failure Modes
|
|
62
|
+
|
|
63
|
+
- **Partial proof:** Unit tests pass, but package install fails. Fix by checking the layer you changed.
|
|
64
|
+
- **Wrong environment:** A command works inside the repo but not from a clean temp directory. Fix by testing like a user.
|
|
65
|
+
- **Remote lag:** GitHub Pages or npm cache has not updated. Fix by polling or stating pending status.
|
|
66
|
+
- **Overclaim:** "Everything works" after one command. Fix by listing only proven claims.
|
|
67
|
+
|
|
68
|
+
## Quality Gates
|
|
69
|
+
|
|
70
|
+
- Every final claim has a fresh check.
|
|
71
|
+
- The strongest check matches the user's real use path.
|
|
72
|
+
- Failures are reported plainly.
|
|
73
|
+
- The final answer distinguishes local, CI, and remote evidence.
|
|
74
|
+
|
|
75
|
+
## Example
|
|
76
|
+
|
|
77
|
+
Good:
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
Claim: npx install works.
|
|
81
|
+
Check: run `npx --yes supered@latest install --target codex --dest <tmp>` from an empty temp directory.
|
|
82
|
+
Result: installed expected skill files.
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Bad: "npm publish dry-run passed, so npx works" before publishing or testing the registry package.
|
|
@@ -1,32 +1,85 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: shape-the-task
|
|
3
|
-
description: Use when
|
|
3
|
+
description: Use when a request is ambiguous, broad, underspecified, exploratory, or has multiple plausible interpretations.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Shape The Task
|
|
7
7
|
|
|
8
|
-
Shape the
|
|
8
|
+
Shape the task before building. The goal is not a long spec; it is a compact, testable brief that prevents the agent from solving the wrong problem with confidence.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Trigger
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
2. Write the target user and the job they need done.
|
|
14
|
-
3. List the smallest useful feature set.
|
|
15
|
-
4. Note constraints, exclusions, and risk.
|
|
16
|
-
5. Confirm the implementation surface: files, package, repo, app, or deployment.
|
|
12
|
+
Use this when the user gives a rough product idea, asks for "similar to X", says "make it better", asks for "best in market", names an outcome without acceptance criteria, or mixes product, design, code, and publishing concerns in one request.
|
|
17
13
|
|
|
18
|
-
##
|
|
14
|
+
## Do Not Use When
|
|
15
|
+
|
|
16
|
+
Do not use this when the user provided a precise bug, file, command, and expected result. Do not ask broad discovery questions if the repo or provided artifact can answer them. Do not turn a small implementation request into a product strategy exercise.
|
|
17
|
+
|
|
18
|
+
## Required Inputs
|
|
19
|
+
|
|
20
|
+
- User's literal request and any attached files or links.
|
|
21
|
+
- Current repo state, if this is a local project.
|
|
22
|
+
- Reference products or competitors, if named.
|
|
23
|
+
- Constraints: platform, audience, deadline, budget, target quality, or release channel.
|
|
24
|
+
- Evidence required for "done".
|
|
25
|
+
|
|
26
|
+
## Operating Procedure
|
|
27
|
+
|
|
28
|
+
1. Capture the request in the user's words, then rewrite it as a concrete outcome.
|
|
29
|
+
2. Identify the audience and job-to-be-done. If the audience is unknown, infer from the product context and mark it as an assumption.
|
|
30
|
+
3. Separate must-have outcomes from nice-to-have ideas. Keep the first build small enough to verify.
|
|
31
|
+
4. Find constraints from local context before asking: package type, framework, assets, existing tests, publish target, branch state.
|
|
32
|
+
5. Name risks that could change implementation: legal/copyright, auth, payments, external accounts, destructive operations, user data, or brand assets.
|
|
33
|
+
6. Define acceptance criteria that can be checked by commands, screenshots, API responses, docs review, or user inspection.
|
|
34
|
+
7. Ask at most one focused question only if the answer would materially change the work. Otherwise proceed with stated assumptions.
|
|
35
|
+
|
|
36
|
+
## Output Contract
|
|
19
37
|
|
|
20
38
|
Use this shape when helpful:
|
|
21
39
|
|
|
22
40
|
```text
|
|
23
41
|
Outcome:
|
|
24
42
|
Audience:
|
|
25
|
-
Must
|
|
26
|
-
Can
|
|
27
|
-
|
|
43
|
+
Must have:
|
|
44
|
+
Can defer:
|
|
45
|
+
Assumptions:
|
|
46
|
+
Risks:
|
|
47
|
+
Acceptance checks:
|
|
48
|
+
First slice:
|
|
28
49
|
```
|
|
29
50
|
|
|
30
|
-
##
|
|
51
|
+
## Guardrails
|
|
52
|
+
|
|
53
|
+
- Stop if the brief contains vague adjectives without observable checks, such as "premium", "robust", or "world class". Translate them into criteria.
|
|
54
|
+
- Do not overfit to a reference product. Preserve inspiration, avoid copying text, assets, or protected expression.
|
|
55
|
+
- Do not ask the user to restate information available in the repo, issue, file, or link.
|
|
56
|
+
- Never proceed if the task implies publishing, payment, credentials, or destructive actions without a clear target and proof path.
|
|
57
|
+
|
|
58
|
+
## Failure Modes
|
|
59
|
+
|
|
60
|
+
- **Question flood:** The agent asks five questions before inspecting context. Fix by reading the repo/artifact first.
|
|
61
|
+
- **Spec bloat:** The brief becomes a roadmap. Fix by naming the smallest useful version.
|
|
62
|
+
- **False certainty:** The agent hides assumptions. Fix by listing assumptions explicitly.
|
|
63
|
+
- **Aesthetic-only criteria:** The brief says "looks good." Fix by adding viewport, accessibility, content, and screenshot checks.
|
|
64
|
+
|
|
65
|
+
## Quality Gates
|
|
66
|
+
|
|
67
|
+
- The brief can be read in under one minute.
|
|
68
|
+
- Every must-have has a verification method.
|
|
69
|
+
- The first slice is small enough to complete and test.
|
|
70
|
+
- The user can correct the direction before major work begins.
|
|
71
|
+
|
|
72
|
+
## Example
|
|
73
|
+
|
|
74
|
+
Good:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
Outcome: Create a public installable agent-skill kit named Supered.
|
|
78
|
+
Audience: developers using coding agents.
|
|
79
|
+
Must have: installable skills, docs, validation, public repo.
|
|
80
|
+
Can defer: marketplace submission.
|
|
81
|
+
Acceptance checks: npm test, package validation, public URL, install smoke test.
|
|
82
|
+
First slice: create manifest tests and package skeleton.
|
|
83
|
+
```
|
|
31
84
|
|
|
32
|
-
|
|
85
|
+
Bad: "Build something like Superpowers but better" with no audience, checks, or boundaries.
|
|
@@ -1,28 +1,88 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ship-the-work
|
|
3
|
-
description: Use when
|
|
3
|
+
description: Use when work may be committed, pushed, tagged, released, published, deployed, or handed off publicly.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Ship The Work
|
|
7
7
|
|
|
8
|
-
Shipping is
|
|
8
|
+
Shipping is product behavior. A commit, tag, package, release, or public URL is not done until the intended remote target confirms it.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Trigger
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
Use this for staging, committing, pushing, creating GitHub repos, creating tags or releases, publishing npm packages, enabling Pages, deploying sites, or giving the user a public link.
|
|
13
|
+
|
|
14
|
+
## Do Not Use When
|
|
15
|
+
|
|
16
|
+
Do not ship uncommitted exploratory work. Do not publish a package or release because local tests pass. Do not push if the worktree contains unrelated user changes unless the user explicitly includes them.
|
|
17
|
+
|
|
18
|
+
## Required Inputs
|
|
19
|
+
|
|
20
|
+
- Intended remote target: repository, branch, registry, package, release, or site.
|
|
21
|
+
- Clean understanding of changed files.
|
|
22
|
+
- Verification commands for the changed surface.
|
|
23
|
+
- Auth status for GitHub, npm, deploy provider, or other remote.
|
|
24
|
+
- Version/tag strategy.
|
|
25
|
+
- Rollback or correction path when possible.
|
|
26
|
+
|
|
27
|
+
## Operating Procedure
|
|
28
|
+
|
|
29
|
+
1. Inspect `git status --short --branch`.
|
|
30
|
+
2. Review the diff and staged scope. Separate unrelated local changes.
|
|
31
|
+
3. Run relevant checks before staging or publishing:
|
|
32
|
+
- code/package: `npm test`, `npm run validate`, `npm run verify-package`
|
|
33
|
+
- website: `npm run verify-site`
|
|
34
|
+
- shell installer: `sh -n install.sh` and install smoke checks
|
|
35
|
+
4. Scan for obvious secrets in intended files.
|
|
36
|
+
5. Stage only intended files. Check `git diff --cached --stat` and `git diff --cached --check`.
|
|
37
|
+
6. Commit with a concise message that names the user-visible change.
|
|
38
|
+
7. Push and verify remote branch state.
|
|
39
|
+
8. For releases, create the release/tag only after the matching commit is pushed.
|
|
40
|
+
9. For npm, verify name/version availability, run dry-run publish, publish, then verify `npm view` and real `npx` install from a clean temp directory.
|
|
41
|
+
10. For sites, poll deployment until the public URL returns expected content.
|
|
42
|
+
|
|
43
|
+
## Output Contract
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
Changed:
|
|
47
|
+
Checks before ship:
|
|
48
|
+
Commit:
|
|
49
|
+
Remote:
|
|
50
|
+
Release/package/site:
|
|
51
|
+
Post-ship verification:
|
|
52
|
+
Blocked or follow-up:
|
|
53
|
+
```
|
|
19
54
|
|
|
20
55
|
## Guardrails
|
|
21
56
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
- Do not
|
|
57
|
+
- Stop if auth is missing; do not fake a publish with dry-run output.
|
|
58
|
+
- Never paste or request secrets, OTPs, passwords, or tokens in chat.
|
|
59
|
+
- Do not tag or announce a release before the remote artifact exists.
|
|
60
|
+
- Do not stage ignored generated output unless it is intentionally shipped.
|
|
61
|
+
- Do not call a repository public until the hosting service says it is not private.
|
|
62
|
+
|
|
63
|
+
## Failure Modes
|
|
64
|
+
|
|
65
|
+
- **Premature announcement:** README advertises `npx` before npm publish succeeds. Fix by publishing first or holding the push.
|
|
66
|
+
- **Mixed worktree:** Unrelated files get staged. Fix by explicit path staging.
|
|
67
|
+
- **Local-only release:** A tag exists locally but not remotely. Fix by checking remote release metadata.
|
|
68
|
+
- **Unverified install:** Package publishes but CLI bin fails. Fix by testing from a clean temp directory.
|
|
69
|
+
|
|
70
|
+
## Quality Gates
|
|
71
|
+
|
|
72
|
+
- Local and remote states match.
|
|
73
|
+
- Public artifacts are reachable.
|
|
74
|
+
- The final answer includes commit/release/package URLs when relevant.
|
|
75
|
+
- The user knows exactly what, if anything, remains blocked.
|
|
76
|
+
|
|
77
|
+
## Example
|
|
78
|
+
|
|
79
|
+
Good:
|
|
25
80
|
|
|
26
|
-
|
|
81
|
+
```text
|
|
82
|
+
Checks: npm test, validate, smoke-install, verify-package, verify-site.
|
|
83
|
+
Commit: 89f9a8a Prepare npm package install path.
|
|
84
|
+
Package: npm view supered@latest confirms bin.
|
|
85
|
+
Post-ship: npx install from empty temp dir succeeds.
|
|
86
|
+
```
|
|
27
87
|
|
|
28
|
-
|
|
88
|
+
Bad: pushing a tag after `npm publish` failed on OTP, then telling the user `npx` is ready.
|
|
@@ -1,26 +1,84 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: trace-the-fault
|
|
3
|
-
description: Use when
|
|
3
|
+
description: Use when behavior is broken, flaky, surprising, failing, inconsistent, or explained only by guesses.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Trace The Fault
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Trace from symptom to cause. The goal is not to make the error disappear; it is to understand the responsible boundary well enough that the fix is small and the original symptom is rechecked.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Trigger
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
Use this for failing tests, broken CLI commands, deployment failures, browser rendering bugs, package publishing errors, auth failures, flaky behavior, unexpected output, or any moment where the agent is tempted to say "probably".
|
|
13
|
+
|
|
14
|
+
## Do Not Use When
|
|
15
|
+
|
|
16
|
+
Do not use this for known, mechanical edits where cause and fix are already proven. Do not skip reproduction because the fix looks obvious. Do not treat third-party service errors as solved until the service response changes.
|
|
17
|
+
|
|
18
|
+
## Required Inputs
|
|
19
|
+
|
|
20
|
+
- Exact symptom: command, error, screenshot, log, failing assertion, or user report.
|
|
21
|
+
- Recent changes and relevant environment details.
|
|
22
|
+
- A way to reproduce or observe the symptom.
|
|
23
|
+
- Boundaries to inspect: code, config, package, network, auth, docs, browser, CI.
|
|
24
|
+
- A verification command for the original symptom.
|
|
25
|
+
|
|
26
|
+
## Operating Procedure
|
|
27
|
+
|
|
28
|
+
1. Reproduce the symptom as directly as possible. Capture the exact command and output.
|
|
29
|
+
2. Classify the failure: missing file, wrong assumption, dependency, environment, auth, network, syntax, behavior, test design, or service state.
|
|
30
|
+
3. List what is known, what is unknown, and what changed recently.
|
|
31
|
+
4. Form one narrow hypothesis at a time. Prefer observations that split possibilities, such as checking published tarball contents before editing package code.
|
|
32
|
+
5. Add instrumentation or targeted commands only where they reduce uncertainty.
|
|
33
|
+
6. Fix the cause at the responsible boundary. Avoid broad rewrites.
|
|
34
|
+
7. Re-run the original reproduction. Then run nearby regression checks.
|
|
35
|
+
8. If the root cause was a missing guard, add a test or validator so it stays fixed.
|
|
36
|
+
|
|
37
|
+
## Output Contract
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
Symptom:
|
|
41
|
+
Reproduction:
|
|
42
|
+
Known facts:
|
|
43
|
+
Hypothesis tested:
|
|
44
|
+
Root cause:
|
|
45
|
+
Fix:
|
|
46
|
+
Original symptom check:
|
|
47
|
+
Regression check:
|
|
48
|
+
```
|
|
17
49
|
|
|
18
50
|
## Guardrails
|
|
19
51
|
|
|
20
|
-
-
|
|
21
|
-
- Do not
|
|
22
|
-
- Do not delete
|
|
52
|
+
- Stop if you cannot reproduce and the issue is not urgent; gather more evidence before patching.
|
|
53
|
+
- Do not make multiple unrelated fixes in one debug pass.
|
|
54
|
+
- Do not delete logs or screenshots until the final check passes.
|
|
55
|
+
- Do not call an auth, publish, or deploy issue fixed until the remote system confirms it.
|
|
56
|
+
- Never change tests just to make them pass unless the test itself is proven wrong.
|
|
57
|
+
|
|
58
|
+
## Failure Modes
|
|
59
|
+
|
|
60
|
+
- **Guess patching:** The agent edits likely files without proving the boundary. Fix by running a discriminating observation.
|
|
61
|
+
- **Symptom swap:** The original error disappears but a new unexamined error appears. Fix by tracing the new symptom.
|
|
62
|
+
- **Local-only proof:** The local check passes but CI/npm/GitHub still fails. Fix by verifying the actual remote target.
|
|
63
|
+
- **Overbroad fix:** The agent rewrites architecture for a config typo. Fix at the smallest responsible boundary.
|
|
64
|
+
|
|
65
|
+
## Quality Gates
|
|
66
|
+
|
|
67
|
+
- Original symptom was reproduced or explicitly could not be reproduced.
|
|
68
|
+
- Root cause is stated as a boundary, not a vibe.
|
|
69
|
+
- The fix is narrower than the investigation.
|
|
70
|
+
- Original symptom and at least one regression check pass.
|
|
71
|
+
|
|
72
|
+
## Example
|
|
73
|
+
|
|
74
|
+
Good:
|
|
23
75
|
|
|
24
|
-
|
|
76
|
+
```text
|
|
77
|
+
Symptom: npx supered@latest fails with "command not found" in repo.
|
|
78
|
+
Observation: published tarball has correct bin.
|
|
79
|
+
Hypothesis: npm exec inside same-named checkout shadows registry bin.
|
|
80
|
+
Check: run npx from empty temp directory.
|
|
81
|
+
Result: registry install works.
|
|
82
|
+
```
|
|
25
83
|
|
|
26
|
-
|
|
84
|
+
Bad: changing `package.json` repeatedly without inspecting the actual published tarball or execution directory.
|