Skip to main content سوق المهارات اكتشف واستكشف مهارات الذكاء الاصطناعي التي بناها المجتمع.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
نسخ Promptعرض تفاصيل Prompt يتجاوز الأمر المباشر Prompt المخصّص للمراجعة. افحص المصدر قبل تشغيله.
npx skills add https://github.com/ThomasMoreAI/legal-skills-open --skill extract-nda-and-generate-checklistيبقى الأمر في سطر واحد. مرّر أفقيًا لمراجعته كاملًا قبل النسخ.
تفضّل نسخة محلية؟ نزّل الملفات المتاحة حاليًا لدى SkillsMP.
تحميل Zip جاري التحميل... المزيد من هذا المستودع fetching-arbitration-rules Use when retrieving arbitration institutional rules (ICC, LCIA, SCC, SIAC, HKIAC, VIAC, МКАС/МАК при ТПП України, UNCITRAL) — fetching current version, verifying redaction applicable to the date of arbitration agreement, constructing URLs for official rule texts
determining-pl-request-regime Use when choosing the Polish legal regime for letters, requests, applications, complaints, petitions, public-information requests, KPA filings, PPSA complaints, RODO access requests, registry extracts, court-file access, tax/ZUS/cudzoziemcy/USC procedures, or professional lawyer letters. Prevents mixing UDIP, KPA, PPSA, RODO, registry, special-procedure, and advocate/radca letter regimes.
applying-new-york-convention Use when preparing applications for recognition and enforcement of foreign arbitral awards in Poland, applications for setting aside arbitral awards under KPC art. 1205–1211, or opposing such applications — mapping Article V of the 1958 New York Convention to art. 1214–1215 of the Polish KPC, identifying grounds for refusal, structuring public policy arguments
المهن ذات الصلة SOC
استنادا إلى تصنيف SOC المهني
name extract-nda-and-generate-checklist title Extract NDA Terms and Generate a Compliance Checklist description Extract key terms from a non-disclosure agreement, then generate a compliance checklist spreadsheet tracking obligations and deadlines. author iterationlayer author_url https://github.com/iterationlayer/skills/tree/main/skills/extract-nda-and-generate-checklist license MIT version 0.1.0 execution_mode open jurisdiction general practice contracts language en
Extract NDA Terms and Generate a Compliance Checklist
Legal agencies managing NDAs across multiple clients use this pipeline to extract key confidentiality terms and generate standardized compliance checklists — tracking obligation scope, duration, permitted disclosures, and return-of-materials deadlines.
APIs Used
Document Extraction (1 credit per page), Sheet Generation (2 credits/request)
Prerequisites
You need an Iteration Layer API key. Get one at platform.iterationlayer.com — free trial credits included, no credit card required.
For full integration guidance (SDKs, auth, MCP, error handling), see the Iteration Layer Integration Guide .
Implementation
EXTRACTION=$(curl -s -X POST https://api.iterationlayer.com/document-extraction/v1/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"files": [
{
"type": "url",
"name": "nda-vanguard-tech.pdf",
"url": "https://example.com/legal/nda-vanguard-tech-2026.pdf"
}
],
"schema": {
"fields": [
{
"name": "disclosing_party",
"type": "TEXT",
"description": "Name of the disclosing party"
},
{
"name": "receiving_party",
"type": "TEXT",
"description": "Name of the receiving party"
},
{
"name": "effective_date",
"type": "DATE",
"description": "NDA effective date"
},
{
"name": "confidentiality_duration",
"type": "TEXT",
"description": "Duration of confidentiality obligations"
},
{
"name": "scope_of_confidential_info",
"type": "TEXTAREA",
"description": "Definition and scope of confidential information"
},
{
"name": "permitted_disclosures",
"type": "TEXTAREA",
"description": "Exceptions or permitted disclosures"
},
{
"name": "return_of_materials",
"type": "TEXTAREA",
"description": "Obligations to return or destroy materials"
},
{
"name": "non_solicitation",
"type": "BOOLEAN",
"description": "Whether the NDA includes a non-solicitation clause"
},
{
"name": "governing_law",
"type": "TEXT",
"description": "Governing law and jurisdiction"
},
{
"name": "breach_remedies",
"type": "TEXTAREA",
"description": "Remedies available in case of breach"
}
]
}
}' )
curl -X POST https://api.iterationlayer.com/sheet-generation/v1/generate \
-H \
-H \
-d
"Authorization: Bearer YOUR_API_KEY"
"Content-Type: application/json"
'{
"format": "xlsx",
"sheets": [
{
"name": "NDA Compliance Checklist",
"columns": [
{
"name": "Obligation",
"width": 35
},
{
"name": "Details",
"width": 50
},
{
"name": "Status",
"width": 15
},
{
"name": "Due Date",
"width": 15
},
{
"name": "Notes",
"width": 30
}
],
"rows": [
[
{
"value": "Confidentiality scope acknowledged"
},
{
"value": "All technical specifications, business plans, and customer data shared by Vanguard Technologies are covered."
},
{
"value": "Pending"
},
{
"value": "2026-04-15",
"format": "date"
},
{
"value": "Brief internal team on scope"
}
],
[
{
"value": "Permitted disclosure carve-outs documented"
},
{
"value": "Court orders, regulatory requirements, and pre-existing public knowledge are excluded."
},
{
"value": "Pending"
},
{
"value": "2026-04-15",
"format": "date"
},
{
"value": ""
}
],
[
{
"value": "Confidentiality end date tracked"
},
{
"value": "Obligations remain in effect for 3 years from the effective date."
},
{
"value": "Pending"
},
{
"value": "2029-04-01",
"format": "date"
},
{
"value": "Calendar reminder set"
}
],
[
{
"value": "Return of materials process defined"
},
{
"value": "All materials must be returned or certified destroyed within 30 days of termination."
},
{
"value": "Pending"
},
{
"value": ""
},
{
"value": "Applies at termination"
}
],
[
{
"value": "Non-solicitation compliance"
},
{
"value": "No solicitation of disclosing party employees for 12 months."
},
{
"value": "Active"
},
{
"value": "2027-04-01",
"format": "date"
},
{
"value": ""
}
]
]
}
]
}'
import { IterationLayer } from "iterationlayer" ;
const client = new IterationLayer ({ apiKey : "YOUR_API_KEY" });
const extraction = await client.extractDocument ({
files : [{ type : "url" , name : "nda-vanguard-tech.pdf" , url : "https://example.com/legal/nda-vanguard-tech-2026.pdf" }],
schema : {
fields : [
{ name : "disclosing_party" , type : "TEXT" , description : "Name of the disclosing party" },
{ name : "receiving_party" , type : "TEXT" , description : "Name of the receiving party" },
{ name : "effective_date" , type : "DATE" , description : "NDA effective date" },
{ name : "confidentiality_duration" , type : "TEXT" , description : "Duration of confidentiality obligations" },
{ name : "scope_of_confidential_info" , type : "TEXTAREA" , description : "Definition and scope of confidential information" },
{ name : "permitted_disclosures" , type : "TEXTAREA" , description : "Exceptions or permitted disclosures" },
{ name : "return_of_materials" , type : "TEXTAREA" , description : "Obligations to return or destroy materials" },
{ name : "non_solicitation" , type : "BOOLEAN" , description : "Whether the NDA includes a non-solicitation clause" },
{ name : "governing_law" , type : "TEXT" , description : "Governing law and jurisdiction" },
{ name : "breach_remedies" , type : "TEXTAREA" , description : "Remedies available in case of breach" },
],
},
});
const scopeOfConfidentialInfo = String (extraction["scope_of_confidential_info" ].value );
const permittedDisclosures = String (extraction["permitted_disclosures" ].value );
const confidentialityDuration = String (extraction["confidentiality_duration" ].value );
const returnOfMaterials = String (extraction["return_of_materials" ].value );
const checklist = await client.generateSheet ({
format : "xlsx" ,
sheets : [
{
name : "NDA Compliance Checklist" ,
columns : [
{ name : "Obligation" , width : 35 },
{ name : "Details" , width : 50 },
{ name : "Status" , width : 15 },
{ name : "Due Date" , width : 15 },
{ name : "Notes" , width : 30 },
],
rows : [
[{ value : "Confidentiality scope acknowledged" }, { value : scopeOfConfidentialInfo }, { value : "Pending" }, { value : "" }, { value : "Brief internal team on scope" }],
[{ value : "Permitted disclosure carve-outs documented" }, { value : permittedDisclosures }, { value : "Pending" }, { value : "" }, { value : "" }],
[{ value : "Confidentiality end date tracked" }, { value : confidentialityDuration }, { value : "Pending" }, { value : "" }, { value : "Calendar reminder set" }],
[{ value : "Return of materials process defined" }, { value : returnOfMaterials }, { value : "Pending" }, { value : "" }, { value : "Applies at termination" }],
],
},
],
});
from iterationlayer import IterationLayer
client = IterationLayer(api_key="YOUR_API_KEY" )
extraction = client.extract_document(
files=[{"type" : "url" , "name" : "nda-vanguard-tech.pdf" , "url" : "https://example.com/legal/nda-vanguard-tech-2026.pdf" }],
schema={
"fields" : [
{"name" : "disclosing_party" , "type" : "TEXT" , "description" : "Name of the disclosing party" },
{"name" : "receiving_party" , "type" : "TEXT" , "description" : "Name of the receiving party" },
{"name" : "effective_date" , "type" : "DATE" , "description" : "NDA effective date" },
{"name" : "confidentiality_duration" , "type" : "TEXT" , "description" : "Duration of confidentiality obligations" },
{"name" : "scope_of_confidential_info" , "type" : "TEXTAREA" , "description" : "Definition and scope of confidential information" },
{"name" : "permitted_disclosures" , "type" : "TEXTAREA" , "description" : "Exceptions or permitted disclosures" },
{"name" : "return_of_materials" , "type" : "TEXTAREA" , "description" : "Obligations to return or destroy materials" },
{"name" : "non_solicitation" , "type" : "BOOLEAN" , "description" : "Whether the NDA includes a non-solicitation clause" },
{"name" : "governing_law" , "type" : "TEXT" , "description" : "Governing law and jurisdiction" },
{"name" : "breach_remedies" , "type" : "TEXTAREA" , "description" : "Remedies available in case of breach" },
]
},
)
scope_of_confidential_info = extraction["scope_of_confidential_info" ]["value" ]
permitted_disclosures = extraction["permitted_disclosures" ]["value" ]
confidentiality_duration = extraction["confidentiality_duration" ]["value" ]
return_of_materials = extraction["return_of_materials" ]["value" ]
checklist = client.generate_sheet(
format ="xlsx" ,
sheets=[
{
"name" : "NDA Compliance Checklist" ,
"columns" : [
{"name" : "Obligation" , "width" : 35 },
{"name" : "Details" , "width" : 50 },
{"name" : "Status" , "width" : 15 },
{"name" : "Due Date" , "width" : 15 },
{"name" : "Notes" , "width" : 30 },
],
"rows" : [
[{"value" : "Confidentiality scope acknowledged" }, {"value" : scope_of_confidential_info}, {"value" : "Pending" }, {"value" : "" }, {"value" : "Brief internal team on scope" }],
[{"value" : "Permitted disclosure carve-outs documented" }, {"value" : permitted_disclosures}, {"value" : "Pending" }, {"value" : "" }, {"value" : "" }],
[{"value" : "Confidentiality end date tracked" }, {"value" : confidentiality_duration}, {"value" : "Pending" }, {"value" : "" }, {"value" : "Calendar reminder set" }],
[{"value" : "Return of materials process defined" }, {"value" : return_of_materials}, {"value" : "Pending" }, {"value" : "" }, {"value" : "Applies at termination" }],
],
}
],
)
package main
import il "github.com/iterationlayer/sdk-go"
func main () {
client := il.NewClient("YOUR_API_KEY" )
result, err := client.ExtractDocument(il.ExtractDocumentRequest{
Files: []il.FileInput{
il.FileInput{
Type: "url" ,
Name: "nda-vanguard-tech.pdf" ,
Url: "https://example.com/legal/nda-vanguard-tech-2026.pdf" ,
},
},
Schema: il.ExtractionSchema{
Fields: []any{
il.TextFieldConfig{
Name: "disclosing_party" ,
Type: "TEXT" ,
Description: "Name of the disclosing party" ,
},
il.TextFieldConfig{
Name: "receiving_party" ,
Type: "TEXT" ,
Description: "Name of the receiving party" ,
},
il.DateFieldConfig{
Name: "effective_date" ,
Type: "DATE" ,
Description: "NDA effective date" ,
},
il.TextFieldConfig{
Name: "confidentiality_duration" ,
Type: "TEXT" ,
Description: "Duration of confidentiality obligations" ,
},
il.TextareaFieldConfig{
Name: "scope_of_confidential_info" ,
Type: "TEXTAREA" ,
Description: "Definition and scope of confidential information" ,
},
il.TextareaFieldConfig{
Name: "permitted_disclosures" ,
Type: "TEXTAREA" ,
Description: "Exceptions or permitted disclosures" ,
},
il.TextareaFieldConfig{
Name: "return_of_materials" ,
Type: "TEXTAREA" ,
Description: "Obligations to return or destroy materials" ,
},
il.BooleanFieldConfig{
Name: "non_solicitation" ,
Type: "BOOLEAN" ,
Description: "Whether the NDA includes a non-solicitation clause" ,
},
il.TextFieldConfig{
Name: "governing_law" ,
Type: "TEXT" ,
Description: "Governing law and jurisdiction" ,
},
il.TextareaFieldConfig{
Name: "breach_remedies" ,
Type: "TEXTAREA" ,
Description: "Remedies available in case of breach" ,
},
},
},
})
if err != nil {
panic (err)
}
_ = result
}
{
"name": "Extract NDA terms and generate compliance checklist in Iteration Layer",
"nodes": [
{
"parameters": {
"content": "## Extract NDA Terms and Generate a Compliance Checklist\n\nLegal agencies managing NDAs across multiple clients use this pipeline to extract key confidentiality terms and generate standardized compliance checklists.\n\n**Note:** This workflow uses the Iteration Layer community node (`n8n-nodes-iterationlayer`). Install it via Settings > Community Nodes on self-hosted n8n, or add it directly on n8n Cloud with Verified Community Nodes enabled.",
"height": 280,
"width": 500,
"color": 2
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [200, 40],
"id": "b4c5d6e7-f8a9-0123-bcde-123456789001",
"name": "Overview"
},
{
"parameters": {
"content": "### Step 1: Extract NDA Terms\nResource: **Document Extraction**\n\nConfigure the Document Extraction parameters below, then connect your credentials.",
"height": 160,
"width": 300,
"color": 6
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [475, 100],
"id": "b4c5d6e7-f8a9-0123-bcde-123456789002",
"name": "Step 1 Note"
},
{
"parameters": {
"content": "### Step 2: Generate Checklist\nResource: **Sheet Generation**\n\nConfigure the Sheet Generation parameters below, then connect your credentials.",
"height": 160,
"width": 300,
"color": 6
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [725, 100],
"id": "b4c5d6e7-f8a9-0123-bcde-123456789003",
"name": "Step 2 Note"
},
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [250, 300],
"id": "b4c5d6e7-f8a9-0123-bcde-123456789004",
"name": "Manual Trigger"
},
{
"parameters": {
"resource": "documentExtraction",
"schemaInputMode": "rawJson",
"schemaJson": "{\"fields\":[{\"name\":\"disclosing_party\",\"type\":\"TEXT\",\"description\":\"Disclosing party\"},{\"name\":\"receiving_party\",\"type\":\"TEXT\",\"description\":\"Receiving party\"},{\"name\":\"effective_date\",\"type\":\"DATE\",\"description\":\"NDA effective date\"},{\"name\":\"confidentiality_duration\",\"type\":\"TEXT\",\"description\":\"Duration of obligations\"},{\"name\":\"scope_of_confidential_info\",\"type\":\"TEXTAREA\",\"description\":\"Scope of confidential information\"},{\"name\":\"permitted_disclosures\",\"type\":\"TEXTAREA\",\"description\":\"Permitted disclosures\"},{\"name\":\"return_of_materials\",\"type\":\"TEXTAREA\",\"description\":\"Return of materials\"},{\"name\":\"non_solicitation\",\"type\":\"BOOLEAN\",\"description\":\"Non-solicitation clause\"},{\"name\":\"governing_law\",\"type\":\"TEXT\",\"description\":\"Governing law\"},{\"name\":\"breach_remedies\",\"type\":\"TEXTAREA\",\"description\":\"Breach remedies\"}]}",
"files": {
"fileValues": [
{
"fileInputMode": "url",
"fileName": "nda-vanguard-tech.pdf",
"fileUrl": "https://example.com/legal/nda-vanguard-tech-2026.pdf"
}
]
}
},
"type": "n8n-nodes-iterationlayer.iterationLayer",
"typeVersion": 1,
"position": [500, 300],
"id": "b4c5d6e7-f8a9-0123-bcde-123456789005",
"name": "Extract NDA Terms",
"credentials": {
"iterationLayerApi": {
"id": "1",
"name": "Iteration Layer API"
}
}
},
{
"parameters": {
"resource": "sheetGeneration",
"format": "xlsx",
"sheetsJson": "[{\"name\":\"NDA Compliance Checklist\",\"columns\":[{\"name\":\"Obligation\",\"width\":35},{\"name\":\"Details\",\"width\":50},{\"name\":\"Status\",\"width\":15},{\"name\":\"Due Date\",\"width\":15},{\"name\":\"Notes\",\"width\":30}],\"rows\":[[{\"value\":\"Confidentiality scope acknowledged\"},{\"value\":\"{{ $json.scope_of_confidential_info }}\"},{\"value\":\"Pending\"},{\"value\":\"\"},{\"value\":\"Brief team\"}],[{\"value\":\"Permitted disclosures documented\"},{\"value\":\"{{ $json.permitted_disclosures }}\"},{\"value\":\"Pending\"},{\"value\":\"\"},{\"value\":\"\"}],[{\"value\":\"Confidentiality end date tracked\"},{\"value\":\"{{ $json.confidentiality_duration }}\"},{\"value\":\"Pending\"},{\"value\":\"\"},{\"value\":\"Set calendar reminder\"}],[{\"value\":\"Return of materials process\"},{\"value\":\"{{ $json.return_of_materials }}\"},{\"value\":\"Pending\"},{\"value\":\"\"},{\"value\":\"At termination\"}]]}]"
},
"type": "n8n-nodes-iterationlayer.iterationLayer",
"typeVersion": 1,
"position": [750, 300],
"id": "b4c5d6e7-f8a9-0123-bcde-123456789006",
"name": "Generate Checklist",
"credentials": {
"iterationLayerApi": {
"id": "1",
"name": "Iteration Layer API"
}
}
}
],
"connections": {
"Manual Trigger": {
"main": [
[
{
"node": "Extract NDA Terms",
"type": "main",
"index": 0
}
]
]
},
"Extract NDA Terms": {
"main": [
[
{
"node": "Generate Checklist",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
}
}
Extract NDA terms from the document at [file URL], then generate a compliance checklist. Use the extract_document tool with these fields:
- disclosing_party (TEXT): Name of the disclosing party
- receiving_party (TEXT): Name of the receiving party
- effective_date (DATE): NDA effective date
- confidentiality_duration (TEXT): Duration of confidentiality obligations
- scope_of_confidential_info (TEXTAREA): Definition and scope of confidential information
- permitted_disclosures (TEXTAREA): Exceptions or permitted disclosures
- return_of_materials (TEXTAREA): Obligations to return or destroy materials
- non_solicitation (BOOLEAN): Whether the NDA includes a non-solicitation clause
- governing_law (TEXT): Governing law and jurisdiction
- breach_remedies (TEXTAREA): Remedies available in case of breach
Then use the generate_sheet tool to create an XLSX checklist with columns for Obligation, Details, Status, Due Date, and Notes, with one row per key obligation extracted from the NDA.
Response {
"success" : true ,
"data" : {
"buffer" : "UEsDBBQAAAA..." ,
"mime_type" : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
}
}
Links