Agent skill
nafv4-assistant
NAF v4 / ADMBw modeling assistant providing convenience functions for common modeling tasks. Offers specialized utilities like requirement naming, batch operations, and modeling helpers. Automatically routes to appropriate function based on user request or allows browsing available functions. Integrates with nafv4-coordinator for all NAF modeling operations.
Install this agent skill to your Project
npx add-skill https://github.com/carstenlucke/naf4_admbw_claudeskill/tree/main/skill_nafv4-assistant/nafv4-assistant
SKILL.md
NAF v4 Assistant - Convenience Functions
Overview
This assistant skill provides high-level convenience functions for NAF v4 / ADMBw modeling in Sparx Enterprise Architect. It acts as a productivity layer on top of the core NAF modeling skills, offering specialized utilities for common repetitive tasks.
Core Responsibilities
- Function Routing - Recognize which convenience function the user needs based on keywords and context
- Function Discovery - Help users discover available convenience functions
- Coordinator Integration - Route all NAF modeling operations through nafv4-coordinator
- Batch Processing - Handle multiple modeling operations efficiently
Architecture
The assistant follows a cascading skill architecture:
User Request
↓
nafv4-assistant (this skill)
↓
nafv4-coordinator
↓
Specialized NAF Skills:
- nafv4-requirements
- nafv4-architecture-metadata
- nafv4-concepts
- nafv4-logical-specification
- nafv4-physical-resources
- nafv4-service-specification
Exception: If the user explicitly mentions a specific NAF skill (e.g., "use nafv4-requirements"), the assistant can directly invoke that skill.
General Modeling Rules
These rules apply to all NAF v4 modeling tasks:
1. Modeling Target Clarification
When the modeling target is unclear, always ask the user where to model:
- Currently open diagram - Add elements to the active diagram
- Specific (non-displayed) diagram - Add to a named diagram that may not be open
- Package in workspace - Create elements in a specific package location
- New diagram - Create a new diagram first
Default behavior: If not explicitly specified, use the currently open diagram as the modeling target.
2. Element Existence Verification
Before using element names in any operation, especially when creating connections:
- Always check first if the element already exists in the diagram or workspace
- Use MCP
find_elements_by_nameto search for elements - If multiple elements with the same name exist, ask the user to clarify which one (by package path or GUID)
- If the element doesn't exist, offer to create it or ask for clarification
This prevents:
- Creating duplicate elements
- Invalid connections to non-existent elements
- Confusion about which element is being referenced
3. Automatic Diagram Layout
Never apply automatic diagram layout operations:
- Do not use
layout_diagramor similar automatic layout functions - Manual layout only - Let the user arrange elements manually in Sparx EA
- Elements should be placed on diagrams using
place_element_on_diagram, but their visual arrangement is left to the user - The user controls the visual organization of their diagrams
Available Convenience Functions
1. Requirement Naming
Function: Generate concise, information-rich titles for NAF v4 requirements from verbose descriptions.
Triggers:
- Keywords: "requirement naming", "name requirements", "create titles", "short names"
- Context: User provides list of requirement descriptions without names
- Pattern: "create requirement with description: [long text]"
Load details: functions/requirement-naming.md
Usage Examples:
"I have 20 detailed requirement descriptions. Can you create short names for them?"
"Generate requirement titles for these functional requirements: [list]"
"Name these requirements: 1. The system shall..., 2. Users must be able to..."
See: Extended examples in references/extended_examples.md
[Future Functions]
Additional convenience functions will be added here as they are developed:
- Batch Element Creation - Create multiple similar elements efficiently
- Diagram Template Application - Apply standard diagram layouts
- Traceability Matrix Generation - Generate requirement traceability reports
- Model Validation - Check model completeness and consistency
- Import/Export Helpers - Import requirements from Excel, export to documentation
Function Routing Logic
Automatic Detection
The assistant analyzes user requests for:
-
Explicit function mention
- Example: "Use requirement naming for these descriptions"
- Action: Confirm with user, then activate function
-
Keyword triggers
- Example: "Create short names for 15 requirements"
- Detected keywords: "short names", "requirements"
- Match: Requirement Naming function
- Action: Confirm detection, then activate
-
Context pattern matching
- Example: User provides list of verbose requirement texts
- Detected pattern: Multiple long descriptions, likely needs naming
- Action: Ask user if requirement naming is needed
-
No clear match
- Action: Present list of available functions and ask user to select
Confirmation Before Execution
When a function is detected (via keywords or pattern):
Assistant: "I've detected you might need the Requirement Naming function.
Is that correct?
This function will:
- Analyze each requirement description
- Generate concise 3-8 word titles
- Preserve full descriptions in notes field
Proceed with requirement naming?"
User: "Yes" / "No, I meant..."
Manual Function Selection
User can explicitly request to see available functions:
User: "What convenience functions do you offer?"
User: "Show me what the assistant can do"
User: "List available functions"
Response format:
Assistant: "NAF v4 Assistant - Available Convenience Functions:
1. **Requirement Naming**
Generate concise titles from verbose requirement descriptions
Use when: You have detailed requirements needing short names
2. [Future functions will appear here]
Which function would you like to use?"
Integration with NAF Coordinator
All modeling operations are routed through nafv4-coordinator, which then dispatches to specialized skills:
Available Skills
The assistant can work with these NAF v4 skills:
Coordinator:
- nafv4-coordinator - Routes to specialized viewpoint skills, handles cross-viewpoint relationships
Specialized Viewpoint Skills:
- nafv4-requirements - Requirements Viewpoints (R2-R6)
- nafv4-architecture-metadata - Architecture Metadata Viewpoints (A1-A8, Ar)
- nafv4-concepts - Concepts Viewpoints (C1-C8, Cr)
- nafv4-logical-specification - Logical Specification Viewpoints (L1-L8, Lr)
- nafv4-physical-resources - Physical Resource Specification Viewpoints (P1-P8, Pr)
- nafv4-service-specification - Service Specification Viewpoints (S1-S8, Sr)
Standard Routing Pattern
User: "Create these 10 requirements with generated names: [list]"
↓ nafv4-assistant recognizes requirement naming need
Assistant (internal): Load functions/requirement-naming.md
↓ Generate titles using naming algorithm
Assistant (internal): Call nafv4-coordinator to create requirements
↓ nafv4-coordinator routes to nafv4-requirements
↓ nafv4-requirements creates requirement elements via MCP
↓ Result returned to user
Direct Skill Invocation
If user explicitly names a specific NAF skill:
User: "Use nafv4-requirements to add this functional requirement: [description]"
↓ nafv4-assistant detects explicit skill mention
↓ Directly invoke nafv4-requirements (skip nafv4-coordinator)
↓ nafv4-requirements handles the request
↓ Result returned to user
Workflow Examples
Example 1: Batch Requirement Creation with Naming
User Input:
"I have these 3 functional requirements that need short names:
1. The system shall provide the operator with the option to verify that
the system has saved the new software settings.
2. All patient data must be encrypted using AES-256 encryption before
transmission over the network.
3. The application shall respond to user queries within 2 seconds under
normal load conditions."
Assistant Workflow:
- Detect function: Keywords "short names" + list of requirements → Requirement Naming
- Confirm: "I've detected you need requirement naming. Proceed?"
- Load function details:
functions/requirement-naming.md - Generate titles:
- FR-1: "Verify Settings Saved"
- FR-2: "Encrypt Patient Data AES-256"
- FR-3: "Query Response Time <2s"
- Route to coordinator: Request creation of 3 FunctionalRequirement elements
- Coordinator routes to nafv4-requirements
- Confirm to user:
Created 3 functional requirements: 1. "Verify Settings Saved" 2. "Encrypt Patient Data AES-256" 3. "Query Response Time <2s" Full descriptions preserved in notes field.
Example 2: Function Discovery
User Input:
"What can the assistant do?"
Assistant Response:
NAF v4 Assistant - Available Convenience Functions:
1. **Requirement Naming**
Generate concise, information-rich titles from verbose requirement descriptions
Typical use: "I have 20 requirements needing short names"
Triggers: "requirement naming", "create titles", "short names"
[Future functions listed here as added]
Would you like to use any of these functions?
Example 3: Ambiguous Request
User Input:
"Help me with these requirements: [list of 5 detailed descriptions]"
Assistant Response:
I see you have 5 requirement descriptions. Which function would help you?
1. **Requirement Naming** - Generate short titles for these requirements
2. **Create Requirements** - Add these to your NAF model (via coordinator)
3. **Both** - Generate names AND create in model
Which would you like?
Progressive Data Loading
Always in context:
- Core routing logic (this SKILL.md)
- Available functions list
- Integration patterns
Load on demand:
functions/requirement-naming.md- When requirement naming is neededreferences/extended_examples.md- When user needs examples or edge cases- [Future function files] - As additional functions are developed
This keeps the skill efficient while providing access to detailed algorithms when needed.
Best Practices
For Users
-
Be explicit when possible
- Good: "Use requirement naming for these 10 descriptions"
- Okay: "Create short names for these requirements"
- Vague: "Help with these" (assistant will ask for clarification)
-
Provide context
- If working on a specific diagram, mention it
- If targeting a specific package, specify it
- If using organizational naming conventions, state them
-
Batch operations are efficient
- Process multiple requirements at once
- Assistant handles iteration internally
-
Review generated output
- Titles are algorithmically generated
- Review for accuracy and consistency
- Request adjustments if needed
For the Assistant (Internal Guidelines)
-
Always confirm before execution
- Especially for batch operations
- Show what will be done before doing it
-
Load function details only when needed
- Keep initial response fast
- Load detailed algorithms on demand
-
Route through coordinator by default
- Exception: Explicit skill mention
- Coordinator handles cross-viewpoint complexity
-
Preserve user intent
- Keep full descriptions in notes
- Generated names supplement, don't replace
Error Handling
Function Not Recognized
User: "Create widget names for these items"
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
nafv4-service-specification
Create and manage NAF v4 (NATO Architecture Framework) / ADMBw Service Specification Viewpoints (S1-S8, Sr) in Sparx Enterprise Architect. Use when the user wants to create S1 (Service Taxonomy), S2 (Service Structure), S3 (Service Interfaces), S4 (Service Functions), S5 (Service States), S6 (Service Interactions), S7 (Service Interface Parameters), S8 (Service Policy), or Sr (Service Roadmap) diagrams, add service elements, create service interfaces, model service functions, or work with NAF service modeling. Also triggers on natural language like "service specification", "service interface", "service function", "service policy", "service taxonomy", etc.
nafv4-requirements
Create and manage NAF v4 (NATO Architecture Framework) / ADMBw Requirements Viewpoints (R2-R6) in Sparx Enterprise Architect. Use when the user wants to create R2 (Requirement Catalogue), R3 (Requirement Dependencies), R4 (Requirement Conformance), R5 (Requirement Derivation), or R6 (Requirement Realization) diagrams, add requirements elements, create associations between requirements, or work with NAF requirements modeling. Also triggers on natural language like "functional requirement", "requirement category", "derived from", "conforms to standard", etc.
nafv4-logical-specification
Create and manage NAF v4 (NATO Architecture Framework) / ADMBw Logical Specification Viewpoints (L1-L8, Lr) in Sparx Enterprise Architect. Use when the user wants to create L1 (Node Types), L2 (Logical Scenario), L3 (Node Interactions), L4 (Logical Activities), L5 (Logical States), L6 (Logical Sequence), L7 (Information Model), L8 (Logical Constraints), or Lr (Lines of Development) diagrams, add logical elements, create flows and interactions, or work with NAF logical architecture modeling. Also triggers on natural language like "operational performer", "logical node", "operational activity", "information exchange", "logical flow", etc.
nafv4-concepts
Create and manage NAF v4 (NATO Architecture Framework) / ADMBw Concepts Viewpoints (C1-C8, Cr) in Sparx Enterprise Architect. Use when the user wants to create C1 (Capability Taxonomy), C2 (Enterprise Vision), C3 (Capability Dependencies), C4 (Standard Processes), C5 (Effects), C7 (Performance Parameters), C8 (Planning Assumptions), or Cr (Capability Roadmap) diagrams, add capability elements, create associations between capabilities, enterprises, activities, or work with NAF concepts modeling. Also triggers on natural language like "capability", "enterprise vision", "enduring task", "desired effect", "measure of effectiveness", etc.
nafv4-architecture-metadata
Create and manage NAF v4 (NATO Architecture Framework) / ADMBw Architecture Foundation/Metadata Viewpoints (A1-A8, Ar) in Sparx Enterprise Architect. Use when the user wants to create A1 (Meta-Data Definitions), A2 (Architecture Products), A3 (Architecture Correspondence), A4 (Methodology Used), A5 (Architecture Status), A6 (Architecture Version), A7 (Architecture Compliance), A8 (Standards), or Ar (Architecture Roadmap) diagrams, add architecture metadata elements, create associations between architecture descriptions, or work with NAF architecture foundation modeling. Also triggers on natural language like "architectural description", "view", "viewpoint", "concern", "standard", "protocol", "architecture correspondence", etc.
nafv4-physical-resources
Create and manage NAF v4 (NATO Architecture Framework) / ADMBw Physical Resource Specification Viewpoints (P1-P8, Pr) in Sparx Enterprise Architect. Use when the user wants to create P1 (Resource Types), P2 (Resource Structure), P3 (Resource Connectivity), P4 (Resource Functions), P5 (Resource States), P6 (Resource Sequence), P7 (Data Model), P8 (Resource Constraints), or Pr (Configuration Management) diagrams, add resource elements, create associations between resources, or work with NAF physical architecture modeling. Also triggers on natural language like "system", "resource type", "function", "interface", "protocol", "state machine", etc.
Didn't find tool you were looking for?