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

followup-todos

Extract action items as plain markdown bullets (with confirmation). Args: <path>. No args = run [/note-status pending --step=todos](../note-status/SKILL.md#pending-mode).

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

연동 도구JiraGemini
설치 방법 보기

포함된 파일(1)

  • SKILL.md7.2 KB

SKILL.md(원문)

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

Follow-up Todos

Usage

  • /followup-todos <path> — Extract and propose follow-ups from a specific meeting note.
  • /followup-todos (no args) — Run /note-status pending --step=todos to show meetings missing follow-up extraction. The user picks one (or more) to process.

Output format (mandatory)

  • Never insert Obsidian Tasks / checkbox lines: no - [ ], - [x], - [-], or any - [?] pattern.
  • Never append Tasks-plugin inline metadata on inserted lines: no 📅, 🛫, ⏳, or other parsed task tokens. (Optional priority emoji at the very end as plain text — e.g. 🔼 — is fine if it reads naturally in prose.)
  • Always insert plain list items: - Description… Wikilinks ([[@Name]], [[+Team]]) and bold are allowed.

Prerequisites

The meeting file should ideally have cached AI transcripts (from /cache-notes). If not cached, suggest running /cache-notes <path> first. However, the skill also works on notes with only manual content.

Optional context

For classification (owner, urgency, dates in the proposal step), you may still use people-resolver and obsidian-tasks as reference — but do not copy Tasks checkbox or date-token syntax into the note.

Workflow

Step 1: Read the meeting note and gather context

See vault-context for vault discovery conventions.

Read the entire file. Also read Tracker.md to cross-reference Jira tickets and current task status — this helps:

  • Set priority: A ticket already marked 🔺 in the Tracker should keep that priority (as trailing emoji in the bullet text if you include one).
  • Avoid duplicates: If a follow-up already exists in the Tracker for the same Jira ticket, flag it in the proposal table (Step 3) rather than creating a duplicate line in the note.
  • Add context: If the meeting references a Jira ticket ID (e.g. PROJ-1234), pull its current status and assignee from the Tracker.

Extract action items from all content sources, skipping lines that are already captured as follow-ups (compare meaning, not only exact text):

  1. Manual notes (between frontmatter --- and ## 🤖 AI Notes): Free-text action items (e.g. "- Talk to Alex about X"). Skip lines that are checkbox tasks (- [*] — any single character between brackets) when deduplicating, but note the vault may still contain legacy - [ ] lines from older runs.
  2. [!gemini_todos] callout: Gemini's "Suggested Next Steps" — explicit action items.
  3. [!gemini_notes] callout: Summary & Details — scan for implicit commitments ("will do X", "agreed to Y", "plans to Z").
  4. Other provider callouts ([!otter_todos], etc.): Same treatment as Gemini.

Also extract:

  • Existing plain bullets and checkbox lines in the follow-up section to avoid duplicates
  • Participants: from frontmatter (to resolve assignees)
  • Meeting date (from filename or created: frontmatter)

Step 2: Classify each action item

For each candidate action item (from manual notes, transcript todos, or implicit commitments in details), determine:

  1. Owner: Who is responsible? See people-resolver for name matching and assignee rules.

  2. Relevance: Score as high, medium, or skip:

    • High: Action is for the user, has a clear deliverable, or is time-sensitive.
    • Medium: Action is for someone else but the user should track it, or it's vague but potentially important.
    • Skip: Purely informational, already completed (based on date vs today), or not actionable.
  3. Priority (for the proposal table only): Based on urgency and impact (see priorities in obsidian-tasks). When inserting bullets, you may end the line with a single priority emoji (🔺 ⏫ 🔼 🔽) as plain text — never as Tasks metadata.

  4. Dates: Note due/start in the proposal table when helpful; do not put 📅 / 🛫 / ⏳ on inserted lines. If a date matters, write it in words in the bullet (e.g. "by 2026-03-26").

Step 3: Present proposals to the user — MANDATORY CONFIRMATION

⚠️ STOP HERE AND WAIT FOR USER CONFIRMATION. Never skip this step, even during /meeting wrap sequences. Do NOT write follow-ups to the file until the user explicitly approves.

Display a numbered table:

| # | Add? | Follow-up | Owner | Priority |
|---|------|-----------|-------|----------|
| 1 | ✅   | Talk with Alex about temp environments | Me | 🔼 |
| 2 | ✅   | Offload data lake work to Jane | Me | ⏫ |
| 3 | ⬜   | Confirm travel plans for Friday | [[@Sam Rivera]] | — |
| 4 | ⬜   | Verify production deploy completed | Me | 🔼 |
  • Default ✅ for high-relevance items owned by the user.
  • Default ⬜ for others' items or skippable ones.
  • Let the user toggle by saying numbers (e.g. "1,3,4" or "all" or "none except 2").

Step 4: Insert confirmed follow-ups

Only proceed after the user has explicitly confirmed which items to include (Step 3).

Insert each confirmed item as one line:

- Clear, self-contained description (optional **bold**, `[[@Name]]`, optional trailing 🔼)

Do not use - [ ]. Placement depends on the note's template:

Daily Standup notes (Meetings/*/Scrum/YYYY-MM-DD.md)

These follow the Daily Standup template:

Yesterday
- ...
Today
- ...          ← INSERT FOLLOW-UPS HERE (append after existing Today items)
Blockers
- ...
---
Pending/Carry-over Backlog
- ...

Insert at the end of the "Today" section, just before the Blockers line. Use StrReplace targeting Blockers as the anchor.

Other meeting notes

Prefer a dedicated section heading if missing, e.g. ## Follow-ups, placed after the title / any manual notes and before ## 🤖 AI Notes. If a ## Follow-ups (or equivalent) section already exists, append there. If neither heading exists, append after the frontmatter closing --- and add ## Follow-ups first.

General rules

  • Group by owner if multiple people are involved (optional sub-bullets under a short **[[@Name]]** line).
  • Preserve existing content — always append, never overwrite.

Step 5: Mark as processed

After inserting, add a TodosExtracted: YYYY-MM-DDTHH:MM:SS±HH:MM frontmatter property to prevent re-processing. This is required — /meeting wrap pending relies on it to detect unprocessed meetings.

Step 6: Offer to commit

See /commit. Skip when called as part of a sequence (e.g. /meeting wrap).

Important Notes

  • Always read the file before editing — frontmatter may have changed since your last read.
  • Do NOT duplicate follow-ups that already exist in the note body (compare by description similarity).
  • When in doubt about relevance, include it as ⬜ in Step 3 and let the user decide.
  • If the meeting is old (>2 weeks), flag items that may already be completed and suggest skipping them.

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

Fetch & embed AI transcripts as Obsidian callouts. Args: <path>, all, refresh <path>. Prompts for URLs if empty.

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

benoror/obsidianos_work1652026년 6월 11일 업데이트

commit

무료

Stage and commit with flexible intent parsing. Accepts file/folder scope, free-text description, amend, or any combination.

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

benoror/obsidianos_work1652026년 6월 11일 업데이트

defuddle

무료

Extract clean markdown content from web pages using Defuddle CLI, removing clutter and navigation to save tokens. Use instead of WebFetch when the user provides a URL to read or analyze, for online documentation, articles, blog posts, or any standard web page.

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

benoror/obsidianos_work1652026년 6월 11일 업데이트

Resolve and fill Participants frontmatter + link unlinked names in body. Args: <path>, all.

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

benoror/obsidianos_work1652026년 6월 11일 업데이트

Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.

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

benoror/obsidianos_work1652026년 6월 11일 업데이트

last-1on1

무료

Show when you last had a 1:1 with each direct report / peer, sorted by recency. Flags people who haven't had one in N weeks. Powered by the OneOnOnes view on Meetings.base.

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

benoror/obsidianos_work1652026년 6월 11일 업데이트

benoror의 스킬 모두 보기

이 스킬의 문제 신고