.cursor/skills/geographic-services-patterns/SKILL.md
--- name: geographic-services-patterns description: Guides geographic services patterns: locality agents, geofence planning, location-based features, geographic hierarchy. Use when implementing location-based features, geofencing, or geographic services. --- # Geographic Services Patterns ## Geographic Hierarchy ``` Locality → City → State → National → Global → Universal ``` ## Locality Agents ```dart /// Locality Agent Service /// /// Manages locality-specific AI agents class LocalityAgen
npx skillsauth add avra-cadavra/avrai .cursor/skills/geographic-services-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Locality → City → State → National → Global → Universal
/// Locality Agent Service
///
/// Manages locality-specific AI agents
class LocalityAgentService {
/// Get locality agent for location
Future<LocalityAgent> getLocalityAgent({
required double latitude,
required double longitude,
}) async {
// Determine locality from coordinates
final locality = await _geoHierarchyService.getLocality(
latitude: latitude,
longitude: longitude,
);
// Get or create locality agent
return await _localityAgentRepository.getOrCreateAgent(locality);
}
}
/// Geofence Planner
///
/// Plans geofences for locality agents
class GeofencePlanner {
/// Create geofence for locality
Future<Geofence> createLocalityGeofence(Locality locality) async {
// Get locality boundaries
final boundaries = await _geoHierarchyService.getLocalityBoundaries(locality);
// Create geofence
return Geofence(
id: locality.id,
name: locality.name,
boundaries: boundaries,
type: GeofenceType.locality,
);
}
/// Register geofence with OS
Future<void> registerGeofence(Geofence geofence) async {
await _osGeofenceRegistrar.register(
geofence: geofence,
onEnter: _onGeofenceEnter,
onExit: _onGeofenceExit,
);
}
}
/// Geographic Scope Service
///
/// Determines geographic scope for features
class GeographicScopeService {
/// Get geographic scope for user
Future<GeographicScope> getScope({
required double latitude,
required double longitude,
}) async {
// Determine locality
final locality = await _getLocality(latitude, longitude);
// Determine if large city (has neighborhoods)
final isLargeCity = await _largeCityDetectionService.isLargeCity(locality.city);
// Determine neighborhood (if applicable)
String? neighborhood;
if (isLargeCity) {
neighborhood = await _neighborhoodService.getNeighborhood(
latitude: latitude,
longitude: longitude,
);
}
return GeographicScope(
locality: locality,
city: locality.city,
state: locality.state,
neighborhood: neighborhood,
);
}
}
lib/core/services/geo_hierarchy_service.dartlib/core/services/locality_agents/locality_agent_engine.dartlib/core/services/locality_agents/locality_geofence_planner.dartdevelopment
--- name: world-model-development description: Guides world model development patterns: state/action encoders, ONNX inference, feature extraction pipeline, latency budgets. Use when implementing world model components, state encoders, action encoders, feature extractors, or ONNX models. Core skill for Phases 3-6. --- # World Model Development Patterns ## Core Principle All world model components follow LeCun's autonomous machine intelligence framework. State observations flow through a percep
tools
Implements base workflow controller patterns for multi-step processes. Use when creating complex workflows that require orchestration of multiple steps with error handling and rollback.
testing
--- name: widget-test-patterns description: Guides widget test patterns: BLoC testing, user interactions, state changes, material app setup. Use when writing widget tests, testing UI components, or validating widget behavior. --- # Widget Test Patterns ## Core Pattern Widget tests verify UI behavior: user interactions, state changes, and visual display. ## Basic Widget Test Setup ```dart testWidgets('widget displays correctly', (WidgetTester tester) async { // Arrange: Create widget awa
testing
--- name: test-template-generation description: Generates test templates: unit, widget, integration, service tests following project patterns. Use when creating new tests or ensuring tests follow project standards. --- # Test Template Generation ## Available Templates Test templates are located in `test/templates/`: - `unit_test_template.dart` - `widget_test_template.dart` - `integration_test_template.dart` - `service_test_template.dart` ## Unit Test Template ```dart /// SPOTS Component Uni