Loora Design Guide
lassejlv/loora
Build, edit, refine, troubleshoot, and review polished responsive product interfaces through the Loora MCP server and its structured Canvas schemas.
Frontend development for nteract UI/product surfaces, Elements fixtures, hot reload, dev daemon setup, MCP server workflow, TypeScript bindings via ts-rs, and reactive state work that touches RxJS…
$ npx skills add nteract/nteract --skill frontend-dev -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nteract/nteract frontend-dev --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/nteract/nteract.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/frontend-dev .claude/skills/frontend-dev && 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 "frontend-dev" agent skill from https://github.com/nteract/nteract/tree/main/.agents/skills/frontend-dev into .claude/skills/frontend-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-dev", 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/nteract/nteract/tree/main/.agents/skills/frontend-devType 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 nteract/nteract --skill frontend-dev -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nteract/nteract frontend-dev --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nteract/nteract.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/frontend-dev .agents/skills/frontend-dev && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "frontend-dev" agent skill from https://github.com/nteract/nteract/tree/main/.agents/skills/frontend-dev into .agents/skills/frontend-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-dev", 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 nteract/nteract --skill frontend-dev -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nteract/nteract frontend-dev --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nteract/nteract.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/frontend-dev .cursor/skills/frontend-dev && 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 "frontend-dev" agent skill from https://github.com/nteract/nteract/tree/main/.agents/skills/frontend-dev into .cursor/skills/frontend-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-dev", 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/nteract/nteract.git --path .agents/skills/frontend-dev--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 nteract/nteract --skill frontend-dev -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nteract/nteract frontend-dev --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nteract/nteract.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/frontend-dev .gemini/skills/frontend-dev && 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 "frontend-dev" agent skill from https://github.com/nteract/nteract/tree/main/.agents/skills/frontend-dev into .gemini/skills/frontend-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-dev", 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 nteract/nteract frontend-devInstalls 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 nteract/nteract --skill frontend-dev -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nteract/nteract.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/frontend-dev .github/skills/frontend-dev && 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 "frontend-dev" agent skill from https://github.com/nteract/nteract/tree/main/.agents/skills/frontend-dev into .github/skills/frontend-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-dev", 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 nteract/nteract --skill frontend-dev -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nteract/nteract frontend-dev --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nteract/nteract.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/frontend-dev .opencode/skills/frontend-dev && 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 "frontend-dev" agent skill from https://github.com/nteract/nteract/tree/main/.agents/skills/frontend-dev into .opencode/skills/frontend-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-dev", 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.
frontend-devFrontend development for nteract UI/product surfaces, Elements fixtures, hot reload, dev daemon setup, MCP server workflow, TypeScript bindings via ts-rs, and reactive state work that touches RxJS…
Frontend Dev is an agent skill from nteract/nteract. Frontend development for nteract UI/product surfaces, Elements fixtures, hot reload, dev daemon setup, MCP server workflow, TypeScript bindings via ts-rs, and reactive state work that touches RxJS streams, useSyncExternalStore stores, or WASM-backed notebook/runtime projections.
Its SKILL.md is about 5.4k 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 Frontend development. It works with Model Context Protocol, WebAssembly, TypeScript and RxJS. The repository describes itself as: We're back! Now firing notebooks out of a t-shirt gun. The licence is BSD-3-Clause.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 217d6fe. 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:
cargopnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
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.
Frontend Dev loads about 5.4k tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 2,420 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 nteract/nteract at commit 217d6fe, republished under its BSD-3-Clause licence (© nteract). 2,420 words, ~5,420 tokens.
.claude/skills/frontend-dev/SKILL.md (or your agent's skills folder).Use this skill for UI/product work and for TypeScript state surfaces that feed shared notebook UI. If the task is primarily Automerge protocol, daemon/kernel execution, MCP session lifecycle, or release mechanics, use the more specific repo skill for that subsystem first and return here only for app integration.
| Task | Command |
|---|---|
| Hot reload assets | cargo xtask vite |
| Dev daemon | cargo xtask dev-daemon |
| Human app launch | cargo xtask notebook |
| Human attach to Vite | cargo xtask notebook --attach |
| Full debug build | cargo xtask build |
| Rust-only rebuild | cargo xtask build --rust-only |
| Human bundled launch | cargo xtask run |
| One-shot setup | cargo xtask dev |
| Lint/format | cargo xtask lint --fix |
| nteract-dev MCP server | cargo xtask run-mcp |
| Regenerate TS bindings | cargo test -p runtimed-client --features ts-bindings |
Use this mode when the user asks to iterate on UI, including notebook UI, Elements docs, rail/sidebar surfaces, toolbar chrome, cell affordances, runtime state language, or says the goal is to make the design feel fluid with natural grouping.
apps/elements, then pull only the durable parts back into the main app.apps/elements/components/*-example.tsx,
document it in apps/elements/content/docs/*.mdx, and link it from
apps/elements/app/page.tsx plus apps/elements/content/docs/index.mdx.src/components/ui where they fit;
add new primitives through the repo shadcn workflow instead of one-off
component copies.Use this subsection for hosted notebook home, sharing, workstation, auth/session, and public-notebook polish. These surfaces are app chrome around notebooks; they should not fork cell, output, rail, toolbar, or execution UI.
apps/elements first when the visual or interaction model is
still uncertain, then promote only stable pieces into apps/notebook-cloud./n useful as a notebook home, not just a file list: continuation,
ownership/access state, created/open flows, and workstation/runtime readiness
should read together.editor, edit mode, or a live runtime_peer alone surface run,
restart, or interrupt controls./n lists and
sharing ledgers.CellChangeset and shared narrow
projection helpers when possible. Full live-cell rematerialization is a
bootstrap or fallback path, not the steady-state Cloud projection model.Use this subsection when editing RxJS or shared-store code such as
packages/runtimed/src/sync-engine.ts,
packages/runtimed/src/observable-store.ts,
packages/runtimed/src/poll.ts,
packages/runtimed/src/*store*.ts,
src/components/notebook/state/*,
apps/notebook/src/lib/notebook-sync-store-bridge.ts,
apps/notebook-cloud/viewer/*store*.ts,
apps/notebook-cloud/viewer/*facts*.ts,
apps/notebook-cloud/viewer/use-cloud-*-store.ts, or
apps/notebook-cloud/viewer/browser-signals.ts.
NotebookDoc, RuntimeStateDoc, CommsDoc,
CommentsDoc, or host-owned APIs/session facts. React state is for local UI
affordances, not another copy of document/runtime truth.CellChangeset,
ExecutionViewChangeset, outputIdChanges$, commentsProjection$,
notebookSyncApplied$) over second-pass TypeScript diffs.runtimed-wasm or shared React stores. Project their results
only when shared UI needs them.Subject, BehaviorSubject, and ReplaySubject private. Expose
readonly Observable fields through .asObservable().select(project, equals) style
projections with distinctUntilChanged. Add structural comparators when the
projector allocates arrays or objects..pipe() where it is composable. Manual
.subscribe(...) belongs at bridge edges that drive imperative sinks; collect
those subscriptions in a Subscription and tear them down.switchMap for latest-only work,
concatMap for ordered materialization or writes, mergeMap for independent
frame/event expansion, and exhaustMap for duplicate-submit suppression.catchError inside the inner observable when the outer session stream
must keep running. Avoid letting one bad frame, blob fetch, or projection kill
a long-lived bridge.shareReplay with an explicit lifetime. refCount: false is appropriate
for app/session-lifetime shared store projections that must keep one cache;
refCount: true is safer for cold sources whose subscription should end when
consumers detach.useSyncExternalStore for shared notebook store hooks. The observable
adapted by useRuntimeProjection-style helpers must emit synchronously on
subscribe, usually through BehaviorSubject, ReplaySubject(1), or a seeded
shareReplay projection.concatMap or an explicit queue. After every await, check that the live
handle/session/auth/endpoint or activation epoch still matches before
writing stores.rxjs/testing or VirtualTimeScheduler) for timers,
throttles, cancellation, and ordered stream behavior.For non-CRDT async sources (auth, catalog, access requests, workstations) held
in a module-level ObservableStore singleton, follow Decision 8
(docs/adr/frontend-sync-bridge.md). The store outlives every component, so
each async completion is a stale-write risk:
useCloudAuthState/useHostedCatalogAuth/useCloudWorkstationsRegistry, never
store.select(...) inline in a render body and never
observable-binding.ts directly. Desktop and cloud share one binding.useCloudStores() (cloud-stores-context.ts),
whose default is the singleton bundle. Production mounts no provider and uses
those same instances; a test or Elements fixture mounts CloudStoresProvider
with its own instances and the subtree reads those. The provider overrides
consumption, never activation - its owner activates the instances it supplies.
A controller that dispatches actions on the same store reads it from the same
context too, so an override gets a coherent store.{epoch, auth reference, endpoint} when the
request starts; after every await (success, error, and any follow-up
refetch), discard the result if the identity changed. Checking only the
first await leaves later completions able to write stale state.dispose,
reset, and a signed-out closed gate bump the activation epoch so captured
requests become stale (a transient loading gate is recoverable and
keeps in-flight work alive); a dropped completion also clears any indicator
it wrote (by object-reference ownership, so it can never clobber a newer
identity's own state).repeat() on completion, so a swallowed inner rejection
cannot kill the loop. Keep catchError on the inner fetch.exhaustMap. Triggers that must
not overlap (interval tick, visibility rise, manual wakeup) feed a single
exhaustMap; do not give each trigger its own guard. After-settle stores
instead serialize manual refresh and mutation refetches through a dedicated
concatMap action stream outside the poll loop, preserving action order
and polling cadence.scheduler, now, and the network operations are
activate(deps) arguments, so tests run entirely on virtual time and the
suite checks cadence, gates, aborts, and discarded stale results
deterministically.distinctUntilChanged
uses a named fooEquals(a, b) with a colocated
satisfies Record<keyof T, true> manifest. The manifest forces every key to
be listed when the type grows; it does not prove every key is compared -
treat a break as a prompt to revisit the comparator body, not proof of
correctness. A projection that allocates an array or object each tick needs
a structural comparator (length plus per-element identity/fields); a
reference check on a newly allocated value deduplicates nothing. A missing
manifest key surfaces as a tsc error (pnpm --dir apps/notebook-cloud typecheck); the
node test script alone will not catch it.loaded$ to distinguish loading from loaded empty state. The state
subject emits its seeded default before the gate opens (state emits first,
then the gate); a consumer
that must tell "loading" from "loaded empty" reads loaded$, never infers
from an empty snapshot.Best for UI/React development. Start the dev daemon and Vite from agent terminals; let the human launch the Tauri GUI from their own terminal.
Agent terminals:
cargo xtask dev-daemon
cargo xtask viteHuman terminal:
cargo xtask notebook --attachReact changes hot-reload through the Vite dev server on port 5174.
Closing the first Tauri window kills Vite. Keep Vite alive independently:
# Agent terminal: standalone Vite (stays running)
cargo xtask vite
# Human terminal(s): attach Tauri to existing Vite
cargo xtask notebook --attachcargo xtask build + run)Bundles frontend assets into the binary. Emits JS source maps for native webview devtools.
cargo xtask build # Full build (frontend + Rust)
cargo xtask build --rust-only # Skip frontend rebuild (fast Rust iteration)
cargo xtask run # Run the bundled binary
cargo xtask run path/to/notebook.ipynbEach worktree gets an isolated daemon in dev mode.
# Agent terminals
cargo xtask dev-daemon
cargo xtask vite
# Human terminal if they want the full setup flow
cargo xtask dev
cargo xtask dev --skip-install --skip-build # Fast repeatcargo xtask dev-daemon, cargo xtask notebook, and cargo xtask run-mcp derive the worktree env automatically. Set RUNTIMED_DEV=1 and RUNTIMED_WORKSPACE_PATH="$(pwd)" only for raw ./target/debug/runt ... commands.
./target/debug/runt daemon status # Check daemon state
./target/debug/runt daemon logs -f # Tail logs
./target/debug/runt ps # List running kernels
./target/debug/runt notebooks # List open notebookscargo xtask run-mcp # Start dev MCP server
cargo xtask run-mcp --print-config # Editor config outputStarts dev daemon, launches nteract-dev, spawns child runt mcp, proxies notebook tool calls, watches for file changes, and hot-reloads.
| Tool | Purpose |
|---|---|
up | Idempotent bring-up. Args: vite=true, rebuild=true, mode="debug"|"release" |
down | Stop Vite. daemon=true also stops daemon |
status | Read-only report of child, daemon, processes, build mode |
logs | Tail daemon log |
vite_logs | Tail Vite log |
Watching is opt-in with NTERACT_DEV_WATCH=1. Startup and owner-mode
up rebuild=true prepare generated assets before compiling the child.
Renderer/widget source edits rebuild affected artifacts and refresh the child
catalog only if its binary changes. Python changes restart the child; Rust
binding changes also check the native bindings unless SKIP_MATURIN=1.
See MCP renderer development for asset receipts, dependency order, attach/isolated behavior, and host restart limitations. MCP list-change notifications do not force an existing host widget to reload.
cargo xtask dev-daemon # Terminal 1
./target/debug/runt mcp # Terminal 2 (Rust-native, no Python)Codex app/CLI reads .codex/config.toml from the project. Keep the
project-scoped server named nteract-dev and pinned to the repo root:
[mcp_servers.nteract-dev]
command = "cargo"
args = ["xtask", "run-mcp"]
cwd = "."
startup_timeout_sec = 120
[mcp_servers.nteract-dev.env]
NTERACT_DEV_MODE = "attach"
RUNTIMED_DEV = "1"
SKIP_MATURIN = "1"Installed Codex plugin servers such as nteract-notebook, nightly, or older
notebook aliases target release/plugin daemons. Do not use them for source
development against a local Browser/Vite worktree.
.zed/settings.json (gitignored):
{
"context_servers": {
"nteract-dev": {
"command": "cargo",
"args": ["run", "-p", "mcp-supervisor"],
"cwd": ".",
"env": { "NTERACT_DEV_MODE": "owner", "RUNTIMED_DEV": "1" }
}
}
}Types in src/bindings/ are auto-generated from Rust via ts-rs. Edit the Rust source, not the generated TypeScript.
runtimed-client gates generation behind its opt-in ts-bindings feature.
Run cargo test -p runtimed-client --features ts-bindings from the repo root;
plain cargo test does not enable these exports. The feature is declared in
crates/runtimed-client/Cargo.toml.
Gate the TS import, derive, and export on ts-bindings, as in
crates/runtimed-client/src/settings_doc.rs:
#[cfg(feature = "ts-bindings")]
use ts_rs::TS;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "ts-bindings", derive(TS))]
#[serde(rename_all = "lowercase")]
#[cfg_attr(feature = "ts-bindings", ts(export))]
pub enum ThemeMode {
System,
Light,
Dark,
}Generates src/bindings/ThemeMode.ts:
export type ThemeMode = "system" | "light" | "dark";Use the crate's optional ts-rs dependency and generation feature:
[features]
ts-bindings = ["dep:ts-rs"]
[dependencies]
ts-rs = { workspace = true, optional = true }Gate the import, derive, and export as shown above
Run cargo test -p runtimed-client --features ts-bindings to generate the
TypeScript file
Import from src/bindings/index.ts:
import type { MyNewType } from "@/bindings";Export directory set in .cargo/config.toml:
[env]
TS_RS_EXPORT_DIR = { value = "src/bindings", relative = true }Pre-configured in .zed/tasks.json (cmd-shift-t):
| Task | Command |
|---|---|
| Dev Daemon | cargo xtask dev-daemon |
| Human Dev App | cargo xtask notebook |
| Daemon Status | ./target/debug/runt daemon status |
| Daemon Logs | ./target/debug/runt daemon logs -f |
| Format | cargo xtask lint --fix |
| Setup | pnpm install && cargo xtask build |
Daemon code changes not taking effect: Restart cargo xtask dev-daemon in dev mode. In production: reinstall the .app or run ./scripts/install-nightly.
App says "Dev daemon not running": Start cargo xtask dev-daemon in another terminal.
Port conflicts with Vite: Default 5174 may conflict across worktrees. Use cargo xtask build + run to avoid Vite, or use CONDUCTOR_PORT for automatic assignment.
Frontend changes not showing: With cargo xtask notebook they hot-reload. With cargo xtask run you need cargo xtask build first. With --rust-only frontend is intentionally skipped.
© nteract, BSD-3-Clause. 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/frontend-dev of nteract/nteract.
Open the folder on GitHubat commit 217d6fe
Frontend Dev 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 |
|---|---|---|---|---|---|---|
| Frontend Dev this skillnteract/nteract | 178 | — | ~5.4k | Automated safety check: Pass | BSD-3-Clause | |
| Loora Design Guidelassejlv/loora | 140 | — | ~2.4k | Automated safety check: Pass | AGPL-3.0 | |
| Angular Idioms and Patternsirahardianto/awesome-agv | 157 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Control Chromewxtsky/byob | 132 | — | ~1.5k | Automated safety check: Warn | MIT | |
| NEAR dApp Builderinternet-court/internet-court-skill | 6.4k | 1 repos | ~684 | Automated safety check: Pass | Custom licence | |
| Angular ArchitectJeffallan/claude-skills | 12k | — | ~1.5k | Automated safety check: Pass | MIT |
lassejlv/loora
Build, edit, refine, troubleshoot, and review polished responsive product interfaces through the Loora MCP server and its structured Canvas schemas.
irahardianto/awesome-agv
Coding conventions for Angular 19 and later: standalone components, signals, OnPush change detection, lazy routes and where RxJS still belongs.
wxtsky/byob
Control and inspect the user's real Google Chrome through byob's local MCP tools.
internet-court/internet-court-skill
Scaffolds new NEAR dApps with create-near-app or adds NEAR wallet sign-in, contract calls and transaction signing to an existing React or plain JavaScript app.
Jeffallan/claude-skills
Builds Angular 17+ features with standalone components, signals, NgRx state, RxJS patterns and lazy-loaded routing, then checks bundle size and test coverage.
Jeffallan/claude-skills
Builds Vue 3 apps with the Composition API and script setup, Pinia state, Nuxt 3, Vite tuning and Quasar or Capacitor mobile builds, checked with vue-tsc and Vitest.
nteract/nteract
Automerge sync protocol internals, document model (OpSet, ChangeGraph, fork/merge, save/load lifecycle), and higher-level protocol design patterns.
nteract/nteract
Develop, debug, and manage the runtimed daemon, Python bindings, and build system.
nteract/nteract
The end-to-end cell execution pipeline from MCP tool call through daemon to kernel and back.
nteract/nteract
Pull and triage submitted nteract diagnostics archives from Cloudflare using a diagnostics id/token.
nteract/nteract
Use nteract notebooks as a persistent Python REPL. An agent skill from nteract/nteract.
nteract/nteract
Run tests, verify changes, and collect diagnostics. An agent skill from nteract/nteract.
Categories
Frontend development for nteract UI/product surfaces, Elements fixtures, hot reload, dev daemon setup, MCP server workflow, TypeScript bindings via ts-rs, and reactive state work that touches RxJS…. Frontend Dev is an agent skill from nteract/nteract. Frontend development for nteract UI/product surfaces, Elements fixtures, hot reload, dev daemon setup, MCP server workflow, TypeScript bindings via ts-rs, and reactive state work that touches RxJS streams, useSyncExternalStore stores, or WASM-backed notebook/runtime projections.
Frontend Dev fits situations like: tasks that involve Frontend development.
Run `npx skills add nteract/nteract --skill frontend-dev -a claude-code`. Or copy the skill folder (.agents/skills/frontend-dev in nteract/nteract) into .claude/skills/frontend-dev in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nteract/nteract --skill frontend-dev -a codex`. Or copy the skill folder (.agents/skills/frontend-dev in nteract/nteract) into .agents/skills/frontend-dev 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 nteract/nteract --skill frontend-dev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/frontend-dev, .gemini/skills/frontend-dev, .github/skills/frontend-dev and .opencode/skills/frontend-dev in your project.
Going by SKILL.md and its folder, Frontend Dev needs the command-line tools its instructions call (cargo and pnpm).
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.
Frontend Dev is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.4k tokens (SKILL.md is roughly 22k 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 Frontend Dev: Loora Design Guide (lassejlv/loora, 140 stars), Angular Idioms and Patterns (irahardianto/awesome-agv, 157 stars), Control Chrome (wxtsky/byob, 132 stars) and NEAR dApp Builder (internet-court/internet-court-skill, 6.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nteract (a GitHub organization) maintains it in nteract/nteract, which has 178 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.
Source: nteract/nteract on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.