Skills/decision-log/SKILL.md
--- name: decision-log description: Extracts and formats Decision Records from video or audio transcripts, capturing the full context of each decision: the problem being solved, options that were considered, who made the call, the rationale, concerns or dissent raised, and any conditions or follow-on actions. Produces structured, durable Decision Records rather than a meeting narrative. Use when a user wants to document the reasoning behind decisions made in a recorded meeting, create an audit t
npx skillsauth add zrosenfield/sharepoint-ai-skills Skills/decision-logInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill produces structured Decision Records from video or audio transcripts. Unlike meeting notes, which summarize everything that happened, Decision Records focus on the reasoning and accountability behind specific choices — durable artifacts that answer "why did we decide this?" months or years later.
Scope: Produces prose and Markdown only. Does not write code, scripts, or formulas.
This skill is not a replacement for meeting notes. Use it when the goal is accountability and traceability, not a summary of the conversation.
A Decision Record captures:
Meeting notes capture the flow of conversation. Decision Records capture the logic of choices.
Apply the same triage steps as for meeting notes:
Unlabeled speakers — If the transcript uses generic labels ("Speaker 1", "Unknown"), stop and ask the user for a name and role mapping before proceeding. Decision Records require named decision-makers.
Roles and authority — For each named participant, note their role if stated in the transcript. Role context is critical for assessing who had decision authority. If roles are not stated in the transcript, ask the user.
Auto-captioning artifacts — Silently clean filler words, false starts, and transcript mishearings when extracting meaning. Do not preserve artifacts.
Partial transcripts — If the transcript appears cut off or begins mid-conversation, note this prominently. A decision without its full context may be misrepresented.
Work through the transcript looking specifically for decision moments. A decision moment is any point where:
Do not classify exploratory discussion, brainstorming, or "we should think about X" as decisions. A decision requires a commitment, not just a consideration.
For each decision moment, extract:
If a decision was made quickly and none of these fields were addressed in the transcript, note them as "Not discussed in transcript" rather than leaving them blank or inferring content.
Produce one Decision Record per decision. Order records chronologically as they appeared in the transcript.
# Decision Log: [Meeting Name or Topic]
**Source:** [Transcript description, e.g. "Product Review Call — [date]"]
**Participants:** [Names and roles]
**Decisions recorded:** [Count]
---
## Decision [#]: [Short Title]
**Decision:** [One sentence, active voice, stating exactly what was decided]
**Trigger:** [What problem or question made this decision necessary]
**Options Considered:**
- **[Option A]:** [Brief description — one sentence on what this option was and why it was or was not selected]
- **[Option B]:** [Same]
- *(Add additional options as needed. Include the chosen option in this list.)*
**Decided by:** [Name, Role] — [Basis of authority: e.g., "team consensus", "product owner call", "escalated to VP"]
**Rationale:** [Why this option was chosen. Use the decision-maker's own language where it clearly captures the reasoning. One to four sentences.]
**Concerns / Dissent:**
- [Name, Role]: [Concern or objection raised] — [Outcome: addressed, noted, or overruled]
- *(If no concerns were raised, write: "No dissent recorded in transcript.")*
**Conditions:** [Any stated caveats. If none: "None stated."]
**Follow-on Actions:**
| Action | Owner | Deadline |
|--------|-------|----------|
| [Task created by this decision] | [Name] | [Date or "Not set"] |
---
*(Repeat for each decision)*
Transcripts often contain decisions that were implied rather than stated. Handle these cases carefully:
Implicit agreement — If all participants appear to agree without an explicit "we decided" statement, note the decision as "reached by apparent consensus" and quote the clearest statement of agreement.
Revisited decisions — If a decision was made, then revisited and changed later in the same meeting, produce a single record that shows the evolution: the initial decision, the reason it was reopened, and the final outcome.
Deferred decisions — If an option was considered but explicitly deferred, do not create a Decision Record. Add the deferred item to a Pending Decisions list at the end of the log.
Decisions outside meeting scope — If a participant references a decision made elsewhere and ratified in this meeting, create a brief record noting it as a ratification, not a new decision.
After the Decision Records, append a Pending Decisions section:
## Pending Decisions
Items raised in this meeting that require a decision but were not resolved:
- **[Topic]:** [Brief description of what needs to be decided] — Owner: [Name or "TBD"] — Due: [Date or "Not set"]
If there are no pending decisions, omit this section.
Before delivering, verify:
Deliver:
testing
--- name: review-council description: Convene a council of expert AI personas to review, stress-test, and improve any document, idea, proposal, or plan. Use this skill whenever the user asks to "review," "stress-test," "get feedback on," "critique," "poke holes in," "red team," "evaluate," "council," "panel review," or "get perspectives on" any content — whether it's an uploaded Word doc, Excel spreadsheet, PowerPoint deck, PDF, or just a raw idea typed into chat. Also trigger on phrases like "w
tools
Generates a polished, self-contained HTML heatmap scorecard — a weighted comparison matrix where entities (rows) are scored across dimensions (columns), with computed totals, rank badges, and a winner highlight. Use when asked to build a scorecard, comparison matrix, decision matrix, vendor evaluation, tool assessment, candidate scoring grid, competitive analysis, site-readiness matrix, or any weighted multi-criteria ranking. Interviews the user if entities or criteria are missing, constructs a validated JSON document, then renders it into a sandbox-safe HTML file using the component library. No external dependencies — output runs inside a SharePoint sandboxed iframe.
development
Generates a polished, self-contained HTML roadmap or milestone timeline from any project data — SharePoint lists, pasted tables, or a verbal description. Use when asked to build a project roadmap, product roadmap, migration timeline, release plan, onboarding sequence, run-of-show, phase plan, or any visual schedule showing items over time. Interviews the user if data is incomplete, constructs a validated JSON document, then renders it into a single sandbox-safe HTML file. Chooses between two layouts automatically: horizontal roadmap with swimlanes (for phase-range data) or vertical milestone list (for point-in-time events). No external dependencies — output runs inside a SharePoint sandboxed iframe.
development
Generates a polished, self-contained HTML executive report or dashboard from any data source — SharePoint lists, CSV exports, or a user description. Use when asked to build an exec report, one-pager, summary page, status dashboard, project summary, business review, or any single-page visual summary of data. Interviews the user if data is incomplete, constructs a validated JSON document block by block, then renders it into a single sandbox-safe HTML file using the component library. No external dependencies — output runs inside a SharePoint sandboxed iframe.