borghei/nda-triage
> Rapid NDA screening with GREEN/YELLOW/RED classification. 10-point checklist for incoming NDAs. Use when triaging NDAs, screening non-disclosure agreements, or routing NDAs for approval.
npx skills add https://github.com/borghei/Claude-Skills --skill nda-triage
> ⚠️ EXPERIMENTAL — This skill is provided for educational and informational purposes only. It does NOT constitute legal advice. All responsibility for usage rests with the user. Consult qualified legal professionals before acting on any output.
Rapid NDA screening tool that classifies incoming NDAs as GREEN (standard approval), YELLOW (counsel review), or RED (significant issues). Uses a 10-point screening checklist to evaluate agreement structure, definitions, obligations, carveouts, and problematic provisions.
Before triaging the NDA, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the output.
Scans NDA text for red flags and outputs GREEN/YELLOW/RED classification with reasoning.
# Screen an NDA file
python scripts/nda_screener.py nda_draft.txt
# JSON output for integration
python scripts/nda_screener.py incoming_nda.md --json
# Save screening results
python scripts/nda_screener.py nda_draft.txt --output screening.json --json
What it detects:
Classification Rules:
| Level | Criteria | Routing |
|-------|----------|---------|
| GREEN | All 5 carveouts present, no problematic provisions, standard structure | Business approver; no counsel needed |
| YELLOW | 1-2 missing carveouts, minor problematic provisions, or non-standard terms | Legal counsel review within 48 hours |
| RED | 3+ missing carveouts, non-compete/non-solicitation, IP assignment, perpetual term with no exit | Senior counsel review; do not sign |
Generates a compliance checklist for an NDA, checking all 10 screening criteria with pass/fail status.
# Generate checklist for an NDA
python scripts/nda_checklist.py nda_draft.txt
# JSON output
python scripts/nda_checklist.py nda_draft.txt --json
# Save checklist
python scripts/nda_checklist.py nda_draft.txt --output checklist.json --json
10-Point Screening Criteria:
| # | Criterion | What It Checks |
|---|-----------|---------------|
| 1 | Agreement Structure | Mutual vs. one-way; parties identified; purpose stated |
| 2 | Definition of Confidential Info | Scope, specificity, marking requirements |
| 3 | Obligations | Standard of care, use restrictions, disclosure limits |
| 4 | Standard Carveouts | 5 required: public knowledge, prior possession, independent development, third-party receipt, legal compulsion |
| 5 | Permitted Disclosures | Representatives, advisors, affiliates with need-to-know |
| 6 | Term & Duration | Reasonable term, survival period, obligations after expiry |
| 7 | Return/Destruction | Obligation to return or destroy upon request/termination |
| 8 | Remedies | Injunctive relief, damages, indemnification scope |
| 9 | Problematic Provisions | Non-solicitation, non-compete, exclusivity, residuals, IP assignment, audit rights |
| 10 | Governing Law | Jurisdiction, dispute resolution mechanism |
references/nda_screening_criteria.md
Complete evaluation reference covering:
.txt or .md filenda_screener.py for quick RED/YELLOW/GREEN classificationnda_checklist.py for detailed 10-point evaluation# Screen multiple NDAs
for nda in ndas/*.txt; do
echo "=== $nda ==="
python scripts/nda_screener.py "$nda"
echo ""
done
# Generate JSON report for all NDAs
for nda in ndas/*.txt; do
python scripts/nda_screener.py "$nda" --json --output "results/$(basename $nda .txt).json"
done
| Classification | Approver | Timeline | Escalation |
|---------------|----------|----------|------------|
| GREEN | Business owner or designated approver | Same day; sign within 24 hours | None required |
| YELLOW | Legal counsel review | 48-hour turnaround | Escalate to senior counsel if no response in 72 hours |
| RED | Senior legal counsel | 5 business day turnaround | Escalate to General Counsel if deal-critical |
All of the following must be true for GREEN classification:
Any one of the following triggers RED classification:
| Problem | Cause | Solution |
|---------|-------|----------|
| Screener classifies everything as YELLOW | NDA uses non-standard formatting that breaks pattern matching | Ensure NDA is clean plain text; remove PDF artifacts and headers/footers |
| Missing carveouts false positive | Carveouts are present but use unusual language | Review the full "Exceptions" or "Exclusions" section manually; the screener checks common phrasings |
| Non-compete not detected | Non-compete is embedded in definitions or obligations section rather than standalone | Search the full document for "compete", "competitive", "restrict" manually |
| Checklist shows PASS but screener shows RED | Checklist evaluates presence; screener evaluates content quality | Use both tools together; the screener's RED overrides checklist PASS |
| Script errors on large files | NDA text exceeds expected size (>100KB) | Ensure the file contains only the NDA text, not appendices or exhibits |
Covers:
Does NOT cover:
nda-review for deep clause analysis and redline generation| Anti-Pattern | Why It Fails | Better Approach |
|-------------|-------------|-----------------|
| Signing GREEN-classified NDAs without any human review | Automated screening cannot catch business-context risks (e.g., NDA with a direct competitor) | GREEN classification means low legal risk, not zero risk; business approver must still review |
| Using triage as a substitute for deep NDA review on complex deals | Triage checks structure and red flags, not clause quality or negotiation position | Run nda-review skill for M&A, joint venture, or high-value partnership NDAs |
| Ignoring YELLOW classifications because "it's just an NDA" | YELLOW items like missing carveouts or residuals clauses create real legal exposure | Route all YELLOW NDAs to counsel; missing independent development carveout alone can cost millions |
| Treating all NDAs as equal regardless of counterparty relationship | NDA with a startup partner requires different scrutiny than NDA with a Fortune 500 vendor | Adjust review depth based on counterparty, deal value, and information sensitivity |
Purpose: Scans NDA text for red flags and problematic provisions. Outputs GREEN/YELLOW/RED classification with detailed reasoning.
Usage:
python scripts/nda_screener.py <nda_file> [--json] [--output FILE]
Flags:
| Flag | Short | Default | Description |
|------|-------|---------|-------------|
| nda_file | *(positional)* | | Path to NDA text file (.txt or .md) |
| --json | | off | Output in JSON format |
| --output | -o | *(stdout)* | Write output to file |
Example Output (JSON):
{
"file": "vendor_nda.txt",
"classification": "YELLOW",
"red_flags": [
{
"id": "missing_carveout_independent_development",
"severity": "YELLOW",
"description": "Missing independent development carveout",
"recommendation": "Add standard independent development exception"
}
],
"carveouts": {
"public_knowledge": true,
"prior_possession": true,
"independent_development": false,
"third_party_receipt": true,
"legal_compulsion": true
},
"summary": "1 missing carveout; no critical issues. Route to counsel for review."
}
Purpose: Generates a 10-point compliance checklist for an NDA, evaluating each screening criterion as PASS/FAIL with notes.
Usage:
python scripts/nda_checklist.py <nda_file> [--json] [--output FILE]
Flags:
| Flag | Short | Default | Description |
|------|-------|---------|-------------|
| nda_file | *(positional)* | | Path to NDA text file (.txt or .md) |
| --json | | off | Output in JSON format |
| --output | -o | *(stdout)* | Write output to file |
Example Output:
NDA COMPLIANCE CHECKLIST
========================
File: vendor_nda.txt
Overall: YELLOW (8/10 PASS)
# Criterion Status Notes
1 Agreement Structure PASS Mutual NDA; both parties identified
2 Definition of Confidential PASS Reasonably scoped with marking requirement
3 Obligations PASS Standard of care; use restrictions present
4 Standard Carveouts FAIL Missing: independent development
5 Permitted Disclosures PASS Representatives and advisors covered
6 Term & Duration PASS 3-year term with 2-year survival
7 Return/Destruction PASS Return or destroy within 30 days
8 Remedies PASS Injunctive relief; no liquidated damages
9 Problematic Provisions FAIL Residuals clause detected
10 Governing Law PASS Delaware law; state courts
Take borghei/nda-triage from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.