home / skills / derklinke / codex-config / atlas

atlas skill

/skills/atlas

This skill helps macOS users control the Atlas app via the bundled CLI to manage tabs, bookmarks, and history.

npx playbooks add skill derklinke/codex-config --skill atlas

Review the files below or copy the command above to add this skill to your agents.

Files (8)
SKILL.md
2.7 KB
---
name: "atlas"
description: "macOS-only AppleScript control for the ChatGPT Atlas desktop app. Use only when the user explicitly asks to control Atlas tabs/bookmarks/history on macOS and the \"ChatGPT Atlas\" app is installed; do not trigger for general browser tasks or non-macOS environments."
---


# Atlas Control (macOS)

Use the bundled CLI to control Atlas and inspect local browser data.

## Quick Start

Set a stable path to the CLI:

```bash
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export ATLAS_CLI="$CODEX_HOME/skills/atlas/scripts/atlas_cli.py"
```

User-scoped skills install under `$CODEX_HOME/skills` (default: `~/.codex/skills`).

Then run:

```bash
uv run --python 3.12 python "$ATLAS_CLI" app-name
uv run --python 3.12 python "$ATLAS_CLI" tabs --json
```

The CLI requires the Atlas app bundle in `/Applications` or `~/Applications`:

- `ChatGPT Atlas`

If AppleScript fails with a permissions error, grant Automation permission in System Settings > Privacy & Security > Automation, allowing your terminal to control ChatGPT Atlas.

## Tabs Workflow

1. List tabs to get `window_id` and `tab_index`:

```bash
uv run --python 3.12 python "$ATLAS_CLI" tabs
```

2. Focus a tab using the `window_id` and `tab_index` from the listing:

```bash
uv run --python 3.12 python "$ATLAS_CLI" focus-tab <window_id> <tab_index>
```

3. Open a new tab:

```bash
uv run --python 3.12 python "$ATLAS_CLI" open-tab "https://chatgpt.com/"
```

Optional maintenance commands:

```bash
uv run --python 3.12 python "$ATLAS_CLI" reload-tab <window_id> <tab_index>
uv run --python 3.12 python "$ATLAS_CLI" close-tab <window_id> <tab_index>
```

## Bookmarks and History

Atlas stores Chromium-style profile data under `~/Library/Application Support/com.openai.atlas/browser-data/host/`.

List bookmarks:

```bash
uv run --python 3.12 python "$ATLAS_CLI" bookmarks --limit 100
```

Search bookmarks:

```bash
uv run --python 3.12 python "$ATLAS_CLI" bookmarks --search "docs"
```

Search history:

```bash
uv run --python 3.12 python "$ATLAS_CLI" history --search "openai docs" --limit 50
```

History for today (local time):

```bash
uv run --python 3.12 python "$ATLAS_CLI" history --today --limit 200 --json
```

The history command copies the SQLite database to a temporary location to avoid lock errors.

If history looks stale or empty, ask the user which Atlas install they are using, then check both Atlas data roots and inspect the one with the most recent `History` file:

- `~/Library/Application Support/com.openai.atlas/browser-data/host/`
- `~/Library/Application Support/com.openai.atlas.beta/browser-data/host/`

## References

Read `references/atlas-data.md` in the skill folder (for example, `$CODEX_HOME/skills/atlas/references/atlas-data.md`) when adjusting data paths or timestamps.

Overview

This skill provides macOS-only AppleScript control for the ChatGPT Atlas desktop app. It exposes a small CLI wrapper to list and manipulate Atlas tabs, open/close/reload tabs, and inspect local bookmarks and history stored in Atlas profile data. Use this only when Atlas is installed and the user explicitly asks to control Atlas tabs/bookmarks/history on macOS.

How this skill works

The skill uses an AppleScript-backed Python CLI that talks to the ChatGPT Atlas app bundle under /Applications or ~/Applications. It reads Chromium-style profile files under ~/Library/Application Support/com.openai.atlas*/browser-data/host/, copying the SQLite history DB to a temp file to avoid locks, and issues AppleScript commands to focus, open, reload, or close tabs. Automation permissions must be granted to the controlling terminal.

When to use it

  • You are on macOS and want to list or focus open Atlas tabs programmatically.
  • You need to open, reload, or close a specific Atlas tab from a script or workflow.
  • You want to search or export Atlas bookmarks or browser history stored in the Atlas profile.
  • You need to inspect recent Atlas history and must avoid locking the live SQLite file.
  • You must verify which Atlas install (stable vs beta) holds the most recent data.

Best practices

  • Set CODEX_HOME and ATLAS_CLI environment variables so invocations are stable in scripts.
  • Ensure ChatGPT Atlas is installed in /Applications or ~/Applications before using the CLI.
  • Grant Automation permission in System Settings > Privacy & Security > Automation for your terminal.
  • When reading history, let the CLI copy the DB to a temp file to prevent lock errors.
  • If history appears empty, check both com.openai.atlas and com.openai.atlas.beta data roots and use the most recent History file.

Example use cases

  • List Atlas tabs to capture window_id and tab_index, then focus a specific tab in an automation.
  • Open a new Atlas tab with a URL from another app or script.
  • Export bookmarks or run a keyword search across Atlas bookmarks for research links.
  • Search today's Atlas browsing history and output JSON for reporting or ingestion.
  • Reload or close tabs as part of a cleanup script for a development environment.

FAQ

What if AppleScript reports a permissions error?

Grant Automation permission for your terminal in System Settings > Privacy & Security > Automation so it can control ChatGPT Atlas.

Where does Atlas store bookmarks and history?

Atlas stores Chromium-style profile data under ~/Library/Application Support/com.openai.atlas/browser-data/host/ (also check com.openai.atlas.beta).