api-design

审查 · 59
已收录

Design and review predictable public APIs for TypeScript, JavaScript, React, and React Native libraries. Use when shaping exported functions, classes, hooks, options objects, event and listener APIs, error behavior, naming, cross-platform abstractions, or JS-only packages. Pair w

Verified installs0
Stars161
版本1.0.0
质量63/100 · 有潜力
信任59/100 · Do not auto-install
审计74/100 · 需审查

供给资产档案

设计与创意生产

Design assets, images, video, audio, multimodal media, presentation, and creative production skills.

浏览赛道

场景

设计与创意

I need my agent to produce design assets, UI directions, presentations, or creative media workflows.

适配 Agent

Claude Code + CLI + Codex

适用于 Codex、Claude Code、Cursor、CLI 或自定义 Agent。

安装

就绪

npx skills add margelo/react-native-skills --skill api-design

维护状态

新鲜

距上次推送 1 天

风险

需审查

许可证不清晰

GitHub 质量

161

63/100 质量 · 67/100 信任

覆盖标签

设计设计与创意设计与创意agent-skill

审查说明

许可证不清晰 · Permission surface may require sandboxing

Agent 采用评分卡

一眼查看信任、审计与安装准备度

这些分数综合公开仓库元数据、OpenAgentSkill 审查信号、维护新鲜度与安装准备度。它用于候选筛选,不替代人工审查。

质量

有潜力
63

有用的候选项,但采用前应与替代方案比较。

信任

Do not auto-install
59

Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.

审计

需审查
74

对安装准备度、安全元数据、维护情况与采用风险的机器可读审查。

OpenAgentSkill 信任评分 v5

安装前需人工审查

Choose a stronger alternative or inspect the source manually before any install attempt.

CodexClaude CodeCursorOpenAgentSkill CLI

Stars

161 个 GitHub Stars

仓库活跃度

161 个 Star,7 个 Fork

维护状态

距上次推送 1 天

许可证

未知

安装

npx skills add margelo/react-native-skills --skill api-design

安装安全性

标准软件包或运行时安装路径

权限范围

shell or command execution, filesystem or document access

Agent 结果

暂未有 Agent 结果数据

文档

README/SKILL.md 上下文充分

风险摘要

生产前审查

  • Repository license is detected as 'Unknown', raising compliance concerns about reuse and redistribution.
  • Financial research output is not financial advice; require human review before any live investment decision.
  • 许可证不清晰
  • Quality score needs review

安装准备度

安装路径可用

  • 安装路径可用
  • 仓库证据可用
  • 许可证不清晰
  • 暂无 Agent 验证结果证据

Agent 可读元数据

这个 Skill 的机器可读决策数据。

使用此区块或内嵌 JSON 判断 Agent 是否应安装该 Skill、选择替代方案,或先请求人工审查。

打开 JSON

适用任务

  • GitHub automation 工作流
  • Claude Code 团队
  • builders willing to evaluate younger projects
  • Inspect repository metadata

适用 Agent

CodexClaude CodeCursorOpenAgentSkill CLICLI

安装决策

命令
npx skills add margelo/react-native-skills --skill api-design
策略
审查
人工审查

信任与风险

信任
59/100
审计
74/100
风险级别
需审查

结果闭环

端点
/api/agent/outcome
事件 ID
resolve
结果
5

安装命令

npx skills add margelo/react-native-skills --skill api-design

不适用场景

  • 需要厂商支持 SLA 的团队
  • production agents without a repository review
  • Repository license is detected as 'Unknown', raising compliance concerns about reuse and redistribution.
  • 高风险权限提示:Shell 或命令执行
  • 许可证不清晰

Agent 安全 v2

42/100 · 避免自动安装

实验性审查

Sparse or mixed signals. Useful for discovery, but not for autonomous installation.

Test manually in an isolated workspace and compare against safer alternatives.

通过 API 解析

Shell 或命令执行

Skill 元数据引用了终端、CLI、Shell、子进程或命令执行工作流。

Browser automation

Skill may drive a browser or interact with web pages.

网络访问

Skill 可能访问远程页面、API、仓库或外部服务。

文件系统访问

Skill 可能读取或写入项目文件、文档、生成产物或本地工作区状态。

  • 高风险权限提示:Shell 或命令执行
  • 许可证不清晰

安装目标

在你的 Agent 工作流中安装此 Skill

