Agently Stage

SkillProductivity

agently-stage gives your AI control over the full life of its tasks, so background work starts, finishes, or cancels cleanly instead of being left half-done. Once added, your AI can keep async work and regular step-by-step code in sync, stream results as they arrive, and replay earlier output when needed. It works within a single running app and also fits into TriggerFlow when a sync wrapper connects to async work.

Available today. Use it from your connected AI after setup.

Add the skill from the agentera/agently-skills repository, then give your AI a task to run in the background and try asking it to report results as they come in or stop the task partway through.

Then ask your AI: use the Agently Stage skill

What your AI can do with it

  • Track tasks from start to finish with clear scopes and handles
  • Finish or cancel tasks cleanly, including ones still running
  • Let step-by-step code call async work and get results back
  • Stream task output as it becomes available
  • Replay earlier task output through Tunnel channels
  • Respond to task events with local event listeners

What this skill tells your AI

The instructions your AI receives, as published by agentera/agently-skills in skills/agently-stage/SKILL.md and read by ahel’s review.

Agently 4.1.4.7+ requires agently-stage>=0.3.8,<0.4.0. Use Stage for process-local lifetime, call-shape bridging, replay channels, and local listener dispatch. These APIs are independently useful, while Agently also uses Stage as a private runtime mechanism.

Read by Need

  • Stage scopes/backend selection, StageHandle, settlement, cancellation, caller-loop task ownership, pressure, idle timeout, and snapshots: task-lifecycle.md.
  • Stage.as_sync/as_async, StageCallBridge, StageStream, Tunnel, EventEmitter, and compatibility names: bridges-streams-events.md.
  • TriggerFlow state/signals, workflow close, recovery, or application orchestration: use agently-triggerflow.
  • Actions, ExecutionResources, TaskWorkspace, RecordStore, services, or DevTools: use agently-runtime.

Boundary

Choose the smallest surface that matches the caller:

  • Direct call/await when caller and work already have the same shape.
  • async with Stage() for explicit async lifetime; with Stage() for a deliberate blocking boundary.
  • Stage.as_sync/as_async for one scalar adapter.
  • Stage.go(...) plus StageHandle for a submitted result that must be read across loops or threads.
  • Stage.create_task(...) for caller-loop work Stage creates; adopt(...) only for a task that already exists.
  • StageCallBridge for injected lifetime, managed blocking cancellation, or iterator conversion; StageStream for generator replay.
  • Tunnel for an independently writable process-local replay channel and EventEmitter for process-local listeners.

A synchronous facade blocks its calling thread. Do not bridge a call that already has the correct native shape.

Invariants

  • Body completion and settlement are different facts. Read the body with get()/async_get() and wait for retained descendants/finalizers with wait_settled()/async_wait_settled() when their completion matters.
  • Never block the caller-owned loop needed by the work. Use the matching async barrier when Stage reports a lifecycle conflict.
  • After cancellation, wait for settlement before claiming no later Stage-owned work can occur. Stage cannot preempt a non-cooperative blocking function or undo an external side effect.
  • Put concurrency, pending, worker, and idle limits at their actual pressure boundaries. Carrier-loop count is not application admission control.
  • Automatic Stage scopes remain independent even when they safely reuse a carrier.

Stage does not own workflow progression, business retry, persistence, authorization, provider cancellation acknowledgement, or external side effects. TriggerFlowExecution remains Agently's public workflow lifecycle owner; Stage objects and carrier state must not enter execution snapshots.

LocalTaskScope and the historical Stage dispatch/function type names are 0.3 compatibility surfaces. Do not teach them as new owner layers.

Signals

GitHub stars
26
Forks
3
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
agently-stage
Source
github.com/agentera/agently-skills