Install
$ agentstack add skill-tschuehly-skill-incubator-agent-orchestration ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Agent Orchestration
Separate semantic ownership, delegated execution, and durable state. Keep one lead agent responsible for the user's task. Give every collaborator a bounded, non-overlapping role and an explicit lifecycle: persistent, fresh per artifact, or disposable.
Interaction protocol
- Assign ownership. The lead owns the user's intent, decisions, and final synthesis. Give
each collaborator one bounded responsibility such as surface construction, research, implementation, or adversarial advice. Ownership is complete when every intended collaborator has one non-overlapping responsibility and the lead retains final synthesis.
- Route every role. Before spawning or continuing a collaborator, invoke
/model-orchestration with its cognitive role, task risk, bounded scope, and artifact author family where review independence matters. Continue after it emits ROUTING=PASS and a complete modelBinding for every collaborator. Preserve each returned binding and raw-quota snapshot unchanged.
- Hand off a validated minimal contract. Generate a
handofftemplate with
/scripts/contract.mjs template handoff, fill it, and run /scripts/contract.mjs validate . Spawn or continue the collaborator only after CONTRACT=PASS. Let the collaborator inspect task-local sources. Supply the bounded contract and task-local sources rather than the full conversation or details the collaborator owns.
- Apply the declared lifecycle. Use
persistentfor a comprehension auditor or a decision
challenger that owns opening and closing checkpoints of the same decision. Use fresh-per-artifact for an independent reviewer and set its key to the artifact revision. Use disposable for one-shot exploration or execution unless follow-up fixes remain inside the same implementation brief. Continue persistent instances with compact semantic deltas; never reuse a reviewer merely because the process is still available.
- Persist shared state. Record proposals, decisions, work state, evidence anchors, and an
ordered event history on the durable surface or task store. Treat that record as the source of truth; chat and agent memory are working context only.
- Keep the lead thread thin. Push bulk reads, construction, and repeated verification to
the role that owns them. Bring back manifests, decisions, blockers, and concise evidence, then synthesize them in the lead thread.
- Present one human-facing voice. Advisors and specialists feed the lead. The lead resolves
conflicts and presents one coherent question or recommendation stream to the human.
- Close the loop. Let the lead interpret human feedback and own the resulting decisions.
Send only the bounded execution or presentation delta to the responsible collaborator, update durable state, verify the result, and return it to the same feedback surface.
Workspace and process leases
Every handoff and checkpoint carries a validated workspaceLease:
nonefor roles with no filesystem access,shared-readfor read-only collaborators, and
exclusive for any role that writes files or mutable build/generated outputs;
path,owner, andmutableOutputsidentify the exact collision boundary; outputs may be
relative to the workspace or explicit absolute paths for shared external caches;
activeProcessisnullor records the PID, command, output path, and owner of one running
process.
Acquire the validated handoff before dispatch:
/scripts/workspace-lease.mjs acquire
The atomic store rejects overlapping shared/exclusive claims and duplicate lease ids. Record a running command with workspace-lease.mjs checkpoint . Release with workspace-lease.mjs release only after activeProcess is null.
An exclusive lease covers processes as well as source edits. The lead and other collaborators do not run commands that touch its mutable outputs. Use an isolated worktree for parallel verification. Before transferring a workspace, wait for its active process to finish or checkpoint it and keep the successor out of that workspace until the process is reconciled. Never create a second watcher for the same process.
Continuity
Agent processes are persistent only within the active task. After every feedback wave, and before a known context or session boundary, ensure the durable record contains the current brief, open work, decisions, stable keys, evidence anchors, event cursor, lifecycle, model binding, raw-quota snapshot, and workspace lease.
Write that boundary as a checkpoint contract generated by /scripts/contract.mjs template checkpoint. Validation must emit CONTRACT=PASS before claiming the task can resume from durable state. An empty openWork array is valid; missing artifact paths, cursor, revision, or next action is not.
Resume by reconnecting, not rebuilding:
- Read the durable record and health-check the shared surface.
- Verify the current files and the selected durable surface's connection contract.
- Continue an exposed collaborator only when its lifecycle is
persistent. Otherwise spawn the
required fresh or replacement instance with the same role contract and durable-state pointer.
- Reconcile open work from the event cursor before accepting new changes.
Never claim that an agent process survives a session boundary. Durable state provides continuity; a replacement agent may provide the role.
When a durable surface uses a singleton poller, give each active surface a distinct poller identity. A singleton guard keyed only by script path can terminate a different surface's poller even when ports and stores differ. Follow the surface skill's supported poller and cursor mechanics; never improvise an untracked background process. With multiple surfaces, assign each decision or work unit one authoritative record and persist the surface-to-record mapping.
Composition boundaries
- Use
/atelierwhen the durable shared state is an Atelier Surface. Follow Atelier's
Coordinator, Surface Builder, Surface Brief, Semantic Delta, Surface Record, and poller contracts; do not duplicate its API or client mechanics here.
- Keep domain semantics in the composing skill. Interview cadence, review criteria,
ratification rules, and completion gates do not belong in this base protocol.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: tschuehly
- Source: tschuehly/skill-incubator
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.