Our review
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
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.
Do not use for tracking action items or todos; the skill explicitly distinguishes between decisions and actions.
Security analysis
SafeThe 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
Examples
Scan my weekly reports and meeting notes from the last two weeks for any decisions that need to be logged in project files.Use --include-slack to scan my Slack messages from this week for decisions and offer to add them to the decision logs.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
-
Find files to scan:
- Glob recent weekly reports based on time range
- Glob meeting notes in those week folders
- If project filter, narrow scope
-
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"
-
Scan Slack for decisions (if --include-slack):
- Use
mcp__playground-slack-mcp__get_messageswith 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
- Use
-
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)
-
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
-
Present findings:
- Show decisions found
- Indicate which are already logged vs. new
- Group by project
- Mark Slack decisions with source channel
-
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.
API Documentation Generator
Documentation
Automatically generates OpenAPI/Swagger API documentation.
Technical Writer
Documentation
Writes clear technical documentation following top style guides.
Typed Documentation Forms System
Documentation
Add typed comments, documentation, todos, and metadata to Scheme code using `(doc ...)` forms. Doc annotations are authoritative for type inference, extracted by search commands (lf-todo, lf-types), and integrated with the type checker and LSP. Useful for annotating functions, marking deprecations, or tracking localized improvements alongside the code.