Agent Pipeline DesignerDesign, trace, and improve agent workflows. Agent Pipeline Designer turns privacy-safe VS Code agent-hook events into a live workflow graph. It is a standalone, domain-neutral developer tool with no application-specific runtime dependency. InstallInstall Agent Pipeline Designer from the Visual Studio Marketplace, or run:
The stable VSIX is also published on the project release page for manual installation and checksum verification. What it shows
The graph updates whenever a matching JSONL event log changes. Raw prompts, terminal commands, tool responses, and transcript contents are intentionally excluded from the event schema. Select any agent node in the pipeline to filter Activity to only the actions attributed to that agent. The Activity header shows the selected agent name and action count; select the same node again or choose Show all to return to the complete run. Connection selection similarly shows only that handoff's trigger events. Search applies inside the current agent or connection scope. Node and connection clicks remain distinct from graph panning: pointer capture starts only after the pointer crosses a small drag threshold. A stationary click selects the bubble, while a drag pans without accidentally changing the Activity filter. Relationship lines use fixed-size open-chevron markers so repeated calls can increase line weight without inflating the arrowhead. Every edge shows its call count above the path with a background halo, and selected relationships switch both the line and arrow to the accent color. Repeated instances of the same custom-agent role are collapsed into one node. Handoff lines become thicker as one role calls another more often, while self-calls and mutual calls remain stable loops and cycles. Select a line to inspect the timestamped, privacy-safe delegation summaries and outcomes that produced that relationship. The extension view includes the same Pipeline / Agents / Gallery navigation as the standalone app. Those navigation buttons keep identical dimensions and placement while switching views. In Agents, create a template or edit an existing file through separate Metadata, Opening Instructions, and Markdown section editors. Change heading levels and names, reorder or remove sections, add new sections, switch to raw source when needed, or open the file in the normal VS Code editor. Unsaved source survives live pipeline refreshes; an external file edit is surfaced before an overwrite. Choose Open Agent Studio from the Agents toolbar to open the canonical full-width Agents workspace inside a VS Code editor tab. Agent Studio deep-links directly to Agents and provides the same agent list, structured editor, New Agent workflow, routing, tools, models, and workflows as the web version. The sidebar remains available for quick edits; Open Source opens the selected Markdown file, while all new agents are created in Agent Studio. Agent action rows wrap at constrained widths so save and discard commands remain fully visible. Choose Open Full Pipeline from the Live Pipeline view title or Command Palette to open the pipeline workspace in an editor tab. The extension webview itself is pinned to the full iframe viewport. VS Code's optional Graph connections use an invisible wide hit path for easier pointer and keyboard selection, but browser focus never draws its rectangular SVG bounds. Keyboard focus follows the route with a translucent accent halo, while the selected route and arrow use the same orange accent in VS Code and the web version. Event sourceThe default source is:
On first use, the extension shows a setup screen instead of loading the graph. Select Install Setup to install the privacy-safe recorder, lifecycle hook configuration, and Each line is one JSON object produced by documented VS Code agent hooks. The core fields are:
For exact tool attribution during parallel custom-agent work, agent-scoped hooks may add An agent-scoped tool hook can stamp that field without recording prompt content:
Commands
Clearing a workspace log requires Workspace Trust. Open Web Version opens an existing Agent Pipeline Designer server when one is detected. From desktop VS Code, it otherwise starts the standalone project on the first available port from Custom agentsOpen the Agents tab in the standalone application to browse Select New Agent to create a workspace agent. The form writes validated YAML frontmatter and instructions to Saving an existing agent uses the same validated document model in VS Code and localhost. The standalone endpoint accepts only same-origin writes to regular files directly inside When agent edits are unsaved, switching between Pipeline, Agents, and Gallery or selecting another agent opens a Save Changes / Discard / Keep Editing prompt. Save waits for the backend acknowledgment before navigating; failures keep the editor open. Closing or reloading the page also triggers the browser's native unsaved-changes warning. The VS Code view retains its context when merely hidden or collapsed. Inline file contextWhen the extension is active in VS Code, hover over content in
Unknown Markdown headings receive a scope-aware explanation, while unrelated Markdown files are left untouched. The provider supports VS Code's native Main Agent InstructionsMain Agent Instructions represents If no attached workspace has an instructions file, each available creation target appears as Not created. Opening the Agents view does not create anything: enter instructions and select Save Changes to create the file explicitly. Once it exists, Open Source and review-only Auto Revise become available. Auto Revise uses a dedicated project-instructions contract and cannot add custom-agent YAML frontmatter, tool access, or agent workflow routes. Tool Access, Agent Workflow, and Delete are intentionally hidden for the main entry. Use custom agents for isolated roles and tool restrictions; use Main Agent Instructions for project-wide coding standards, architecture notes, build/test commands, and conventions that apply everywhere. Tool access and custom toolsThe Tool Access section shows the seven built-in aliases and any tools already selected for the agent. Up to 1,000 tools currently registered through Choose Add Custom Tool to document a manual tool ID. Each definition includes the exact ID, purpose, and usage instructions. The ID is selected automatically and remains selected until its definition is removed. Saving writes selected IDs to YAML frontmatter and creates a managed Custom Tools section containing reviewable Auto Revise receives the available tool IDs and may propose tool-access improvements. Any changes remain part of the normal unsaved revision draft and require Save Changes. Model accessThe Model Access section controls the optional Selected models are pinned above unselected choices so current restrictions remain visible without scrolling. Remaining model choices stay alphabetized. Select multiple models to write list metadata such as:
Legacy scalar Delete agentsSelect Delete on an existing agent and confirm the modal warning. Delete is disabled while edits are unsaved or Auto Revise is running. The extension requests trash-backed deletion when supported and falls back to the workspace filesystem after confirmation. The standalone app accepts only same-origin deletion of regular Auto ReviseSelect an existing agent and choose Auto Revise. Copilot receives that selected agent file plus the names of available workspace agents and prepares a conservative modernization using current custom-agent conventions. It is instructed to preserve the agent's identity, purpose, custom metadata, and valid The result is validated as a complete Auto Revise is user initiated. Only the selected agent definition and available agent names are sent through the consent-aware VS Code Language Model API; workflow event logs, transcripts, terminal output, and hidden model reasoning are not included. The standalone app requires its authenticated VS Code Copilot bridge, while the extension invokes the same validated revision flow directly. Expected agent workflowsIn an agent's Agent Workflow section, select each agent it may call. Targets are written as exact
Routes are ordered. Strict order treats an unexpected target as a failure at the current step; with strict order disabled, unlisted calls are ignored while required configured routes must still occur in order. The delegation template is editable and must contain Select a runtime node in Pipeline to compare that contract with observed delegation metadata. Each route is marked The contract is instruction-level enforcement, while compliance reporting is evidence-based. It does not expose or infer private model reasoning, and it does not claim that a language model is mechanically prevented from deviating. Evaluation uses only agent names, lifecycle events, privacy-safe delegation summaries, and structured outcomes already captured by the recorder. Agent routing diagnosticsEach custom agent includes a Routing diagnostic. Agent Pipeline Designer detects incoming calls from Main Agent Instructions, managed Agent Workflow routes, exact The diagnostic keeps invocation concepts separate:
VS Code does not provide a custom-agent field that automatically schedules an agent at the true end of every chat. For a finalizer such as Select Auto Route on an agent with no explicit call route to infer a reviewable Main Agent Instructions entry. Descriptions or instructions that mention end-of-chat, finalization, or finishing work produce a finalizer route; other agents receive a conditional route derived from their discovery description. The popup lets you edit the instruction and choose the target workspace before anything is written. New agents open this popup automatically after creation. Accepted routes are stored in a managed Agent Routing section of For stronger enforcement, a workspace Draft with CopilotNew Agent is the single place to create custom agents. Describe the desired behavior in Draft with Copilot at the top of that form, or fill the same fields manually. The draft description requires at least 3 words and 10 characters and shows an inline error when that requirement is not met. Copilot can populate the name, filename, discovery description, minimal tool set, invocation visibility, and complete instructions. All values remain editable, and no file is written until Create Agent is selected. The browser never receives Copilot credentials. An authenticated localhost queue sends the one-shot draft request to the extension, which uses the consent-aware VS Code Language Model API. The first request may display a Copilot access prompt in VS Code. Jobs remain in server memory for at most 15 minutes and are not written to disk. A manually started web server can browse and create agents, but Copilot drafting is enabled only when the extension starts or reconnects to that server. If access has not yet been granted, the pending draft remains open and shows Grant Access in VS Code. That link focuses VS Code, opens the Copilot authentication flow, and resumes the same request after approval. Open Web Version also requests access while VS Code is already focused, before launching the browser. Use the Copilot model selector in New Agent to choose any model currently exposed by your Copilot account, or leave it on Auto (recommended). The selection is remembered in the browser. While a request runs, Process shows timestamped operational stages such as queued, received by VS Code, selected model, generating, validating, waiting for permission, and ready for review. This is execution status for transparency, not private model chain-of-thought or hidden reasoning. Pipeline GalleryThe Gallery reads a static versioned catalog from GitHub. The default public catalog currently contains no packages; its repository publishes only protocol schemas, declaration files, non-runnable examples, and documentation. Package download, verification, preview, conflict handling, receipts, and workspace writes remain part of the private Agent Pipeline Designer product. Browse the public catalog and publishing entry point at pipeline-designer.github.io. The public site uses black product branding, an animated pipeline scene, and a dedicated Actions workspace. Prepare in VS Code opens package preparation, while a valid GitHub manifest URL enables Open installer and passes that exact URL into Agent Pipeline Designer's verified review flow. The website itself never reads or writes workspace files. Version 1 packages may create only these declarative customization files:
Scripts, hooks, binaries, dependencies, arbitrary paths, traversal segments, percent escapes, cross-origin payloads, and symlinked path components are rejected. Registry, manifest, and file downloads must use HTTPS GitHub URLs. Every file declares an exact byte length and lowercase SHA-256 digest; all package files are fetched and verified before review. The VS Code extension uses a modal confirmation listing every destination. The standalone app uses a short-lived, one-time preview token and shows the exact verified text for every file before enabling installation. Installation refuses existing destinations, writes the receipt last, and removes files already written if a later write fails. Receipts are stored under Use Install from URL for a GitHub-hosted manifest that is not listed in the catalog. This does not bypass path, size, origin, content, integrity, preview, or conflict validation. Save and switch pipelinesEach workspace can contain multiple installed and local-only pipelines. The Pipeline tab groups them under Saved pipeline, shows the saved count, and keeps Activity and Run selection separate. Use + to add another package from Gallery, choose any saved pipeline, then select Set Active. Agent Pipeline Designer derives package membership from the verified installation receipt, identifies its coordinator, and generates one managed Saved pipelines coexist, but one pipeline per workspace is active at a time. The generated APD Active Pipeline agent preserves that coordinator's instructions while replacing its After activation, select Open Active and choose APD Active Pipeline from Copilot's agent picker. Inside that selected agent, the Select Delete to remove an old saved pipeline after reviewing the file-count confirmation. Deleting the active pipeline also removes the APD-managed active coordinator and state. Installed package files are checked against their receipt hashes before deletion; if an existing file was edited, deletion stops so those changes are not lost. Missing stale files do not prevent the remaining receipt and owned files from being cleaned up. Local-only pipelines remove their edited copies after explicit confirmation. Local-only pipeline copiesChoose an installed pipeline in the Pipeline tab and select Copy for Editing to create a private workspace copy. Enter a unique custom ID such as Agent Pipeline Designer creates namespaced Local manifests live under Publish a project pipelineRun Agent Pipeline Designer: Prepare Pipeline Package... or choose Publish Pipeline in Gallery. Select the agents, instructions, prompts, and main Copilot instructions that form the reusable pipeline, then enter the package metadata, public GitHub project repository, and immutable tag or commit. Agent Pipeline Designer writes an atomic, versioned folder at:
The folder contains copied declarative payloads, Commit the generated folder, push the declared tag or commit, and use Copy Manifest URL or Open Submission Page. The public website passes the manifest URL to an owner-reviewed GitHub issue. Package payloads remain in the project repository and are not copied into the registry repository. Settings
Release channels
Run See RELEASE_CHANNELS.md for promotion rules. Development
Press
Privacy and limitationsVS Code exposes subagent and tool lifecycle metadata through preview hooks, not a public extension API for directly inspecting Copilot sessions. This extension therefore reads workspace-owned event logs. Hook APIs may evolve, and tool attribution is intentionally conservative when events are missing agent-scoped metadata. |