Agent skill

Apprun

by yysun in yysun/apprun

AppRun architecture guidance for building, reviewing, or fixing AppRun applications and the AppRun library itself.

MITAuto-check passedTesting & QA

Install Apprun

skills CLI
$ npx skills add yysun/apprun --skill apprun -a claude-code

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

GitHub CLI
$ gh skill install yysun/apprun apprun --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/yysun/apprun.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/apprun .claude/skills/apprun && 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
apprun
GitHub stars
1.2k
Token cost
~1.3k tokens
SKILL.md length
674 words
Files
5 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

AppRun architecture guidance for building, reviewing, or fixing AppRun applications and the AppRun library itself.

  • Works in 5 steps: Inspect the local source, tests, and… → Identify whether the task is about an… → Preserve existing project tooling unless… → …
  • Work involves AppRun MVU components
  • SKILL.md covers First Pass, Core Architecture, Lifecycle Rules and Events And State, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Apprun is an agent skill from yysun/apprun. AppRun architecture guidance for building, reviewing, or fixing AppRun applications and the AppRun library itself. Use when work involves AppRun MVU components, state/update lifecycles, async generators, event directives, routing and navigation guards, custom elements, or AppRun test coverage. Focus on AppRun behavior and existing repo contracts, not generic build-tool, CSS-framework, or starter-app setup.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/component-architecture.md`, `references/events-and-state.md` and `references/routing-navigation.md`).

It sits in Testing & QA, covering Test coverage. It works with JavaScript and TypeScript. The repository describes itself as: AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components. The licence is MIT.

When your agent uses it

  • Work involves AppRun MVU components
  • State/update lifecycles
  • Async generators
  • Event directives

Example prompts

  • “/apprun”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Inspect the local source, tests, and package scripts before changing behavior.
  2. Identify whether the task is about an application using AppRun or the AppRun library itself.
  3. Preserve existing project tooling unless the user explicitly asks to change it.
  4. Prefer the smallest change that fixes the AppRun behavior and can be verified with focused tests.
  5. Do not add Tailwind, Vite, routing libraries, state libraries, or starter scaffolds unless the user specifically asks for them.

What it can do on your machine

Read from SKILL.md and the folder at commit 29fd46f. 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

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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

Apprun loads about 1.3k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 104 tokens; SKILL.md has 674 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~104
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4k

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 yysun/apprun at commit 29fd46f, republished under its MIT licence (© yysun). 674 words, ~1,348 tokens.

Download SKILL.mdSave it as .claude/skills/apprun/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
apprun
description
AppRun architecture guidance for building, reviewing, or fixing AppRun applications and the AppRun library itself. Use when work involves AppRun MVU components, state/update lifecycles, async generators, event directives, routing and navigation guards, custom elements, or AppRun test coverage. Focus on AppRun behavior and existing repo contracts, not generic build-tool, CSS-framework, or starter-app setup.

AppRun

Use this skill to make AppRun-specific architecture decisions. Keep the work anchored in the existing codebase before inventing a pattern.

First Pass

  1. Inspect the local source, tests, and package scripts before changing behavior.
  2. Identify whether the task is about an application using AppRun or the AppRun library itself.
  3. Preserve existing project tooling unless the user explicitly asks to change it.
  4. Prefer the smallest change that fixes the AppRun behavior and can be verified with focused tests.
  5. Do not add Tailwind, Vite, routing libraries, state libraries, or starter scaffolds unless the user specifically asks for them.

Core Architecture

  • Treat AppRun code as MVU: model/state, view, update/event handlers.
  • Keep update logic pure when possible; move side effects to explicit handlers.
  • Return a new state when the UI must re-render.
  • Return nothing only for side effects that should not re-render.
  • Use async generators for multi-step flows that need intermediate renders, such as validation -> loading -> success/error.
  • Keep view functions deterministic from state. Avoid hidden DOM reads unless integrating with browser APIs.
  • Keep component state shapes specific to the component. Do not force generic loading, error, or successMessage fields into components that do not need them.

For detailed component patterns, read references/component-architecture.md.

Lifecycle Rules

  • Use mounted(props, children, state) for components embedded in JSX that need props-derived initial state. The hook also receives current children and state; return new state or nothing.
  • Use async state only for top-level routed components that must load route-level data before rendering.
  • Do not mix mounted() and async state in the same component unless the existing code proves a deliberate local contract.
  • Preserve cleanup in the unload(state) hook for timers, subscriptions, pending promises, animation frames, custom elements, and global listeners.
  • For async state, guard against stale promise completion when a newer state load has started.

Events And State

  • Prefer AppRun directives for AppRun updates: $bind, $onclick, $oninput, and sibling $on... directives.
  • Use $bind for simple form binding, including textarea value binding.
  • Use $oninput or explicit handlers when validation, parsing, debouncing, or normalization is needed.
  • Do not wrap $onclick around an arrow function whose only job is app.run(...); use AppRun event binding directly.
  • Use standard DOM events only for DOM-only effects, such as stopping propagation or integrating with browser APIs.
  • Use global events deliberately. They are a coupling point, not a default.
  • Keep event names domain-specific and behavior-specific.

For handler shapes and async examples, read references/events-and-state.md.

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

Routing And Navigation

  • Use AppRun's existing routing behavior before adding any router abstraction.
  • Preserve native browser behavior for links: modifier keys, new tabs, downloads, external URLs, and non-left clicks should not be hijacked.
  • Register routed components in one clear place when the app structure allows it.
  • Route params should be decoded and validated close to the route handler.
  • Programmatic navigation is a side effect; make that explicit in update handlers.

For routing contracts and guard details, read references/routing-navigation.md.

AppRun Library Work

When modifying this repository rather than an app:

  • Inspect src/ and the nearby tests before patching.
  • Preserve public API shape in apprun.d.ts, esm/, dist/, and runtime exports unless the request is explicitly breaking.
  • Add focused regression tests for behavior fixes.
  • Use existing Jest patterns in this repo.
  • Run the smallest relevant test first, then the broader suite or build when behavior or public API changed.

For repo-specific verification expectations, read references/testing.md.

Reference Routing

  • Read references/component-architecture.md for component class/function choices, lifecycle, custom elements, and cleanup.
  • Read references/events-and-state.md for update handler patterns, directives, async generators, and state transitions.
  • Read references/routing-navigation.md for route registration, anchors, params, navigation side effects, and click guards.
  • Read references/testing.md for AppRun test strategy, async generator tests, routing tests, and this repo's commands.

Non-Goals

  • Do not teach generic TypeScript, Vite, webpack, Tailwind, CSS Modules, or fetch-client setup in this skill.
  • Do not prescribe a directory layout unless the existing repository already has one or the user asks for a new app scaffold.
  • Do not replace AppRun idioms with React, Redux, external routers, or framework conventions just because they are familiar.
  • Do not turn examples from one app domain into reusable AppRun doctrine.

© yysun, 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 4 other files (references) in skills/apprun of yysun/apprun.

  • SKILL.md
  • references/component-architecture.md
  • references/events-and-state.md
  • references/routing-navigation.md
  • references/testing.md

Open the folder on GitHubat commit 29fd46f

Compare with similar skills

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

Apprun compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Apprun this skillyysun/apprun1.2k—~1.3kAutomated safety check: PassMIT
Supercovsupercorp-ai/supercov1501 repos~415Automated safety check: PassMIT
Supercov Securitysupercorp-ai/supercov1501 repos~236Automated safety check: PassMIT
Test Specialistailabs-393/ai-labs-claude-skills454—~3.4kAutomated safety check: PassMIT
Stryker JSmizchi/skills356—~2.4kAutomated safety check: PassNone
Polyglot Test Agentboshi-xixixi/TraeSkill275—~1.7kAutomated safety check: PassMIT

Similar skills

  • Supercov

    supercorp-ai/supercov

    Measures test coverage and code quality in a repository with the supercov CLI, and turns what it finds into small, focused tests or fixes.

    150 GitHub starsUsed in 1 repo~415 tokens
    Testing & QAAuto-check passed
  • Supercov Security

    supercorp-ai/supercov

    Scans a repository's source for security vulnerabilities with the supercov CLI, pointing to the line of each finding and mapping it to CWE classes.

    150 GitHub starsUsed in 1 repo~236 tokens
    Testing & QAAuto-check passed
  • Test Specialist

    ailabs-393/ai-labs-claude-skills

    This skill should be used when writing test cases, fixing bugs, analyzing code for potential issues, or improving test coverage for JavaScript/TypeScript applications.

    454 GitHub stars~3.4k tokensUpdated 11 mo ago
    Testing & QAAuto-check passed
  • Stryker JS

    mizchi/skills

    Introduce StrykerJS mutation testing or assess JavaScript/TypeScript test quality.

    356 GitHub stars~2.4k tokensUpdated 6 days ago
    Testing & QAAuto-check passed
  • Polyglot Test Agent

    boshi-xixixi/TraeSkill

    Generates comprehensive, workable unit tests for any programming language using a multi-agent pipeline.

    275 GitHub stars~1.7k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Mutation Testing

    secondsky/claude-skills

    Validate test effectiveness with mutation testing using Stryker (TypeScript/JavaScript with Vitest or bun test via @hughescr/stryker-bun-runner) and mutmut (Python).

    227 GitHub stars~1.4k tokensUpdated 10 days ago
    Testing & QAAuto-check: notes

Questions about Apprun

What does Apprun do?

AppRun architecture guidance for building, reviewing, or fixing AppRun applications and the AppRun library itself. Apprun is an agent skill from yysun/apprun. AppRun architecture guidance for building, reviewing, or fixing AppRun applications and the AppRun library itself.

When should I use Apprun?

Apprun fits situations like: work involves AppRun MVU components; state/update lifecycles; async generators; event directives.

How do I install Apprun in Claude Code?

Run `npx skills add yysun/apprun --skill apprun -a claude-code`. Or copy the skill folder (skills/apprun in yysun/apprun) into .claude/skills/apprun in your project. Claude Code loads it when a task matches its description.

How do I install Apprun in Codex?

Run `npx skills add yysun/apprun --skill apprun -a codex`. Or copy the skill folder (skills/apprun in yysun/apprun) into .agents/skills/apprun in your project. Codex loads it when a task matches its description.

Can I use Apprun 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 yysun/apprun --skill apprun -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/apprun, .gemini/skills/apprun, .github/skills/apprun and .opencode/skills/apprun in your project.

What does Apprun need to run?

SKILL.md names no scripts, command-line tools or credentials: Apprun is instructions for the agent only.

Does Apprun access the network?

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.

Is Apprun 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 Apprun use?

Apprun 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 Apprun use?

About 1.3k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.

What are the alternatives to Apprun?

Skills that share tags, products or a category with Apprun: Supercov (supercorp-ai/supercov, 150 stars), Supercov Security (supercorp-ai/supercov, 150 stars), Test Specialist (ailabs-393/ai-labs-claude-skills, 454 stars) and Stryker JS (mizchi/skills, 356 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Apprun?

yysun (a GitHub user) maintains it in yysun/apprun, which has 1,178 GitHub stars. The repository was last updated on July 15, 2026.

Source: yysun/apprun on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.