Agent skill

Verify Opensession

by tellahq in 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.

MITAuto-check passedFrontend & Design

Install Verify Opensession

skills CLI
$ npx skills add tellahq/opensession --skill verify-opensession -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tellahq/opensession verify-opensession --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
verify-opensession
GitHub stars
392
Token cost
~1.8k tokens
SKILL.md length
736 words
Files
9
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Drive the Open Session web UI against an isolated demo server and capture proof for session, workspace, automation, goal, archive, or settings changes.

  • Tasks that involve Frontend development
  • SKILL.md covers Launch, Doctor, Drive and Evidence, plus 2 more sections
  • Runs JavaScript scripts from its folder; calls jq and bun; reaches os.tella.dev

What it does

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.

When your agent uses it

  • Tasks that involve Frontend development

Example prompts

  • “/verify-opensession”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 1524bbb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • jq
    • bun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • os.tella.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from tellahq/opensession at commit 1524bbb, republished under its MIT licence (© tellahq). 736 words, ~1,836 tokens.

Download SKILL.mdSave it as .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.
name
verify-opensession
description
Drive the Open Session web UI against an isolated demo server and capture proof for session, workspace, automation, goal, archive, or settings changes.

Verify Open Session

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.

Launch

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:

bash
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:

bash
./.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.

Doctor

Run this before driving the UI and whenever the page or browser looks wrong:

bash
./.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.

Drive

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:

bash
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" open --route /goals --width 1440 --height 900

Open 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:

bash
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" open --route /session/bks-demo-pr --width 390 --height 844

Common actions:

bash
./.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" url

wait, 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:

bash
./.agents/skills/verify-opensession/bin/verify-opensession browser "$RUN_ID" snapshot

Read a user-facing API response from the same isolated instance when persistence needs a second view:

bash
./.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.

Show full SKILL.md (289 more words)Show less

Evidence

Keep proof under the launcher's printed directory:

text
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:

bash
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

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:

bash
./.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.

Helpers

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

Files

SKILL.md and 8 other files in .agents/skills/verify-opensession of tellahq/opensession.

  • SKILL.md
  • bin/browser.mjs
  • bin/verify-opensession
  • features/README.md
  • features/archived-sessions.md
  • features/automations.md
  • features/goals.md
  • features/sessions-and-transcripts.md
  • features/settings.md

Open the folder on GitHubat commit 1524bbb

Compare with similar skills

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.

Verify Opensession compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Verify Opensession this skilltellahq/opensession392—~1.8kAutomated safety check: PassMIT
React Router Developmentremix-run/react-router57k1 repos~1.5kAutomated safety check: PassMIT
React UI State PatternsChrisWiles/claude-code-showcase6.1k7 repos~1.6kAutomated safety check: PassNone
GSAP in Vue, Nuxt and Sveltegreensock/gsap-skills16k4 repos~2.6kAutomated safety check: PassMIT
Svelte Core Best Practicesrilldata/rill2.9k4 repos~1.8kAutomated safety check: PassApache-2.0
Vuetify Playgroundvuetifyjs/vuetify41k—~730Automated safety check: PassCustom licence

Similar skills

  • 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.

    57k GitHub starsUsed in 1 repo~1.5k tokens
    Frontend & DesignAuto-check passed
  • React UI State Patterns

    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.

    6.1k GitHub starsUsed in 7 repos~1.6k tokens
    Frontend & DesignAuto-check passed
  • GSAP in Vue, Nuxt and Svelte

    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.

    16k GitHub starsUsed in 4 repos~2.6k tokens
    Frontend & DesignAuto-check passed
  • 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.

    2.9k GitHub starsUsed in 4 repos~1.8k tokens
    Frontend & DesignAuto-check passed
  • Vuetify Playground

    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.

    41k GitHub stars~730 tokensUpdated today
    Frontend & DesignAuto-check passed
  • 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.

    42k GitHub stars~1.2k tokensUpdated today
    Frontend & DesignAuto-check passed

More from tellahq/opensession

All 15 skills in this repo
  • Effect TS

    tellahq/opensession

    Write idiomatic Effect v4 TypeScript verified against the pinned effect@4.0.0-rc.112 source.

    392 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Reflect

    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.

    392 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Show Me

    tellahq/opensession

    Help the user understand the current topic visually with concise diagrams, code-shape sketches, and focused HTML artifacts.

    392 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Automate Me

    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.

    392 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • PR Autofix

    tellahq/opensession

    Auto-fix a PR — address ALL reviewers' open feedback + failing CI, push, and reply in each addressed thread with honest attribution

    392 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Swarm

    tellahq/opensession

    Fan out N parallel workers, drain them, and return one report.

    392 GitHub stars~609 tokensUpdated today
    Auto-check passed

Questions about Verify Opensession

What does Verify Opensession do?

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.

When should I use Verify Opensession?

Verify Opensession fits situations like: tasks that involve Frontend development.

How do I install Verify Opensession in Claude Code?

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.

How do I install Verify Opensession in Codex?

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.

Can I use Verify Opensession in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Verify Opensession need to run?

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.

Does Verify Opensession access the network?

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.

Is Verify Opensession safe to install?

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.

What licence does Verify Opensession use?

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.

How many tokens does Verify Opensession use?

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.

What are the alternatives to Verify Opensession?

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.

Who maintains Verify Opensession?

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.