Skills/quarterly-expense-report/SKILL.md
Reads vendor, date, and spend data from the Expenses library on the current SharePoint site and generates a self-contained interactive HTML expense report for a specified fiscal quarter. Use when asked for a quarterly expense summary, Q1/Q2/Q3/Q4 financial summary, expense report, or spend analysis by period.
npx skillsauth add zrosenfield/sharepoint-ai-skills quarterly-expense-reportInstall 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.
Reads the Expenses library from the current SharePoint site, filters to the requested fiscal quarter, and generates a single self-contained interactive HTML file that serves as an executive expense summary.
Check the site context (SHAREPOINT.md) for the fiscal year start month. If it is not specified, default to January.
Map the requested quarter label (Q1, Q2, Q3, Q4) to the three calendar months it covers based on that fiscal year start. For example, if the fiscal year starts in July:
| Quarter | Months | |---------|--------| | Q1 | July, August, September | | Q2 | October, November, December | | Q3 | January, February, March | | Q4 | April, May, June |
Determine the fiscal year label for the report heading (e.g., "FY2026 Q1" for July–September 2025 in a July fiscal year).
Read all items from the Expenses library. Collect these columns: Vendor Name, Transaction Date, Total Spend.
Filter to items where Transaction Date falls within the three calendar months of the target quarter. If no items are found for the period, note that the quarter has no recorded expenses and still produce the HTML file with the zero-state layout.
From the filtered items, calculate:
Also compute:
Produce a single, completely self-contained HTML file with all CSS and JavaScript embedded inline. Load Chart.js (version 4) from CDN — the only external dependency.
Use a neutral corporate palette:
| Token | Value | |---|---| | Primary (navy) | #1E3A5F | | Accent (blue) | #2563EB | | Success (green) | #059669 | | Warning (amber) | #D97706 | | Neutral (gray) | #6B7280 | | Page background | #F1F5F9 | | Card background | #FFFFFF | | Font stack | system-ui, -apple-system, "Segoe UI", sans-serif |
Header — full-width navy bar. Left side: "EXPENSE REPORT" in white bold tracked caps, subtitle with the fiscal quarter label (e.g., "FY2026 Q1 · July – September 2025"). Right side: report generation date.
Metrics bar — four cards in a row: Total Spend (green), Vendor Count (blue), Transaction Count (gray), Largest Vendor with amount (amber). Each card shows the primary value large, with a label below and a colored left-border accent.
Spend by vendor chart — titled "Spend by Vendor." Horizontal bar chart using Chart.js. One bar per vendor, sorted largest to smallest. Bars in the accent blue color. Show currency-formatted values as labels at the end of each bar. Minimum chart height scales with vendor count (40px per bar, minimum 200px).
Monthly spend chart — titled "Monthly Spend." Vertical bar chart using Chart.js showing total spend for each of the three months in the quarter. Use a gradient from lighter to darker blue (or a single accent color). Include a dotted average-line annotation if month-to-month variance is greater than 20%.
Transaction table — titled "All Transactions." Columns: Vendor Name, Transaction Date (formatted as Month D, YYYY), Total Spend (currency formatted), and a Notes column if the Expenses library includes one. Sort by Transaction Date ascending. Use alternating row shading. Make the table horizontally scrollable on narrow viewports.
Footer — site URL, "Generated by SharePoint AI," and the generation timestamp in small gray text centered at the bottom.
Use CSS Grid for the page layout and Flexbox within cards. Cards should have box-shadow: 0 1px 3px rgba(0,0,0,0.08) and border-radius: 8px. Include a @media print block that removes the header background and sets text to black. Minimum body font size 14px. Apply a 0.25-second fadeIn animation on all cards.
If Chart.js fails to load from CDN, fall back to a plain <table> summary rather than showing a broken chart area.
Deliver a single HTML file named Expense-Report-[Quarter]-[FY].html (e.g., Expense-Report-Q1-FY2026.html). Do not include any explanatory prose outside the file — the entire response is the file content.
If the site context specifies a folder for saving reports, save the file there after generating it.
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.