通过公开安装端点获取命令、安全清单、目标提示词和该 Skill 的规范链接。

skill install

OpenAgentSkill CLI

Resolve policy, run the source installer safely, and report a verified install receipt.

$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install margelo-api-design

Agent 解析计划

让 Agent 在安装前验证匹配度。

Resolve API 返回首选 Skill、替代方案、安全策略、审计说明、安装目标和可直接执行的提示词,无需抓取此页面。

打开文本计划

Agent 应检查

  • 从 Resolve API 检查任务匹配与替代方案。
  • 检查审计评分、信任评分和安全策略警告。
  • 检查 Codex、Claude Code、Cursor 或 CLI 的安装目标兼容性。

复制提示词

Task: Use api-design in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20api-design%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/margelo-api-design/install
Install command: npx skills add margelo/react-native-skills --skill api-design
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.

Agent 交接

把安装路径交给 Agent,而不是再给一个目录页。

通过公开安装端点获取命令、安全清单、目标提示词和该 Skill 的规范链接。

打开安装 API

Agent 提示词

Use api-design for this task. Review https://www.openagentskill.com/api/skills/margelo-api-design/install, then install with: npx skills add margelo/react-native-skills --skill api-design

Registry 元数据

用于自动选择 Skill 的 Agent 可读档案。

本页通过 Registry API 提供相同的决策、信任、审计、场景和安装信号,让 Agent 无需抓取界面即可排序。

打开 Manifest

适配 Agent

63/100

GitHub automation

平台

Claude Code

审计报告

需审查 · 74/100

对安装准备度、安全元数据、维护情况与采用风险的机器可读审查。

查看审计报告查看评估报告

Agent 决策面板

Fallback candidate for GitHub automation

先用此 Skill 做原型验证,并保留备选方案。

63
就绪度
原型验证
阶段

栈中角色

备选候选

主要匹配

GitHub automation

信任标签

先做原型验证

安装路径

命令已就绪

适用场景

  • GitHub automation 工作流
  • Claude Code 团队
  • builders willing to evaluate younger projects

证据

  • 仓库近期活跃
  • 已提供安装命令或 GitHub 仓库
  • 63/100 质量档案
  • 2 个 OpenAgentSkill 交互事件

先审查

  • Repository license is detected as 'Unknown', raising compliance concerns about reuse and redistribution.

实施路径

  1. 1在沙盒 Agent 中安装它,并端到端完成一次GitHub automation任务。
  2. 2Compare output quality, latency, and failure behavior against at least one alternative.
  3. 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.

信任档案

Do not auto-install

Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.

59
OpenAgentSkill 信任评分

GitHub 采用度

信息

161 个 GitHub Stars

Star/Fork 活跃度

检查

161 个 Star,7 个 Fork; 当前元数据中没有议题活跃度信息

近期维护

通过

距上次推送 1 天

许可证清晰度

检查

未知

积极信号

  • AI 审查已通过
  • 安装路径可用
  • 仓库证据可用
  • 近期维护的仓库
  • 安装命令未发现明显高风险模式
  • 结果闭环已就绪,但需要首次真实 Agent 运行

安装前审查

  • Repository license is detected as 'Unknown', raising compliance concerns about reuse and redistribution.
  • Financial research output is not financial advice; require human review before any live investment decision.
  • 许可证不清晰
  • Quality score needs review
  • Permission surface needs review: shell or command execution, filesystem or document access
  • Stars/forks activity: 161 stars, 7 forks; issue activity unavailable in current metadata
  • License clarity: Unknown
  • Permission surface: shell or command execution, filesystem or document access
  • 暂未有真实 Agent 结果报告
  • 无人值守安装前需要人工审查

建议操作

Choose a stronger alternative or inspect the source manually before any install attempt.

质量档案

有潜力 适用于 Agent 工作流的候选

有用的候选项,但采用前应与替代方案比较。

63
GitHub Stars
161
新鲜度
1 天前
安装就绪
许可证
未知
安装前审查: Repository license is detected as 'Unknown', raising compliance concerns about reuse and redistribution.

工作流匹配

在这些场景使用此 Skill

工作流匹配

加入完整工作流

替代方案短名单

安装前对比

可能适合该任务的相近 Skill。

对比全部

概览

--- name: api-design description: Design and review predictable public APIs for TypeScript, JavaScript, React, and React Native libraries. Use when shaping exported functions, classes, hooks, options objects, event and listener APIs, error behavior, naming, cross-platform abstractions, or JS-only packages. Pair with build-nitro-modules when the library is backed by Nitro. ---

