A tech stack is the set of tools used together. These cards explain what each AI tool is for, when it is useful, and its limits. To see how the tools connect, open the technology map. To see the jobs carried out using them, visit Bots & tasks.
xAI
Grok
Rung 2 — chat with connectors, plus Grok Build
Architect and builder of the playbook itself
- Use it for
- Designing loops, editing GitHub, drawing architecture, standing up a new automation.
- In this practice
- This dashboard. The how-i-do-it repo. Grant workflow files. Netlify deploy status. Trip Waffle itineraries over MCP. Architecture work in this chat; code that should live in git still goes through Cursor → GitHub.
- Strength
- Fast, connector-rich, willing to write the repo and the map in the same sitting.
- Limits
- A live chat is a poor alarm clock. Put cadence on the Bot, not in an open thread.
MCP (custom)Git pushDrive writeConnector / plugin
To copy. Use Grok to build the system. Use Grok Bot to run the system.
xAI · scheduled
Grok Bot
Rung 2 — persistent scheduled agent
Daily coach and secretary
- Use it for
- Anything that must happen Tuesday at 9, or when mail from a named domain arrives.
- In this practice
- Monday goals, weekday morning, midday, evening done list, Friday review, 90-day cascade, Inkbox secretary identity, Trip Waffle itineraries over MCP, Rex receipts review after trips.
- Strength
- Wakes on a clock, already holding MCP sockets, writes a dated trail.
- Limits
- A long prompt with too many tools becomes excessive agency.
MCP (custom)Event triggerDrive writeVoice loopConnector / plugin
To copy. One bot, many schedules, one instructions file in GitHub. Split tools by job if a job can send mail. Map them on the roster — not as one blob.
OpenAI
ChatGPT Pro
Rung 1–2 — Custom GPTs + direct connectors
Direct door into Google and GitHub, and a workflow door into Command Center
- Use it for
- Ad-hoc Drive/mail work when you are already in ChatGPT. Custom GPTs for a single role. Command Center workflow.
- In this practice
- ChatGPT Pro. Direct connectors as an alternate door — not the weekday cadence owner. Workflow into Command Center. Codex is the coding sibling, not a second chat.
- Strength
- First-party Gmail, Drive, GitHub, Calendar. Broad tool coverage, polished chat. Codex is the coding agent on the same subscription.
- Limits
- Vendor-locked. Easy to duplicate work the Bot already does.
Direct OAuthConnector / plugin
To copy. If the model offers a first-party Google login, draw a solid ‘direct’ line, not an MCP dash. Draw Codex as its own node.
OpenAI
Codex
Rung 2 — IDE agent (VS Code / Cursor extension)
The other coding resident. ChatGPT Pro's hands in the repo.
- Use it for
- Writing or reviewing anything that should become a git commit, when the OpenAI coding agent is the one on the job.
- In this practice
- Live. Native extension in VS Code or Cursor. One job, one agent — not beside Claude Code on the same change.
- Strength
- Lives in the editor. Same job as Claude Code: edit, run, commit.
- Limits
- A second coding agent on the same tree is how secrets and conflicting edits land.
Git pushConnector / plugin
To copy. Codex is hands. GitHub is memory. Draw it as its own node, the way Claude Code is drawn.
Anthropic
Claude
Rung 1–4 — Projects, Claude Code, plugins
Careful drafter, grant critic, instruction twin
- Use it for
- Grant critic, long playbook prose, syncing GitHub instructions into Drive, Claude Code for repos.
- In this practice
- salim-weekly-goals instruction twin. Grant pipeline (Drafter/Critic). Claude Code runs on the local drive in ~/projects: it reads the governance repo first, builds and ships this site, and commits with the causal chain. Wide plugin access, used narrowly.
- Strength
- Long documents, evaluation, subagents. Plugin tray covers Calendly, Dex, Todoist, Netlify, Inkbox, WhatsApp. Own MCP client for Wispr and Trip Waffle. Claude Code stitches in Cursor.
- Limits
- A plugin broker (Composio) is an extra trust hop — gap-fill only, never the default when a native plugin exists.
MCP (custom)Connector / pluginGit pushDrive write
To copy. Same GitHub instructions as Grok. Stamp Drive copies ‘synced from GitHub’. Claude Code works in the folder; the commit is still the handoff, and it does not push to main unless asked.
Perplexity
Perplexity
Rung 2 — Computer + Spaces
Cited research scout
- Use it for
- Grant Scout, trend watches, teaching-program source gathering, anything that must cite.
- In this practice
- Research briefs that should land in GitHub as Markdown. Teaching ladder demonstrations.
- Strength
- Live web with sources. Good orchestrator for research-only jobs.
- Limits
- Not the place for private mail or PHI. Not yet on the daily cadence.
On the horizon
To copy. Keep Perplexity on public knowledge. When a brief is done, commit it to the brain — do not leave it in a chat.
Google
Gemini
Rung 1 — Gems + Workspace
Native Workspace colleague
- Use it for
- When the file already lives in Drive and you want a Gem that only sees that folder.
- In this practice
- Partial. Workspace-native reads. Not the cadence owner.
- Strength
- Already sits next to Drive, Calendar, Gmail. Gems are the fastest Rung 1 agent.
- Limits
- Weaker at long autonomous coding than Claude. Easy to over-scope a Gem.
Direct OAuth
To copy. Give a Gem one folder, not My Drive. Draw those wires as direct, because they are.
Anysphere
Cursor
Rung 2 — IDE agent (Composer / Cursor Agent)
The workbench. Code is typed here, then pushed to the brain.
- Use it for
- Writing or reviewing anything that should become a git commit — the playbook site, grant scripts, HT Sherpa.
- In this practice
- How I Do It, grant-agent-workflow, HT Sherpa. Claude Code often stitches in the same window. GitHub remains the operative note; Cursor is not a second brain.
- Strength
- The model sits in the repo. Inline edits, terminal, and MCP servers in one window.
- Limits
- An agent with a shell is excessive agency if the tree contains secrets or prod credentials.
Git pushMCP (custom)
To copy. Cursor is hands. GitHub is memory. Push, then the other AI tools can read it. Draw a git line, not a chat line.