architecture-navigation

Determine correct layer and module placement for new brepjs code.

77|7|Updated Feb 1, 2026
One-click install
npx skills add https://github.com/andymai/brepjs --skill architecture-navigation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture-navigation
Source: https://github.com/andymai/brepjs/tree/main/.claude/skills/architecture-navigation
Command: npx skills add https://github.com/andymai/brepjs --skill architecture-navigation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates guesswork and CI failures caused by incorrectly placing new code or violating brepjs's strict four-layer import boundary rules, which require imports to flow only downward or sideways through the codebase.

Core Features & Use Cases

  • Layer Placement Decision Tree: Provides a step-by-step ordered list to classify new code (kernel calls, utilities, types, operations, high-level sugar) into the correct brepjs layer (0 to 3) based on its dependencies.
  • Boundary Violation Fixes: Includes a troubleshooting table for common import boundary and kernel abstraction errors, with concrete steps to resolve each issue.
  • Use Case: When adding a new 2D shape operation to brepjs, use this Skill to place it in the correct Layer 2 module, follow the API ladder pattern, and ensure it passes all CI boundary checks.

Quick Start

Ask the architecture-navigation skill to determine the correct layer and module for a new function you are adding to the brepjs codebase.

Frequently Asked Questions about architecture-navigation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resolve a layer boundary import violation error in brepjs?

Layer boundary import violations occur when code imports upward instead of downward or sideways. This Skill provides a troubleshooting table mapping common boundary and kernel abstraction errors to concrete resolution steps for brepjs's four-layer architecture.

What is the best way to determine correct module placement for new code in a layered architecture?

The best way to determine module placement is using a layer placement decision tree that classifies new code by its dependencies. This Skill provides a step-by-step list to categorize code into the correct brepjs layer, ranging from kernel utilities to high-level sugar.

How do I register a new source directory in boundary validation scripts for CI checks?

Registering a new source directory in boundary validation scripts ensures CI checks recognize the new module and enforce downward-only import rules. This Skill satisfies requirements for registering directories and adhering to cross-directory import naming conventions.

Why does my pre-commit check fail when adding a new 2D shape operation to brepjs?

Pre-commit checks fail when new operations violate the strict four-layer import boundary rules or are placed in the wrong layer. Use this Skill to place operations in the correct Layer 2 module and follow the API ladder pattern to pass boundary checks.

Can I use the API ladder pattern for cross-directory imports in brepjs?

The API ladder pattern is used for adding new operations like 2D shape operations to brepjs. This Skill ensures you follow the pattern and adhere to cross-directory import naming conventions to maintain kernel abstraction and pass CI validation.