GBrain Dashboard
Browse Notes
New Note
Edit: fresh_context_handover_prompt.md
Cancel
Note Content (Markdown)
# FRESH-CONTEXT HANDOVER PROMPT: Notion Easier Agency Access & GBRAIN Ingestion ## IMPORTANT: THIS PROMPT IS SELF-CONTAINED Copy and paste this entire prompt into a fresh Claude conversation. It contains all steps needed to resolve access, extract content, and prepare for gbrain—no prior context or file access required. --- ## OBJECTIVE Resolve Notion access for Easier Agency, extract its 5 departments (Marketing, Sales, Relationships, Fulfilment, Operations), and prepare content for gbrain ingestion. ## STEERING FROM USER (ANTHONY STRATTON) - Primary ICP: UK 7-figure ecom brands (profit-focused) - Secondary/Passive: SaaS/service businesses - ContentOS: Plan to drop Airtable for Hermes-based automations - Refine to ~5 post types - Never store raw API keys/secrets in gbrain—only metadata ## PHASE 1: VERIFY NOTION MCP CONNECTION Run these commands in sequence. **Wait for each to complete before proceeding.** 1. **Check MCP Servers** ``` hermes mcp list ``` ✅ EXPECTED: Notion server listed as `notion npx notion-mcp-server all ✓ enabled` ❌ IF NOT CONNECTED: Troubleshoot MCP configuration (outside scope of this prompt) 2. **Test Integration Token** ``` hermes mcp execute notion get_self '{}' ``` ✅ EXPECTED: Returns JSON with bot user info for "Hermes" integration ❌ IF FAILS: Token invalid—need to reconfigure Notion MCP server with valid token 3. **Test Basic Search** ``` hermes mcp execute notion search_pages '{"query": "Hermes WebUI", "pageSize": 5}' ``` ✅ EXPECTED: Returns Hermes WebUI page in results ❌ IF FAILS: Notion API access broken—recheck MCP server setup ## PHASE 2: LOCATE EASIER AGENCY & DIAGNOSE ACCESS Run these to confirm the access issue. 4. **Search for Easier Agency** ``` hermes mcp execute notion search_pages '{"query": "Easier Agency", "pageSize": 10}' ``` ✅ EXPECTED: Results include: - Easier Marketing (ID: 2250308b-4848-80ad-ba84-000be1cc02fe) - Easier Agency (ID: eb7df9ac-6a51-49a1-8af5-5fcae6ff2674) - Possibly other related items 📝 NOTE THESE IDS: - Easier Agency ID: `eb7df9ac-6a51-49a1-8af5-5fcae6ff2674` - From search results, note the parent database ID (should be `86b9c355-cc0c-4438-b964-beb0141ecab9`) 5. **Test Direct Page Access (Will Fail Initially)** ``` hermes mcp execute notion get_page '{"page_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674", "include_properties": true}' ``` ❌ EXPECTED FAILURE: ``` { "ok": false, "error": { "code": "object_not_found", "message": "The requested resource does not exist. (Could not find page with ID: eb7df9ac-6a51-49a1-8af5-5fcae6ff2674. Make sure the relevant pages and databases are shared with your integration \"Hermes\").", "fix": "..." } } ``` ✅ THIS IS EXPECTED—means sharing is needed 6. **Test Parent Database Access (Will Also Fail Initially)** ``` hermes mcp execute notion get_data_source '{"data_source_id": "86b9c355-cc0c-4438-b964-beb0141ecab9"}' ``` ❌ EXPECTED FAILURE: Similar object_not_found error for the database ✅ THIS IS EXPECTED—means sharing is needed ## PHASE 3: USER ACTION - SHARE NOTION CONTENT WITH HERMES **STOP AND INSTRUCT THE USER (ANTHONY):** The Notion integration is working, but the Easier Agency content has not been shared with the "Hermes" integration. **USER MUST DO ONE OF THE FOLLOWING IN NOTION:** **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** 1. Open the database that contains the Easier Agency entry (likely Software Logins or similar—parent ID from step 4: `86b9c355-cc0c-4438-b964-beb0141ecab9`) 2. Click the ••• menu → "Add connections" 3. Ensure the integration named **"Hermes"** is selected 4. Confirm the sharing **VERIFICATION STEP (USER RETURNS AFTER SHARING):** Wait 60 seconds, then rerun step 5 (`get_page` for Easier Agency ID). ✅ SUCCESS: Returns page metadata (title, properties, etc.) instead of object_not_found ❌ IF STILL FAILING: Wait longer, double-check the exact ID shared, or try sharing the parent database instead **DO NOT PROCEED TO PHASE 4 UNTIL THE GET_PAGE CALL SUCCEEDS** ## PHASE 4: EXTRACT EASIER AGENCY DIRECTORY STRUCTURE Once `get_page` succeeds (returns metadata, not error), run these to extract the directory. 7. **Get Easier Agency Page Properties & Metadata** ``` hermes mcp execute notion get_page '{"page_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674", "include_properties": true}' ``` 📝 RECORD: - Title: `properties.title.title[0].plain_text` - Status: `properties.Status.select.name` - Last edited: `properties.Last edited.last_edited_time` - Owner: `properties.Owner.people[0].name` (if present) 8. **Get Page Content as Markdown** ``` hermes mcp execute notion get_page_markdown '{"page_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674"}' ``` 📝 RECORD: The markdown content (if any) of the Easier Agency page itself 9. **Get Child Blocks (Directory Structure)** ``` hermes mcp execute notion get_block_children '{"block_id": "eb7df9ac-6a51-49a1-8af5-5fcae6ff2674", "pageSize": 100}' ``` 📝 EXPECTED: Array of blocks under `results`. Each top-level block should represent a department: - Marketing - Sales - Relationships - Fulfilment - Operations 📝 FOR EACH DEPARTMENT BLOCK: - If `type`: `child_page`: - Get its page ID: `id` - Fetch its properties: `get_page` with that ID + `include_properties: true` - Fetch its markdown: `get_page_markdown` with that ID - Recursively get its children if needed - If `type`: `heading_1`, `heading_2`, etc.: - Extract text from `properties.text[0].plain_text` - If `type`: `paragraph`, `bulleted_list_item`, etc.: - Extract text similarly - If `type`: `child_database`: - Note the database ID - Query that database for relevant records (see Phase 5 for query pattern) - PRESERVE HIERARCHY AND STATUS INDICATORS (colored icons, tags, etc.) 10. **Extract Sub-Pages and Databases** For each item discovered in step 9 that links to another page/database: - Follow the link and extract that content - Maintain hierarchy in your 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) Run these to extract metadata from accessible databases (NO raw credentials/secrets). 11. **Software Logins Database (Metadata Only)** ``` hermes mcp execute notion query_database '{ "data_source_id": "d6f9882d-56c7-493e-a026-8b6012e1b30b", "pageSize": 100 }' ``` 📝 EXTRACT FOR EACH ROW (NON-SENSITIVE ONLY): - Service name: `properties.title.title[0].plain_text` - In use?: `properties.In use?.select.name` - Cost/month: `properties.Cost / month.number` - Activity: `properties.Activity.multi_select[*].name` - Username: `properties.Username.rich_text[0].plain_text` - Notes: `properties.Notes.rich_text[0].plain_text` 🚫 DO NOT EXTRACT: Password/SSO fields (contain credentials) 12. **API Keys Database (Metadata Only)** ``` hermes mcp execute notion query_database '{ "data_source_id": "f1be5677-deda-4ce4-bd64-7a0e12439022", "pageSize": 100 }' ``` 📝 EXTRACT FOR EACH ROW (NON-SENSITIVE ONLY): - Service name: `properties.title.title[0].plain_text` - Status: `properties.Status.select.name` - Last Rotated: `properties.Last Rotated.date.start` - Used By: `properties.Used By.multi_select[*].name` - Notes: `properties.Notes.rich_text[0].plain_text` 🚫 DO NOT EXTRACT: API Key field (contains raw secrets/tokens) 13. **Outreach Tracker Database** ``` hermes mcp execute notion query_database '{ "data_source_id": "2ee0308b-4848-80e2-b2d4-000bf535a2b4", "pageSize": 100 }' ``` 📝 EXTRACT FOR EACH ROW: - Name: `properties.Name.title[0].plain_text` - Created: `properties.Created.created_time` - Chase 1: `properties.Chase 1` (extract value) - Chase 2: `properties.Chase 2` (extract value) - Response?: `properties.Response?.checkbox` - QA Note: `properties.QA Note.rich_text[0].plain_text` 14. **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>"}'` 📝 RECORD: Full markdown content 15. **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>"}'` 📝 RECORD: Full markdown content 16. **Company Records** - Easier Marketing: `2250308b-4848-80ad-ba84-000be1cc02fe` - Hermes WebUI: `3750308b-4848-8028-928f-c1787a1b7e0d` For each, get markdown and extract relevant info (same as above) ## PHASE 6: PREPARE CONTENT FOR GBRAIN INGESTION Format all extracted content for gbrain using this template: ``` # [Title] [Compiled truth - current synthesis, key points, actionable information] --- [Timeline - append-only evidence log with sources and dates] ``` Apply these steering rules during preparation: - **Primary ICP Focus**: Tag and emphasize content related to UK 7-figure ecom brands (profit-focused) - Look for: "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 - 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 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) Suggested gbrain file structure (relative to vault root): ``` 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 Before finalizing: 17. **Internal Validation** - Confirm: No sensitive data (passwords, keys, tokens) is included in output - Verify: Directory structure matches user's expectation (five departments present) - Check: ICP focus is properly captured and labeled - Ensure: All extracted content is non-sensitive metadata only for key databases 18. **Prepare Handover Package** Provide: - Extracted content in gbrain-ready format (compiled truth + timeline) - Summary of what was accessed vs. what required sharing - List of any content that remains inaccessible despite efforts - Recommended next steps for gbrain ingestion (file placement, linking, etc.) - Notes on any discrepancies, stale information, or nuance observed 19. **Optional: Quick GBRAIN Health Check** If possible, run: `hermes doctor` or similar to confirm knowledge base integrity Ensure: MECE filing per RESOLVER.md (every piece has exactly one home) ## SUCCESS CRITERIA Before considering this complete, verify: - [ ] 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 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 for duplicate "Easier Agency" entries—ensure correct one shared 4. Try sharing the parent workspace instead 5. As fallback: Have user export as Markdown/CSV and share files for manual ingestion If unsure what to share: 1. Have user open the Easier Agency page in Notion 2. Click Share → Invite → search for "Hermes" integration 3. Ensure "Can edit" or "Can view" permission is granted 4. Confirm integration appears in the page's connections list --- **END OF PROMPT** Copy everything above (from "# FRESH-CONTEXT HANDOVER PROMPT" to "**END OF PROMPT**") into a fresh Claude conversation. Execute each step in order, waiting for user confirmation where indicated (especially after sharing in Notion).
Save Changes