Vibecosystem parallel-agent-contracts

Parallel Agent Type Contracts

install
source · Clone the upstream repo
git clone https://github.com/vibeeval/vibecosystem
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/vibeeval/vibecosystem "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/parallel-agent-contracts" ~/.claude/skills/vibeeval-vibecosystem-parallel-agent-contracts && rm -rf "$T"
manifest: skills/parallel-agent-contracts/SKILL.md
source content

Parallel Agent Type Contracts

When launching parallel agents for code implementation, prevent type duplication.

Required in Every Agent Prompt

1. Verification Command (MANDATORY)

## Before Marking Complete
Run verification:
\`\`\`bash
npx tsc --noEmit 2>&1 | head -20
\`\`\`
If ANY type errors exist, fix them before completing.

2. Grep-Before-Create

## Before Creating Any Type/Interface
First check if it exists:
\`\`\`bash
grep -r "interface YourTypeName\|type YourTypeName" src/
\`\`\`
If found, import it. NEVER duplicate existing types.

3. Canonical Type Map

Include relevant entries from this map in agent prompts:

TypeOwner FileImport From
NormalizedTool
src/sdk/agent.ts
'./agent'
ToolCall
src/sdk/agent.ts
'./agent'
ToolResult
src/sdk/agent.ts
'./agent'
ToolDefinition
src/sdk/agent.ts
'./agent'
Message
src/sdk/types.ts
'./types'
ContentBlock
src/sdk/types.ts
'./types'
TokenUsage
src/sdk/types.ts
'./types'
ProviderAdapter
src/sdk/providers/index.ts
'./providers'
RiggClient
src/sdk/client.ts
'./client'

Prompt Template

When spawning implementation agents:

# Task: [Description]

## Type Ownership (DO NOT recreate)
- [List relevant types from canonical map]

## Before Creating New Types
Run: `grep -r "interface TypeName" src/` - if exists, import it.

## Before Marking Complete
Run: `npx tsc --noEmit 2>&1 | head -20`
Fix all type errors before completing.

## Your Implementation
[Actual task description]

Why This Works

  1. Type checker is the contract - tsc catches conflicts automatically
  2. Grep is fast - 1 second to check if type exists
  3. Explicit ownership - No ambiguity about where types live
  4. Fail fast - Agent can't claim "done" with broken types