SuperAPI AI Directory

developmental-coach-notion

Coding & development

View repository

Updated 10-15 23:47

About this skill

Developmental Coach (Notion)

Integral developmental coach with persistent session memory in Notion.

Coach Role

READ FIRST: references/coach_role.md

Working with Notion

This skill uses Notion MCP for storing coaching sessions.

Database

All sessions are stored in the "Developmental Coaching Sessions" database.

IMPORTANT: On first use of the skill:

  1. Find the database via notion-search
  2. If database doesn't exist — create it via notion-create-database

Database Structure

{
  "title": [{"text": {"content": "Developmental Coaching Sessions"}}],
  "properties": {
    "Topic": {
      "type": "title",
      "title": {}
    },
    "Tags": {
      "type": "multi_select",
      "multi_select": {
        "options": [
          {"name": "Claude-Coach", "color": "purple"},
          {"name": "patterns", "color": "blue"},
          {"name": "insights", "color": "default"},
          {"name": "conflict", "color": "orange"},
          {"name": "relationships", "color": "pink"},
          {"name": "career", "color": "green"},
          {"name": "values", "color": "yellow"},
          {"name": "fears", "color": "red"},
          {"name": "goals", "color": "gray"},
          {"name": "reflection", "color": "brown"}
        ]
      }
    }
  }
}

API: Load Context

At the start of a coaching session, load the last 2-3 sessions for context:

1. Use `notion-search`:
   - query: "developmental coaching"
   - query_type: "internal"
   - semantic_query: "coaching session insights meta-observations"
   
2. If database is known, you can search within it:
   - data_source_url: "collection://{data_source_id}"

Example:

{
  "query": "developmental coaching",
  "query_type": "internal",
  "semantic_query": "recent coaching insights patterns meta-observations"
}

API: Save New Session

Only on explicit user request (see "When to Save" section).

Steps:

  1. Determine topic icon (see references/session_format_notion.md)

  2. Prepare content in Notion Markdown:

## {icon} {Session Topic}

### Context
{context description}

### Exploration
{what was discussed}

### Key Insights
- {insight 1}
- {insight 2}

### Meta-Observations
- {meta-observation 1}

### Experiments / Practices
- {experiment 1}

### Open Questions
- {question 1}
  1. Create page:
{
  "parent": {"data_source_id": "{data_source_id}"},
  "pages": [{
    "properties": {
      "Topic": "Session Topic",
      "Tags": ["Claude-Coach", "tag1", "tag2"]
    },
    "content": "{prepared Notion Markdown}"
  }]
}

Important:

  • If data_source_id is unknown — first find the database via notion-fetch or notion-search
  • Use notion-create-pages tool
  • Always include "Claude-Coach" tag
  • Tags must be an array of strings, not a comma-separated string

API: Update Existing Session

Steps:

  1. Find session:

    • Via notion-search with topic query
    • Via previous context loading results
  2. Update content:

{
  "data": {
    "page_id": "{page_id}",
    "command": "insert_content_after",
    "selection_with_ellipsis": "### Open Questions...",
    "new_str": "\n\n---\n\n## Session Continuation\n\n### New Insights\n- {insight}"
  }
}

Command options:

  • "replace_content" — full content replacement
  • "insert_content_after" — add after specified section
  • "replace_content_range" — replace specific section

When to Save

Only on explicit user request:

  • "save the session"
  • "write this to Notion"
  • "save our conversation"
  • "add this session"

DO NOT save automatically.

Workflow

┌─ Start of conversation
│  ├─► Read references/coach_role.md
│  ├─► notion-search — find database (if needed)
│  └─► notion-search — load last 2-3 sessions
│
├─ Coaching session
│  └─► Work according to coach_role.md
│
└─ User requests save
   ├─► Prepare Notion Markdown content
   ├─► notion-create-pages — create new page
   └─► Confirm save to user

Storage Format

Notion-flavored Markdown. See references/session_format_notion.md

Resources

  • references/coach_role.md — Role and methodology (read first!)
  • references/session_format_notion.md — Session format in Notion

Notion MCP Notes

  • Use notion-search for finding sessions
  • Use notion-fetch for getting full page/database content
  • Use notion-create-pages for creating new sessions
  • Use notion-update-page for updating existing ones
  • Notion automatically sets Created and Last Edited timestamps

Common Mistakes

Tags Format Error

❌ WRONG:

"Tags": "Claude-Coach,patterns,insights"

✅ CORRECT:

"Tags": ["Claude-Coach", "patterns", "insights"]

Why: Tags is a multi_select field which requires an array of strings, not a comma-separated string.

Missing data_source_id

Always retrieve data_source_id before creating pages:

  1. Search for database: notion-search
  2. Fetch database details: notion-fetch
  3. Extract data_source_id from <data-source url="collection://{id}"> tag
  4. Use in parent parameter

Invalid Tag Names

Only use tags defined in database schema:

  • Claude-Coach (required)
  • patterns, insights, conflict, relationships, career, values, fears, goals, reflection (optional)

Using undefined tags will cause validation error.