Add React Page
fullstackhero/dotnet-starter-kit
Add a list+create page to a React app (clients/admin or clients/dashboard) — API module, page, lazy route, (admin) permission gate, Playwright test.
A skill your agent uses when editing .tsx/.jsx/.css/.html, React components, pages, routes, forms, styles, or layouts.
$ npx skills add millionco/expect --skill expect -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install millionco/expect expect --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/millionco/expect.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/expect .claude/skills/expect && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "expect" agent skill from https://github.com/millionco/expect/tree/main/.agents/skills/expect into .claude/skills/expect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "expect", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/millionco/expect/tree/main/.agents/skills/expectType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add millionco/expect --skill expect -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install millionco/expect expect --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/millionco/expect.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/expect .agents/skills/expect && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "expect" agent skill from https://github.com/millionco/expect/tree/main/.agents/skills/expect into .agents/skills/expect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "expect", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add millionco/expect --skill expect -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install millionco/expect expect --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/millionco/expect.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/expect .cursor/skills/expect && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "expect" agent skill from https://github.com/millionco/expect/tree/main/.agents/skills/expect into .cursor/skills/expect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "expect", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/millionco/expect.git --path .agents/skills/expect--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add millionco/expect --skill expect -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install millionco/expect expect --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/millionco/expect.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/expect .gemini/skills/expect && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "expect" agent skill from https://github.com/millionco/expect/tree/main/.agents/skills/expect into .gemini/skills/expect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "expect", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install millionco/expect expectInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add millionco/expect --skill expect -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/millionco/expect.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/expect .github/skills/expect && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "expect" agent skill from https://github.com/millionco/expect/tree/main/.agents/skills/expect into .github/skills/expect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "expect", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add millionco/expect --skill expect -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install millionco/expect expect --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/millionco/expect.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/expect .opencode/skills/expect && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "expect" agent skill from https://github.com/millionco/expect/tree/main/.agents/skills/expect into .opencode/skills/expect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "expect", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
expectA skill your agent uses when editing .tsx/.jsx/.css/.html, React components, pages, routes, forms, styles, or layouts.
Expect is an agent skill from millionco/expect. Use when editing .tsx/.jsx/.css/.html, React components, pages, routes, forms, styles, or layouts. Also when asked to test, verify, validate, QA, find bugs, check for issues, or fix expect-cli failures.
Its SKILL.md is about 990 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering React components and Debugging. It works with Playwright. The repository describes itself as: Expect tests your agent's code in a real browser. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 39e9750. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
playwrightFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Expect loads about 988 tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 474 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from millionco/expect at commit 39e9750, republished under its MIT licence (© millionco). 474 words, ~988 tokens.
.claude/skills/expect/SKILL.md (or your agent's skills folder).You verify code changes in a real browser before claiming they work. No browser evidence, no completion claim.
Use the expect MCP tools (open, playwright, screenshot, etc.) for all browser interactions. Do not use raw browser tools (Playwright MCP, chrome tools, etc.) unless the user explicitly asks.
Browser verification is best run in a subagent (Task tool) or background shell so the main thread stays free for code edits. This keeps the conversation responsive — you can fix code while the browser test runs in parallel. Strongly prefer launching a subagent for browser work, especially when the test involves multiple steps or long interactions. If the test is truly trivial (single screenshot check), inline is acceptable.
Before opening a new browser, check if one is already running. Use browser_tabs (action list) or the expect screenshot tool to see if a session is still active. If a tab is already open at the target URL, reuse it — don't close and reopen. When re-verifying after a code fix, prefer navigating or refreshing the existing session over starting from scratch.
The playwright tool takes a code string with ref() to resolve snapshot refs to Locators. One call can do an entire interaction — fills, clicks, AND data collection. Use that.
BAD — 5 tool calls:
screenshot (snapshot)
playwright: await ref('e3').fill('Jane')
screenshot (snapshot) ← WHY? page didn't change
playwright: await ref('e5').fill('jane@example.com')
playwright: await ref('e7').click()GOOD — 2 tool calls:
screenshot (snapshot)
playwright (snapshotAfter=true):
await ref('e3').fill('Jane');
await ref('e5').fill('jane@example.com');
await ref('e7').click();
return { title: await page.title(), url: page.url(), errors: (await page.$$('.error')).length };Use return to collect data. Response: { result: <value>, resultFile: "<tmp path>", snapshot: { tree, refs, stats } }. The resultFile persists until close — read or grep it later. Without a return value, responds "OK" (or just the snapshot if snapshotAfter=true).
Re-snapshot only across DOM boundaries. Fills and hovers don't change page structure — keep using the same refs. Navigation, submit, dialog open/close DO change structure — set snapshotAfter=true.
Bad: "Check that the login form renders on http://localhost:5173"
Good: "Submit the login form empty, with invalid email, with wrong password, and with valid credentials. Verify error messages, redirect on success, and console errors on http://localhost:5173"
playwright call per action" — No. Whole sequence in one call.snapshotAfter=true on the action that does.© millionco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/expect of millionco/expect.
Open the folder on GitHubat commit 39e9750
Expect next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Expect this skillmillionco/expect | 3.6k | — | ~988 | Automated safety check: Pass | MIT | |
| Add React Pagefullstackhero/dotnet-starter-kit | 6.8k | — | ~1.5k | Automated safety check: Pass | MIT | |
| React Devtools MCPsanity-io/ui | 176 | — | ~2k | Automated safety check: Pass | MIT | |
| E2E Tests Studiomastra-ai/mastra | 29k | — | ~4.3k | Automated safety check: Pass | Custom licence | |
| Reactmagnus919/agent-skills | 111 | — | ~1.4k | Automated safety check: Pass | MIT | |
| UI Visual DebuggingNangoHQ/nango | 13k | — | ~1.3k | Automated safety check: Pass | Custom licence |
fullstackhero/dotnet-starter-kit
Add a list+create page to a React app (clients/admin or clients/dashboard) — API module, page, lazy route, (admin) permission gate, Playwright test.
sanity-io/ui
Inspect and profile the React component tree of a running Storybook story through chrome-devtools-mcp (React DevTools over the Chrome DevTools Protocol, via react-devtools-cdt-mcp).
mastra-ai/mastra
REQUIRED when modifying any file in packages/playground-ui or packages/playground.
magnus919/agent-skills
Operate React applications as a named tool: inspect and diagnose React/Vite projects, design component boundaries and state flow, implement accessible responsive UI, and verify behavior with the…
NangoHQ/nango
A skill your agent uses when modifying or visually debugging Nango frontend UI, including packages/webapp, packages/connect-ui, browser interactions, screenshots, and visual regressions.
Endava/BEEQ
Write E2E tests for BEEQ StencilJS components using @stencil/vitest in browser mode (Playwright/Chromium).
millionco/expect
Enforces Effect-TS patterns for services, errors, layers, and atoms.
millionco/expect
Systematic evidence-based debugging using runtime logs. An agent skill from millionco/expect.
millionco/expect
Portable Effect patterns for robust promise execution. An agent skill from millionco/expect.
millionco/expect
Write and improve agent skills (SKILL.md files). An agent skill from millionco/expect.
Works with
Categories
A skill your agent uses when editing .tsx/.jsx/.css/.html, React components, pages, routes, forms, styles, or layouts. Expect is an agent skill from millionco/expect.html, React components, pages, routes, forms, styles, or layouts.
Expect fits situations like: editing .tsx/.jsx/.css/.html; React components.
Run `npx skills add millionco/expect --skill expect -a claude-code`. Or copy the skill folder (.agents/skills/expect in millionco/expect) into .claude/skills/expect in your project. Claude Code loads it when a task matches its description.
Run `npx skills add millionco/expect --skill expect -a codex`. Or copy the skill folder (.agents/skills/expect in millionco/expect) into .agents/skills/expect in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add millionco/expect --skill expect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/expect, .gemini/skills/expect, .github/skills/expect and .opencode/skills/expect in your project.
Going by SKILL.md and its folder, Expect needs the command-line tools its instructions call (playwright).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Expect is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 988 tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Expect: Add React Page (fullstackhero/dotnet-starter-kit, 6.8k stars), React Devtools MCP (sanity-io/ui, 176 stars), E2E Tests Studio (mastra-ai/mastra, 29k stars) and React (magnus919/agent-skills, 111 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
millionco (a GitHub organization) maintains it in millionco/expect, which has 3,558 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on May 6, 2026.
Source: millionco/expect on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.