Sign in

Share

Share, adapt, and extend agents across teams

Stop every team from rebuilding the same agent or integration from scratch.

Use the agent and integration hub in your organization workspace. Discover what already exists, fork it, improve it, and then share it back across teams.

The Agent Hub
GitHub for agents.

Ticket Triage

Incoming support tickets automatically classified by urgency, routed to the right team, and enriched with context from your codebase.

/** An agent to de-duplicate incoming GitHub issues. */
import { guildTools, llmAgent, pick } from "@guildai/agents-sdk";
import { gitHubTools } from "@guildai-services/guildai~github";
import systemPrompt from "./system-prompt.md"
const description = `This agent determines if a newly reported GitHub
issue is a duplicate of another issue.`;
const github = llmAgent({
identifier: "issue-deduplicator",
description,
tools: {
...pick(gitHubTools, [
"github_list_repository_issues",
"github_list_issue_comments",
"github_get_issue",
"github_update_issue",
"github_create_issue_comment",
"github_add_issue_labels",
"github_search_issues",
]),
...guildTools,
},
systemPrompt,
});
export default github;

PR Code Review

Every pull request gets automated risk flagging — security vulnerabilities, breaking changes, performance regressions.

"use agent"
import { ExperimentalCodingTools as codingTools } from "@guildai-services/guildai~experimental-coding"
import { gitHubTools } from "@guildai-services/guildai~github"
import { type Task, agent, consoleTools, pick, userInterfaceTools } from "@guildai/agents-sdk"
import Mustache from "mustache"
import { z } from "zod"
const inputSchema = z.object({
action: z.string(),
pull_request: z.object({ number: z.number() }),
repository: z.object({ name: z.string() }),
organization: z.object({ login: z.string() }),
})
const tools = {
...codingTools,
...consoleTools,
...pick(userInterfaceTools, ["ui_notify"]),
github_pulls_get: gitHubTools["github_pulls_get"],
}
const description = `Expert code reviewer that analyzes pull requests
for security vulnerabilities, performance issues, and best practices.`
export default agent({
description,
inputSchema,
outputSchema: z.object({ type: z.literal("text"), text: z.string() }),
tools,
run,
})

Root Cause Analysis

When an incident fires, the agent traces it back through logs, recent deploys, and code changes — then surfaces the probable root cause.

import { guildTools, llmAgent, pick } from "@guildai/agents-sdk";
import { newrelicTools } from "@guildai-services/guildai~newrelic";
const systemPrompt = `You are a NewRelic logs expert. Your job is to
help users query, search, and analyze logs stored in NewRelic.
## Core Responsibilities
1. **Query Logs**: Search for specific log entries using NRQL
2. **Analyze Patterns**: Identify patterns, errors, and anomalies
3. **Time-based Analysis**: Query logs across different time ranges`;
const description = `Query and analyze logs from NewRelic using
natural language.`;
export default llmAgent({
description,
tools: {
...newrelicTools,
...pick(guildTools, ["guild_credentials_request"]),
},
systemPrompt,
});

Slack Bot

An always-on assistant in your Slack workspace — answers questions, files tickets, and looks up context from connected tools.

import {
type AgentResult, type Task, agent, callTools,
guildTools, output, pick,
} from "@guildai/agents-sdk";
import { slackTools } from "@guildai-services/guildai~slack";
import { z } from "zod";
const llmTools = {
...pick(slackTools, [
"slack_get_conversation_replies",
"slack_get_user_info",
"slack_get_message_permalink",
]),
...pick(guildTools, ["guild_credentials_request"]),
};
const tools = {
...llmTools,
...pick(slackTools, [
"slack_post_message",
"slack_add_reaction",
"slack_remove_reaction",
]),
};
const SYSTEM_PROMPT = `You are a helpful assistant integrated
into Slack via @mention.`;
export default agent({
description: `A general-purpose Slack assistant that responds
to @mentions. Handles questions, code lookups, and issue
management for Guild workspaces.`,
tools,
start: async (input, task) => {
const { channel, ts } = parseWebhookPayload(input.text);
return callTools([{
type: "tool-call",
toolName: "slack_add_reaction",
input: { channel, name: "space_invader", timestamp: ts },
}]);
},
});

Fork any agent.
Make it yours.

The same model that made open source work for code is now applied to agents. Found an agent that's close to what you need? Fork it, customize it, and publish your version.

AGENTFORKSACCESSUSAGE
Jira AgentPublicAn assistant to which you can delegate Jira-related tasks
Slack BotPublicAn agent that can interact with Slack workspaces
Docs Drift DetectorPublicFlags Pull Requests where code has drifted from its documentation
BitBucketPublicAn agent that can interact with Bitbucket
GitHub Commit Security GuardPublicAnalyzes GitHub commit history for potential security risks
Workspace-scoped agent installation
Deploy production agents directly into your workspace so your team can manage, understand, and evolve them over time.

Scoped installation

Agents and integrations can be installed per team workspace.

Org-level admin

Control who publishes, installs, and manages your agents.

Cross-team discovery

Browse what other teams have built.

Every agent makes the system smarter When teams share agents instead of rebuilding from scratch, knowledge compounds. Patterns emerge and best practices spread.
“Everyone doing their own workflow, own Claude skills, own scripts is not optimal.”
Engineering leader, State of AI Agents Survey

Questions?
Start here.

A shared catalog where teams publish, discover, and install agents. Think of it like GitHub for agents, or npm for AI workflows. Browse what's available, install with one click, or fork and customize.

Yes. Find an agent that's close to what you need, fork it, customize it, and publish your version. The same model that made open source work for code, applied to agents.

Agents are installed into specific workspaces, not globally. Different teams get different agents with different permissions. Org-level admins control who can publish, install, and manage agents across the organization.

Yes. Agents can search the catalog and request that other agents be installed in their workspace. Agent-to-agent discovery means your agents can compose with each other.

Instead of every team rebuilding the same triage agent or code review bot, one team builds and publishes it, and the others install or fork it. Patterns emerge. Best practices spread. Knowledge compounds.

Agents ready?
Explore the full agent lifecycle.

One control plane.
Manage the complete agent lifecycle.

Get a working agent in minutes.
No credit card required.