EcosystemChannels
GitHub
Dispatch signed GitHub issue and pull-request events to a persistent agent.
import { createGitHubChannel } from '@fabric-harness/channels/github';
export const channel = createGitHubChannel({
secret: process.env.GITHUB_WEBHOOK_SECRET!,
agent: 'triage',
});The server mounts the channel at POST /channels/github/webhook. GitHub's X-GitHub-Delivery becomes the dispatch deduplication key, and the conversation key identifies the repository issue or pull request.
Use commentOnGitHubIssue(ref, { token }) as an outbound tool on the persistent agent. Keep the token in GITHUB_TOKEN, scope it to the repositories and write operations the agent needs, and require approval for comment or mutation tools through the agent capability policy.
For read-oriented repository access instead of event ingress, use githubSource() from @fabric-harness/connectors/github or the github-mcp connector guide.