Skip to content

Commit 31e5f6b

Browse files
committed
Convert skill files to Agent Skills open standard format
Replaces flat .md files with directory-based format (skill-name/SKILL.md) including YAML frontmatter per the agentskills spec.
1 parent 484b4ad commit 31e5f6b

3 files changed

Lines changed: 24 additions & 114 deletions

File tree

skills/SKILLS.md

Lines changed: 0 additions & 106 deletions
This file was deleted.

skills/flutter-architecture-expert.md renamed to skills/flutter-architecture-expert/SKILL.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
---
2+
name: flutter-architecture-expert
3+
description: Architecture guidance for Flutter apps using the flutter_it construction set (get_it, watch_it, command_it, listen_it). Covers Pragmatic Flutter Architecture (PFA) with Services/Managers/Views, feature-based project structure, manager pattern, proxy pattern with optimistic updates and override fields, DataRepository with reference counting, scoped services, widget granularity, testing, and best practices. Use when designing app architecture, structuring Flutter projects, implementing managers or proxies, or planning feature organization.
4+
metadata:
5+
author: flutter-it
6+
version: "1.0"
7+
---
8+
19
# flutter_it Architecture Expert - App Structure & Patterns
210

311
**What**: Architecture guidance for Flutter apps using the flutter_it construction set (get_it + watch_it + command_it + listen_it).
@@ -338,15 +346,15 @@ abstract class DataRepository<T, TProxy extends DataProxy<T>, TId> {
338346

339347
**Reference counting flow**:
340348
```
341-
Feed creates ChatProxy(id=1) refCount=1
342-
Page opens same proxy refCount=2
343-
Page closes, releases refCount=1 (proxy stays for feed)
344-
Feed refreshes, releases refCount=0 (proxy disposed)
349+
Feed creates ChatProxy(id=1) -> refCount=1
350+
Page opens same proxy -> refCount=2
351+
Page closes, releases -> refCount=1 (proxy stays for feed)
352+
Feed refreshes, releases -> refCount=0 (proxy disposed)
345353
```
346354

347355
## Feed/DataSource Pattern
348356

349-
For paginated lists and infinite scroll, see the dedicated `/skills/feed-datasource-expert.md` skill. Key concepts: `FeedDataSource<TItem>` (non-paged) and `PagedFeedDataSource<TItem>` (cursor-based pagination) with separate Commands for initial load vs pagination, auto-pagination at `items.length - 3`, and proxy reference counting on refresh.
357+
For paginated lists and infinite scroll, see the dedicated `feed-datasource-expert` skill. Key concepts: `FeedDataSource<TItem>` (non-paged) and `PagedFeedDataSource<TItem>` (cursor-based pagination) with separate Commands for initial load vs pagination, auto-pagination at `items.length - 3`, and proxy reference counting on refresh.
350358

351359
## Widget Granularity
352360

@@ -379,7 +387,7 @@ class _Counter extends WatchingWidget {
379387
// Result: user change only rebuilds _Header, count change only rebuilds _Counter
380388
```
381389

382-
**Note**: When working with Listenable, ValueListenable, ChangeNotifier, or ValueNotifier, check the listen_it skill for `listen()` and reactive operators (map, debounce, where, etc.).
390+
**Note**: When working with Listenable, ValueListenable, ChangeNotifier, or ValueNotifier, check the listen-it-expert skill for `listen()` and reactive operators (map, debounce, where, etc.).
383391

384392
## Testing
385393

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
---
2+
name: get-it-expert
3+
description: Expert guidance on get_it service locator and dependency injection for Flutter/Dart. Covers registration (singleton, factory, lazy, async), scopes with shadowing, async initialization with init() pattern, retrieval, testing with scope-based mocking, and production patterns. Use when working with get_it, dependency injection, service registration, scopes, or async initialization.
4+
metadata:
5+
author: flutter-it
6+
version: "1.0"
7+
---
8+
19
# get_it Expert - Service Locator & Dependency Injection
210

311
**What**: Type-safe service locator with O(1) lookup. Register services globally, retrieve anywhere without BuildContext. Pure Dart, no code generation.
@@ -140,7 +148,7 @@ getIt.allReadySync(); // bool
140148
getIt.isReadySync<Database>(); // bool
141149
```
142150

143-
**UI integration**: Use `FutureBuilder` with `getIt.allReady()` to show a splash screen while async services initialize. If using watch_it, prefer its `allReady()` function inside a `WatchingWidget` instead (see watch_it skill).
151+
**UI integration**: Use `FutureBuilder` with `getIt.allReady()` to show a splash screen while async services initialize. If using watch_it, prefer its `allReady()` function inside a `WatchingWidget` instead (see watch-it-expert skill).
144152

145153
## Reference Counting
146154

@@ -234,4 +242,4 @@ Future<void> setupThrowableScope() async {
234242
// On error recovery: reset throwable scope
235243
await di.popScopesTill('throwableScope', inclusive: true);
236244
await setupThrowableScope();
237-
```
245+
```

0 commit comments

Comments
 (0)