conflicts-check
Run a NY/NJ RPC conflicts check for a solo or small-firm practice against the firm's conflicts-check workbook whenever a new prospective client, vendor…
Skill by bstevescherer
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/bstevescherer-conflicts-check
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/conflicts-check
What's inside
- Skill name
conflicts-check- Description
- Run a NY/NJ RPC conflicts check for a solo or small-firm practice against the firm's conflicts-check workbook whenever a new prospective client, vendor engagement, direct client, fixed-fee package sale, subcontract end-client matter, or new adverse party on an existing matter appears. Trigger on any phrasing like "run a conflicts check on X", "can I take on X", "new client X — check conflicts", "X wants to engage me", "does X conflict", or whenever the user describes a new engagement opportunity and the conflicts workbook is available — even if they don't say the word "conflict". Produces a RED/YELLOW/GREEN read, the rule analysis (1.7 / 1.9 / 1.18 / personal interests), and a ready-to-log Conflict Checks Log row.
- License
- MIT
- Instructions
- 87 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (4)
- SKILL.md
- analysis_patterns.md · references/
- name_sweep.py · scripts/
- skill.yml
SKILL.md (first lines)
# Conflicts Check
Runs a two-tier conflicts check against the firm's conflicts-check workbook. The workbook is the NY RPC 1.10(e) written system of record; this skill is the check protocol run against it. **The script finds names; the lawyer-grade analysis is yours to write.** A clean sweep is never phrased as legal clearance — it is "no hits in the written system."
## Expected workbook structure
The skill assumes a workbook with tabs along these lines. Adapt the tab names to whatever the firm actually uses:
| Tab | Contents |
|---|---|
| Client-Matter Register | Every engagement: client, matter, dates, status |
| Parties Index | Clients, corporate families, principals, and end clients — with alias rows |
| Counterparty Log(s) | Parties negotiated *against* on client matters (one tab per major client, or one combined) |
| Prospects Log | Prospective clients where confidential info may have been received (1.18) |
| Personal Interests | Prior employers, equity holdings, close professional networks |
| Conflict Checks Log | Running record of every check run |
| Waivers Log | Executed conflict waivers with document references |
## Step 0 — Get the workbook (required input, ask if missing)
The expected flow is that the user attaches the current conflicts-check workbook with the request (e.g., "run conflicts on Acme Robotics" + attached file). Check `/mnt/user-data/uploads/` and files shared in this conversation for it.
**If no workbook is attached: STOP before doing anything else — no name assembly, no web search, no analysis — and ask for it in one short message**, e.g.: "Attach the current conflicts-check workbook and I'll run the check on Acme Robotics." Then wait. When the file arrives in the next message, run the full check without re-asking for the prospect details already given.
Never run a check against a stale copy, an older version from a prior session, or a reconstructed-from-memory version — the whole point of the written system under NY RPC 1.10(e) is that memory doesn't count. If multiple versions are present in the conversation, use the most recently uploaded one and say which one you used.
## Step 1 — Assemble the name set (before searching)
A check is only as good as the names swept. From the user's description, build the list:
1. **The prospect entity** — exact legal name if given, plus any trade names / dbas mentioned.
2. **Principals** — founders, named individuals.
3. **Corporate family** — parent, known affiliates. If the prospect is a company of any size and the family isn't stated, do ONE quick web search ("<company> parent company subsidiaries") to identify parents/affiliates before sweeping. Log what you searched.
4. **Adverse parties on the prospective matter** — who is on the other side of the paper for the work being proposed (counterparties, opposing parties, target vendors). If the user hasn't said what the matter is, ask — the matter description drives the "substantially related" analysis and the adverse-party list.
5. **Subcontract structures** (any engagement where a law firm is the client of record): the conflict surface is the END CLIENT and the end client's counterparties, not just the firm. Get those names.
## Step 2 — Run the deterministic sweep
```bash
python scripts/name_sweep.py <workbook.xlsx> "Name One" "Name Two" ...
```
The script sweeps every cell of every tab (including Notes columns, where end-client counterparties live), normalizes case/punctuation/entity suffixes, and reports EXACT / SUBSTRING / PARTIAL hits with full row context as JSON.
Data quirks to respect:
- **Aliases are real rows** in the Parties Index (an abbreviation, a ticker, a US-subsidiary shorthand, a d/b/a). A hit on any alias is a hit on the client. Aliases only work if someone maintained them — if a client is known internally by an acronym and no alias row exists, flag that gap.
- **Category placeholder rows** ("HVAC vendors — log each", "misc. SaaS vendors") don't search. If the sweep relies on a category row rather than a named party, flag the gap to the user.
- **PARTIAL hits need human eyes** — report them as "possible, verify" rather than silently promoting or dropping them.
## Step 3 — Two-tier analysis of every hit
**Tier 1 — client-level hits** (Client-Matter Register, Parties Index client/family/principal rows, Prospects Log, Personal Interests):
- Prospect IS a current client / affiliate → new-matter check, usually clean, note it.
- Prospect or its family is ADVERSE to a current client → RPC 1.7(a)(1) direct adversity or 1.7(a)(2) material limitation. Waivable only with informed consent confirmed in writing from each affected client + reasonable belief of competent/diligent representation for all. Same-litigation opposing parties: never waivable.
- Hit on a FORMER client (including end clients that arrived through a firm subcontract and are tagged as such in the Parties Index) → RPC 1.9: is the new matter the SAME or SUBSTANTIALLY RELATED, and would it be adverse? Substantially related = same transaction, or old confidences would materially advance the new client's position.
- Hit in Prospects Log → RPC 1.18: was confidential info received, and could it be significantly harmful in this matter?
- Hit in Personal Interests (prior employers, professional networks, equity) → 1.7(a)(2) personal-interest analysis; equity-for-fees triggers 1.8(a).
**Tier 2 — counterparty-level hits** (Counterparty Logs, counterparty names inside Notes):
A tier-2 hit is NEVER automatic disqualification — these parties were negotiated against; they are not clients. It triggers analysis:
- Would representing the prospect mean working on/against paper the user negotiated for a current client (confidential playbook positions)?
- Would it foreclose future client work on that vendor (pre-committed carve-out)?
- Is a live negotiation, renewal, or dispute with that counterparty foreseeable?
Scope splits the answer: internal-only governance work for a former counterparty is much cleaner than anything touching the commercial paper the user marked up. See the counterparty-becomes-prospect pattern in `references/analysis_patterns.md` — read it whenever a tier-2 hit involves a major client's counterparty.
## Step 4 — Deliver the read
Output in this order (RED/YELLOW/GREEN, conclusions front-loaded, concise):
1. **Verdict line**: GREEN (no hits / clean analysis — proceed), YELLOW (hits requiring analysis or waiver — here's the path), RED (decline or carve out scope).
2. **Hits table**: name → tab/row → rule implicated → one-line analysis.
3. **The judgment calls**: material-limitation and substantially-related determinations are fact-specific. For genuinely close calls, recommend the NYSBA or NJ ethics hotline before papering anything.
4. **Ready-to-log row** for the Conflict Checks Log, matching its columns exactly:
`Check Date | Prospective Client/Matter | Names Searched | Hits Found | Rule(s) Implicated | Analysis | Outcome | Waiver Ref | Checked By`
Date format YYYY.MM.DD. Outcome values: `Clear — proceed` / `Waivable — consent obtained` / `Waivable — consent pending` / `Declined`. Offer to append it to the workbook directly (openpyxl, preserve formatting and font) and return the updated file.
5. **If a waiver is the path**: draft the informed-consent talking points and remind that consent must be CONFIRMED IN WRITING and logged in the Waivers Log with a document reference.
## Boundaries
- Never phrase a clean sweep as "no conflict exists" — phrase as "no hits in the written system; based on the recorded engagements, I see no conflict under 1.7/1.9/1.18."
- Never transcribe client confidences into the check output — category level only, matching the workbook's own discipline.
- Rule citations here are NY and NJ. If the practice is admitted elsewhere, re-check the local numbering and any imputation/screening differences before relying on this.
- This data is confidential attorney work product. No retention, no training.
- The check must be logged BEFORE the engagement letter goes out — if the user is about to send an EL without logging, say so.From bstevescherer/heycounsel-community, MIT.
More from bstevescherer/heycounsel-community
- 0.572score
employment-law-dashboard
bstevescherer
Build a single-file HTML dashboard for any area of US employment law, modeled after the AI Employment Laws Dashboard.
SkillCFreshness: C★ 43Claude Code +9 - 0.567score
heycounsel-practice-coach
bstevescherer
Acts as a business coach for a HeyCounsel member's law practice, grounded in their own HeyCounsel data and the community's collective experience.
SkillCFreshness: C★ 43Claude Code +9 - 0.567score
template-synthesizer
bstevescherer
Guides the full lifecycle of drafting any commercial contract — from context elicitation and model document synthesis through outline approval and final Word…
SkillCFreshness: C★ 43Claude Code +9 - 0.567score
word-contract-formatting
bstevescherer
Apply Darwin Legal formatting conventions when drafting or generating any contract, agreement, amendment, or legal document as a Word (.docx) file.
SkillCFreshness: C★ 43Claude Code +9 - 0.559score
formation-counsel
bstevescherer
Attorney-facing skill for US and Canadian startup formation work.
SkillCFreshness: C★ 43Claude Code +9 - 0.554score
hc-firm-site:build
bstevescherer
Build a complete law firm website in Claude Code — one command, four phases, no coding background required.
SkillCFreshness: C★ 43Claude Code +9 - 0.503score
matter-journal
bstevescherer
Manages client matter journals — persistent case files that give Claude full context on every client and matter.
SkillDFreshness: D★ 43Claude Code +9 - 0.503score
tx-title-analysis
bstevescherer
Texas title examination for residential and commercial real estate.
SkillDFreshness: D★ 43Claude Code +9 - 0.498score
redline-emailer
bstevescherer
Translates contract redlines into client-ready or opposing-counsel emails.
SkillDFreshness: D★ 43Claude Code +9 - 0.498score
your-skill-name
bstevescherer
Brief description of what this skill does.
SkillDFreshness: D★ 43Claude Code +9
Signals
- Stars
- 43
- Forks
- 6
- Open issues
- 0
- Last commit (this folder)
- Jul 30, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Website
- heycounsel.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from bstevescherer
- 0.572score
employment-law-dashboard
bstevescherer
Build a single-file HTML dashboard for any area of US employment law, modeled after the AI Employment Laws Dashboard.
SkillCFreshness: C★ 43Claude Code +9 - 0.567score
heycounsel-practice-coach
bstevescherer
Acts as a business coach for a HeyCounsel member's law practice, grounded in their own HeyCounsel data and the community's collective experience.
SkillCFreshness: C★ 43Claude Code +9 - 0.567score
template-synthesizer
bstevescherer
Guides the full lifecycle of drafting any commercial contract — from context elicitation and model document synthesis through outline approval and final Word…
SkillCFreshness: C★ 43Claude Code +9 - 0.567score
word-contract-formatting
bstevescherer
Apply Darwin Legal formatting conventions when drafting or generating any contract, agreement, amendment, or legal document as a Word (.docx) file.
SkillCFreshness: C★ 43Claude Code +9 - 0.559score
formation-counsel
bstevescherer
Attorney-facing skill for US and Canadian startup formation work.
SkillCFreshness: C★ 43Claude Code +9 - 0.554score
hc-firm-site:build
bstevescherer
Build a complete law firm website in Claude Code — one command, four phases, no coding background required.
SkillCFreshness: C★ 43Claude Code +9
Cite this page
conflicts-check skill. Agent Mart. https://agentmart.dev/skills/bstevescherer-conflicts-check (last updated 2026-10-24)