Nda triage
Skill event4u-app/agent-config/dist/agent-src/skills/nda-triage
Use when triaging an inbound NDA fast — GREEN/YELLOW/RED so only the hard ones reach a lawyer. Triggers on 'check this NDA', 'can we sign this NDA', 'is this NDA standard'.From its SKILL.md
npx -y skills add event4u-app/agent-config --skill nda-triageAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.8 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
nda-triage
When to use
- An inbound NDA lands and the question is which bucket — standard, needs-counsel, or full-review — so only the hard ones reach a lawyer's desk.
- A counterparty sends "our standard NDA" and someone needs a fast read before scheduling counsel time.
- A volume of NDAs needs first-pass sorting; triage is the throttle that protects attorney bandwidth.
Do NOT redline here (route to contract-review), and do NOT treat a triage signal as clearance — see legal-safety-floor. If the document is really a data-processing agreement, route to dpa-review.
Procedure
Step 0: Establish jurisdiction + thresholds (no defaults)
- Read the governing-law clause. If it is not EU or DE, STOP — hard refusal: "This pack covers EU/DE law only. Consult licensed local counsel for this jurisdiction." Never guess for out-of-scope law.
- Read the triage thresholds from
legal-practice-profile(mutual-vs-one-way stance, max term length, required carve-outs, governing-law allow-list, indemnity/penalty caps). This skill ships NO default NDA positions — they vary too much. Until the profile is configured, use[configure]placeholders in the verdict and flag every unset threshold. - Tag the output with
Jurisdiction: EUorJurisdiction: DE.
Step 1: Triage to GREEN / YELLOW / RED
Score the NDA against the profile thresholds, not against memory:
- GREEN — standard-approve — mutual/one-way matches stance, term within
[configure]max, all required carve-outs present, governing law on the allow-list, no penalty/liquidated-damages clause. Standard shape only. - YELLOW — counsel review — one or two threshold deviations (longer term, missing a carve-out, one-way where mutual expected, broad definition of confidential info). A lawyer reads it; not a full review.
- RED — full review — penalty/indemnity clauses, IP-assignment riding inside the NDA, perpetual/unbounded term, governing law on the edge of scope, non-standard structure. Full attorney review before any signing conversation.
A non-lawyer cannot define what RED is — the profile + this rubric do.
Step 2: GREEN × non-lawyer → attorney gate (load-bearing)
If the verdict is GREEN and the practice-profile role is non-lawyer, the skill never self-approves signing. It MUST:
- STOP — do not advance to "you may sign".
- Emit
attorney-brief.md— a one-page brief (counterparty, term, mutual/one-way, carve-outs present/absent, why it scored GREEN, the thresholds checked). - Refuse to proceed without an explicit yes from a licensed attorney. A non-lawyer GREEN is a triage signal, never a clearance.
For a lawyer role, GREEN still emits the verdict but the attorney is the gate.
Step 3: Emit the triage verdict
Produce triage-verdict.md carrying the Jurisdiction: tag, the bucket, the deviations found, the route, and the mandatory work-product line. Route per bucket: YELLOW/RED → contract-review for redlines. Never issue a final legal call (legal-safety-floor).
Related Skills
WHEN to use this
- The task is a fast first-pass sort of an inbound NDA into approve / counsel / full-review.
- The goal is to protect attorney bandwidth by filtering the easy ones.
WHEN NOT to use this
- Redlining or clause-by-clause negotiation — route to
contract-review. - The document is a data-processing agreement (Art. 28 / controller-processor) — route to
dpa-review. - General contract risk reading (MSA / SOW) — route to
contracts-cognition.
When the agent should load this
- "Kannst Du diese NDA kurz prüfen?"
- "Ist diese Geheimhaltungsvereinbarung Standard oder müssen wir die anwaltlich prüfen lassen?"
Output
triage-verdict.md—Jurisdiction:tag, GREEN/YELLOW/RED bucket, threshold deviations found, route (contract-review / dpa-review), and the mandatory work-product line.attorney-brief.md(GREEN × non-lawyer, mandatory) — one-page brief: counterparty, term, mutual/one-way, carve-outs, why GREEN, thresholds checked; ends pending an explicit attorney yes.
Every output carries:
> ⚠️ Attorney review required on material use. This is a draft for a licensed attorney, not legal advice and not a legal conclusion.
Gotcha
- A GREEN for a non-lawyer is not permission to sign — it routes into the attorney gate (Step 2). Self-approving signing is the canonical failure this skill exists to prevent.
- Shipping a default term length / carve-out set is wrong: NDA norms vary by counterparty, sector, and house style. Read
legal-practice-profile; use[configure]until set. - Out-of-scope governing law is a hard refusal, not a best-effort guess — a stale read for a jurisdiction the pack doesn't cover is worse than none.
- A penalty / liquidated-damages clause or IP-assignment hidden inside an NDA is RED regardless of how "standard" the rest looks.
- A missing
Jurisdiction:tag or work-product line fails the legal disclaimer/jurisdiction linters — never drop either.
Do NOT
- Do NOT self-approve a GREEN NDA for a non-lawyer; emit the attorney brief and wait for an explicit yes.
- Do NOT apply a default NDA position; read thresholds from
legal-practice-profileor mark[configure]. - Do NOT triage an out-of-scope (non-EU/DE) NDA; refuse and route to local counsel.
- Do NOT redline — route depth to
contract-review. - Do NOT issue a final legal conclusion (
legal-safety-floor).
Runnable example
Inbound mutual NDA, non-lawyer (ops) role, profile configured.
- Step 0 — governing law =
DE(in scope). Thresholds loaded: mutual expected, max term 3y, carve-outs {independently-developed, publicly-known} required, no penalty clause. TagJurisdiction: DE. - Step 1 — mutual ✓, term 2y ✓, both carve-outs present ✓, no penalty clause ✓ → GREEN.
- Step 2 — role is non-lawyer → attorney gate fires. Emit
attorney-brief.md(counterparty, 2y mutual, carve-outs present, scored GREEN against the 3y/mutual/no-penalty thresholds). Refuse to advance to "you may sign" without an explicit attorney yes. - Step 3 —
triage-verdict.md:Jurisdiction: DE, bucket GREEN, no deviations, route = attorney gate (not contract-review), plus the work-product line.
What ships with it: 1 file
1.2 KB alongside SKILL.md
evals/
- triggers.json1.2 KB