Agent skill

Long Running Operation UX

by swyxio in swyxio/skills

Build or improve progress, cancellation, result handoff, and reliability when creating or changing a user-facing slow asynchronous action, model call, media job, queue, or multi-step workflow.

MITAuto-check passedDevelopment

Install Long Running Operation UX

skills CLI
$ npx skills add swyxio/skills --skill long-running-operation-ux -a claude-code

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

GitHub CLI
$ gh skill install swyxio/skills long-running-operation-ux --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/swyxio/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/long-running-operation-ux .claude/skills/long-running-operation-ux && 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
long-running-operation-ux
GitHub stars
176
Token cost
~2k tokens
SKILL.md length
991 words
Files
4 (incl. references)
Skills in repo
89
Repo updated
First seen
Licence
MIT

At a glance

Build or improve progress, cancellation, result handoff, and reliability when creating or changing a user-facing slow asynchronous action, model call, media job, queue, or multi-step workflow.

  • Works in 5 steps: Inspect the exact failing interaction,… → Name the smallest level that solves the… → Escalate only for an observed… → …
  • Tasks that involve Async programming
  • SKILL.md covers Activation, Maturity profiles, Select the level before… and Behavioral invariants, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Long Running Operation UX is an agent skill from swyxio/skills. Build or improve progress, cancellation, result handoff, and reliability when creating or changing a user-facing slow asynchronous action, model call, media job, queue, or multi-step workflow. Applies to batch size, concurrency, and rerun changes affecting the visible wait; do not wait for a stuck-action complaint. Exclude ordinary fast requests and backend-only changes with no user-facing operation affected.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml`, `references/advanced-patterns.md` and `references/foundations-and-failure-lessons.md`).

It sits in Development, covering Async programming and Background jobs. The repository describes itself as: Agent skills for Claude Code and other AI agents. The licence is MIT.

When your agent uses it

  • Tasks that involve Async programming
  • Tasks that involve Background jobs

Example prompts

  • “/long-running-operation-ux”

Workflow steps

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

  1. Inspect the exact failing interaction, existing API, state, transport, and
  2. Name the smallest level that solves the requested problem.
  3. Escalate only for an observed requirement: real stages for L3, actual
  4. Preserve existing working polling, queues, streams, frameworks, and layouts.
  5. State why a proposed new transport, framework, store, or provider adapter

What it can do on your machine

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

Long Running Operation UX loads about 2k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 110 tokens; SKILL.md has 991 words of instructions outside code blocks.

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

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 swyxio/skills at commit 038ef34, republished under its MIT licence (© swyxio). 991 words, ~1,981 tokens.

Download SKILL.mdSave it as .claude/skills/long-running-operation-ux/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
long-running-operation-ux
description
Build or improve progress, cancellation, result handoff, and reliability when creating or changing a user-facing slow asynchronous action, model call, media job, queue, or multi-step workflow. Applies to batch size, concurrency, and rerun changes affecting the visible wait; do not wait for a stuck-action complaint. Exclude ordinary fast requests and backend-only changes with no user-facing operation affected.

Long-Running Operation UX

Match the solution to the actual user problem. Preserve accumulated workflow lessons and the preferred stack without making advanced architecture mandatory.

Activation

Apply this skill when creating or materially changing a user-facing action that launches noticeable asynchronous work, including batch size, concurrency, reruns and result handoff. Do not wait for the user to report that it looks stuck. A backend change affecting a visible operation is in scope; a model call with no user-facing wait is not sufficient by itself.

Maturity profiles

L0 — Blind button

A user action silently waits, appears stuck, or loses its result. This is the failure to diagnose, not a maturity level to ship.

L1 — Busy state

Use for short, predictable interactions. Acknowledge the click immediately, show pending/completed/failed, prevent duplicate submits, restore controls, and display the new result. Reuse existing component state.

L2 — Honest wait

Use for a noticeable one-shot or an existing background job. Add elapsed time, the real latest state, useful errors, and existing polling or subscriptions. Preserve editable inputs, focus, prior results, and unrelated navigation. Offer cancellation when requested or when an existing foreground operation can actually be stopped. Do not require streaming, traces, or an orchestration framework. A 30-second LLM call can remain L2.

L3 — Stage trace

Use when a user needs visibility into multiple real workflow steps. Surface actual stages such as source gathering, provider submission, first output, retry, validation, and save. Reuse existing SSE or polling; add compact stage history, honest estimates, timeout handling, or cancellation only when needed. Prefer Effect.ts for genuinely complex backend orchestration when it fits the existing stack, not for a button or presentational component.

L4 — Agent graph

Use only when the requested workflow actually has parallel branches, queue backpressure, durable jobs, or tool loops. Show expected/active/queued/done counts and material branch failures. Bound concurrency, propagate cancellation where possible, isolate branch-local state, and merge deterministically. Persistence and resume are warranted only when the job outlives its request.

L5 — Operator console

Use only when an operational/debug surface is explicitly requested or already required. Add sanitized structural traces, retry/timeout diagnostics, provider events, coverage, and aggregate timing as appropriate. Keep prompt-bearing or private content local and intentionally scoped.

Select the level before changing code

  1. Inspect the exact failing interaction, existing API, state, transport, and result handoff. Do not inventory unrelated workflows.
  2. Name the smallest level that solves the requested problem.
  3. Escalate only for an observed requirement: real stages for L3, actual parallelism/persistence for L4, explicit operator needs for L5.
  4. Preserve existing working polling, queues, streams, frameworks, and layouts.
  5. State why a proposed new transport, framework, store, or provider adapter is necessary before introducing it.

Elapsed-time thresholds are heuristics, not architectural mandates. A simple local rewrite with an existing status endpoint is normally L2; a real multi-source fanout can justify L4.

Behavioral invariants

  • Never leave a user-triggered long operation silently waiting.
  • Display observed state and real stages; never invent progress or provider events, and do not claim completion before the result is usable.
  • Avoid duplicate paid calls, jobs, writes, or messages; use idempotency keys when replay or repeated submission can otherwise create duplicates.
  • Preserve unsaved edits, focused inputs, previous results, and useful errors.
  • Do not imply that cancelling a browser request stops remote work unless it actually does; distinguish cancelled, failed, and timed-out states.
  • Keep credentials, private inputs, raw prompts, model output, and user data out of shared logs; preserve existing authorization and URL-safety checks.
  • Escape untrusted rendered output and block HTML-injection or SSRF-shaped fetches when the changed operation handles external content or URLs.
  • For real batches, report expected versus completed coverage; for fanout, apply explicit concurrency bounds and deterministic merge rules.
  • Polling is transport, not proof of visible progress. Surface intermediate work before the first usable result. Distinguish a fresh status response from an actual workflow update.
  • Progress percentages use observed completed units. ETA uses compatible successful stage durations and accounts for concurrency and dependencies; unavailable estimates remain explicitly unavailable. Never advance progress or change stages solely because time passed.
Show full SKILL.md (323 more words)Show less

Preferred stack and advanced guidance

Follow the repository's existing TypeScript, React/Next, Tailwind, and pnpm conventions. Prefer native state, fetch/polling, and AbortController at L1-L2. For genuinely multi-step backend workflows, retain the preferred Effect.ts patterns for typed timeouts, retries, interruption, scoped cleanup, spans, and bounded concurrency. Keep Effect out of ordinary component state.

Read references/advanced-patterns.md only when the selected task actually needs L3-L5 provider-event bridges, SSE, Effect orchestration, fanout, durable operations, telemetry, timeout policy, or advanced verification. That reference preserves the detailed provider, cancellation, queue, and implementation lessons; it is not a checklist for simple interactions.

Read references/foundations-and-failure-lessons.md only when the task needs historical maturity rationale, failure-mode diagnosis, idempotency/security details, estimate calibration, or lifecycle-event naming. The maturity selection and stop condition in this file always override older blanket requirements preserved in that reference.

Proportional verification and stop condition

Exercise the actual user action and verify immediate feedback, visible terminal success/error, correct result selection, and relevant duplicate/privacy guards.

For a batch or staged operation, verify the waiting interval before the first finished result, not just submission and completion. The visible UI must distinguish expected outputs from calls/stages, active work from queued work and work waiting on dependencies, and saved intermediate stages from usable finished results. Show material branch failures, elapsed time, latest observed update, and an approximate ETA or why an estimate is unavailable. A compact per-pipeline summary is sufficient; no new transport or framework is required.

Verify that polling/subscriptions visibly update this state without losing focused inputs, drafts or expanded results. Failed polling and stale snapshots must remain visible without implying the underlying job stopped. When an estimate is exceeded, say it is taking longer than estimated rather than showing zero time remaining or invented progress.

Test cancellation, streaming, retries, fanout, resume, provider adapters, or mobile input focus only when the requested change touches them.

Stop when the requested interaction works at its selected maturity level and the risks introduced by the change are covered.

© swyxio, 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 3 other files (references) in long-running-operation-ux of swyxio/skills.

  • SKILL.md
  • agents/openai.yaml
  • references/advanced-patterns.md
  • references/foundations-and-failure-lessons.md

Open the folder on GitHubat commit 038ef34

Compare with similar skills

Long Running Operation UX 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.

Long Running Operation UX compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Long Running Operation UX this skillswyxio/skills176—~2kAutomated safety check: PassMIT
Sap Btp Job Schedulingsecondsky/sap-skills462—~3.6kAutomated safety check: PassGPL-3.0
Modern Csharp Coding Standardssketch7/FluentlyHttpClient1213 repos~2.7kAutomated safety check: PassMIT
Windmill Rust Backend Patternswindmill-labs/windmill18k—~869Automated safety check: PassCustom licence
Robust Error Handling In Scriptsaiming-lab/MetaClaw3.5k—~225Automated safety check: PassMIT
Pre PR AblationPopupMaker/Popup-Maker110—~2.5kAutomated safety check: PassNone

Similar skills

  • Sap Btp Job Scheduling

    secondsky/sap-skills

    This skill provides comprehensive guidance for SAP BTP Job Scheduling Service development, configuration, and operations.

    462 GitHub stars~3.6k tokensUpdated 5 days ago
    Backend & APIsAuto-check passed
  • Modern Csharp Coding Standards

    sketch7/FluentlyHttpClient

    Write modern, high-performance C code using records, pattern matching, value objects, async/await, Span<T/Memory<T, and best-practice API design patterns.

    121 GitHub starsUsed in 3 repos~2.7k tokens
    DevelopmentAuto-check passed
  • Windmill Rust Backend Patterns

    windmill-labs/windmill

    Sets Rust conventions for the Windmill backend: error types, SQLx queries, JSON handling, async rules, module layout and rust-analyzer navigation.

    18k GitHub stars~869 tokensUpdated today
    DevelopmentAuto-check passed
  • A skill your agent uses when writing shell scripts, Python automation, or any unattended batch job.

    3.5k GitHub stars~225 tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Pre PR Ablation

    PopupMaker/Popup-Maker

    Use before finalizing or opening/updating a PR for non-trivial code changes, especially third-party integrations, compatibility layers, hooks and filters, lifecycle code, providers, abstractions…

    110 GitHub stars~2.5k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Akka.NET Best Practices

    Aaronontheweb/dotnet-skills

    Guidance for Akka.NET actor systems covering EventStream versus DistributedPubSub, supervision, Props versus DependencyResolver, work distribution and testable cluster code.

    1.2k GitHub starsUsed in 1 repo~3.3k tokens
    DevelopmentAuto-check passed

More from swyxio/skills

All 89 skills in this repo
  • Programmatic Agents

    swyxio/skills

    Run a selected coding-agent CLI programmatically, with latency, error, usage, cost, and trace logging.

    176 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Design, implement, audit, or refresh protected username and handle namespaces for public products.

    176 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • New Mac Setup

    swyxio/skills

    Fully automated new Mac setup for fullstack web developers and AI engineers.

    176 GitHub stars~4.3k tokensUpdated today
    Auto-check passed
  • Youtube API

    swyxio/skills

    Manage YouTube videos programmatically via the YouTube Data API v3 — upload video files, upload custom thumbnails, update video metadata (titles, descriptions, tags), and query video/channel info…

    176 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Batch YouTube Studio upload workflow for videos sourced from Airtable, Google Drive, Loom, YouTube, or local files.

    176 GitHub stars~1.5k tokensUpdated today
    Auto-check: warnings
  • Reconstruct and visually analyze paired agent, game, or policy trajectories to determine whether changed actions produced their intended effects.

    176 GitHub stars~1.8k tokensUpdated today
    Auto-check passed

Questions about Long Running Operation UX

What does Long Running Operation UX do?

Build or improve progress, cancellation, result handoff, and reliability when creating or changing a user-facing slow asynchronous action, model call, media job, queue, or multi-step workflow. Long Running Operation UX is an agent skill from swyxio/skills. Build or improve progress, cancellation, result handoff, and reliability when creating or changing a user-facing slow asynchronous action, model call, media job, queue, or multi-step workflow.

When should I use Long Running Operation UX?

Long Running Operation UX fits situations like: tasks that involve Async programming; tasks that involve Background jobs.

How do I install Long Running Operation UX in Claude Code?

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

How do I install Long Running Operation UX in Codex?

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

Can I use Long Running Operation UX 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 swyxio/skills --skill long-running-operation-ux -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/long-running-operation-ux, .gemini/skills/long-running-operation-ux, .github/skills/long-running-operation-ux and .opencode/skills/long-running-operation-ux in your project.

What does Long Running Operation UX need to run?

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

Does Long Running Operation UX 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 Long Running Operation UX 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 Long Running Operation UX use?

Long Running Operation UX 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 Long Running Operation UX use?

About 2k tokens (SKILL.md is roughly 7.9k 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 11k tokens, read only when the agent opens those files.

What are the alternatives to Long Running Operation UX?

Skills that share tags, products or a category with Long Running Operation UX: Sap Btp Job Scheduling (secondsky/sap-skills, 462 stars), Modern Csharp Coding Standards (sketch7/FluentlyHttpClient, 121 stars), Windmill Rust Backend Patterns (windmill-labs/windmill, 18k stars) and Robust Error Handling In Scripts (aiming-lab/MetaClaw, 3.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Long Running Operation UX?

swyxio (a GitHub user) maintains it in swyxio/skills, which has 176 GitHub stars. The repository holds 89 skills in this directory. The repository was last updated on October 5, 2026.

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