본문으로 건너뛰기
cccskills
무료GitHub에 공개

notion-sync

Standardize Notion task updates across all modes

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Notion
설치 방법 보기

포함된 파일(1)

  • SKILL.md6.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Notion Sync Skill

Standardize how Notion tasks are updated across all modes.

When to Use

  • Push PR mode: update PR link and append plan
  • Init mode: update branch name
  • Any mode updating task status
  • Appending content to task pages

Phases

Phase 1: Retrieve Task Page

Fetch current task state:

API-retrieve-a-page:
  page_id: [task-page-id]

Verify the page exists and note current field values.

Phase 2: Update Standard Fields

Update properties based on context:

Available fields:

FieldTypeWhen to Update
Github PR linkurlOn PR creation
Branch namerich_textOn branch creation
Lifecycle/StatusselectOn 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]" }}]}

Phase 3: Append Content (Optional)

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:

  • Implementation plans (from Plan mode)
  • PR summaries (from Push PR mode)
  • Status updates

Phase 4: Confirm Sync

Verify the update was successful:

API-retrieve-a-page:
  page_id: [task-page-id]

Check that updated fields reflect new values.


Phase 5: Session Journal Sync (NEW)

Sync session metrics and decisions to Session Journal database.

When to Run

  • After PR is created (via push-pr.mdc)
  • On manual "sync session" command
  • On session abandon

5.1: Gather Session Data

Collect from session-status skill:

  • Duration, loops, rework, waiting, RED count, escalations

Collect from decision-capture skill:

  • Decisions made this session (KO, significant OK)
  • Learnings captured (Kaizen/Hansei)

5.2: Check for Existing Session

Notion MCP: API-post-search
  query: "[branch-name]"
  filter:
    property: "object"
    value: "page"
  sort:
    property: "last_edited_time"
    direction: "descending"

5.3: Create or Update Session Page

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)

5.4: Append Decisions and Learnings

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]" }}]}

5.5: Link to Kanban Task

Notion MCP: API-patch-page
  page_id: [kanban_task_id]
  properties:
    Session Journal: { relation: [{ id: "[session_page_id]" }]}

5.6: Create ADR for High-Impact Decisions

If any decision has Impact = HIGH:

  1. Create ADR file in /docs/decisions/
  2. Link ADR URL in Session Journal page

Session Journal Output

## 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

Output

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

Standard Field Reference

Staffing Database ID: 256c4d5e-7bea-80ca-ba8d-c0ba0bb881c6

Common Properties:

  • Github PR link (url) - Link to GitHub PR
  • Branch name (rich_text) - Git branch name
  • Lifecycle or Status (select) - Task state
  • Assignee (people) - Task owner
  • Sprint (relation) - Sprint association

Integration

This skill is invoked by:

  • push-pr.mdc - Phase 2.2 (Sync Notion) + Phase 4 (Session Journal)
  • init.mdc - Update branch name
  • Any mode needing Notion updates
  • Manual "sync session" command

Notion MCP Tools:

  • API-retrieve-a-page - Get task details
  • API-get-block-children - Get page content
  • API-patch-page - Update page properties
  • API-patch-block-children - Add content to page
  • API-post-page - Create new session entries
  • API-post-search - Find existing sessions by branch

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

ar-aging

무료

Produce an accounts-receivable aging report and surface overdue invoices for a Well workspace. Use when the user asks who owes them money, an AR aging report, overdue invoices, days sales outstanding (DSO), or which customers to chase.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

WellApp-ai/Well3452026년 10월 15일 업데이트

Iterate until success or limit, composing existing skills with Jidoka integration

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

WellApp-ai/Well3452026년 10월 15일 업데이트

Build a balance sheet (bilan) from a Well workspace. Use when the user asks for a balance sheet, bilan, assets/liabilities/equity, or financial position at a point in time.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

WellApp-ai/Well3452026년 10월 15일 업데이트

Generate and maintain BPMN 2.0 diagrams linked to Gherkin scenarios

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

WellApp-ai/Well3452026년 10월 15일 업데이트

Forecast cash flow and runway for a Well workspace from booked invoices and collected bank transactions. Use when the user asks for a cash-flow forecast, runway, how long until they run out of cash, projected balance, or expected inflows/outflows.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

WellApp-ai/Well3452026년 10월 15일 업데이트

Review code changes against hard rules and conventions

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

WellApp-ai/Well3452026년 10월 15일 업데이트

WellApp-ai의 스킬 모두 보기

이 스킬의 문제 신고