# API Design

Use this skill before implementation or when reviewing a public API surface. Target explicit types, stable semantics, and no irrelevant internals in the public contract.

If the library is a Nitro Module, use this skill for the public TypeScript and React API shape first, then use `build-nitro-modules` for Nitro-specific spec, native-state, and binding constraints. If the library is JS-only, React-only, or React Native JS-only, stay in this skill.

## Workflow

1. Sketch the user-facing TypeScript API before implementing internals. 2. Write 2-3 realistic call-site examples, including error and cleanup paths. 3. Check the surface against the rules below. 4. Verify the exported TypeScript with the repo's typecheck/lint/docs tooling before treating the API as done. 5. Implement only after the public shape is coherent and verified.

## API Freshness

Before choosing public API shape, dependency APIs, platform capabilities, or implementation strategy, verify current official sources instead of relying on trained memory. Library, React, React Native, platform, and tooling APIs evolve quickly.

- Prefer official docs, source repositories, release notes, changelogs, package READMEs, and current package metadata. - Look for `llms.txt` or `llms-full.txt` on official docs sites when available, and use those as compact current context. - Treat remembered API details as a starting hypothesis only. If current docs or source disagree, follow the current docs/source and mention the change when relevant. - Avoid designing against stale blog posts, old snippets, or outdated trained assumptions when an official current source is available.

## API Shape Rules

