brainstorming
Structured design dialogue that validates ideas before implementation begins.
lotus-analyze-nsf-structure
Analyzes Lotus Notes NSF database file structure, data models, views, forms, and relationships. Use when understanding NSF database composition, mapping field structures, identifying data dependencies, extracting schema information, or assessing data migration scope.
Full skill instructions
Works with NSF file metadata analysis, view/form specifications, field type mappings, and database relationship documentation.
Quick Start → What Is This | When to Use | Simple Example
How to Implement → Step-by-Step | Expected Outcomes
Reference → Requirements | Related Skills
This skill helps you reverse-engineer and document Lotus Notes NSF database structures. NSF (Lotus Notes Storage Format) files contain complex nested structures with views, forms, fields, and relationships that must be understood before migration. This skill guides you through systematic analysis of these structures to create accurate migration maps.
Use this skill when you need to:
This skill is essential for any Lotus Notes migration project as it provides the foundation for understanding what data and structures need to be migrated.
To analyze an NSF database structure:
Locate NSF documentation or design information:
Note: Direct NSF parsing requires specialized tools. If you have NSF files, extract metadata via Lotus Notes Designer or Domino API documentation.
Check for:
.CLF index files accompanying NSF filesDocument all forms in the NSF database:
For each form, record:
Create a structured mapping:
Form: "Order"
Fields:
- OrderID (Text, 20 chars, Unique key)
- OrderDate (DateTime, Required)
- Supplier (Reference → SupplierDatabase.Supplier form)
- Items (RichText, embedded table)
- Status (Text, dropdown: Draft/Approved/Shipped)
- CalculatedAmount (Number, Formula: Sum(Items[*].Amount))
For each view in the database:
Example view documentation:
View: "Orders by Supplier"
Selection: SELECT @IsAvailable(Supplier)
Columns:
- Supplier (grouped, sorted A-Z)
- OrderDate (sorted descending)
- OrderID (unique key)
- Status
Access: All users can read
Map dependencies between forms and databases:
Reference fields: Fields that link to other documents
Embedded databases: Are smaller databases embedded in documents?
External lookups: Do formulas reference external databases?
Document as relationship graph:
Order form
├─ Supplier reference → SupplierDatabase.Supplier
│ └─ Used for: Name lookup, discount calculation
├─ Items (embedded table)
│ └─ Each row has: ItemCode (ref to Catalog), Quantity, Price
└─ Approver (reference) → StaffDatabase.Employee
For each NSF structure element, define the target system equivalent:
NSF Structure → Target System Pattern
───────────────────────── ───────────────────────
Form: Order → Entity: Order (database table/model)
Field: OrderID (unique) → Column: order_id (primary key)
Field: Supplier (ref) → Column: supplier_id (foreign key)
Field: Items (embedded) → Related table: OrderItems (one-to-many)
View: Orders by Supplier → Query/API: GET /orders?supplier={id}
RichText field → Column: description (text/html)
Computed field → Derived property or trigger
Note migration-specific considerations:
Rich Text fields: How much formatting is required post-migration?
Replication fields: Are Replica IDs, DocumentUNID, or similar critical?
Variable Reference Substitution (VRS): Any fields use VRS patterns?
Workflow/automation: Are any computed fields or validation formulas critical logic?
Database: Supplier Master
Forms:
- Supplier (main form)
Fields: SupplierID, Name, Contact, Status, Terms
Views:
- All Suppliers (SELECT @IsAvailable(SupplierID))
- Active Only (SELECT Status = "Active")
- By Category (grouped by SupplierCategory)
Migration:
→ Table: suppliers (columns: id, name, contact, status, terms)
→ API endpoints: GET /suppliers, GET /suppliers/{id}
→ Indexes: suppliers(status), suppliers(supplier_category)
Database: Order Management
Forms:
- Order (main form)
Fields:
- OrderID (unique key, Text)
- OrderDate (DateTime)
- Supplier (Reference → Supplier form in SupplierMaster)
- Status (computed: if(ApprovedDate > "", "Approved", "Draft"))
- Items (embedded table with columns: ItemCode, Qty, Price)
- Notes (RichText)
Views:
- Orders Pending (SELECT Status = "Draft")
- Orders by Supplier (grouped by Supplier, sorted by OrderDate desc)
Migration:
→ Table: orders (id, order_date, supplier_id, status, notes_html)
→ Table: order_items (order_id, item_code, quantity, price)
→ Foreign key: orders.supplier_id → suppliers.id
→ View query: SELECT * FROM orders WHERE status='Draft' ORDER BY order_date DESC
→ Rich text conversion: Apply HTML converter to notes field
Lotus Notes Design Documentation: Access to NSF database design specifications
Project Context: Understanding of source and target systems
Optional Tools: For deep NSF analysis
Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs