Back to library

ChatGPT Projects

Create and manage ChatGPT Projects via browser automation — create projects, set custom instructions, upload files/skills, start conversations within projects.

dev
by skynetv1.0.0
chatgptprojectsbrowser-automationaiknowledge-management

0

Total Uses

0

Successes

0%

Success Rate

Compatible Agents

claude-code

Required Tools

chrome-mcp

Instruction

# ChatGPT Projects Create and manage ChatGPT Projects via browser automation. Projects give ChatGPT persistent context — custom instructions, uploaded files, and organized conversations. ## Prerequisites - Chrome MCP browser tools available (mcp__claude-in-chrome__*) - Logged in to chatgpt.com (James's account is pre-authenticated) ## Step 1: Navigate to ChatGPT ``` 1. Create a new tab: mcp__claude-in-chrome__tabs_create_mcp 2. Navigate to: https://chatgpt.com 3. Read page to confirm you're on the home page ``` ## Step 2: Create a New Project Projects are in the sidebar under the "Projects" heading. ``` 1. Read the sidebar — look for the "Projects" heading 2. Find and click the "+" or "Create project" button near the Projects heading - This is typically a button element right after the Projects header 3. A project creation dialog or inline editor will appear 4. Type the project name 5. Press Enter or click Create ``` ## Step 3: Open the Project After creation, navigate to the project page: ``` 1. The project URL format is: chatgpt.com/g/g-p-<project-id>-<slug>/project 2. Click on the project name in the sidebar to open it 3. The project page shows: chat input, Chats tab, Sources tab ``` ## Step 4: Set Project Instructions Project instructions tell ChatGPT how to behave within this project. ``` 1. On the project page, click "Show project details" button - Or click the project icon/settings area at the top 2. Look for an "Instructions" or "Custom instructions" text area 3. Use form_input to type or paste your instructions 4. Click Save or close the panel (auto-saves) ``` **Good project instructions include:** - Role definition ("You are a content strategist for a pet blog") - Tone and style guidelines - Specific knowledge or context about the project - Output format preferences - Things to avoid ## Step 5: Upload Files to the Project Upload reference files, skills, documentation, or data: ``` 1. On the project page, click the "Sources" tab 2. Look for an upload button or drag-and-drop zone 3. Click "Add files and more" button, or the file upload area 4. Select files to upload - Supported: PDF, TXT, MD, CSV, JSON, images, code files - Max file size: ~50MB per file 5. Wait for upload to complete ``` **What to upload:** - SKILL.md files for agent capabilities - Project documentation or specs - Brand guidelines or style guides - Data files (CSV, JSON) for reference - Code samples or architecture docs ## Step 6: Start a Conversation in the Project ``` 1. On the project page, find the chat input (labeled "New chat in <Project Name>") 2. Type your message 3. Click Send or press Enter 4. The conversation will have access to all uploaded files and instructions ``` ## Step 7: Collect the Project URL Always save the project URL for reference: ``` 1. The URL in the browser bar: chatgpt.com/g/g-p-<id>-<slug>/project 2. Save this URL — it's the permanent link to the project 3. Direct chat links within the project: chatgpt.com/g/g-p-<id>-<slug>/c/<chat-id> ``` ## Managing Existing Projects ### List all projects ``` 1. Open sidebar on chatgpt.com 2. Scroll to the "Projects" section 3. Read the project names and their sidebar links ``` ### Open project options ``` 1. Hover over a project in the sidebar 2. Click the "..." or "Open project options" button 3. Options include: rename, delete, share, archive ``` ### Delete a project ``` 1. Open project options (see above) 2. Click "Delete" 3. Confirm deletion ``` ## Existing Projects Reference Current projects on James's account: - **Skill Builder** — builds SKILL.md files for the skills platform - **Woman Freebies - Jessica Martinez** — agent project - **Greater Sudbury - Marc Gauthier** — agent project - **Campfire Stories - Darnell Washington** — agent project - **Backyard Blog - Travis Kowalski** — agent project ## Tips - Each project is isolated — instructions and files only apply within that project - You can have multiple active conversations within one project - Projects persist across sessions — use them for ongoing work - The model selector works within projects — you can switch between GPT-4o, o1, etc. - Upload SKILL.md files to teach ChatGPT specific capabilities for the project <!-- test --> ## Browser Automation Tips ### Creating Projects The "New project" button is in the sidebar under the "Projects" heading. You may need to scroll the sidebar to find it. Use JavaScript for reliable clicking: ``` // Find and click New project const all = document.querySelectorAll('button, a, [role="button"]'); for (const el of all) { if (el.textContent.trim() === 'New project') { el.click(); break; } } ``` ### Project Name Input The project name input in the "Create project" dialog IS a standard textbox. Use form_input: ``` 1. Use find to locate "project name input field" 2. Use form_input to set the name 3. Use find to locate "Create project" button and click it ``` ### Sidebar Navigation The sidebar items are tightly spaced. Coordinate-based clicks often miss. Prefer: - find + ref-based clicks for specific elements - JavaScript clicks for elements that don't respond to MCP clicks ## Running on Mac Minis These instructions can also be executed on the Mac Minis (bots, vault, jarvis) using the mac-control MCP server instead of chrome-in-chrome. ### Via mac-control MCP Server (Port 8200) The mac-control server on each Mac exposes the same GUI automation primitives: ```bash # Take a screenshot to see the screen curl -s http://bots.local:8200/tools/screenshot # Open a URL in Chrome curl -s http://bots.local:8200/tools/open_url -d '{"url": "https://chatgpt.com"}' # Click at screen coordinates curl -s http://bots.local:8200/tools/click -d '{"x": 500, "y": 300}' # Type text curl -s http://bots.local:8200/tools/type_text -d '{"text": "Research the latest advances in..."}' # Press keyboard shortcut curl -s http://bots.local:8200/tools/key_press -d '{"keys": "return"}' # Run AppleScript curl -s http://bots.local:8200/tools/applescript -d '{"script": "tell app \\"Google Chrome\\" to activate"}' # Find text on screen (OCR) curl -s http://bots.local:8200/tools/find_on_screen -d '{"text": "Submit"}' ``` ### Via Chrome DevTools Protocol (Port 9222) For direct browser control without GUI coordinates: ```bash # List open tabs curl -s http://bots.local:9222/json # Navigate a tab to a URL curl -s http://bots.local:9222/json/new?https://chatgpt.com # Execute JavaScript in a tab (via WebSocket — use a CDP client) ``` ### Via SSH + cliclick (Simple Fallback) ```bash # Open URL ssh bots 'open https://chatgpt.com' # Wait for page load sleep 3 # Screenshot + analyze ssh bots 'screencapture /tmp/screen.png' scp bots:/tmp/screen.png ./screen.png # Click at coordinates ssh bots '/opt/homebrew/bin/cliclick c:500,300' # Type text ssh bots '/opt/homebrew/bin/cliclick t:"Research the latest advances in..."' # Submit ssh bots '/opt/homebrew/bin/cliclick kp:return' ``` ### Recommended Machine Use **bots** (192.168.86.50) for browser automation — it has full GUI support, screencapture works, and Chrome with remote debugging is running.

Install

curl -s https://skills.skynet.ceo/api/skills/chatgpt-projects/skill.md