.cursor/skills/import-organization/SKILL.md
Enforces import grouping (Dart SDK → Flutter → packages → relative), alphabetical order, unused import removal. Use when writing or reviewing code to ensure consistent import organization.
npx skillsauth add avra-cadavra/avrai import-organizationInstall 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.
Group imports in this exact order:
dart:...)package:flutter/...)package:...)../...)Use alphabetical ordering within each group Separate groups with blank line
// ✅ GOOD
import 'dart:async';
import 'dart:convert';
import 'dart:developer' as developer;
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:avrai/core/models/user.dart';
import 'package:avrai/core/services/auth_service.dart';
import 'package:avrai/core/theme/colors.dart';
import '../widgets/custom_button.dart';
import '../widgets/custom_text_field.dart';
import 'dart:async';
import 'dart:convert';
import 'dart:developer' as developer;
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:avrai/core/models/user.dart';
import 'package:avrai/core/services/auth_service.dart';
import 'package:avrai/presentation/pages/home_page.dart';
import 'package:equatable/equatable.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import '../widgets/custom_button.dart';
import '../widgets/custom_text_field.dart';
import '../../core/models/spot.dart';
Within each group, sort alphabetically:
// ✅ GOOD: Alphabetical
import 'dart:async';
import 'dart:convert';
import 'dart:developer';
// ❌ BAD: Not alphabetical
import 'dart:convert';
import 'dart:async';
import 'dart:developer';
Separate groups with blank line:
// ✅ GOOD: Blank lines between groups
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:avrai/core/models/user.dart';
import '../widgets/button.dart';
// ❌ BAD: No blank lines
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:avrai/core/models/user.dart';
Use aliases when needed:
import 'dart:developer' as developer;
import 'package:avrai/core/theme/colors.dart' as theme;
Always remove unused imports (automatically handled by cleanup philosophy):
// ❌ BAD: Unused import
import 'package:unused_package/unused.dart'; // Remove this
class MyClass {
// Doesn't use unused_package
}
When using show or hide, keep with the main import:
import 'package:avrai/core/services/storage_service.dart'
show StorageService, StorageError;
Keep conditional imports together:
import 'package:avrai/core/platform/file_stub.dart'
if (dart.library.io) 'package:avrai/core/platform/file_io.dart'
if (dart.library.html) 'package:avrai/core/platform/file_web.dart';
Before committing:
development
--- 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