- Prefer a single source of truth. Do not split related state across booleans and dependent values when one typed value can express the state. Prefer `timeoutMs?: number` over `enableTimeout: boolean` plus `timeoutMs?: number`. - Use option objects or named structs once a function has 3 or more parameters, parameters of the same primitive type, or values that are likely to grow. - Keep APIs specific instead of accepting every possible input shape. A millisecond timeout should be a `number`, not `number | string | bigint | object | null`. - Avoid giant "does everything" objects. Split by domain or lifecycle when responsibilities differ. - Before simplifying or redesigning an API, inventory the workflows the feature is supposed to support. Do not silently drop a workflow, such as a live session API, because a one-shot path is easier to implement. Split workflows into separate APIs when needed. - Prefer literal unions, discriminated unions, interfaces, and typed option groups when the valid states are known. In TypeScript libraries, prefer string literal unions over runtime `enum`s unless consumers need a runtime value. - Avoid untyped dictionaries, boolean clusters, stringly typed commands, and loosely shaped events when the valid states are known. - Do not model a binary option as an optional two-case string union such as `'enabled' | 'disabled'`. If omitted means "use the default" and provided means true/false, use an optional boolean and document the default. - Do not represent multiple object states as one interface full of optional fields. Use a discriminated union, inheritance, or separate variant interfaces so impossible field combinations are unrepresentable. - Keep related fields together on the variant where they are required. If `barcode` and `barcodeType` only make sense together, both should be nonoptional on `ScannedBarcode`, not optional on a generic `ScannedData`. - If you create variant interfaces, use them in the actual public type. Do not define `RecognizedTextDataType` and `RecognizedBarcodeDataType` but keep `recognizedDataTypes: RecognizedDataType[]` where `RecognizedDataType` still contains every variant field as optional. - Use `undefined` or optional fields for absence. Use `null` only when "explicit none" means something different from "not provided". - Prefer discriminated unions for state machines, loading states, and result variants. - Model user intent separately from resolved state when negotiation is involved. For example, an ordered array of constraint objects can express priorities, while a resolved config object reports what the platform actually selected. - For complex negotiation, prefer ranked constraints or preference objects over exposing a combinatorial support matrix. Let callers describe intent, resolve the closest working configuration internally, and expose the resolved configuration through a return value, callback, or explicit resolver method. - Expose common presets as `as const satisfies Record<string, Type>` objects. Keep the accepted type structural so users can provide their own values. - Do not expose ambient facts the caller already knows, such as a `platform` field that only repeats `Platform.OS`, unless the API can return data produced by a different platform than the current runtime. - Do not freeze today's platform support matrix into the type shape. Prefer runtime capability fields such as `availableTextTypes: []` or `supportedFormats: []` over separate platform-specific types or static exclusions. This lets newer native capabilities become available without redesigning the JS API. - Prefer one unified options object. Avoid `ios`/`android` option bags and platform-prefixed methods unless the concepts are genuinely platform-only and cannot be described as a cross-platform capability or no-op. - Classify configuration fields as either requirements or preferences. Throw when a requirement cannot be met. Treat preferences as best-effort when the feature can still perform its core job, such as quality, guidance UI, high-frame-rate tracking, auto-zoom, or a wider scan area. Document best-effort fields and expose capabilities or resolved configuration when callers need to know what was applied. - Split by stable semantic capability when capabilities have different options, results, or futures. For example, barcode scanning and text scanning may deserve separate `BarcodeScanner` and `TextScanner` APIs even when one native API happens to implement both today. A platform that lacks text scanning should fail `createTextScanner()` or report `isTextScannerAvailable: false`, not force text-specific fields to be nullable on a generic scanner used for barcode scanning. - Runtime availability should describe whether a stable capability exists today, not permanently restrict the API shape to the current platform matrix. If Android gains text scanning later, the existing `TextScanner` capability should become available without changing barcode APIs or broadening nullable result types. - Keep capability discovery separate from object contracts. Use capability fields to decide whether a workflow can be created or which optional preferences may apply. Once a factory returns a specific session/resource object, its baseline methods should be guaranteed by construction; otherwise return a narrower type or fail creation instead of making callers check `can*` before every normal method. - Splitting workflows should reduce runtime capability checks. Do not keep broad capability flags only to compensate for one oversized object. For example, a one-shot scanner and an app-owned live scanner can be separate APIs; if the live scanner implementation guarantees zoom, photo capture, or region control, those can be part of the live scanner contract instead of nullable properties plus `can*` checks inherited from a one-shot backend. - Encode lifecycle transitions in the API object graph. If commands are valid only after `configure`, `connect`, `start`, or another lifecycle transition, expose those commands on a handle returned by that transition, not on the parent object with "maybe active" checks. For example, `session.configure(device, outputs)` can return a `Controller` that owns `setZoom(...)` and `focusTo(...)`; the `Session` owns graph configuration and start/stop. - Avoid stale-state APIs. If reconfiguration changes the native resource a command targets, return a new handle and invalidate or dispose the old one. Callers should not be able to accidentally call a command on a parent object that no longer knows which configured device/output it applies to. - Use callbacks or returned resolved objects for post-negotiation facts. If an output, controller, or session config becomes meaningful only after connection, provide `onConfigured`, a returned controller/config, or an explicit `resolve...(...)` method rather than forcing callers to poll nullable properties. - For Nitro-backed imperative APIs, treat the public HybridObject as the API by default. Do not add JS wrappers that pre-parse inputs, translate enum/string shapes, normalize one public format into another, or otherwise make JS call a different API than the generated Nitro spec. Put the intended public shape directly in the Nitro spec and native implementation. - When "all" is a meaningful requested value, model it explicitly instead of using `undefined` as a hidden command. For example, prefer `targetFormats: 'all' | BarcodeFormat[]` or `TargetBarcodeFormat = BarcodeFormat | 'all'` when the implementation benefits from a concrete value. - Do not return half-initialized objects that require a separate `prepare()`, `initialize()`, or `load()` call before normal use. If setup is required, make the factory async and resolve with a ready object. Keep lifecycle methods for real repeatable transitions such as `start()`/`stop()`, not construction readiness. - For larger libraries, expose one small public root or factory that creates stateful domain objects. Keep object construction, async setup, I/O, and validation behind factory methods instead of forcing callers through static functions or half-ready instances. - Return `undefined` only for normal domain absence, and document exactly when it occurs. Do not use optional returns as an unstated error path; throw or reject when an operation fails. - Decide whether returned data is a plain value or a resource. Use plain structs/interfaces for small immutable data whose fields are cheap and semantically complete. Use classes/objects/resources when the value owns native state, needs lazy expensive access, can grow behavior, or should expose methods later. - Choose data representations by semantics first, then performance. Use `string` for decoded text payloads. Use `ArrayBuffer` or byte-oriented objects for raw binary, opaque bytes, media, or large data where zero-copy access is part of the contract.

### Variant Example

Avoid nullable clusters when an object can be in several distinct states:

```typescript interface ScannedData { position: Point text?: string barcode?: string barcodeType?: BarcodeType face?: Rect } ```

Prefer a base type plus variants with nonoptional state-specific fields:

