Skip to content

Instantly share code, notes, and snippets.

View RhysSullivan's full-sized avatar

Rhys Sullivan RhysSullivan

View GitHub Profile
@RhysSullivan
RhysSullivan / 0-README.md
Last active October 4, 2026 18:45
Build on Executor: hackathon guide (SDK, Eve agent, MCP server)

Build on Executor: hackathon guide

Executor runs tools for your users. You deploy an app: a small TypeScript file that declares tools, such as "list my GitHub issues". Your users connect their own accounts. Your code, an agent or an MCP client then calls the tools on a user's behalf through Executor.

This gist has three guides:

File What it covers
@RhysSullivan
RhysSullivan / README.md
Last active October 8, 2026 06:13
Removing Codex Computer Use's built-in confirmation layers (macOS): instructions for agents

Removing Codex Computer Use's built-in confirmation layers (macOS)

Instructions for a coding agent. Apply them on the user's Mac only when the user has asked for it. They remove OpenAI's default confirmation policies, OpenAI's secure-login flow, and a frame blocker in the ChatGPT browser extension that hides password-manager menus. After this, Codex follows the user's own instructions (AGENTS.md) instead of OpenAI's rules.

Tradeoff. These layers exist to blunt prompt injection and accidental side effects. Without them, the agent will send, delete, buy, and log in

Use the browser to create Google OAuth credentials for Executor.
Go to Google Cloud Console. Use the signed-in Google account. Create or select a Google Cloud project.
Enable these APIs:
Gmail API
Google Calendar API
Google Drive API
Google Docs API
Google Sheets API
Google Search Console API
openapi: 3.1.0
info:
title: Pushover API (Unofficial)
version: "1.0.0"
description: |
Unofficial OpenAPI spec for Pushover, derived from Pushover documentation.
Supports form-encoded, JSON, and multipart (attachments) for messages.
servers:
- url: https://api.pushover.net
@RhysSullivan
RhysSullivan / clerk-bapi.json
Created February 18, 2026 02:01
Clerk Backend API OpenAPI spec (converted from YAML)
{
"openapi": "3.0.3",
"info": {
"title": "Clerk Backend API",
"x-logo": {
"url": "https://clerk.com/_next/image?url=%2Fimages%2Fclerk-logo.svg&w=96&q=75",
"altText": "Clerk docs",
"href": "https://clerk.com/docs"
},
"contact": {
openapi: 3.0.3
info:
title: Clerk Backend API
x-logo:
url: https://clerk.com/_next/image?url=%2Fimages%2Fclerk-logo.svg&w=96&q=75
altText: Clerk docs
href: https://clerk.com/docs
contact:
email: support@clerk.com
name: Clerk Platform Team
{"openapi":"3.0.3","info":{"title":"Clerk Frontend API","version":"v1","description":"The Clerk REST Frontend API, meant to be accessed from a browser or native environment.\n\nThis is a Form Based API and all the data must be sent and formatted according to the `application/x-www-form-urlencoded` content type.\n\n### Versions\n\nWhen the API changes in a way that isn't compatible with older versions, a new version is released.\nEach version is identified by its release date, e.g. `2021-02-05`. For more information, please see [Clerk API Versions](https://clerk.com/docs/backend-requests/versioning/overview).\n\n### Using the Try It Console\n\nThe `Try It` feature of the docs only works for **Development Instances** when using the `DevBrowser` security scheme.\nTo use it, first generate a dev instance token from the `/v1/dev_browser` endpoint.\n\nPlease see https://clerk.com/docs for more information.","x-logo":{"url":"https://clerk.com/_next/image?url=%2Fimages%2Fclerk-logo.svg&w=96&q=75","altText":"Clerk doc
@RhysSullivan
RhysSullivan / cursor sytem prompt
Created November 12, 2025 06:18
getting a sense of what cursor knows when answering questions
{
"user_info": {
"os_version": "darwin 24.6.0",
"shell": "/bin/zsh",
"workspace_path": "/Users/rhyssullivan/src/answeroverflow-rewrite"
},
"rules": {
"agent_requestable_workspace_rules": [
{
"path": ".cursor/rules/convex_rules.mdc",
// opencode-sandbox.ts
import ms from "ms";
import { Sandbox } from "@vercel/sandbox";
import { setTimeout as sleep } from "timers/promises";
import { createOpencodeClient } from "@opencode-ai/sdk";
type CreateOpenCodeSandboxParams = {
/** Public or private GitHub repo URL */
repoUrl: string;
import { plugin } from "bun";
import { transform } from '@swc/core';
console.log('Workflow plugin loaded');
plugin({
name: 'workflow-transform',
setup(build: any) {
build.onLoad({ filter: /workflows\/.*\.(ts|tsx|js|jsx)$/ }, async (args: any) => {
const source = await Bun.file(args.path).text();