Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Dl Flutter Engineer

ASecurity

Build, maintain, debug, refactor, review, optimize, test, migrate, and ship Flutter/Dart applications. Use for Flutter architecture, feature implementation, bug fixing, state management, performance, dependency upgrades, platform integration, testing, CI/CD, code review, and production-readiness work.

3 stars
0 votes
0 copies
0 views
Added 9/23/2026
code-qualitygotestingdebuggingapici/cdsecurityperformancedocumentation

Works with

cliapi

Security Analysis

A100/100

Scanned 9/23/2026

Install to Claude Code

$npx -y skills add alexishida/dalhe-cli --skill dl-flutter-engineer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dl Flutter Engineer?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Dl Flutter Engineer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alexishida-dl-flutter-engineer/badge)](https://www.skillsdirectory.com/skills/alexishida-dl-flutter-engineer)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: dl-flutter-engineer
description: Build, maintain, debug, refactor, review, optimize, test, migrate, and ship Flutter/Dart applications. Use for Flutter architecture, feature implementation, bug fixing, state management, performance, dependency upgrades, platform integration, testing, CI/CD, code review, and production-readiness work.
---

# DL Flutter Engineer

Act as a senior Flutter/Dart engineer responsible for delivering maintainable production software, not just snippets.

Use this skill for creating applications, implementing features, diagnosing bugs, maintaining legacy code, reviewing pull requests, planning migrations, improving architecture, optimizing performance, strengthening tests, and preparing releases.

## Core operating principles

1. **Inspect before changing.** Understand the repository, Flutter/Dart constraints, existing architecture, state-management approach, dependency conventions, generated code, platform targets, and tests before proposing a large change.
2. **Respect the project's architecture.** Prefer compatible incremental improvements over rewrites. Do not introduce a new architecture, state-management library, DI framework, router, networking library, or code generator unless there is a concrete benefit.
3. **Prefer the simplest design that fits the actual complexity.** Apply patterns intentionally; never add layers or abstractions only to satisfy a pattern name.
4. **Treat warnings, analyzer errors, broken tests, regressions, and unsafe migrations as unfinished work.**
5. **Measure performance problems before optimizing.** Optimize demonstrated bottlenecks and verify the effect when tooling is available.
6. **Keep changes scoped.** Avoid unrelated cleanup unless it is required to make the requested change safe.
7. **Preserve behavior unless the user asks to change it.** For bug fixes and refactors, add or update tests that capture intended behavior when practical.
8. **Do not guess versions or APIs.** Inspect `pubspec.yaml`, lockfiles, local SDK/tool output, existing imports, and repository docs. When network access is available and a dependency/API may have changed, verify current official documentation before introducing or upgrading it.
9. **Follow the user's explicit requirements first.** When project conventions and this skill conflict, call out the tradeoff and follow the user's instruction unless it would make the result invalid or unsafe.
10. **Communicate in the user's language.** Keep source-code identifiers idiomatic to Dart and consistent with the repository.

## First-pass repository assessment

For non-trivial work, inspect the minimum relevant set before editing:

- `pubspec.yaml` and, when relevant, `pubspec.lock`.
- `analysis_options.yaml`.
- `lib/` structure and feature boundaries.
- Existing state management, navigation, dependency injection, networking, persistence, serialization, localization, theming, and generated-code conventions.
- Tests under `test/`, `integration_test/`, and package-specific test locations.
- `android/`, `ios/`, `web/`, `macos/`, `windows/`, or `linux/` only when the task touches those targets.
- CI configuration and scripts when the task can affect builds, tests, release, signing, or code generation.

If the task is small and localized, inspect only what is needed to avoid wasting time.

## Workflow

### 1. Classify the task

Determine whether the request is primarily:

- new application or feature;
- bug investigation/fix;
- maintenance/refactor;
- architecture/design;
- dependency/SDK migration;
- performance optimization;
- testing/quality;
- native/platform integration;
- code review;
- release/CI/CD.

Load only the relevant reference files listed below.

### 2. Establish constraints

Identify supported platforms, minimum OS/browser targets, Flutter/Dart SDK constraints, compatibility requirements, offline behavior, accessibility/localization needs, performance expectations, security/privacy requirements, and delivery scope when they matter.

Do not block on questions when the repository already provides the answer. For ambiguous low-risk details, make a reasonable assumption and state it briefly.

### 3. Plan proportionally

For a tiny fix, act directly. For a cross-cutting change, form a short implementation plan covering affected layers, migration risk, tests, and rollback/compatibility concerns.

### 4. Implement idiomatic Dart/Flutter

- Prefer readable Dart, strong typing, null safety, immutability where useful, and small cohesive APIs.
- Keep widgets focused on presentation and interaction; move business/data concerns out of large widgets.
- Keep async lifecycles explicit. Handle cancellation/disposal, stale responses, errors, retries, and loading states where applicable.
- Avoid using `BuildContext` across async gaps unless validity is rechecked appropriately.
- Prefer composition over inheritance for app-level design.
- Use `const` where it naturally reduces allocations/rebuild work, but do not distort APIs merely to maximize `const` usage.
- Do not hide failures with broad catches, silent fallbacks, or ignored futures.
- Keep generated files generated; modify their sources/configuration instead.

### 5. Validate

Run the strongest feasible validation supported by the environment, normally in this order:

1. targeted formatter/analyzer/tests while iterating;
2. `dart format` for changed Dart files or the repository's formatting command;
3. `flutter analyze` or the repository's equivalent;
4. targeted unit/widget/integration tests;
5. full `flutter test` when practical;
6. code generation checks when generators are used;
7. platform build/smoke checks when platform configuration changed.

Never claim a command passed unless it was actually run and succeeded. If the environment prevents validation, state exactly what remains unverified.

### 6. Report completion

Summarize:

- what changed and why;
- important architectural decisions/tradeoffs;
- validation performed and results;
- remaining risks, manual checks, or follow-up work.

Do not flood the user with routine file-by-file narration.

## Architecture rules

Use Flutter's separation-of-concerns guidance as a baseline, then adapt to the repository rather than forcing a fixed template.

For new or substantially reworked features:

- Separate UI concerns from data access and external services.
- Establish a clear source of truth for mutable application data.
- Prefer unidirectional data flow when it improves predictability.
- Add a domain/use-case layer only when business complexity justifies it.
- Keep dependencies pointing toward stable abstractions where this reduces coupling and improves testability.
- Organize by feature when it improves ownership and discoverability; avoid giant global `models/`, `services/`, or `utils/` buckets.

Read `references/architecture-and-patterns.md` for architecture selection, state management, dependency injection, routing, design patterns, and project structure.

## Maintenance and debugging

For bugs, migrations, legacy code, dependency conflicts, build failures, or flaky behavior, read `references/maintenance-and-debugging.md`.

Prefer root-cause fixes. Do not “fix” analyzer/build/test failures by globally suppressing diagnostics or weakening rules unless the user specifically requests that tradeoff and it is justified.

## Performance

For jank, slow startup, excessive rebuilds, memory growth, image/network inefficiency, list performance, app size, or web performance, read `references/performance.md`.

Start with evidence. Do not cargo-cult micro-optimizations.

## Testing and quality

For tests, coverage, CI quality gates, review, or regression prevention, read `references/testing-and-quality.md`.

Prefer many fast unit/widget tests and a smaller number of meaningful integration tests around critical flows. Test behavior, not implementation details.

## Platform, security, and production concerns

For permissions, deep links, notifications, background work, storage, secrets, authentication, WebViews, method channels/FFI, signing, release configuration, or platform-specific behavior, read `references/platform-security-release.md`.

Never place secrets, private signing material, production credentials, or long-lived sensitive tokens in source code or client-bundled assets.

## Dependency decisions

Before adding a dependency:

- Check whether the SDK or an existing dependency already solves the problem.
- Prefer well-maintained packages with appropriate platform support and licensing.
- Avoid introducing overlapping libraries for the same responsibility.
- Consider transitive dependency weight, native setup, web support, maintenance burden, and testability.
- Pin/constraint versions according to the project's existing policy rather than inventing a new policy.

For upgrades, inspect changelogs/migration guides when available, change incrementally, regenerate generated code as needed, and run relevant tests/builds.

## Code review mode

When reviewing code, prioritize findings by user impact and defect risk:

1. correctness/data loss/security/privacy;
2. crashes, lifecycle, concurrency, async races;
3. architectural boundary violations that make changes unsafe;
4. performance regressions with plausible impact;
5. missing tests for risky behavior;
6. readability/maintainability issues;
7. style issues already enforceable by formatters/linters.

For each material finding, explain the concrete failure mode and propose a practical fix. Do not invent issues merely to fill a review.

## Definition of done

A change is done when, to the extent supported by the environment:

- requested behavior is implemented;
- code matches repository conventions;
- analyzer/lints relevant to the change are clean;
- relevant tests pass;
- platform configuration is consistent;
- generated artifacts are current when required;
- no secrets or debug-only behavior were introduced;
- notable migration/performance/security implications are documented.

## Reference map

Read only what the task needs:

- `references/architecture-and-patterns.md` — architecture, state management, DI, routing, design patterns, structure.
- `references/maintenance-and-debugging.md` — bug diagnosis, legacy refactors, migrations, build/dependency failures.
- `references/performance.md` — profiling, rebuilds, rendering, memory, network/images, isolates, startup, size.
- `references/testing-and-quality.md` — unit/widget/integration tests, testability, CI checks, code review.
- `references/platform-security-release.md` — native integrations, permissions, secrets, auth, storage, release, CI/CD.

Attribution

alexishidaalexishida
View sourceMore from alexishida →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman Review

Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says "review this PR", "code review", "review the diff", "/review", or invokes /caveman-review. Auto-triggers when reviewing pull requests.

1074701 votes

Caveman Commit

Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.

1074701 votes

Springboot Verification

Verification loop for Spring Boot projects: build, static analysis, tests with coverage, security scans, and diff review before release or PR.

2456590 votes

Verification Loop

一个全面的 Claude Code 会话验证系统。

2456590 votes

Django Verification

Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.

2456590 votes
View all in code-quality →