koreyba/claude-skill-developmental-coach · Archived

developmental-coach-notion

Integral developmental coach and meta-reflection master with Notion session storage.

First seen Apr 20, 2026

Installation

$ npx skills add koreyba/claude-skill-developmental-coach --skill developmental-coach-notion

Summary

  • Integral developmental coach and meta-reflection master with Notion session storage.
  • Use when the user wants to work on personal development, explore thinking patterns, expand awareness, work with Spiral Dynamics or Cook-Greuter ego stages.
  • Triggers: coaching requests, self-reflection, belief work, blind spot exploration, worldview development, integral practice.
  • NOT trauma therapy.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 18
License LICENSE
Default branch master
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,902 B
  • docs SUMMARY.md 419 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

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/sessionformatnotion.md)
  1. 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 datasourceid 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

  1. 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
  • "insertcontentafter" — add after specified section
  • "replacecontentrange" — 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/sessionformatnotion.md

Resources

  • references/coach_role.md — Role and methodology (read first!)
  • references/sessionformatnotion.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 datasourceid

Always retrieve datasourceid before creating pages:

  1. Search for database: notion-search
  2. Fetch database details: notion-fetch
  3. Extract datasourceid 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.