Excel Variance Analyzer
jeremylongshore/tons-of-skills-marketplace
Analyze budget vs actual variances in Excel with drill-down and root cause analysis.
Analyze any OFAC or OFSI enforcement action — by URL, pasted text, or uploaded document — and produce a structured root cause analysis as a formatted Excel (.xlsx) spreadsheet.
$ npx skills add lawve-ai/awesome-legal-skills --skill enforcement-action-analysis-amir-fadavi -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install lawve-ai/awesome-legal-skills enforcement-action-analysis-amir-fadavi --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/enforcement-action-analysis-amir-fadavi .claude/skills/enforcement-action-analysis-amir-fadavi && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "enforcement-action-analysis-amir-fadavi" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/enforcement-action-analysis-amir-fadavi into .claude/skills/enforcement-action-analysis-amir-fadavi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforcement-action-analysis-amir-fadavi", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/enforcement-action-analysis-amir-fadaviType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add lawve-ai/awesome-legal-skills --skill enforcement-action-analysis-amir-fadavi -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install lawve-ai/awesome-legal-skills enforcement-action-analysis-amir-fadavi --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/enforcement-action-analysis-amir-fadavi .agents/skills/enforcement-action-analysis-amir-fadavi && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "enforcement-action-analysis-amir-fadavi" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/enforcement-action-analysis-amir-fadavi into .agents/skills/enforcement-action-analysis-amir-fadavi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforcement-action-analysis-amir-fadavi", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add lawve-ai/awesome-legal-skills --skill enforcement-action-analysis-amir-fadavi -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install lawve-ai/awesome-legal-skills enforcement-action-analysis-amir-fadavi --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/enforcement-action-analysis-amir-fadavi .cursor/skills/enforcement-action-analysis-amir-fadavi && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "enforcement-action-analysis-amir-fadavi" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/enforcement-action-analysis-amir-fadavi into .cursor/skills/enforcement-action-analysis-amir-fadavi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforcement-action-analysis-amir-fadavi", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/lawve-ai/awesome-legal-skills.git --path skills/enforcement-action-analysis-amir-fadavi--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add lawve-ai/awesome-legal-skills --skill enforcement-action-analysis-amir-fadavi -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install lawve-ai/awesome-legal-skills enforcement-action-analysis-amir-fadavi --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/enforcement-action-analysis-amir-fadavi .gemini/skills/enforcement-action-analysis-amir-fadavi && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "enforcement-action-analysis-amir-fadavi" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/enforcement-action-analysis-amir-fadavi into .gemini/skills/enforcement-action-analysis-amir-fadavi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforcement-action-analysis-amir-fadavi", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install lawve-ai/awesome-legal-skills enforcement-action-analysis-amir-fadaviInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add lawve-ai/awesome-legal-skills --skill enforcement-action-analysis-amir-fadavi -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/enforcement-action-analysis-amir-fadavi .github/skills/enforcement-action-analysis-amir-fadavi && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "enforcement-action-analysis-amir-fadavi" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/enforcement-action-analysis-amir-fadavi into .github/skills/enforcement-action-analysis-amir-fadavi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforcement-action-analysis-amir-fadavi", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add lawve-ai/awesome-legal-skills --skill enforcement-action-analysis-amir-fadavi -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install lawve-ai/awesome-legal-skills enforcement-action-analysis-amir-fadavi --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lawve-ai/awesome-legal-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/enforcement-action-analysis-amir-fadavi .opencode/skills/enforcement-action-analysis-amir-fadavi && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "enforcement-action-analysis-amir-fadavi" agent skill from https://github.com/lawve-ai/awesome-legal-skills/tree/main/skills/enforcement-action-analysis-amir-fadavi into .opencode/skills/enforcement-action-analysis-amir-fadavi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "enforcement-action-analysis-amir-fadavi", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
enforcement-action-analysis-amir-fadaviAnalyze any OFAC or OFSI enforcement action — by URL, pasted text, or uploaded document — and produce a structured root cause analysis as a formatted Excel (.xlsx) spreadsheet.
Enforcement Action Analysis Amir Fadavi is an agent skill from lawve-ai/awesome-legal-skills. Analyze any OFAC or OFSI enforcement action — by URL, pasted text, or uploaded document — and produce a structured root cause analysis as a formatted Excel (.xlsx) spreadsheet. Use this skill whenever a user names, links to, pastes, or uploads an OFAC or OFSI enforcement action and asks for any of the following: root cause analysis, compliance gaps, what went wrong, lessons learned, organizational self-assessment, or remediation planning. Also trigger when a user asks "analyze this enforcement action", "what were…
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `README.md`).
It sits in Documents & Office, covering Root cause analysis and Excel spreadsheets. It works with Microsoft Excel. The repository describes itself as: A curated list of awesome Agent Skills for automating legal work. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 045f738. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Enforcement Action Analysis Amir Fadavi loads about 2.5k tokens when it runs. Until then it costs about 213 tokens; SKILL.md has 833 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from lawve-ai/awesome-legal-skills at commit 045f738, republished under its MIT licence (© lawve-ai). 833 words, ~2,504 tokens.
.claude/skills/enforcement-action-analysis-amir-fadavi/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Produces a structured root cause analysis of any OFAC or OFSI enforcement action as a formatted Excel spreadsheet. The output is a six-column table designed to be used as a working document by compliance officers, in-house counsel, external counsel, and consultants — at financial institutions and non-financial firms alike.
The user will provide the enforcement action in one of three ways:
/mnt/user-data/uploads/If none is provided, ask the user to supply the enforcement action before proceeding.
Before identifying root causes, extract the following from the enforcement action:
Use this to name the output file and populate the sheet title cell.
Read the full enforcement action — especially the Description of the Apparent Violations, the Aggravating Factors, and the Compliance Considerations sections. These are the primary source material for root causes.
Identify all distinct root causes. A root cause is a discrete compliance failure — a gap in policy, process, training, technology, or judgment — that contributed to the violation. Do not consolidate unrelated failures to keep the table short. Typical enforcement actions yield 2–5 root causes; complex cases (e.g., commodity trading, multi-party evasion schemes) may yield more.
For each root cause, draft three things:
One to three sentences describing the specific failure as it occurred in this case. Factual, grounded in the enforcement action text. No generic compliance language.
One to three sentences explaining the underlying compliance failure mechanism — why the organization's program did not catch this. Draw from:
Two to four sentences describing concrete controls that would have prevented or detected the violation. Be specific to the facts of the case. Always reflect OFAC's Compliance Considerations section — these are the regulator's own stated expectations and must not be omitted.
From OFAC's Compliance Framework appendix. Use as a checklist when identifying root causes:
Use openpyxl (Python). Do not use any other library for file creation.
Root Causes of Apparent Violations — [Subject] ([Regulator], [Date])| Col | Header | Width (chars) |
|---|---|---|
| A | Root Cause | 22 |
| B | What Went Wrong | 38 |
| C | How It Went Wrong | 42 |
| D | What Could Have Stopped It | 46 |
| E | Is my organization immune to this? | 22 |
| F | Notes | 28 |
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.utils import get_column_letter
NAVY = "1B3A6B"
STEEL = "A8C4E0"
LIGHT = "EEF2F9"
WHITE = "FFFFFF"
INK = "1A1A2E"
GREY = "D0D8E4"
thin = Side(style='thin', color=GREY)
border = Border(left=thin, right=thin, top=thin, bottom=thin)
wrap = Alignment(wrap_text=True, vertical='top')
center_wrap = Alignment(wrap_text=True, vertical='center', horizontal='center')Title row (row 1, merged A1:F1):
WHITENAVYHeader row (row 2):
WHITENAVYGREYData rows (row 3+):
NAVY, fill LIGHT, border, wrap top-leftINK, fill WHITE, border, wrap top-leftINK, fill WHITE, border, center-aligned — value: ☐ Yes / ☐ No / ☐ PartialINK, fill WHITE, border, wrap top-left — emptysheet.row_dimensions[r].heightColumn A label format: RC[N]: [Short Title] — e.g., RC1: SDN-Only Screening
/mnt/user-data/outputs/[SubjectName]_OFAC_RootCause_Analysis.xlsxUse underscores, no spaces. Sanitize special characters.
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.utils import get_column_letter
import math
wb = Workbook()
ws = wb.active
ws.title = "Root Cause Analysis"
NAVY, LIGHT, WHITE, INK, GREY = "1B3A6B", "EEF2F9", "FFFFFF", "1A1A2E", "D0D8E4"
thin = Side(style='thin', color=GREY)
border = Border(left=thin, right=thin, top=thin, bottom=thin)
wrap = Alignment(wrap_text=True, vertical='top')
cwrap = Alignment(wrap_text=True, vertical='center', horizontal='center')
col_widths = [22, 38, 42, 46, 22, 28]
headers = ["Root Cause", "What Went Wrong", "How It Went Wrong",
"What Could Have Stopped It", "Is my organization immune to this?", "Notes"]
# Title row
ws.merge_cells("A1:F1")
t = ws["A1"]
t.value = "Root Causes of Apparent Violations — [Subject] ([Regulator], [Date])"
t.font = Font(name="Arial", size=14, bold=True, color=WHITE)
t.fill = PatternFill("solid", fgColor=NAVY)
t.alignment = Alignment(horizontal='left', vertical='center')
ws.row_dimensions[1].height = 30
# Header row
for i, h in enumerate(headers, 1):
c = ws.cell(row=2, column=i, value=h)
c.font = Font(name="Arial", size=11, bold=True, color=WHITE)
c.fill = PatternFill("solid", fgColor=NAVY)
c.alignment = cwrap
c.border = border
ws.row_dimensions[2].height = 30
# Column widths
for i, w in enumerate(col_widths, 1):
ws.column_dimensions[get_column_letter(i)].width = w
# rows = list of (rc_label, what_went_wrong, how_it_went_wrong, what_could_have_stopped)
rows = [] # populated from analysis
for r, (rc, ww, hw, stop) in enumerate(rows, start=3):
data = [rc, ww, hw, stop, "☐ Yes / ☐ No / ☐ Partial", ""]
max_lines = 1
for i, val in enumerate(data, 1):
c = ws.cell(row=r, column=i, value=val)
c.border = border
c.font = Font(name="Arial", size=10, bold=(i == 1),
color=NAVY if i == 1 else INK)
c.fill = PatternFill("solid", fgColor=LIGHT if i == 1 else WHITE)
c.alignment = cwrap if i == 5 else wrap
if val and i < 5:
lines = math.ceil(len(str(val)) / col_widths[i-1]) + str(val).count('\n')
max_lines = max(max_lines, lines)
ws.row_dimensions[r].height = max(60, max_lines * 15)
wb.save("/mnt/user-data/outputs/[Filename].xlsx")
print("Done.")Call present_files with the output path. One line of context is enough (e.g., "Four root causes for the FTI case — ready to download.").
RC[N]: [Short Title] formatRoot Causes of Apparent Violations — [Subject] ([Regulator], [Date])/mnt/user-data/outputs/ and presented via present_files© lawve-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files in skills/enforcement-action-analysis-amir-fadavi of lawve-ai/awesome-legal-skills.
Open the folder on GitHubat commit 045f738
Enforcement Action Analysis Amir Fadavi next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Enforcement Action Analysis Amir Fadavi this skilllawve-ai/awesome-legal-skills | 847 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Excel Variance Analyzerjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~536 | Automated safety check: Pass | MIT | |
| Forge Codegen Crudyaomindong1996/forge-admin | 127 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| MCP Gatewaytmustier/pi-for-excel | 434 | — | ~241 | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 781 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Data Table Managern8n-io/n8n | 207k | — | ~2.3k | Automated safety check: Pass | Custom licence |
jeremylongshore/tons-of-skills-marketplace
Analyze budget vs actual variances in Excel with drill-down and root cause analysis.
yaomindong1996/forge-admin
Generate or review Forge project code-generation output for CRUD modules.
tmustier/pi-for-excel
Discover and call tools from configured MCP servers. An agent skill from tmustier/pi-for-excel.
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
n8n-io/n8n
Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.
pipeshub-ai/pipeshub-ai
Creates and edits .xlsx workbooks with real Excel formulas rather than hardcoded computed values, defaulting to exceljs in TypeScript with a static formula-safety check.
lawve-ai/awesome-legal-skills
U.S. An agent skill from lawve-ai/awesome-legal-skills.
lawve-ai/awesome-legal-skills
Practitioner skill for advising on EU Regulation 2023/2854 (Data Act).
lawve-ai/awesome-legal-skills
Calendar litigation and arbitration deadlines from a scheduling order.
lawve-ai/awesome-legal-skills
Read, search, and download emails and attachments from Microsoft Outlook via OAuth2.
lawve-ai/awesome-legal-skills
Turn an interpretive-ambiguity audit of a legal text — contract, statute, regulation, or judicial opinion — into a polished deliverable.
lawve-ai/awesome-legal-skills
Audits a website for compliance with Azerbaijan's Law on Personal Data No.
Works with
Categories
Analyze any OFAC or OFSI enforcement action — by URL, pasted text, or uploaded document — and produce a structured root cause analysis as a formatted Excel (.xlsx) spreadsheet. Enforcement Action Analysis Amir Fadavi is an agent skill from lawve-ai/awesome-legal-skills.xlsx) spreadsheet.
Enforcement Action Analysis Amir Fadavi fits situations like: uploads an OFAC; OFSI enforcement action and asks for any of the following: root cause analysis; compliance gaps; what went wrong.
Run `npx skills add lawve-ai/awesome-legal-skills --skill enforcement-action-analysis-amir-fadavi -a claude-code`. Or copy the skill folder (skills/enforcement-action-analysis-amir-fadavi in lawve-ai/awesome-legal-skills) into .claude/skills/enforcement-action-analysis-amir-fadavi in your project. Claude Code loads it when a task matches its description.
Run `npx skills add lawve-ai/awesome-legal-skills --skill enforcement-action-analysis-amir-fadavi -a codex`. Or copy the skill folder (skills/enforcement-action-analysis-amir-fadavi in lawve-ai/awesome-legal-skills) into .agents/skills/enforcement-action-analysis-amir-fadavi in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add lawve-ai/awesome-legal-skills --skill enforcement-action-analysis-amir-fadavi -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/enforcement-action-analysis-amir-fadavi, .gemini/skills/enforcement-action-analysis-amir-fadavi, .github/skills/enforcement-action-analysis-amir-fadavi and .opencode/skills/enforcement-action-analysis-amir-fadavi in your project.
SKILL.md names no scripts, command-line tools or credentials: Enforcement Action Analysis Amir Fadavi is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Enforcement Action Analysis Amir Fadavi is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Enforcement Action Analysis Amir Fadavi: Excel Variance Analyzer (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Forge Codegen Crud (yaomindong1996/forge-admin, 127 stars), MCP Gateway (tmustier/pi-for-excel, 434 stars) and Markitdown (ImCa0/just-laws, 781 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
lawve-ai (a GitHub organization) maintains it in lawve-ai/awesome-legal-skills, which has 847 GitHub stars. The repository holds 154 skills in this directory. The repository was last updated on October 2, 2026.
Source: lawve-ai/awesome-legal-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.