autonomous-loop
Iterate until success or limit, composing existing skills with Jidoka integration
Standardize Notion task updates across all modes
$ npx -y skills add WellApp-ai/Well --skill notion-sync --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/notion-syncContext preview
The summary Claude sees to decide when to auto-load this skill.
Standardize Notion task updates across all modes
name: notion-sync description: Standardize Notion task updates across all modes
Standardize how Notion tasks are updated across all modes.
Fetch current task state:
API-retrieve-a-page: page_id: [task-page-id]
Verify the page exists and note current field values.
Update properties based on context:
**Available fields:**
| Field | Type | When to Update | |-------|------|----------------| | Github PR link | url | On PR creation | | Branch name | rich_text | On branch creation | | Lifecycle/Status | select | On state changes |
**API call:**
API-patch-page:
page_id: [task-page-id]
properties:
"Github PR link": { url: "[PR-URL]" }
"Branch name": { rich_text: [{ text: { content: "[branch-name]" }}]}If content needs to be added to the page body:
**Get existing blocks:**
API-get-block-children: block_id: [page-id]
**Append new content:**
API-patch-block-children:
block_id: [page-id]
children: [
{
"type": "heading_2",
"heading_2": { "rich_text": [{ "text": { "content": "Implementation Plan" }}]}
},
{
"type": "paragraph",
"paragraph": { "rich_text": [{ "text": { "content": "[plan-content]" }}]}
}
]**Content types to append:**
Verify the update was successful:
API-retrieve-a-page: page_id: [task-page-id]
Check that updated fields reflect new values.
---
Sync session metrics and decisions to Session Journal database.
Collect from `session-status` skill:
Collect from `decision-capture` skill:
Notion MCP: API-post-search
query: "[branch-name]"
filter:
property: "object"
value: "page"
sort:
property: "last_edited_time"
direction: "descending"**If new session:**
Notion MCP: API-post-page
parent: { database_id: "[SESSION_JOURNAL_DB_ID]" }
properties:
Title: { title: [{ text: { content: "[Feature] - [Date]" }}]}
Task: { relation: [{ id: "[kanban_task_id]" }]}
Date: { date: { start: "[session_date]" }}
Duration: { number: [total_minutes] }
Phase Reached: { select: { name: "[phase]" }}
Outcome: { select: { name: "[outcome]" }}
Loops: { number: [total_loops] }
Rework: { number: [rework_count] }
Waiting: { number: [waiting_minutes] }
RED Count: { number: [red_count] }
Escalations: { number: [escalation_count] }
Branch: { rich_text: [{ text: { content: "[branch-name]" }}]}**If existing session:**
Notion MCP: API-patch-page
page_id: [existing_page_id]
properties:
Duration: { number: [updated_minutes] }
Phase Reached: { select: { name: "[latest_phase]" }}
Outcome: { select: { name: "[outcome]" }}
Loops: { number: [updated_loops] }
... (other updated metrics)Notion MCP: API-patch-block-children
block_id: [session_page_id]
children:
- type: heading_2
heading_2: { rich_text: [{ text: { content: "Decisions" }}]}
- type: bulleted_list_item
bulleted_list_item: { rich_text: [{ text: { content: "[KO] [decision 1] - [rationale]" }}]}
- type: bulleted_list_item
bulleted_list_item: { rich_text: [{ text: { content: "[OK] [decision 2] - [rationale]" }}]}
- type: heading_2
heading_2: { rich_text: [{ text: { content: "Learnings" }}]}
- type: bulleted_list_item
bulleted_list_item: { rich_text: [{ text: { content: "[Kaizen] [learning 1]" }}]}
- type: bulleted_list_item
bulleted_list_item: { rich_text: [{ text: { content: "[Hansei] [learning 2]" }}]}Notion MCP: API-patch-page
page_id: [kanban_task_id]
properties:
Session Journal: { relation: [{ id: "[session_page_id]" }]}If any decision has Impact = HIGH: 1. Create ADR file in `/docs/decisions/` 2. Link ADR URL in Session Journal page
## Session Journal Synced **Session:** [Feature] - [Date] **Page:** [Notion URL] **Kanban:** Linked to [Task name] ### Metrics Recorded - Duration: [N]min - Loops: [N] - Rework: [N] - RED Count: [N] - Escalations: [N] ### Decisions: [N] captured ### Learnings: [N] captured [If ADR: ADR-[NNN] created] **Status:** Sync successful
---
Present sync summary:
## Notion Sync Complete **Task:** [task-title] **Page ID:** [page-id] ### Updates Applied - ✅ Github PR link: [url] - ✅ Branch name: [branch] - ✅ Content appended: [description] **Status:** Sync successful
---
**Staffing Database ID:** `256c4d5e-7bea-80ca-ba8d-c0ba0bb881c6`
**Common Properties:**
---
This skill is invoked by:
**Notion MCP Tools:**
Iterate until success or limit, composing existing skills with Jidoka integration
Generate and maintain BPMN 2.0 diagrams linked to Gherkin scenarios
Research best-in-class products using Browser MCP and WebSearch
Systematic debugging with MCP integration, auto-invoke from qa-commit, Phase 7 Harden