Skip to content
Back to skills

Decision Log

ASecurity

"Extracts structured decisions from meeting notes, Slack threads, or email

  • 18 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 27, 2026
data-ai

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add KirKruglov/claude-skills-kit --skill decision-log --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Decision Log?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Decision Log
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kirkruglov-decision-log/badge)](https://www.skillsdirectory.com/skills/kirkruglov-decision-log)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: decision-log
description: "Extracts structured decisions from meeting notes, Slack threads, or email
  chains and maintains a decision log separate from action items. Each decision is captured
  with context, alternatives considered, participants, date, and related tasks or risks.
  Supports two modes: new log creation and append to an existing log with deduplication.
  Use when you want to capture decisions from a meeting, update decision log, log decisions,
  extract decisions from discussion, build decision registry, add decisions to log."
version: 1.0.0
---

# Skill: decision-log

Extracts decisions from meeting notes, messages, and threads and builds a structured log —
separate from action items. Supports two modes: new log creation and appending to an
existing log with deduplication.

---

## Triggers

**Russian:** «зафиксируй решения», «залоги решения», «decision log», «лог решений», «извлеки решения из встречи», «обнови лог решений», «добавь решения в лог», «запиши решения»
**English:** "log decisions", "decision log", "extract decisions", "capture decisions from meeting", "update decision log", "add to decision log", "decisions from this meeting"

---

## Language Detection

Determine the language of the user's first message — it sets the language for the entire
conversation, output, and template.

| Input language | Output language | Template |
|----------------|-----------------|----------|
| Russian | Russian | `decision-log-template.ru.md` |
| English | English | `decision-log-template.md` |

---

## Input

**Required:**
- Text from a meeting, Slack thread, email chain, or meeting notes (any format)

**Optional:**
- Existing decision log (table or cards) — for append mode

**Parameters (specified explicitly or selected in Step 1):**
- Output format: `table` (markdown table) or `cards` (markdown cards)
- Mode: `new` (new log) or `append` (add to existing log)

## Output

A structured decision log in the chosen format.

Each record contains 6 fields:
1. **Decision** — precise formulation of the decision (1–2 sentences)
2. **Context** — why it was made: constraints, rationale, trigger
3. **Alternatives** — what was considered and why rejected (if mentioned)
4. **Participants** — who was involved in making the decision
5. **Date** — date (if stated in the text; otherwise blank)
6. **Related** — linked tasks, risks, dependencies (if mentioned)

---

## Instructions

### Step 1 — Determine mode and format

Determine mode and format from the request context:

| Condition | Mode | Action |
|-----------|------|--------|
| Only source text provided | `new` | Create log from scratch |
| Source text + existing log provided | `append` | Add new records |
| Format not specified | — | Ask the user |

If the output format is not specified explicitly, ask in the user's language:
- EN: "Which format do you prefer: table (one row per decision) or cards (one block per decision)?"
- RU: "Какой формат предпочтительнее: таблица (одна строка на решение) или карточки (отдельный блок на каждое решение)?"

Wait for the answer before processing.

### Step 2 — Extract decisions

Scan the text and identify all points where a decision was made.

**Decision signals** (as opposed to action items or information):
- Choice between options: "decided to use X instead of Y"
- Stated position: "agreed that...", "confirmed...", "approved..."
- Change of approach: "switching to...", "dropping..."
- Prioritization: "focusing on X, deferring Y"
- Implicit agreement: a clear brief response ("ok", "yeah", "sounds fine", "agreed",
  «ок», «хорошо», «договорились») to a proposal involving a choice — only if context
  makes it clear which option was accepted

**Do NOT extract:**
- Action items ("Ivan will do this by Friday")
- Informational statements with no choice involved
- Open questions and hypotheses

Fill in all 6 fields for each decision found. If a field is not mentioned in the text —
leave it blank or use a dash.

### Step 3 — Deduplication (append mode only)

Compare extracted decisions against the existing log.

Consider records duplicates if:
- The decision wording matches in meaning (different words are acceptable)
- Context and date match

When a duplicate is detected:
- Do not add the record again
- Note in the output: "[duplicate, skipped: brief wording]"

### Step 4 — Generate output

Use headings and labels matching the determined output language.

**Format `table` — EN:**

```markdown
| # | Decision | Context | Alternatives | Participants | Date | Related |
|---|----------|---------|--------------|--------------|------|---------|
| 1 | ... | ... | ... | ... | ... | ... |
```

**Format `table` — RU:**

```markdown
| # | Решение | Контекст | Альтернативы | Участники | Дата | Связанные |
|---|---------|----------|--------------|-----------|------|-----------|
| 1 | ... | ... | ... | ... | ... | ... |
```

**Format `cards` — EN:**

```markdown
### Decision 1: [short title]

- **Decision:** ...
- **Context:** ...
- **Alternatives:** ...
- **Participants:** ...
- **Date:** ...
- **Related:** ...
```

**Format `cards` — RU:**

```markdown
### Решение 1: [краткое название]

- **Решение:** ...
- **Контекст:** ...
- **Альтернативы:** ...
- **Участники:** ...
- **Дата:** ...
- **Связанные:** ...
```

After the output, add a brief summary: how many decisions found, how many are new
(in append mode), how many duplicates skipped.

---

## Templates

The skill uses files from `templates/`:

| File | Language | Purpose |
|------|----------|---------|
| `templates/decision-log-template.md` | EN | Blank log template (English) |
| `templates/decision-log-template.ru.md` | RU | Blank log template (Russian) |

---

## Constraints

- Does not extract action items — that is a separate domain
- Does not integrate with external systems directly (task trackers, messengers)
- Text input only — audio, video, and images are not supported
- Does not assess the quality or correctness of decisions
- Does not make recommendations or suggest alternatives
- If the source text contains no decisions — reports this explicitly and does not generate
  empty records

Files in this skill

  • README.md2.6 KB
  • README.ru.md4.2 KB
  • SKILL.md6.4 KB
  • docs/USER-GUIDE.md4.5 KB
  • docs/USER-GUIDE.ru.md7.1 KB
  • templates/decision-log-template.md1.1 KB
  • templates/decision-log-template.ru.md1.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.