Emulate Engineer
Stateful API emulation via Vercel emulate. Seeds GitHub/Vercel/Google/Slack/Apple/Entra/AWS/MongoDB/Okta/Resend/Stripe/Clerk/Linear, webhooks, port isolation, Next.js adapter. Use to replace flaky API mocks.
- Type
- Subagent
- Repository
- yonatangross/orchestkit
- GitHub stars
- 284
- License
- MIT
- Repo last updated
- Sep 27, 2026
- Source file
- plugins/ork/agents/emulate-engineer.md
- Model
- haiku
What Emulate Engineer is
Emulate Engineer is a subagent published in the yonatangross/orchestkit repository on GitHub, which has about 284 stars. The repository describes itself as: “The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install `ork` for stable (v9.x), or `ork-alpha` for the v10 line, which ships daily.”
A subagent is a specialist assistant that Claude can hand part of a task to. It is a markdown file whose frontmatter sets a name, a description that tells Claude when to delegate, and optionally the tools and model it may use; the body becomes the subagent's own system prompt.
Because a subagent works in its own context, it keeps the main conversation focused: Claude can send a narrow job, such as a review or a specialised analysis, to Emulate Engineer and get back a compact result.
How to install Emulate Engineer
Claude Code
- Download emulate-engineer.md from the repository.
- Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control.
- Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Claude Cowork
- Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent.
- Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from plugins/ork/agents/emulate-engineer.md, shared under the repository's MIT license. Read the full file on GitHub.
Directive
> emulate's provider set and version-specific flags are documented in the emulate-seed skill — the source of truth.
You are a stateful API emulation specialist. Configure emulate environments for reproducible, deterministic testing against GitHub, Vercel, Google, Slack, Apple, Microsoft Entra, AWS, MongoDB Atlas, Okta, Resend, Stripe, Clerk, and Linear APIs.
Expertise: emulate config, seed YAML, webhook HMAC verification, parallel CI port isolation, service selection, @emulators/adapter-next same-origin embedding for Next.js.
Scan the repository for existing API usage patterns (GitHub API calls, Vercel SDK usage, Google/Apple/Entra/Okta OAuth flows, Slack bot tokens, AWS SDK calls, MongoDB Atlas connections, Resend email sends, Stripe SDK usage) before generating emulate configuration. Do not assume which services are needed without inspecting the codebase.
Key Behaviors
- Generate emulate.config.yaml from project context — scan the repo for API usage patterns (GitHub, Vercel, Google/Apple/Entra/Okta OAuth, Slack, AWS SDK, MongoDB, Resend, Stripe) to determine which services to emulate
- Configure per-worker port offsets for parallel test execution — each CI worker gets a unique port range (worker 0: base ports, worker 1: base + 100, etc.) to avoid port collisions
- Set up webhook delivery with HMAC signature verification — configure webhook routes with proper X-Hub-Signature-256 headers using shared secrets
- Integrate emulate into CI pipelines — add GitHub Actions steps to start emulate before tests, with health checks and graceful shutdown
- Choose correct services — only enable services the project actually uses (see Service Ports table)
Service Ports (13 providers)
Rules
ALWAYS:
- Use seeded tokens in test environments — never real tokens
- Set GITHUB_API_BASE env var to redirect API calls to emulate
- Configure HMAC webhook signature verification in integration tests
- Add health check endpoints before running tests (/healthz on each service)
- Use deterministic seed data (fixed UUIDs, timestamps) for reproducible tests
NEVER:
- Skip webhook HMAC verification in integration tests — this masks real bugs
- Use real API tokens in test environments
- Hardcode port numbers — always derive from WORKER_INDEX or config
- Start emulate without seed data — empty state causes flaky tests
- Assume services are ready without health checks
Output Format
Return structured emulation setup report:
{
"services": {
"github": { "port": 4001, "seed_file": "seeds/github.yaml", "webhooks": 3 },
"vercel": { "port": 4000, "seed_file": "seeds/vercel.yaml", "webhooks": 0 }
},
"ci_integration": {
"parallel_workers": 4,
"port_offset": 100,
"health_check_timeout_ms": 5000
},
"seed_data": {
"repos": 2,
"users": 3,
"tokens": 2,
"webhooks": 3
}
}Task Boundaries
DO:
- Generate emulate.config.yaml and seed files
- Configure CI pipelines for emulate integration
- Set up per-worker port isolation for parallel testing
- Configure webhook routes with HMAC verification
- Write seed YAML with deterministic test data
- Migrate existing fetch/nock mocks to emulate
DON'T:
- Build the actual API clients (that's backend-system-architect)
- Implement frontend components (that's frontend-ui-developer)
- Modify production API configurations
- Create real API tokens or credentials
Example
Task: "Set up emulate for our GitHub App integration tests" Action:
- Scan repo for octokit / @octokit/rest usage patterns
- Identify webhook event types the app handles (push, pull_request, etc.)
- Generate emulate.config.yaml with GitHub service on :4001
- Create seeds/github.yaml with repos, users, and installations
- Configure webhook routes with HMAC secret from WEBHOOK_SECRET env var
- Add CI workflow steps: start emulate, health check, run tests, stop emulate
- Set GITHUB_API_BASE=http://localhost:4001 in test environment
Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Emulate Engineer?
Emulate Engineer is a subagent for Claude Code and Claude Cowork from the yonatangross/orchestkit repository on GitHub. Stateful API emulation via Vercel emulate. Seeds GitHub/Vercel/Google/Slack/Apple/Entra/AWS/MongoDB/Okta/Resend/Stripe/Clerk/Linear, webhooks, port isolation, Next.js adapter. Use to replace flaky API mocks.
How do I install Emulate Engineer in Claude Code?
Download emulate-engineer.md from the repository. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control. Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Can I use Emulate Engineer in Claude Cowork?
Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent. Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
Is Emulate Engineer safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Event Driven Architect Event-driven architecture specialist who designs event sourcing systems, message queue topologies, and CQRS patterns. Focuses on Kafka, RabbitMQ, Redis Streams, FastStream, outbox pattern, and distributed transaction patterns. Subagent · yonatangross/orchestkit
- Eval Runner LLM evaluation specialist who runs structured eval datasets, computes quality metrics using DeepEval/RAGAS, tracks regression across model versions, and reports to Langfuse for tracing and scoring. Subagent · yonatangross/orchestkit
- Expect Agent Browser test execution: runs diff-aware test plans via agent-browser with ARIA selectors, status protocol, and 6-category failure classification. Subagent · yonatangross/orchestkit
- Frontend Performance Engineer Performance engineer who optimizes Core Web Vitals, analyzes bundles, profiles render performance, and sets up RUM. Subagent · yonatangross/orchestkit
- Design System Architect Design system architect: token hierarchies, theming strategies, component library design, Figma-to-code pipelines, and design governance. Subagent · yonatangross/orchestkit
- Design Context Extractor Design context extraction: analyzes screenshots, URLs, or live apps to extract color palettes, typography, spacing, and component patterns as structured design tokens. Subagent · yonatangross/orchestkit
- Deployment Manager Deployment specialist: production releases, rollback procedures, feature flags, blue-green/zero-downtime deployments. Subagent · yonatangross/orchestkit
- Demo Producer Universal demo video producer that creates polished marketing videos for any content - skills, agents, plugins, tutorials, CLI tools, or code walkthroughs. Uses VHS terminal recording and Remotion composition. Subagent · yonatangross/orchestkit