Fullstack Webapp
revfactory/harness-100
A full development pipeline where an agent team collaborates to develop fullstack web apps through requirements analysis, design, frontend, backend, testing, and deployment.
A skill your agent uses when adding, modifying, or refactoring any remote/HTTP API call in this Flutter project.
$ npx skills add FNOSP/FlyNarwhal --skill remote-api-development -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FNOSP/FlyNarwhal remote-api-development --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/remote-api-development .claude/skills/remote-api-development && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "remote-api-development" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/remote-api-development into .claude/skills/remote-api-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remote-api-development", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/remote-api-developmentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FNOSP/FlyNarwhal --skill remote-api-development -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FNOSP/FlyNarwhal remote-api-development --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/remote-api-development .agents/skills/remote-api-development && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "remote-api-development" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/remote-api-development into .agents/skills/remote-api-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remote-api-development", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FNOSP/FlyNarwhal --skill remote-api-development -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FNOSP/FlyNarwhal remote-api-development --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/remote-api-development .cursor/skills/remote-api-development && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "remote-api-development" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/remote-api-development into .cursor/skills/remote-api-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remote-api-development", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FNOSP/FlyNarwhal.git --path .agents/skills/remote-api-development--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FNOSP/FlyNarwhal --skill remote-api-development -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FNOSP/FlyNarwhal remote-api-development --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/remote-api-development .gemini/skills/remote-api-development && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "remote-api-development" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/remote-api-development into .gemini/skills/remote-api-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remote-api-development", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FNOSP/FlyNarwhal remote-api-developmentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FNOSP/FlyNarwhal --skill remote-api-development -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/remote-api-development .github/skills/remote-api-development && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "remote-api-development" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/remote-api-development into .github/skills/remote-api-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remote-api-development", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FNOSP/FlyNarwhal --skill remote-api-development -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FNOSP/FlyNarwhal remote-api-development --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FNOSP/FlyNarwhal.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/remote-api-development .opencode/skills/remote-api-development && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "remote-api-development" agent skill from https://github.com/FNOSP/FlyNarwhal/tree/master/.agents/skills/remote-api-development into .opencode/skills/remote-api-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remote-api-development", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
remote-api-developmentA skill your agent uses when adding, modifying, or refactoring any remote/HTTP API call in this Flutter project.
Remote API Development is an agent skill from FNOSP/FlyNarwhal. Use when adding, modifying, or refactoring any remote/HTTP API call in this Flutter project. Invoke for new endpoints, data sources, repositories, providers, or when removing hardcoded URLs and inline response parsing.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Mobile, covering Cross-platform mobile apps, REST APIs and Refactoring. It works with Flutter. The repository describes itself as: 基于 Flutter 框架开发的适用于飞牛影视的跨平台客户端. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c94d847. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
flutterFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Remote API Development loads about 1.3k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 171 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from FNOSP/FlyNarwhal at commit c94d847, republished under its MIT licence (© FNOSP). 171 words, ~1,283 tokens.
.claude/skills/remote-api-development/SKILL.md (or your agent's skills folder).本 skill 定义 fly-narwhal-flutter 项目远程接口调用的统一开发规范。新增或修改任何 HTTP 接口调用时必须遵循。
请求自上而下分层,禁止跨层或在上层内联实现下层职责:
UI (Widget / Screen)
└─ Provider (FutureProvider / Notifier) // 仅编排,不写 URL/解析
└─ Repository (可选,做实体映射 / 多源聚合)
└─ RemoteDataSource // 唯一发起请求 + 解析响应的地方
└─ DioClient (core/network) // 统一网络层
└─ ApiEndpoints // 唯一的 URL 常量来源lib/core/constants/app_constants.dart 的 ApiEndpoints 类中。'/v/api/v1/user/info')。static String itemByGuid(String guid) => '$itemPrefix/$guid';。// app_constants.dart
class ApiEndpoints {
const ApiEndpoints._();
static const String userInfo = '/v/api/v1/user/info';
}_dioClient.get/post/... 调用只能出现在 lib/data/datasources/remote/ 下的 DataSource 中。converter 回调解析响应,统一通过 FnBaseResponse<T> 处理。ResponseCodes.success(即 0),失败时 throw Exception(baseResponse.msg)。ApiResult<T>,禁止直接返回原始 Response。DioClient(lib/core/network/dio_client.dart),不要用 legacy 版(lib/data/network/dio_client.dart)。class UserRemoteDataSource {
final DioClient _dioClient;
UserRemoteDataSource(this._dioClient);
// Get current user info
Future<ApiResult<UserInfo>> getUserInfo() async {
return _dioClient.get<UserInfo>(
ApiEndpoints.userInfo,
converter: _parseUserInfoResponse,
);
}
// Parse FnBaseResponse and unwrap data
UserInfo _parseUserInfoResponse(dynamic data) {
final baseResponse = FnBaseResponse<UserInfo>.fromJson(
data,
(json) => UserInfo.fromJson(
json is Map<String, dynamic>
? json
: Map<String, dynamic>.from(json as Map),
),
);
if (baseResponse.code != ResponseCodes.success) {
throw Exception(baseResponse.msg);
}
return baseResponse.data ?? UserInfo(guid: '', username: '', isAdmin: 0);
}
}FnBaseResponse 解析、错误码判断。xxxRemoteDataSourceProvider,再让业务 Provider 委托它。ApiResult.getOrThrow() 把失败转为异常,交给 AsyncValue.error 处理;对外类型保持稳定(如 FutureProvider<UserInfo>)。// DataSource provider —— 用 core 版 DioClient 构造
final userRemoteDataSourceProvider = Provider<UserRemoteDataSource>((ref) {
final prefsManager = ref.watch(preferencesManagerProvider);
final dioClient = core_network.DioClient.withCallbacks(
getToken: () => prefsManager.getToken() ?? '',
getCookie: () => prefsManager.getCookie() ?? '',
getAuthCode: () => prefsManager.getAuthCode() ?? '',
getBaseUrl: () => prefsManager.getBaseUrl() ?? '',
);
return UserRemoteDataSource(dioClient);
});
// Business provider —— 只编排,不写请求细节
final userInfoProvider = FutureProvider<UserInfo>((ref) async {
final dataSource = ref.read(userRemoteDataSourceProvider);
final result = await dataSource.getUserInfo();
return result.getOrThrow();
});lib/data/repositories/)实现 lib/domain/repositories/ 接口。ApiResult.map 转换数据,保持 ApiResult<T> 链路。@override
Future<ApiResult<UserEntity>> getUserInfo() async {
final result = await _remoteDataSource.getUserInfo();
return result.map((data) => UserMapper.toEntity(data));
}dioClient.dio.get('/v/api/v1/...') 硬编码 URL。FnBaseResponse.fromJson 解析。DioClient(lib/data/network/dio_client.dart)。Response,绕过 ApiResult。ApiEndpoints 添加路径常量(或路径参数方法)。RemoteDataSource 添加方法,用 converter 解析,返回 ApiResult<T>。map。providers.dart 添加/复用 xxxRemoteDataSourceProvider,业务 Provider 委托调用。flutter analyze,确认无 unused/undefined;涉及 UI 时按 flutter-tester 规范补充测试或 mcp UI 验证。lib/core/constants/app_constants.dartlib/data/datasources/remote/user_remote_data_source.dartlib/core/network/dio_client.dart、lib/core/network/api_result.dartlib/providers/providers.dart(userInfoProvider、userRemoteDataSourceProvider)© FNOSP, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/remote-api-development of FNOSP/FlyNarwhal.
Open the folder on GitHubat commit c94d847
Remote API Development next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Remote API Development this skillFNOSP/FlyNarwhal | 495 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Fullstack Webapprevfactory/harness-100 | 1.3k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Flutter Retrofit NetworkingHoangNguyen0403/agent-skills-standard | 570 | — | ~561 | Automated safety check: Pass | MIT | |
| Liquid Glass Widgetssdegenaar/liquid_glass_widgets | 711 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Squadron Workerd-markey/squadron | 138 | — | ~1.6k | Automated safety check: Pass | MIT | |
| RefactorVB10/vexana | 154 | — | ~516 | Automated safety check: Pass | None |
revfactory/harness-100
A full development pipeline where an agent team collaborates to develop fullstack web apps through requirements analysis, design, frontend, backend, testing, and deployment.
HoangNguyen0403/agent-skills-standard
Build type-safe HTTP networking with Dio and Retrofit including auth interceptors in Flutter.
sdegenaar/liquid_glass_widgets
Mastery guide and architectural rules for liquidglasswidgets.
d-markey/squadron
A skill your agent uses when building, writing, or refactoring Squadron workers, worker pools, worker services, or using squadronbuilder annotations (@SquadronService, @SquadronMethod) for…
VB10/vexana
Migrate a Flutter project that already uses an older vexana (4.x or 5.x) to vexana 6.x — bumps the dependency, rewrites removed imports and immutable-model mutations, and flags call sites whose…
VeryGoodOpenSource/vgv-ai-flutter-plugin
VGV layered monorepo architecture in Flutter: four layers Data, Repository, Business Logic, and Presentation, unidirectional dependency rules, and model transformation across layers.
FNOSP/FlyNarwhal
A skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow.
FNOSP/FlyNarwhal
Automate GitHub workflows with AI assistance. An agent skill from FNOSP/FlyNarwhal.
FNOSP/FlyNarwhal
A skill your agent uses when creating, writing, fixing, or reviewing tests in a Flutter project.
FNOSP/FlyNarwhal
A skill your agent uses when building cross-platform applications with Flutter 3+ and Dart.
FNOSP/FlyNarwhal
A skill your agent uses when publishing a new release of FlyNarwhal desktop.
FNOSP/FlyNarwhal
A skill your agent uses when building iOS/macOS applications with Swift 5.9+, SwiftUI, or async/await concurrency.
Works with
Categories
A skill your agent uses when adding, modifying, or refactoring any remote/HTTP API call in this Flutter project. Remote API Development is an agent skill from FNOSP/FlyNarwhal. Use when adding, modifying, or refactoring any remote/HTTP API call in this Flutter project.
Remote API Development fits situations like: refactoring any remote/HTTP API call in this Flutter project; tasks that involve Cross-platform mobile apps; tasks that involve REST APIs.
Run `npx skills add FNOSP/FlyNarwhal --skill remote-api-development -a claude-code`. Or copy the skill folder (.agents/skills/remote-api-development in FNOSP/FlyNarwhal) into .claude/skills/remote-api-development in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FNOSP/FlyNarwhal --skill remote-api-development -a codex`. Or copy the skill folder (.agents/skills/remote-api-development in FNOSP/FlyNarwhal) into .agents/skills/remote-api-development in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FNOSP/FlyNarwhal --skill remote-api-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/remote-api-development, .gemini/skills/remote-api-development, .github/skills/remote-api-development and .opencode/skills/remote-api-development in your project.
Going by SKILL.md and its folder, Remote API Development needs the command-line tools its instructions call (flutter).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Remote API Development is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Remote API Development: Fullstack Webapp (revfactory/harness-100, 1.3k stars), Flutter Retrofit Networking (HoangNguyen0403/agent-skills-standard, 570 stars), Liquid Glass Widgets (sdegenaar/liquid_glass_widgets, 711 stars) and Squadron Worker (d-markey/squadron, 138 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FNOSP (a GitHub organization) maintains it in FNOSP/FlyNarwhal, which has 495 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 6, 2026.
Source: FNOSP/FlyNarwhal on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.