```typescript interface ScannedData { position: Point }

interface ScannedText extends ScannedData { text: string }

interface ScannedBarcode extends ScannedData { barcode: string barcodeType: BarcodeType }

interface ScannedFace extends ScannedData { face: Rect }

type ScannedResult = ScannedText | ScannedBarcode | ScannedFace ```

## Public API Organization

- Split public surfaces into focused files or modules and re-export them from a clear package entry point. Do not create catch-all files that contain a feature's main object plus every enum, option, result, event, and helper type. - Default to one exported public type per file. Group multiple exported types in one file only when they form one tightly coupled log

技术详情

版本
1.0.0
许可证
Unknown
最近更新
2026年8月21日
发布时间
2026年8月21日

决策摘要

备选候选

63
就绪
原型验证
阶段

仓库近期活跃

审计

安装审查

安装与采用审查

74
需审查
安全性
71/100
维护状态
100/100
安装
92/100
打开完整审计查看评估报告

Agent 验证证据

Agent 验证证据

来自解析、审查、安装和一次小范围运行后的结果报告。

0
已验证
Needs first agent run自动安装: 先审查最近: 未知
成功率
近期失败
结果
0
输出质量
失败
0
不相关
0
安装次数
0
风险拦截
0
需要配置
0
生产环境
0

暂时没有 Agent 结果数据。首次 Agent 执行可以通过 /api/agent/outcome 报告成功、需要设置、风险拦截、失败或不相关。

安装

加入 Agent 工作流

免费且开源. 在生产 Agent 中安装前请先审查报告。

增长闭环

分享工具包

X

为 api-design 准备的场景化草稿,可手动发布到 X。

策展说明
A practical pick for design or creative work:

api-design: Design and review predictable public APIs for TypeScript, JavaScript, React, and React Native libraries. Use when shaping e...

161 stars

https://www.openagentskill.com/skills/margelo-api-design?ref=x
打开 X 草稿
可选:带安装命令的回复
Listing + install path for api-design:
https://www.openagentskill.com/skills/margelo-api-design?ref=x

Install: npx skills add margelo/react-native-skills --skill api-design
打开回复草稿

收录来源

Registry 收录

可认领

此列表来自公开来源,维护者认领获批前不会标记为官方。

创作者
margelo
收录方
OpenAgentSkill 社区索引

归属链接指向公开仓库或创作者主页。创作者可认领列表以更新所有权信号。

认领此 Skill

所有者认领

认领此 Skill 页面

这条 Registry 收录 列表归属于 margelo,但尚未标记为官方。认领后可增加已验证所有者信号,使后续发布、安装和审计更新更值得信赖。

创作者外链工具包

将证据徽章加入你的 README

在开发者评估仓库的位置展示规范页面、当前信任与审计信号,以及真实的 Agent 验证证据。

[![Listed on OpenAgentSkill](https://www.openagentskill.com/api/badge/margelo-api-design?metric=listed&label=Listed)](https://www.openagentskill.com/skills/margelo-api-design)
[![OpenAgentSkill Trust](https://www.openagentskill.com/api/badge/margelo-api-design?metric=trust&label=Trust)](https://www.openagentskill.com/skills/margelo-api-design)
[![OpenAgentSkill Audit](https://www.openagentskill.com/api/badge/margelo-api-design?metric=audit&label=Audit)](https://www.openagentskill.com/skills/margelo-api-design/audit)
[![Agent Proven](https://www.openagentskill.com/api/badge/margelo-api-design?metric=proven&label=Agent%20Proven)](https://www.openagentskill.com/skills/margelo-api-design)

作者

M

margelo

@margelo

平台适配

健康信号

GitHub Stars
161
质量评分
38/100
最近 GitHub 推送
2026年8月21日
框架提示
未知
OpenAgentSkill 浏览量
2
复制安装命令
0
跳转点击
0

社区信号

告诉我们这个 Skill 是否对你的 Agent 工作流有帮助。汇总反馈会持续改善排序。

信任与安全

Do not auto-install

59
  • GitHub 采用度161 个 GitHub Stars信息
  • Star/Fork 活跃度161 个 Star,7 个 Fork; 当前元数据中没有议题活跃度信息检查
  • 近期维护距上次推送 1 天通过
  • 许可证清晰度未知检查
  • README/SKILL.md 完整度元数据包含足够的用法与工作流上下文通过
  • 依赖与运行时风险network or browser surface通过