GBrain Dashboard
Browse Notes
New Note
Edit: handover_prompts/claude_notion_easier_agency_extraction.md
Cancel
Note Content (Markdown)
# CLAUDE HANDOVER PROMPT: Notion Easier Agency Access & Extraction for GBRAIN Ingestion ## OBJECTIVE Resolve Notion access permissions for the Easier Agency page/database, extract its five departments (Marketing, Sales, Relationships, Fulfilment, Operations), and prepare content for gbrain ingestion following user steering guidance. ## ASSUMPTIONS - 100% fresh context: No prior knowledge of current session state - Hermes integration is installed and configured with a valid Notion API key - User (Anthony Stratton) has access to Notion workspace and can share content with integrations - User has confirmed the Easier Agency content needs to be ingested into gbrain - User steering: Primary ICP = UK 7-figure ecom brands (profit-focused); Secondary/Passive = SaaS/service businesses; ContentOS to drop Airtable for Hermes-based automations; Refine to ~5 post types ## PREREQUISITES - Access to terminal/command line to run `hermes mcp` commands - Notion workspace accessible via browser - Ability to share Notion pages/databases with the "Hermes" integration ## STEP-BY-STEP PROCEDURE ### PHASE 1: VERIFY MCP CONNECTION & INTEGRATION STATUS #### 1.1 List MCP Servers Run: `hermes mcp list` - Verify Notion server appears as: `notion npx notion-mcp-server all ✓ enabled` - If not connected, troubleshoot MCP configuration #### 1.2 Test Integration Token Run: `hermes mcp execute notion get_self '{}'` - Should return bot user info for "Hermes" integration - Confirms token is valid and working #### 1.3 Test Basic Search Capability Run: `hermes mcp execute notion search_pages '{"query": "Hermes WebUI", "pageSize": 5}'` - Should return Hermes WebUI page if search works - Confirms basic Notion API access is functional ### PHASE 2: LOCATE & DIAGNOSE EASIER AGENCY ACCESS ISSUE #### 2.1 Search for Easier Agency Run: `hermes mcp execute notion search_pages '{"query": "Easier Agency", "pageSize": 10}'` - Note the results, particularly: - Easier Agency entry (should appear in results) - Easier Marketing entry - Other related items - Record the IDs returned: - Likely Page ID: `eb7df9ac-6a51-49a1-8af5-5fcae6ff2674` - Likely Parent Database ID: `86b9c355-cc0c-4438-b964-beb0141ecab9` #### 2.2 Test Direct Page Access (Expected to Fail Initially) Run: `hermes mcp execute notion get_page '{"page_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674", "include_properties": true}'` - Expected result: `object_not_found` error indicating sharing required - If successful, proceed to Phase 4 #### 2.3 Test Database Access (Alternative Path) Run: `hermes mcp execute notion get_data_source '{"data_source_id": "86b9c355-cc0c-4438-b964-beb0141ecab9"}'` - Expected result: `object_not_found` error indicating sharing required - If successful, proceed to query the database for Easier Agency entry #### 2.4 Check Software Logins Database (Known Accessible) Run: `hermes mcp execute notion get_data_source '{"data_source_id": "d6f9882d-56c7-493e-a026-8b6012e1b30b"}'` - Should succeed (Software Logins is accessible) - Then query for Easier Agency within Software Logins: ``` hermes mcp execute notion query_database '{ "data_source_id": "d6f9882d-56c7-493e-a026-8b6012e1b30b", "filter": {"property": "Page", "title": {"equals": "Easier Agency"}}, "pageSize": 1 }' ``` - Should return the Easier Agency database entry (metadata only, not page content) ### PHASE 3: USER ACTION - SHARE NOTION CONTENT WITH HERMES INTEGRATION **INSTRUCTION FOR USER (Anthony Stratton):** The Notion integration token is valid and connected, but the Easier Agency content has not been shared with the "Hermes" integration. **Please share the Easier Agency content with the Hermes integration:** **Option A: Share the Specific Page/Database Entry** 1. Open Notion and navigate to the Easier Agency page 2. Click the ••• menu (top-right) 3. Select "Add connections" or "Connect" 4. Ensure the integration named **"Hermes"** is selected 5. Confirm the sharing **Option B: Share the Parent Database (if Easier Agency is a database entry)** 1. Open the database that contains the Easier Agency entry (likely Software Logins or similar) 2. Click the ••• menu → "Add connections" 3. Ensure the integration named **"Hermes"** is selected 4. Confirm the sharing **VERIFICATION:** After sharing, wait 60 seconds then retry the `get_page` call from Step 2.2. It should now return page metadata instead of an `object_not_found` error. ### PHASE 4: EXTRACT EASIER AGENCY DIRECTORY STRUCTURE (POST-ACCESS) Once access is granted (get_page succeeds), extract the full directory: #### 4.1 Fetch Root Page Content & Properties Run: `hermes mcp execute notion get_page '{ "page_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674", "include_properties": true }'` - Record page properties (Status, Last edited, Owner, etc.) #### 4.2 Get Page Content as Markdown Run: `hermes mcp execute notion get_page_markdown '{ "page_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674" }'` - Extract the main content/markdown of the Easier Agency page #### 4.3 Get Child Blocks (Directory Structure) Run: `hermes mcp execute notion get_block_children '{ "block_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674", "pageSize": 100 }'` - This should return the top-level blocks representing the five departments: - Marketing - Sales - Relationships - Fulfilment - Operations - For each department block: - Extract the heading/title (from `properties.title.title[0].plain_text` if it's a child page, or from text if it's a heading block) - Get the description/SOP content - If the block is a child page, recursively fetch that page's content - If the block contains a database, query that database for relevant records - Preserve hierarchy and status indicators (green/orange/red icons if present) #### 4.4 Extract Sub-Pages and Databases For each item in the directory that links to another page/database: - Follow the link and extract that content - Maintain hierarchy in extraction notes - Pay special attention to: - ICP definitions and targeting criteria - SOP documents - Content plans and calendars - Outreach frameworks - Client acquisition materials ### PHASE 5: EXTRACT SUPPORTING CONTENT (ALREADY ACCESSIBLE) Extract these verified accessible sources (doing this while waiting for Easier Agency access or in parallel): #### 5.1 Software Logins Database (Metadata Only - NO Credentials) Run: `hermes mcp execute notion query_database '{ "data_source_id": "d6f9882d-56c7-493e-a026-8b6012e1b30b", "pageSize": 100 }'` **Extract (NON-SENSITIVE METADATA ONLY):** - Service name (from `properties.title.title[0].plain_text`) - In use? status (from `properties.In use?.select.name`) - Cost/month (from `properties.Cost / month.number`) - Activity (from `properties.Activity.multi_select[*].name`) - Username (from `properties.Username.rich_text[0].plain_text`) - Notes (from `properties.Notes.rich_text[0].plain_text`) **DO NOT EXTRACT:** Password/SSO fields (these contain credentials) #### 5.2 API Keys Database (Metadata Only - NO Raw Keys) Run: `hermes mcp execute notion query_database '{ "data_source_id": "f1be5677-deda-4ce4-bd64-7a0e12439022", "pageSize": 100 }'` **Extract (NON-SENSITIVE METADATA ONLY):** - Service name (from `properties.title.title[0].plain_text`) - Status (from `properties.Status.select.name`) - Last Rotated (from `properties.Last Rotated.date.start`) - Used By (from `properties.Used By.multi_select[*].name`) - Notes (from `properties.Notes.rich_text[0].plain_text`) **DO NOT EXTRACT:** API Key field (contains raw secrets/tokens) #### 5.3 Outreach Tracker Database Run: `hermes mcp execute notion query_database '{ "data_source_id": "2ee0308b-4848-80e2-b2d4-000bf535a2b4", "pageSize": 100 }'` **Extract ALL FIELDS (non-sensitive):** - Name (from `properties.Name.title[0].plain_text`) - Created (from `properties.Created.created_time`) - Chase 1 (from `properties.Chase 1` formula or text) - Chase 2 (from `properties.Chase 2` formula or text) - Response? (from `properties.Response?.checkbox`) - QA Note (from `properties.QA Note.rich_text[0].plain_text`) #### 5.4 ContentOS Pages (Full Extraction) For each page ID, get markdown: - ContentOS PRD: `3210308b-4848-8163-b899-d9631caa16ae` - ContentOS Pipeline: `3230308b-4848-8048-bc54-fa1729e7eda1` - ContentOS Phased Tasks: `3230308b-4848-80bf-aac4-cbb64c785e3a` Run for each: `hermes mcp execute notion get_page_markdown '{"page_id": "<ID>"}'` #### 5.5 OUTBOUND Master Copies (Full Extraction) For each page ID, get markdown: - OUTBOUND 1: `3250308b-4848-8166-a323-d3eaa96741af` - OUTBOUND 2: `3250308b-4848-8103-afd5-e928c7aca221` Run for each: `hermes mcp execute notion get_page_markdown '{"page_id": "<ID>"}'` #### 5.6 Company Records - Easier Marketing: `2250308b-4848-80ad-ba84-000be1cc02fe` - Hermes WebUI: `3750308b-4848-8028-928f-c1787a1b7e0d` - For each, get markdown and extract relevant info ### PHASE 6: PREPARE CONTENT FOR GBRAIN INGESTION #### 6.1 Content Format Standardization For each extracted piece, prepare in gbrain format: ``` # [Title] [Compiled truth - current synthesis, key points, actionable information] --- [Timeline - append-only evidence log with sources and dates] ``` #### 6.2 Apply User Steering Guidance - **Primary ICP Focus**: Tag and emphasize content related to UK 7-figure ecom brands (profit-focused) - Look for mentions of "ecom", "ecommerce", "UK", "7-figure", "profit", "margins" - Create clear ICP sections in extracted content - **Secondary/Passive**: Label SaaS/service business content as secondary attraction strategy - Identify content related to SaaS, service businesses, generic SMEs - Mark as secondary/passive in gbrain notes - **ContentOS Adaptation**: Identify Airtable dependencies for future replacement with Hermes-based automations - Note any references to Airtable in ContentOS documentation - Flag for migration to Hermes-based solutions (cronjobs, delegation, memory, skills) - **Post Type Refinement**: Analyze existing content types and distill to ~5 core categories - Review outreach messaging, content publishing templates, etc. - Propose refined post types based on user's actual usage patterns - **Retirement Notices**: Flag any Airtable-reliant processes for migration - Note where Airtable is currently used in workflows - Suggest Hermes equivalents (cronjobs for scheduled tasks, delegation for agent workflows, etc.) #### 6.3 File Organization Structure Propose gbrain vault structure (suggested paths): ``` people/ anthony-stratton.md organisations/ easier-agency.md easier-marketing.md projects/ contentos-pipeline.md outreach-framework.md easier-agency-departments/ marketing.md sales.md relationships.md fulfilment.md operations.md processes/ contentos-workflows.md outreach-sops.md decisions/ icp-strategy-decision.md tech-stack-decision.md contentos-airtable-migration.md etc. ``` ### PHASE 7: VERIFICATION & HANDOFF #### 7.1 Internal Validation - Confirm no sensitive data (passwords, keys, tokens) is included in output - Verify directory structure matches user's expectation (five departments present) - Check that ICP focus is properly captured and labeled - Ensure all extracted content is non-sensitive metadata only for key databases #### 7.2 Handover Package Provide to user: 1. Extracted content in gbrain-ready format (compiled truth + timeline) 2. Summary of what was accessed vs. what required sharing 3. List of any content that remains inaccessible despite efforts 4. Recommended next steps for gbrain ingestion (file placement, linking, etc.) 5. Notes on any discrepancies, stale information, or nuance observed during extraction #### 7.3 Final Verification - Run a quick health check on gbrain if possible: `hermes doctor` or similar - Confirm that knowledge base integrity is maintained (MECE filing per RESOLVER.md) - Offer to proceed with actual gbrain ingestion upon user approval of the extracted content ## SUCCESS CRITERIA - [ ] MCP Notion connection verified functional - [ ] Integration token validated - [ ] Easier Agency page/database access granted via user sharing action - [ ] Five departments extracted: Marketing, Sales, Relationships, Fulfilment, Operations - [ ] Supporting content extracted (metadata only for sensitive databases) - [ ] Content formatted for gbrain with compiled truth + timeline - [ ] User steering applied (ICP focus, ContentOS adaptation, post type refinement, etc.) - [ ] No sensitive data leaked in output - [ ] User provided with digest for course correction before final ingestion ## TROUBLESHOOTING GUIDE ### If Access Still Denied After Sharing: 1. Wait 90-120 seconds for permissions to propagate (Notion sharing can be slow) 2. Verify exact IDs being accessed match what was shared 3. Check if there are multiple "Easier Agency" entries - ensure correct one shared 4. Try sharing the parent workspace instead of just the page/database 5. As last resort, have user export as Markdown/CSV and share files directly for manual ingestion ### Large Content Handling: - Extract department by department if timeout risk - Use reasonable pagination limits (pageSize: 50-100) - Prioritize text content over complex embedded databases initially - For databases, extract schema + sample records first ### If User Unsure What to Share: - Have user open the Easier Agency page in Notion - Click Share → Invite → search for "Hermes" integration - Ensure "Can edit" or "Can view" permission is granted - Confirm integration appears in the page's connections list ## ESTIMATED TIME COMMITMENT - Access diagnosis: 5-10 minutes - User sharing action: 2-5 minutes (user-dependent) - Permission propagation: 1-2 minutes - Easier Agency extraction: 15-30 minutes - Supporting content extraction: 10-20 minutes - Preparation for gbrain: 10-20 minutes - Total: 30-65 minutes (mostly waiting on user action and propagation) --- *This handover prompt is designed for Claude to execute with minimal guidance. The agent should verify each step before proceeding and report back at major phase completions. All file paths referenced are relative to `/srv/easier-hermes/vault/` unless otherwise specified.*
Save Changes