Decision Extractor

VerifiedSafe

Scans recent notes (weekly reports, meeting notes) and optionally Slack messages for decision-related language. Extracts decisions with context like date, people, and rationale, then checks project Decision Logs for duplicates and offers to add new ones. Helps keep project decision logs updated without manual tracking.

Sby Skills Guide Bot
DocumentationIntermediate
6/2/2026
Claude Code
#decision-extractor#decision-log#note-scanning#project-management#slack-integration

Recommended for

Automated summary

Scans recent notes and Slack messages for decision language, extracts decision context, and offers to update project Decision Logs.

Strengths

  • Automatically identifies decisions from free-text notes
  • Integrates Slack to capture async decisions
  • Checks for duplicates before adding to logs
  • Groups decisions by project for easy review

Limitations

  • Relies on specific decision phrases; may miss informal decisions
  • Requires project files to have a Decision Log section or offers to create one
  • Slack scanning depends on MCP availability and permissions
When to use it

Use when you need to systematically capture and log decisions from meetings, reports, and Slack conversations to maintain an up-to-date project Decision Log.

When not to use it

Do not use for tracking action items or todos; the skill explicitly distinguishes between decisions and actions.

Security analysis

Safe
Quality score90/100

The skill scans notes and optionally Slack for decision language and offers to update project decision logs. It uses safe file operations (Read, Glob, Grep, Edit for appending) and asks before writing. There is no dangerous command execution or data exfiltration. The Slack MCP only retrieves the user's own messages. It is a safe, informative skill.

No concerns found

How this analysis is made

Examples

Scan all recent notes
Scan my weekly reports and meeting notes from the last two weeks for any decisions that need to be logged in project files.
Include Slack
Use --include-slack to scan my Slack messages from this week for decisions and offer to add them to the decision logs.
Project-specific scan
Look for decisions related to Project Alpha in the last month's notes from my vault.

name: decision-extractor description: Scan recent notes for decision language and offer to update project Decision Logs allowed-tools: Read, Edit, Glob, Grep, mcp__playground-slack-mcp__get_messages

Decision Extractor

Scan recent notes (weekly reports, meetings) for decision language and surface decisions that should be logged in project files.

Arguments

  • Time range (optional): "this week", "last 2 weeks", "this month" (default: last 2 weeks)
  • Project filter (optional): Only look for decisions about a specific project
  • --include-slack: Also scan Slack for decision language (default: vault only)

Steps

  1. Find files to scan:

    • Glob recent weekly reports based on time range
    • Glob meeting notes in those week folders
    • If project filter, narrow scope
  2. Scan vault for decision language: Pattern match for phrases indicating decisions:

    • "decided to", "decision:", "the call is"
    • "agreed on", "agreed to", "we'll go with"
    • "chose to", "choosing", "selected"
    • "approved", "signed off on"
    • "not doing", "won't pursue", "deprioritizing"
    • "the plan is", "moving forward with"
    • "resolved to", "committed to"
  3. Scan Slack for decisions (if --include-slack):

    • Use mcp__playground-slack-mcp__get_messages with action: my_messages
    • Time range: Match the vault time range argument
    • Search sent messages and @mentions for same decision patterns
    • These are "async decisions" that may not have made it to vault notes
    • Skip gracefully if Slack MCP unavailable
  4. Extract decision context:

    • The decision itself
    • Date (from file or section)
    • People involved (if mentioned)
    • Project/topic it relates to
    • Rationale (if stated)
    • Source: vault file or Slack (channel + thread link)
  5. Match to projects:

    • For each decision, identify which project it relates to
    • Check if project has a Decision Log section
    • Check if decision is already logged
  6. Present findings:

    • Show decisions found
    • Indicate which are already logged vs. new
    • Group by project
    • Mark Slack decisions with source channel
  7. Offer to update:

    • For new decisions, ask if user wants to add to Decision Log
    • If confirmed, use Edit tool to append to project file

Output Format

## Decisions Found ([time range])

### [[project-1]]

**Already Logged:**
- [Date]: [Decision] ?

**New (not in Decision Log):**
- [Date]: [Decision]
  - Source: `meeting-2025-01-06-person.md`
  - Context: [brief rationale if found]
  - -> Add to Decision Log? [Y/N]

### [[project-2]]

**New:**
- [Date]: [Decision]
  - Source: `weekly-report-w02.md`
  - -> Add to Decision Log? [Y/N]

### Unmatched (no clear project)

- [Date]: [Decision]
  - Source: [file]
  - Possible projects: [[project-a]], [[project-b]]

### From Slack (--include-slack)

- [Date]: [Decision]
  - Source: #[channel] ([thread link])
  - Participants: @person1, @person2
  - -> Add to Decision Log? [Y/N]

Decision Log Format

When adding to project files, use this table format:

## Decision Log

| Date | Decision | Context |
|------|----------|---------|
| 2025-01-06 | Chose Figma over Sketch for prototypes | Team familiarity, better collaboration |
| 2025-01-08 | Scoped out mobile for v1 | #proj-channel (Slack) |

For Slack decisions, include channel name as context. Link to thread if available.

Notes

  • Don't add duplicates. Check existing Decision Log first.
  • If a project doesn't have a Decision Log section, offer to create one
  • For decisions that span multiple projects, log in the primary project and note the connection
  • "Context" should be brief (one sentence). Link to source file for details.
  • Ask before writing. This skill modifies files.
  • Some "decisions" are actually action items. Use judgment. Decisions are choices between options; actions are tasks to do.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/decision-extractor-mma3jru0/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/decision-extractor-mma3jru0' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/decision-extractor-mma3jru0/download' --output '.skill-downloads/decision-extractor-mma3jru0/SKILL.md.part' && mv '.skill-downloads/decision-extractor-mma3jru0/SKILL.md.part' '.skill-downloads/decision-extractor-mma3jru0/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Read, Edit, Glob, Grep, mcp__playground-slack-mcp__get_messages

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/decision-extractor-mma3jru0/SKILL.md' && test -s '.skill-downloads/decision-extractor-mma3jru0/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/decision-extractor' && cp -R '.skill-downloads/decision-extractor-mma3jru0' '.claude/skills/decision-extractor'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/decision-extractor-mma3jru0'

openskills read 'decision-extractor-mma3jru0'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/decision-extractor-mma3jru0/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills