You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(agent)!: align skill install with the Agent Skills standard
Replace the per-agent bespoke install formats with the Agent Skills open
standard: one canonical .agents/skills/<skill>/SKILL.md per project, read
directly by universal agents (Codex, Cursor, Cline, Gemini CLI, Copilot,
…) and via a relative symlink by every other agent. The bundled registry
grows from 8 hand-wired targets to the full standard set (72 agent ids).
BREAKING CHANGE: agent install no longer writes per-agent bespoke
formats. Codex no longer receives a managed section in AGENTS.md and
Windsurf no longer receives a size-capped compact body — both now read
the canonical .agents/skills/. The install result schema gains a `mode`
(canonical | symlink) field and `path` reflects the new model. Skills
written in the old format report stale/modified under `agent status`
until refreshed (re-run `agent install`, add --force where needed). The
legacy aliases (claude, kiro, copilot) and the claude-code default are
preserved, so existing commands keep working.
Copy file name to clipboardExpand all lines: DOCUMENTATION.md
+14-17Lines changed: 14 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -106,30 +106,27 @@ Every artifact in the bundle shares one `snapshotId`; the CLI will not mix a fai
106
106
107
107
## Agent onboarding (`agent install`)
108
108
109
-
`testsprite agent install` writes a ready-made skill/instruction file into your project so your coding agent knows the commands, the exit codes, and the failure-bundle layout — no prompt engineering required. It's a pure-local command: no network, no credentials.
109
+
`testsprite agent install` writes the TestSprite skills into your project so your coding agent knows the commands, the exit codes, and the failure-bundle layout — no prompt engineering required. It's a pure-local command: no network, no credentials.
110
110
111
111
```bash
112
-
testsprite agent install claude # install the skill for Claude Code
113
-
testsprite agent install codex # install into AGENTS.md for Codex (managed-section)
`--target` accepts any agent id from the standard registry (70+), plus the legacy short aliases (`claude`, `codex`, `cursor`, `cline`, `antigravity`, `kiro`, `windsurf`, `copilot`). Omitting `--target` in a non-interactive shell defaults to `claude-code`; in a terminal the CLI prompts.
125
124
126
-
Omitting `--target` in a non-interactive shell (CI, agent subprocess) defaults to `claude` with an `[info]` note on stderr; in a terminal the CLI prompts (empty answer = `claude`).
125
+
Because every universal agent reads the same `.agents/skills/` folder, **installing for one universal agent makes the skill available to all of them** — `agent install --target codex` also serves Cursor, Cline, Gemini CLI, Copilot, etc.
127
126
128
-
`agent status` checks every installed skill file against the current CLI version and reports one of `ok`, `stale`, `modified`, `unmarked`, `absent`, or `corrupt` per target. It exits `1` when anything needs attention, so `testsprite agent status && …` can gate a CI step; `--dir <path>` inspects a different project root.
127
+
`agent status` checks the canonical skill file (and each symlinked landing) against the current CLI version and reports `ok`, `stale`, `modified`, or `unmarked` for every agent that has an install (absent agents are omitted to keep output focused). It exits `1` when anything needs attention, so `testsprite agent status && …` can gate a CI step; `--dir <path>` inspects a different project root.
129
128
130
-
The `codex` target uses **managed-section mode** — it writes only a sentinel-delimited section inside your existing `AGENTS.md`, so your project instructions are never clobbered. Re-running without `--force` replaces the section in-place; user content outside the sentinels is always preserved.
131
-
132
-
Re-running with `--force` on **own-file targets** (claude, cursor, cline, antigravity, kiro, windsurf, copilot) backs up the existing file to `<path>.bak` first.
129
+
Re-running with `--force` overwrites a canonical file that has drifted, backing up the existing bytes to `<path>.bak` first; for symlinked landings it replaces a link that points elsewhere.
Copy file name to clipboardExpand all lines: skills/testsprite-onboard.skill.md
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,7 @@
1
-
<!--
2
-
User-facing content for `testsprite agent install` (skill: testsprite-onboard).
3
-
Body only — name + description frontmatter is emitted by the install wrapper.
4
-
The cursor (.mdc), cline (.clinerules), and antigravity (experimental)
5
-
wrappers reuse this body verbatim and swap only the frontmatter/header.
6
-
-->
1
+
---
2
+
name: testsprite-onboard
3
+
description: Stand up a complete, runnable TestSprite test suite for the current repo at first use — create a project (with a target URL and auth), derive a coherent set of tests from the codebase, batch-create them, and smoke-run a few to a green verdict so the user immediately has something worth running. Use ONLY when a repo has no TestSprite tests yet (a fresh project), right after `testsprite setup`, or when the user asks to "set up / bootstrap / seed tests". This is first-run setup, NOT change verification — once a project already has tests, use the testsprite-verify skill instead.
4
+
---
7
5
8
6
# TestSprite: onboard a repo with a seed test suite
Copy file name to clipboardExpand all lines: skills/testsprite-verify.skill.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,8 @@
1
+
---
2
+
name: testsprite-verify
3
+
description: TestSprite verification loop — after finishing a feature or fix in a TestSprite-tested repo, use the `testsprite` CLI to run the relevant TestSprite tests against the change and inspect any failure artifacts before reporting the work as done. Use whenever code has changed outside docs/config and is about to be reported complete — by running an existing test that covers the change, or by creating a new TestSprite test (a frontend plan, or a backend Python assertion) and running it to a terminal verdict.
4
+
---
5
+
1
6
# TestSprite Verification Loop
2
7
3
8
The verification loop that flies your just-shipped feature through the
0 commit comments