Ascend Skills Library
Core

Status pulse.

Push progress out on long tasks so nobody ever has to ask "any update?"

v4.0.0·updated 18 Sep 2026·1 bundled files·stable
Use the Ascend Skills: Status pulse

Paste that line into your AI and it fetches this skill, whole and current, then asks you for what the skill needs. Not connected yet? How to connect.

Skill details

What it does

Progress pushed out on every long task, as an always-current status file and a two-line Slack pulse at milestones and blockers, so nobody has to ask for an update.

Who uses it

operatoranyone waiting on the workin Core

What you need

You bring:

  • a task slug
  • a Slack recipient and bot token in the project config, if you want the pulse

How it works5

The steps, in order. The method itself is served whole through the connector, current on every use.

  1. 1

    Create the status file at task start

  2. 2

    Rewrite it after every step

  3. 3

    Pulse at 25, 50, 75 and 100 percent and on blockers

  4. 4

    Park blockers and move on

  5. 5

    Archive the file at the end

What it doesn't do

  • Creating Slack apps, webhooks or tokens
  • Short tasks of three steps or fewer

When your AI reaches for it

Proactive progress reporting for any long-running task or /loop. Use AUTOMATICALLY whenever a task will take more than 3 steps, whenever a /loop or /overnight-run is active, or whenever the operator says "keep me posted", "report progress", "/status-pulse". If the operator ever has to ask "update?", "what's going on", or "hello??" — this skill was not followed; adopt it immediately and say so.

What ships with it1

scriptscripts/pulse.py4 KB

Latest change

v4.0.018 Sep 2026Breaking
Breaking: the status directory moves. Every work product now lands in the standard output tree (docs/SKILL-FORMAT.md, "Where a skill writes"): the default `statusDir` is `operations/status` under the workspace root (the nearest ancestor holding `.ascend/` or `.git/`), and a task that is one client's reports at `clients/<client>/operations/status`; a status file is for a person, so it no longer lives under `.ascend/`, which is for what machines read back. Anyone who relied on `.ascend/status` points `statusDir` at it, or moves the files. The script's default changed to match. No change to the protocol.

See all 6 releases →

Related skills