بنقرة واحدة
layer-10-navigation
Expert knowledge for Navigation Layer modeling in Documentation Robotics
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Expert knowledge for Navigation Layer modeling in Documentation Robotics
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Expert knowledge for Data Store Layer modeling in Documentation Robotics
Graph-based code intelligence for using dr analyzer subcommands to understand codebase structure, discover elements, and verify model alignment
Expert knowledge for Application Layer modeling in Documentation Robotics
Expert knowledge for Motivation Layer modeling in Documentation Robotics
Expert knowledge for Business Layer modeling in Documentation Robotics
Expert knowledge for Security Layer modeling in Documentation Robotics
| name | LAYER_10_NAVIGATION |
| description | Expert knowledge for Navigation Layer modeling in Documentation Robotics |
| triggers | ["navigation","routing","route","flow","navigation guard","redirect","navigation flow"] |
| version | 0.8.3 |
Layer Number: 10 Specification: Metadata Model Spec v0.8.3 Purpose: Defines multi-modal navigation flows, routes, guards, and transitions between views.
The Navigation Layer captures navigation and routing:
navigationgraph)public, protected, redirect, alias, lazy (route)routemeta)breadcrumbconfig)navigationguard)guardcondition)guardaction)navigationflow)flowstep)navigationtransition)contextvariable)This layer uses Multi-Modal Navigation supporting web, mobile, voice, and other modalities.
Central Entity: The Route (URL path to view) is the core modeling unit.
CLI Introspection: Run
dr schema types navigationfor the authoritative, always-current list of node types. Rundr schema node <type-id>for full attribute details on any type.
| Entity Type | Description |
|---|---|
| NavigationGraph | Top-level container representing the complete navigation model |
| Route | URL path mapped to a view; the core modeling unit |
| RouteMeta | Auth, layout, and lifecycle metadata attached to a route |
| NavigationGuard | Authorization/validation check executed before navigation |
| GuardCondition | Boolean expression evaluated by a navigation guard |
| GuardAction | Action taken when a guard fails (redirect, block, notify, prompt) |
| NavigationFlow | Multi-step navigation sequence |
| FlowStep | A single step within a navigation flow |
| NavigationTransition | Directed transition between two routes |
| ContextVariable | Navigation-scoped context data passed between routes |
| BreadcrumbConfig | Breadcrumb trail configuration for a route |
Use this decision tree before assigning a type to any navigation element.
Is this the top-level navigation model for an application?
→ navigation.navigationgraph.*
Is this a URL path/route that maps to a view?
→ navigation.route.*
Is this metadata about a route (auth requirements, layout, keepAlive)?
→ navigation.routemeta.*
Is this a breadcrumb configuration for a route?
→ navigation.breadcrumbconfig.*
Is this a guard that checks conditions before allowing navigation?
→ navigation.navigationguard.*
Is this a boolean expression/predicate evaluated inside a guard?
→ navigation.guardcondition.*
Is this the action to take when a guard fails (redirect, block, notify, prompt)?
→ navigation.guardaction.*
Is this a named multi-step navigation sequence (wizard, checkout, onboarding)?
→ navigation.navigationflow.*
Is this a single step within a navigation flow?
→ navigation.flowstep.*
Is this a directed transition between two specific routes with a trigger?
→ navigation.navigationtransition.*
Is this a context variable scoped to the navigation session?
→ navigation.contextvariable.*
Activate when the user:
Outgoing (Navigation → Other Layers):
view-ref → UX Layer (which view does this route show?)business.realizes-process → Business Layer (what process does this flow realize?)security.required-roles → Security Layer (authorization requirements)apm.flow-metrics → APM Layer (navigation analytics)Incoming (Other Layers → Navigation):
# Add navigation graph (one per application)
dr add navigation navigationgraph "My App Navigation"
# Add route (types: public | protected | redirect | alias | lazy)
dr add navigation route "User Profile Route" --description "User profile page route"
# Add route metadata
dr add navigation routemeta "Profile Route Meta"
# Add breadcrumb configuration
dr add navigation breadcrumbconfig "Profile Breadcrumb"
# Add navigation guard
dr add navigation navigationguard "Auth Guard"
# Add guard condition
dr add navigation guardcondition "Is Authenticated"
# Add guard action (on failure)
dr add navigation guardaction "Redirect To Login"
# Add navigation flow
dr add navigation navigationflow "Checkout Flow"
# Add flow step
dr add navigation flowstep "Cart Review Step"
# Add transition between routes
dr add navigation navigationtransition "Cart To Shipping"
# Add context variable
dr add navigation contextvariable "Cart ID"
# List by type
dr list navigation --type route
dr list navigation --type navigationguard
# Validate navigation layer
dr validate --layers navigation
# Export navigation map
dr export plantuml --layers navigation
id: navigation.route.user-profile
name: "User Profile Route"
type: route
properties:
path: /profile/:userId
view-ref: ux.view.user-profile
guards:
- navigation.navigationguard.authentication
- navigation.navigationguard.profile-ownership
parameters:
- name: userId
type: string
format: uuid
required: true
meta:
title: "User Profile"
requiresAuth: true
allowedRoles:
- user
- admin
contextVariables:
- name: currentUserId
source: auth.user.id
dataMapping:
- source: route.params.userId
target: view.data.userId
security:
required-roles:
- security.role.authenticated-user
business:
realizes-process: business.process.profile-management
apm:
flow-metrics:
- apm.metric.profile-view-count
- apm.metric.profile-load-time
id: navigation.navigationflow.checkout
name: "Checkout Flow"
type: navigationflow
properties:
steps:
- id: cart-review
route: /checkout/cart
view: ux.view.cart-review
onNext: validate-cart
- id: shipping-address
route: /checkout/shipping
view: ux.view.shipping-form
onNext: validate-address
- id: payment
route: /checkout/payment
view: ux.view.payment-form
onNext: validate-payment
- id: confirmation
route: /checkout/confirm
view: ux.view.order-confirmation
final: true
transitions:
- from: cart-review
to: shipping-address
trigger: next-button
guard: navigation.navigationguard.cart-not-empty
- from: shipping-address
to: payment
trigger: next-button
guard: navigation.navigationguard.valid-address
- from: payment
to: confirmation
trigger: submit
guard: navigation.navigationguard.payment-successful
context:
- cartId
- selectedAddress
- paymentMethod
business:
realizes-process: business.process.checkout
Before declaring navigation layer extraction complete, verify each type was considered:
navigation.navigationgraph.* — Top-level navigation model containernavigation.route.* — URL path to view mappings (core unit)navigation.routemeta.* — Auth, layout, keepAlive metadata per routenavigation.breadcrumbconfig.* — Breadcrumb trail configurationnavigation.navigationguard.* — Pre-navigation authorization/validation checksnavigation.guardcondition.* — Boolean expressions evaluated by guardsnavigation.guardaction.* — Actions taken on guard failurenavigation.navigationflow.* — Multi-step navigation sequencesnavigation.flowstep.* — Individual steps within flowsnavigation.navigationtransition.* — Directed transitions between routesnavigation.contextvariable.* — Navigation-scoped context dataIf any type has ZERO elements, explicitly decide: "This type doesn't apply to this codebase" with reasoning.
navigationguard + guardcondition + guardaction togethernavigation.guard.* or navigation.flow.* as element IDs — correct types are navigationguard and navigationflowguardcondition) and actions (guardaction) — model these as separate elementsflowstep elements — each step in a flow should be a distinct flowsteproutemeta for protected routes — auth requirements belong in routemeta, not embedded in route propertiesview-ref) and business processes (realizes-process)route with type: redirect