Install
$ agentstack add skill-koreyba-claude-skill-developmental-coach-developmental-coach-notion ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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:
- Find the database via
notion-search - 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:
- Determine topic icon (see
references/session_format_notion.md)
- 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}
- 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_idis unknown — first find the database vianotion-fetchornotion-search - Use
notion-create-pagestool - Always include "Claude-Coach" tag
- Tags must be an array of strings, not a comma-separated string
API: Update Existing Session
Steps:
- Find session:
- Via
notion-searchwith topic query - Via previous context loading results
- 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-searchfor finding sessions - Use
notion-fetchfor getting full page/database content - Use
notion-create-pagesfor creating new sessions - Use
notion-update-pagefor 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 data_source_id before creating pages:
- Search for database:
notion-search - Fetch database details:
notion-fetch - Extract
data_source_idfrom `` tag - Use in
parentparameter
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.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: koreyba
- Source: koreyba/Claude-Skill-Developmental-Coach
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.