React Router Development
remix-run/react-router
Guides work on React Router apps by first identifying whether the app uses Framework, Data or Declarative mode, then loading the matching reference and the installed package docs.
Drive the Open Session web UI against an isolated demo server and capture proof for session, workspace, automation, goal, archive, or settings changes.
$ npx skills add tellahq/opensession --skill verify-opensession -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tellahq/opensession verify-opensession --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/tellahq/opensession.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/verify-opensession .claude/skills/verify-opensession && 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 "verify-opensession" agent skill from https://github.com/tellahq/opensession/tree/main/.agents/skills/verify-opensession into .claude/skills/verify-opensession/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-opensession", 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/tellahq/opensession/tree/main/.agents/skills/verify-opensessionType 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 tellahq/opensession --skill verify-opensession -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tellahq/opensession verify-opensession --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tellahq/opensession.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/verify-opensession .agents/skills/verify-opensession && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "verify-opensession" agent skill from https://github.com/tellahq/opensession/tree/main/.agents/skills/verify-opensession into .agents/skills/verify-opensession/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-opensession", 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 tellahq/opensession --skill verify-opensession -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tellahq/opensession verify-opensession --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tellahq/opensession.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/verify-opensession .cursor/skills/verify-opensession && 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 "verify-opensession" agent skill from https://github.com/tellahq/opensession/tree/main/.agents/skills/verify-opensession into .cursor/skills/verify-opensession/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-opensession", 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/tellahq/opensession.git --path .agents/skills/verify-opensession--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 tellahq/opensession --skill verify-opensession -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tellahq/opensession verify-opensession --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tellahq/opensession.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/verify-opensession .gemini/skills/verify-opensession && 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 "verify-opensession" agent skill from https://github.com/tellahq/opensession/tree/main/.agents/skills/verify-opensession into .gemini/skills/verify-opensession/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-opensession", 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 tellahq/opensession verify-opensessionInstalls 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 tellahq/opensession --skill verify-opensession -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tellahq/opensession.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/verify-opensession .github/skills/verify-opensession && 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 "verify-opensession" agent skill from https://github.com/tellahq/opensession/tree/main/.agents/skills/verify-opensession into .github/skills/verify-opensession/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-opensession", 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 tellahq/opensession --skill verify-opensession -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tellahq/opensession verify-opensession --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tellahq/opensession.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/verify-opensession .opencode/skills/verify-opensession && 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 "verify-opensession" agent skill from https://github.com/tellahq/opensession/tree/main/.agents/skills/verify-opensession into .opencode/skills/verify-opensession/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-opensession", 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.
verify-opensessionDrive the Open Session web UI against an isolated demo server and capture proof for session, workspace, automation, goal, archive, or settings changes.
Verify Opensession is an agent skill from tellahq/opensession. Drive the Open Session web UI against an isolated demo server and capture proof for session, workspace, automation, goal, archive, or settings changes.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files (for example `features/README.md`, `features/archived-sessions.md` and `features/automations.md`).
It sits in Frontend & Design, covering Frontend development. The licence is MIT.
Read from SKILL.md and the folder at commit 1524bbb. 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.
Ships script files (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
jqbunFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
os.tella.devFrom 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.
Verify Opensession loads about 1.8k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 736 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 tellahq/opensession at commit 1524bbb, republished under its MIT licence (© tellahq). 736 words, ~1,836 tokens.
.claude/skills/verify-opensession/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Use this skill for user-visible work in Open Session's primary client, the server-hosted web UI and phone PWA. The repository also ships Electron, native Swift, and Chrome extension clients. This skill does not prove their client-specific behavior.
Never point these commands at https://os.tella.dev, port 3850, or scripts/frontend-dev.ts. Those paths use production state. The launcher below starts a fresh demo instance with private gateway and SessionKernel ports, process groups, a browser profile, and a state directory.
This recipe currently requires Linux with a reachable systemd user manager, Google Chrome, Xvfb, ss, and jq. From the repository root, install dependencies if node_modules is absent, then start one run:
bun install --frozen-lockfile
export RUN_ID="verify-$(date +%Y%m%d-%H%M%S)-$$"
./.agents/skills/verify-opensession/bin/verify-opensession launch "$RUN_ID"The command prints APP_URL, STATE_DIR, and EVIDENCE_DIR. It starts the real Bun gateway and SessionKernel with a shared scratch credential, OPENSESSION_DEV=1, OPENSESSION_DEMO=1, and a disposable OPENSESSION_STATE_DIR under /tmp. The demo seed supplies sessions, transcripts, a repository, pull request state, automations, and a paused goal. External agents, schedulers, webhooks, executor work, and live credentials stay off.
The instance is ready when launch returns successfully. Its log remains at /tmp/opensession-verify-$RUN_ID/server.log until cleanup.
Teardown what this run started:
./.agents/skills/verify-opensession/bin/verify-opensession cleanup "$RUN_ID"Run cleanup after failed attempts too. Each run has a separate port, browser profile, and state directory, so concurrent runs are safe when their RUN_ID values differ.
Run this before driving the UI and whenever the page or browser looks wrong:
./.agents/skills/verify-opensession/bin/verify-opensession doctor "$RUN_ID"Doctor checks the exact server PID, port owner, launch commit, boot ID, disposable state environment, auth status, health endpoint, and private CDP browser. A changed checkout commit fails the check because the running backend may no longer match the files under review. Clean up and launch again rather than driving a stale process.
The helper controls the run's private Chrome page over CDP. It uses the accessibility tree for element lookup and dispatches browser mouse and keyboard input. Use exact accessible roles and names from the current feature map.
Open a desktop route:
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" open --route /goals --width 1440 --height 900Open the phone web client by changing the viewport. Widths at or below 720 use mobile emulation, a device pixel ratio of 3, and touch-first media (hover: none, pointer: coarse), so hover-only affordances swap to their phone form as they would on a device:
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" open --route /session/bks-demo-pr --width 390 --height 844Common actions:
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" wait --role heading --name "Goals"
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" click --role button --name "New goal"
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" fill --role textbox --name "Name" --value "Verification goal"
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" press --key Escape
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" urlwait, click, and fill require one exact accessible match. Add --index 1 only when the UI intentionally exposes duplicate names. A lookup failure prints nearby names for that role. Use snapshot to inspect the current tree instead of guessing selectors:
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" snapshotRead a user-facing API response from the same isolated instance when persistence needs a second view:
./.agents/skills/verify-opensession/bin/verify-opensession api "$RUN_ID" /api/goals | jq .Read features/README.md first, then the relevant feature file. The map lists every known entry point. Verifying one convenient route does not prove the others.
Keep proof under the launcher's printed directory:
artifacts/verification/opensession/$RUN_ID/Capture the state before or during the action and the resulting state. For a web change, save an accessibility snapshot and screenshot at both 1440x900 and 390x844 unless the feature is explicitly client-specific. Example:
EVIDENCE_DIR="$PWD/artifacts/verification/opensession/$RUN_ID"
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" snapshot --path "$EVIDENCE_DIR/goals-after.aria.txt"
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" screenshot --path "$EVIDENCE_DIR/goals-after.png"
./.agents/skills/verify-opensession/bin/verify-opensession api "$RUN_ID" /api/goals | jq . >"$EVIDENCE_DIR/goals-api.json"A valid proof exercises the real user route, not an internal state setter or test-only endpoint. Show the action and result, not only the final page. For mutations, confirm the saved value through another user-visible view or a read-only API response. Do not claim an engine turn, external message, webhook, push, or integration ran in this demo instance. Those systems are intentionally disabled. Do not replace them with mocks unless the production boundary already uses a mockable adapter, and name that limit in the report.
For screenshots worth returning to the user, include the absolute path as OPENSESSION_IMAGE: /absolute/path.png.
Cleanup stops the exact systemd browser unit, gateway process group, and SessionKernel process group recorded at launch, then removes only /tmp/opensession-verify-$RUN_ID. It does not kill by process name and never removes proof:
./.agents/skills/verify-opensession/bin/verify-opensession cleanup "$RUN_ID"
test -d "$PWD/artifacts/verification/opensession/$RUN_ID"The disposable demo mutation disappears with the state directory. Evidence under artifacts/verification/opensession/ survives.
Both shipped helpers are executable:
bin/verify-opensession owns launch, doctor, API reads, browser delegation, and cleanup. Invoke it exactly as shown above.bin/browser.mjs is the CDP implementation. Do not call it directly because it needs run metadata. Use verify-opensession browser.The browser subcommands are open, click, hover, fill, press, wait, snapshot, screenshot, url, and eval. hover moves the mouse over an element without pressing, for tooltips and other hover-only UI. press takes a bare key (b, Enter) or a chord with the modifiers first (Control+i, Meta+Shift+g). Reserve eval for read-only diagnosis. It is not acceptable proof of a user path or mutation.
© tellahq, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files in .agents/skills/verify-opensession of tellahq/opensession.
Open the folder on GitHubat commit 1524bbb
Verify Opensession 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 |
|---|---|---|---|---|---|---|
| Verify Opensession this skilltellahq/opensession | 392 | — | ~1.8k | Automated safety check: Pass | MIT | |
| React Router Developmentremix-run/react-router | 57k | 1 repos | ~1.5k | Automated safety check: Pass | MIT | |
| React UI State PatternsChrisWiles/claude-code-showcase | 6.1k | 7 repos | ~1.6k | Automated safety check: Pass | None | |
| GSAP in Vue, Nuxt and Sveltegreensock/gsap-skills | 16k | 4 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Svelte Core Best Practicesrilldata/rill | 2.9k | 4 repos | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Vuetify Playgroundvuetifyjs/vuetify | 41k | — | ~730 | Automated safety check: Pass | Custom licence |
remix-run/react-router
Guides work on React Router apps by first identifying whether the app uses Framework, Data or Declarative mode, then loading the matching reference and the installed package docs.
ChrisWiles/claude-code-showcase
Sets patterns for React interfaces: when to show loading spinners or skeletons, how to surface errors, how to disable buttons during async work and how to handle empty lists.
greensock/gsap-skills
Shows how to use GSAP in Vue, Nuxt, Svelte and other lifecycle-based frameworks: create after mount, scope selectors to the component, and revert on unmount.
rilldata/rill
Rules for writing idiomatic Svelte 5 code: when to reach for runes like state, derived and effect, and how to handle props, attachments and bindings.
vuetifyjs/vuetify
Maintains the Vuetify repo's local Playground.vue so contributors get a realistic reproduction and a short demo they can paste into a pull request description.
tabler/tabler
Starts the right Tabler dev server, keeps it from clashing with builds and verifies changes in the browser before a page or component is handed back.
tellahq/opensession
Write idiomatic Effect v4 TypeScript verified against the pinned effect@4.0.0-rc.112 source.
tellahq/opensession
Spawn three parallel review child sessions over the active transcript, surface learnings, and route each to a concrete edit on an existing skill.
tellahq/opensession
Help the user understand the current topic visually with concise diagrams, code-shape sketches, and focused HTML artifacts.
tellahq/opensession
A skill your agent uses for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a skill", or wanting agents to follow how the user works.
tellahq/opensession
Auto-fix a PR — address ALL reviewers' open feedback + failing CI, push, and reply in each addressed thread with honest attribution
tellahq/opensession
Fan out N parallel workers, drain them, and return one report.
Categories
Drive the Open Session web UI against an isolated demo server and capture proof for session, workspace, automation, goal, archive, or settings changes. Verify Opensession is an agent skill from tellahq/opensession. Drive the Open Session web UI against an isolated demo server and capture proof for session, workspace, automation, goal, archive, or settings changes.
Verify Opensession fits situations like: tasks that involve Frontend development.
Run `npx skills add tellahq/opensession --skill verify-opensession -a claude-code`. Or copy the skill folder (.agents/skills/verify-opensession in tellahq/opensession) into .claude/skills/verify-opensession in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tellahq/opensession --skill verify-opensession -a codex`. Or copy the skill folder (.agents/skills/verify-opensession in tellahq/opensession) into .agents/skills/verify-opensession 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 tellahq/opensession --skill verify-opensession -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verify-opensession, .gemini/skills/verify-opensession, .github/skills/verify-opensession and .opencode/skills/verify-opensession in your project.
Going by SKILL.md and its folder, Verify Opensession needs JavaScript for the scripts in its folder and the command-line tools its instructions call (jq and bun). Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: os.tella.dev; the agent is likely to contact it when it follows the instructions. 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.
Verify Opensession is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.3k 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 Verify Opensession: React Router Development (remix-run/react-router, 57k stars), React UI State Patterns (ChrisWiles/claude-code-showcase, 6.1k stars), GSAP in Vue, Nuxt and Svelte (greensock/gsap-skills, 16k stars) and Svelte Core Best Practices (rilldata/rill, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tellahq (a GitHub organization) maintains it in tellahq/opensession, which has 392 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 7, 2026.
Source: tellahq/opensession on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.