Skills/documents/gap-analysis/SKILL.md
Compares two documents or versions of content and surfaces what is missing, conflicting, changed, or new between them. Produces a structured gap analysis with categorized findings and a summary of implications. Use when a user wants to compare an old and new version of a document, check whether a spec matches an implementation, audit a policy for missing coverage, or identify what changed between two states. Triggers include "compare these two docs", "what's missing from this", "what changed between these versions", "find the gaps", "does this spec match this document", or when a user shares two documents and asks what is different or inconsistent.
npx skillsauth add zrosenfield/sharepoint-ai-skills gap-analysisInstall 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 compares two pieces of content and produces a structured analysis of what differs, what is missing, and what the gaps mean — written in plain language for practical use.
Scope: Produces prose and Markdown only. Does not write code, scripts, or formulas.
Gap analysis only works if both documents and the comparison direction are clear. Before proceeding, confirm:
What are the two things being compared? Label them clearly from the start. Common pairs:
Which is the reference? The reference is the document against which the other is measured. Usually: the spec, the standard, the newer version, or the authoritative source. The other document is the subject — the one being evaluated for gaps.
If the user has not specified which is the reference, ask. Getting this backwards produces a useless analysis.
What is the purpose of the analysis? The framing shapes what counts as a gap. Ask if not clear:
Read the reference document first. Build a mental map of its structure and scope:
Then read the subject document. For each element of the reference, evaluate the subject:
Also note any elements in the subject that have no counterpart in the reference — these may be additions or scope creep, depending on context.
Classify every finding into one of four categories:
Missing — Something in the reference is entirely absent from the subject. The subject makes no mention of it.
Example: The spec requires a data retention policy; the implementation document has no section on retention.
Conflicting — Both documents address the same topic, but they say different or incompatible things.
Example: The policy says approvals require two signatories; the procedure shows a single-signatory form.
Changed — The subject covers the same topic as the reference but with a meaningful difference in scope, detail, emphasis, or specificity. Not necessarily wrong — may be intentional.
Example: The new version of a process removes a validation step that appeared in the old version.
Added — Something appears in the subject that is not in the reference. Flag these for awareness — they may represent intentional additions or unreviewed scope expansion.
Example: The updated procedure includes a new escalation path not described in the policy.
For each finding, assign a severity:
High — This gap creates ambiguity, risk, contradiction, or incomplete coverage that would block someone trying to follow the documents. Examples: a conflicting requirement, a missing approval step, a scope that no longer matches.
Medium — This gap is significant but not blocking. Examples: a topic that is covered in one document but not the other, a meaningful change in approach that is not explained.
Low — This gap is informational. Examples: a formatting inconsistency, a minor change in emphasis, an added section that is uncontroversial.
Do not inflate severity to appear thorough. A long list of low-severity gaps is less useful than a short list of high-severity ones.
# Gap Analysis: [Reference Document] vs. [Subject Document]
**Reference:** [Document name/version]
**Subject:** [Document name/version]
**Analysis purpose:** [Coverage gaps / Conflicts / Changes / All]
**Date of analysis:** [Date]
---
## Summary
[Two to four sentences: how many gaps were found, which categories had the most, what the overall picture looks like. Lead with the most important finding.]
---
## High-Priority Gaps
| # | Category | Description | Reference location | Subject location |
|---|----------|-------------|-------------------|-----------------|
| 1 | Missing / Conflicting / Changed / Added | [Clear description of the gap] | [Section or element in reference] | [Section or element in subject, or "Not present"] |
---
## Medium-Priority Gaps
| # | Category | Description | Reference location | Subject location |
|---|----------|-------------|-------------------|-----------------|
| ... | ... | ... | ... | ... |
---
## Low-Priority Gaps
| # | Category | Description | Reference location | Subject location |
|---|----------|-------------|-------------------|-----------------|
| ... | ... | ... | ... | ... |
---
## Implications and Recommended Actions
[For each high-priority gap, one to two sentences on what action is needed. Medium gaps: one sentence each. Low gaps: summarize as a group.]
---
## What Was Not Compared
[Brief note on any sections, appendices, or topics that were excluded from the analysis and why. "Not applicable" if everything was in scope.]
Omit a priority section entirely if it has no findings.
Every gap description should be:
Specific — Say exactly what is missing or conflicting, not just that something differs. "The subject does not include a rollback procedure" is better than "The subject is missing some operational content."
Referenced — Name the section or element in each document. "Section 3.2 of the reference requires X; the subject has no equivalent section" is more useful than "X is missing."
Neutral — Describe the gap, not a judgment about it. Some gaps are intentional; others are oversights. The analysis surfaces them; the decision about what to do belongs to the reader.
Consequential — For high and medium findings, one sentence explaining what the gap means in practice makes the analysis actionable. "Without a conflict resolution process, two teams following these documents could reach incompatible conclusions."
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.