Port Walter, Loop, and Lincoln as default teammate agents - #252
Open
TheGreatAxios wants to merge 5 commits into
Open
Port Walter, Loop, and Lincoln as default teammate agents#252TheGreatAxios wants to merge 5 commits into
TheGreatAxios wants to merge 5 commits into
Conversation
Ported from the OG gtm-workbench as default workbench teammates alongside Myra: a writer/editor, a research/synthesis generalist, and a LinkedIn writer, each self-contained as its own @corbits/*-agent package.
Each ships as installable data (id/handle/displayName/description/ systemPrompt/toolPackagePins), the same shape the code-review and Scout agents already use for the agent-directory create path. - Walter (writer/editor) and Loop (research/synthesis) declare zero tool package pins — no connector needed before either is useful. - Lincoln (LinkedIn writer) pins @corbits/web-search-tools instead of the original's firecrawl scrape/search tools, which workbench does not integrate. web_search already degrades to a plain "not connected" result rather than failing, and Lincoln's prompt tells him to draft from the conversation alone when that happens, so nothing here blocks on a connection either. Left out of this port: Oat (Granola call notes) and Freddy (web scraping) — every one of their tools requires its own connector with no fallback function, so neither works until someone connects a service first. That makes them specialists to add later, not default teammates to seed a bench with.
…ting Lincoln (the newly ported LinkedIn agent) depends on this tool for its grounding search, so its two silent gaps are worth closing here: the not-connected result carried no structured detail for a chat surface to render a connect prompt from, and a genuine search failure returned a plain string with no durable record of what broke.
The not-connected result now carries missing-credential-detail("exa")
so a chat surface renders "Connect Exa" instead of a dead-end error —
the same contract every other missing-credential surface in this repo
reads. A genuine search failure is reported through @corbits/error-sink
for the durable, quotable record before the plain-language ToolResult
goes back to the caller, so a real bug here is never swallowed.
Bumped to 0.0.4 and updated every pin that names it.
2 tasks
# Conflicts: # bun.lock
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ports three of the OG gtm-workbench's agent templates as self-contained default-teammate packages, each installable through the same agent-directory create path Scout and the code-review reviewers already use:
@corbits/walter-agent— writer/editor. Zero tool package pins.@corbits/loop-agent— research/synthesis generalist. Zero tool package pins.@corbits/lincoln-agent— LinkedIn writer. Pins@corbits/web-search-tools(Exa) for optional grounding, replacing the original's firecrawl scrape/search tools, which workbench doesn't integrate.Left out, and why
artifact_link_filetool (used by Walter and Lincoln) has no workbench chat-agent-facing equivalent today, so it's dropped rather than invented — both prompts say plainly they have no tool to write or persist files.A gap this surfaced
Lincoln's grounding tool,
@corbits/web-search-tools, didn't wire themissing-credential-detailcontract (packages/connections/src/missing-credential-detail.ts) or@corbits/error-sink, so a missing Exa credential rendered as a plain string instead of a connect prompt, and a genuine search failure was returned to the caller with no durable record. Fixed both (bumped to 0.0.4, updated every pin that names it) since Lincoln's honest-degradation story runs entirely through this shared package.Merge order
Base:
main. Sibling stackcl-6499-scout(#234) →cl-6499-jimmy(#235) →cl-6499-seed-agents(#240) isn't merged yet — this branch does not touchpackages/workflow-catalog/src/templates.ts'sdefault-teammatesroster, since that template doesn't exist onmainyet. Once #240 lands, add Walter/Loop/Lincoln toDEFAULT_TEAMMATES_TEMPLATE.participantsfollowing the exact patternJIMMY_AGENT_IDalready uses there — each package here exports the{id, handle, displayName, description, systemPrompt, toolPackagePins}shapeparticipant-agent-requests.tsexpects.Confirmed generic
Grepped every new/changed file for company names, people, and endpoints from the reference project (gtm-workbench) — nothing beyond the porting-provenance comments/READMEs, which name the source project the same way the existing Scout/Jimmy ports already do. No secrets, no customer names, no internal URLs.
Test plan
bun testpasses inpackages/walter-agent,packages/loop-agent,packages/lincoln-agent,packages/web-search-tools, andworkflows/last-30-days-researchtsc --noEmitpasses in all three new packagesbun run check:tool-package-pinspasses repo-wide