Skip to content

Commit 15bfa22

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 c5ff463 commit 15bfa22

File tree

5 files changed

+40
-133
lines changed

5 files changed

+40
-133
lines changed

skills/SKILLS.md

Lines changed: 0 additions & 125 deletions
This file was deleted.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
---
2+
name: feed-datasource-expert
3+
description: Expert guidance on implementing paginated feeds and infinite scroll in Flutter using FeedDataSource and PagedFeedDataSource patterns. Covers base feed data source, cursor-based pagination, auto-pagination at length-3, proxy lifecycle with reference counting, feed widget implementation, filtered feeds, event bus integration, and creation with createOnce. Use when building paginated lists, infinite scroll, feed views, or managing proxy lifecycle in feeds.
4+
metadata:
5+
author: flutter-it
6+
version: "1.0"
7+
---
8+
19
# Feed DataSource Expert - Paged Lists & Infinite Scroll
210

311
**What**: Pattern for paginated, reactive list/feed widgets using ValueNotifiers and Commands. Integrates with proxy pattern for entity lifecycle management.

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+
```
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
---
2+
name: watch-it-expert
3+
description: Expert guidance on watch_it reactive widget state management for Flutter. Covers watch functions (watch, watchIt, watchValue, watchStream, watchFuture), handler registration (registerHandler, registerStreamHandler, registerFutureHandler), lifecycle functions (callOnce, createOnce, onDispose), ordering rules, widget granularity, and startup orchestration. Use when building reactive widgets with watch_it, watching ValueListenables/Streams/Futures, or managing widget-scoped state.
4+
metadata:
5+
author: flutter-it
6+
version: "1.0"
7+
---
8+
19
# watch_it Expert - Reactive Widget State Management
210

311
**What**: Reactive widgets that auto-rebuild when ValueListenables/Listenables, Streams, or Futures change. Built on get_it. Provides `di` global alias for `GetIt.I`.

0 commit comments

Comments
 (0)