microsoft/async-execution
> Run long-running or parallel code asynchronously. Activate when code will take more than 30 seconds, when processing many independent inputs, or when the user asks to run something in the background.
npx skills add https://github.com/microsoft/agora-workbench --skill async-execution
For code that takes more than ~30 seconds, submit it as a background job:
execute_{server}_code(
code="result = long_running_computation(...)",
description="Running expensive simulation",
background=True,
timeout=3600
)
# Returns immediately with a job_id
Then poll for completion:
{server}_check_job(job_id="...")
# Returns status: "running", "completed", or "failed"
# When completed, includes stdout, stderr, success, and error (if any)
{server}_inspect_session to check both job status and namespace state.timeout — background jobs still have a maximum execution time.Run the same code template across multiple independent inputs concurrently:
{server}_parallel_execute(
code="result = process_item(input_id=input_id, params=params)",
inputs=[{"input_id": "item_1", "params": {...}}, {"input_id": "item_2", "params": {...}}, ...],
result_variable="result"
)
# Returns batch_id
{server}_check_batch(batch_id="...")
# Returns aggregate status and available results
{server}_cancel_batch(batch_id="...")
# Stops all running jobs and cleans up child sessions
code template receives each input dict's keys as local variables.result_variable is collected from each child session.execute_{server}_code call is simpler and has less overhead.Take microsoft/async-execution from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.