@xera-ai/skills 0.4.4 → 0.5.0
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/package.json +1 -1
- package/version.json +2 -2
- package/xera-exec.md +1 -0
- package/xera-script.md +13 -1
package/package.json
CHANGED
package/version.json
CHANGED
package/xera-exec.md
CHANGED
|
@@ -8,6 +8,7 @@ The user invoked `/xera-exec <TICKET>`. If no key, ask.
|
|
|
8
8
|
1. Verify `.xera/{{TICKET}}/spec.ts` exists. If not: "Generate the spec first with `/xera-script {{TICKET}}`." STOP.
|
|
9
9
|
|
|
10
10
|
2. Run: `bun run xera:exec {{TICKET}}`
|
|
11
|
+
`bun run xera:exec` automatically picks the runner based on `meta.json.adapter` (web or http).
|
|
11
12
|
- Exit 0 → all scenarios passed.
|
|
12
13
|
- Exit 1 → user/config error (lock held, missing env var). Show the error verbatim and STOP.
|
|
13
14
|
- Exit 3 → test failure. This is expected; continue.
|
package/xera-script.md
CHANGED
|
@@ -12,7 +12,19 @@ The user invoked `/xera-script <TICKET>`. If no key, ask.
|
|
|
12
12
|
|
|
13
13
|
3. List existing shared POMs by reading `shared/page-objects/` (every `.ts` file, parse exported class names). Pass this list to yourself as context for reuse decisions.
|
|
14
14
|
|
|
15
|
-
4. Read
|
|
15
|
+
4. Read `.xera/{{TICKET}}/meta.json` to get the adapter (`adapter` field). Then read the appropriate prompt template:
|
|
16
|
+
|
|
17
|
+
- If `adapter === "web"` (or missing): use `node_modules/@xera-ai/prompts/script-from-feature-web.md`.
|
|
18
|
+
- If `adapter === "http"`: use `node_modules/@xera-ai/prompts/script-from-feature-http.md`.
|
|
19
|
+
|
|
20
|
+
Follow that prompt's hard rules.
|
|
21
|
+
|
|
22
|
+
When `adapter === "http"` AND `xera.config.ts` has `http.spec` configured, additionally:
|
|
23
|
+
- Load the OpenAPI spec at `http.spec` (path or URL).
|
|
24
|
+
- Find the operation referenced by the failing Gherkin step (matching method + path).
|
|
25
|
+
- Pass the dereferenced operation schema to your generation context as the `openapi` input.
|
|
26
|
+
|
|
27
|
+
When `adapter === "http"` and no `http.spec`: pass `openapi: null` to your generation context.
|
|
16
28
|
|
|
17
29
|
5. Before reading the test.feature + story.md content into your generation context, mint a fresh per-invocation nonce by running:
|
|
18
30
|
|