Skip to content
Skills Library
AI & agents · Automation

progress

/progress

Report live progress from long-running agent tasks. Use when a task takes more than a few seconds, so the user can watch status in the runs tray instead of staring at a spinner.

Licence
MIT
Last repository change
27.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 27.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Report live progress from long-running agent tasks. Use when a task takes more than a few seconds, so the user can watch status in the runs tray instead of staring at a spinner.

Original author description

Report live progress from long-running agent tasks. Use when a task takes more than a few seconds, so the user can watch status in the runs tray instead of staring at a spinner.

How it works

  1. Overview
  2. Tool
  3. Canonical Flow
  4. Best Practices
  5. Runs API
  6. UI Surface
  7. Event Bus Integration
  8. Related Skills
Original SKILL.md headings · 93 lines, 569 words
SKILL.md preview
---
name: progress
description: >-
  Report live progress from long-running agent tasks. Use when a task takes
  more than a few seconds, so the user can watch status in the runs tray
  instead of staring at a spinner.
---

# Progress

## Overview

`progress_runs` is the framework's "what is the agent doing right now" primitive. The agent starts a run at the top of a long task, updates it as work proceeds, and completes it with a terminal status. The UI renders active runs in a header-bar widget with a percent bar, current step, and spinner/check/X — live visibility into work that would otherwise be opaque.

Separate concern from `notifications`:

| | Notifications | Progress |
|---|---|---|
| Shape | One-shot event — "X happened" | Continuous state — "X is 45% done" |
| UI surface | Bell + toast | Runs tray with percent bar |
| Lifecycle | Dismissable (read/unread) | Running → terminal (succeeded/failed/cancelled) |

Common pattern: on completion, emit a `notify()` so the user sees the outcome when they're not actively watching the tray.

## Tool

All progress operations go through a single `manage-progress` tool with an `action` parameter:

| Action | Purpose |
|---|---|
| `start` | Mark the start of a long task. Returns a runId. |
| `update` | Update percent and/or current step. Call frequently. |
| `complete` | Mark terminal status: `succeeded`, `failed`, `cancelled`. |
| `list` | List recent runs (all or `--active=true`). |

## Canonical Flow

```
manage-progress --action=start --title "Triage 128 unread emails" --step "Fetching inbox"
  → runId=abc

manage-progress --action=update --runId=abc --percent=25 --step="Classifying 32/128"
manage-progress --action=update --runId=abc --percent=75 --step="Drafting replies 97/128"

manage-progress --action=complete --runId=abc --status=succeeded
notify --severity=info --title="Triage done" --body="12 archived, 6 drafts ready to review"
```

## Best Practices

- **Start a run for anything > ~5 seconds.** Users want feedback; a spinner with no context feels frozen.
- **Update at natural checkpoints**, not every iteration. Every 5–10% is enough for most UIs.
- **Always call `manage-progress --action=complete`** at the end — including the error path. An orphaned `running` row is worse than no row.
- **Pair with `notify`** on completion. The tray tells users what's *running*; notifications tell them what *finished*.
- **Use `metadataJson`** on `manage-progress --action=start` to pass a link back to the produced artifact (thread id, document path), so the UI can deep-link from the runs tray.

## Runs API

Mounted at `/_agent-native/runs/*` by `core-routes-plugin`. **Read-only** over HTTP — writes flow through the agent tools:

| Method | Route |
|---|---|
| `GET`    | `/_agent-native/runs?active=true&limit=50` |
| `GET`    | `/_agent-native/runs/:id` |
| `DELETE` | `/_agent-native/runs/:id` |

## UI Surface

Ships as `<RunsTray />` at `@agent-native/core/client/progress`:

```tsx
import { RunsTray } from "@agent-native/core/client/progress";

export function HeaderBar() {
  return (
    <header className="flex items-center gap-2">
      {/* … */}
      <RunsTray />
    </header>
  );
}
```

Inline header widget — mount next to the notifications bell. Shows a spinner icon + count badge when runs are active; click opens a dropdown with a live percent bar per run. Hides the trigger entirely when no active runs. Polls `active=true` every `pollMs` (default 3s).

## Event Bus Integration

Two events emit on the bus so automations can react:

- `run.progress.started` — `{ runId, title, step? }`
- `run.progress.updated` — `{ runId, percent, step, status }`

Example automation: *"when a run takes longer than 5 minutes, notify me."*

## Related Skills

- `notifications` — fire one when a run finishes so the user sees the outcome.
- `automations` — subscribe to `run.progress.updated` to build watchdogs on slow runs.
- `delegate-to-agent` — if you're delegating a long task, start a run on the delegator side so the caller has visibility.

Versions

RepositoryScoreLicence
This page · builderio/agent-native100MIT
Embassy-of-the-Free-Mind/sourcelibrary-v2100AGPL-3.0
olehsov/gcp-certification-coach100MIT
M-reza-kd/lead-flow-plugin100MIT
yarikleto/claude-teacher-plugin100MIT
avsm/ocaml-claude-marketplace100ISC
maludb/learn-claude100MIT
matteocervelli/llms100MIT
caidanw/skills86MIT

Identical content appears in 1 other GitHub folders. We show one copy with the highest score.

Database snapshot: 13.11.2026 · package version c9802a2b5943 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 95task-progress
    Keep long-running AI tasks transparent by maintaining an accurate phase-based status, reporting progress at meaningful checkpoints, and surfacing blockers, files changed, and next actions. Use for coding, research, analysis, or other multi-step work when the user may ask what…
  • 90grounded-progress
    Make Claude Fable 5 / 5.1 progress reports verifiable against actual tool results during long autonomous runs. Use for any multi-hour or overnight agent session, scheduled pipelines, CI agents, or whenever the user has been burned by status updates claiming work that wasn't…
  • 90session-checkpoint
    Generate a session progress summary from state.json. Shows task status, phase progress, current activity, and suggested next actions. Use when resuming a task or checking progress. Triggers on: '/session-checkpoint', 'session checkpoint', 'check progress', 'task summary', 'where…
  • 100sitrep-panel
    Keep a live local HTML report updated as you work on a task — a status board, a running "what's happening now" narrative, screenshots, and a newest-first log — served on localhost so the user can watch progress in a browser tab instead of reading the transcript. Use when the…
  • 86progress-report
    Report progress against the current plan in plain English: on track or not, done, running, blocked, needs you, next. Use for /progress-report.
  • 86status
    Progress report of the running batch, at once and in the same shape as the Chief of Staff's. Changes nothing: no order, no heartbeat, no epoch. Use when the user asks for the status, the progress or the cost of a batch, in any session.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.