api-design

Revoir · 59
Indexé dans Registry

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
Version1.0.0
Qualité63/100 · Prometteur
Confiance59/100 · Do not auto-install
Audit74/100 · Revue nécessaire

Profil de l’actif

Design et production créative

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

Voir la catégorie

Scénario

Design et créativité

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

Adéquation Agent

Claude Code + CLI + Codex

Compatible avec Codex, Claude Code, Cursor, CLI ou des Agents personnalisés.

Installer

Prêt

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

Maintenance

À jour

1 jours depuis le dernier push

Risque

Revue nécessaire

La licence est ambiguë

Qualité GitHub

161

63/100 Qualité · 67/100 Confiance

Tags de couverture

DesignDesign et créativitéDesign et créationagent-skill

Notes de revue

La licence est ambiguë · Permission surface may require sandboxing

Carte d’adoption Agent

Confiance, audit et préparation à l’installation en un coup d’œil

Ces scores combinent les métadonnées publiques du dépôt, les signaux de revue OpenAgentSkill, la fraîcheur de maintenance et la préparation à l’installation. Ils servent à présélectionner et ne remplacent pas la revue humaine.

Qualité

Prometteur
63

Useful candidate, but compare it with alternatives before adopting.

Confiance

Do not auto-install
59

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

Audit

Revue nécessaire
74

Revue lisible par machine de la préparation à l’installation, des métadonnées de sécurité, de la maintenance et du risque d’adoption.

Trust Score OpenAgentSkill v5

Revue humaine avant installation

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

CodexClaude CodeCursorOpenAgentSkill CLI

Stars

161 stars GitHub

Activité du dépôt

161 stars et 7 forks

Maintenance

1 jours depuis le dernier push

Licence

Inconnu

Installer

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

Sécurité d’installation

Chemin d’installation standard de package ou runtime

Surface de permissions

shell or command execution, filesystem or document access

Résultats Agent

Pas encore de données de résultats Agent

Documentation

Contexte README/SKILL.md solide

Résumé des risques

Revoir avant production

  • 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.
  • La licence est ambiguë
  • Quality score needs review

Préparation à l’installation

Chemin d’installation disponible

  • Le chemin d’installation est disponible
  • La preuve du dépôt est disponible
  • La licence est ambiguë
  • Pas encore de preuve de résultat Agent-Proven

Métadonnées lisibles par Agent

Données de décision lisibles par machine pour ce skill.

Utilisez ce bloc ou le JSON intégré pour décider si un Agent doit installer ce skill, choisir une alternative ou demander d’abord une revue humaine.

Ouvrir JSON

Tâches adaptées

  • workflows GitHub automation
  • Équipes Claude Code
  • builders willing to evaluate younger projects
  • Inspect repository metadata

Agents adaptés

CodexClaude CodeCursorOpenAgentSkill CLICLI

Décision d’installation

Commande
npx skills add margelo/react-native-skills --skill api-design
Politique
Revoir
Revue humaine
Oui

Confiance et risque

Confiance
59/100
Audit
74/100
Niveau de risque
Revue nécessaire

Boucle de résultat

Endpoint
/api/agent/outcome
ID d’événement
resolve
Résultats
5

Commande d’installation

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

Ne pas utiliser quand

  • Équipes qui nécessitent un SLA soutenu par le fournisseur
  • production agents without a repository review
  • Repository license is detected as 'Unknown', raising compliance concerns about reuse and redistribution.
  • Indices de permissions à haut risque : exécution shell ou de commande
  • La licence est ambiguë

Sécurité Agent v2

42/100 · Éviter l’installation automatique

ExpérimentalRevoir

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

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

Résoudre via API

Élevé

Exécution shell ou de commande

Les métadonnées de la skill font référence à des workflows de terminal, CLI, shell, sous-processus ou exécution de commande.

Moyen

Browser automation

Skill may drive a browser or interact with web pages.

Moyen

Accès réseau

La skill récupère probablement des pages distantes, API, dépôts ou services externes.

Moyen

Accès au système de fichiers

La skill peut lire ou écrire des fichiers de projet, documents, artefacts générés ou l’état local de l’espace de travail.

  • Indices de permissions à haut risque : exécution shell ou de commande
  • La licence est ambiguë

Cibles d’installation

Installer ce skill dans votre workflow Agent

Utilisez le point de terminaison public pour récupérer la commande, la checklist, les prompts et les liens canoniques.

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

Plan de résolution Agent

Laissez un Agent vérifier la pertinence avant l’installation.

L’API Resolve renvoie la skill sélectionnée, des alternatives, la politique de sécurité, les notes d’audit, la cible d’installation et un prompt prêt à l’emploi.

Ouvrir le plan texte

L’Agent doit vérifier

  • Task fit and alternatives from Resolve API.
  • Audit score, trust score, and safety policy warnings.
  • Install target compatibility for Codex, Claude Code, Cursor, or CLI.

Copier le prompt

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.

Relais Agent

Donnez à l’Agent le chemin d’installation, pas un autre annuaire.

Utilisez le point de terminaison public pour récupérer la commande, la checklist, les prompts et les liens canoniques.

Ouvrir l’API d’installation

Prompt 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

Métadonnées Registry

Profil lisible par Agent pour la sélection automatique de skills.

L’API Registry fournit les signaux de décision, confiance, audit, cas d’usage et installation sans analyser l’interface.

Ouvrir Manifest

Adéquation Agent

63/100

GitHub automation

Plateformes

Claude Code

Rapport d’audit

Revue nécessaire · 74/100

Revue lisible par machine de la préparation à l’installation, des métadonnées de sécurité, de la maintenance et du risque d’adoption.

Voir le rapport d’auditVoir le rapport d’évaluation

Panneau de décision Agent

Fallback candidate for GitHub automation

Prototype with this skill first; keep a fallback candidate ready.

63
Préparation
Prototype
Étape

Rôle dans la pile

Candidate de secours

Pertinence principale

GitHub automation

Libellé de confiance

Prototyper d’abord

Chemin d’installation

Commande prête

À utiliser lorsque

  • workflows GitHub automation
  • Équipes Claude Code
  • builders willing to evaluate younger projects

Preuves

  • recent repository activity
  • install command or GitHub repo available
  • profil qualité 63/100
  • 2 événements OpenAgentSkill

revoir d’abord

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

Chemin d’implémentation

  1. 1Installez-le dans un Agent en sandbox et exécutez une tâche de GitHub automation de bout en bout.
  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.

Profil de confiance

Do not auto-install

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

59
Trust Score OpenAgentSkill

Adoption GitHub

Info

161 stars GitHub

Activité stars/forks

Vérifier

161 stars et 7 forks; l’activité des issues n’est pas disponible dans les métadonnées actuelles

Maintenance récente

Validé

1 jours depuis le dernier push

Clarté de licence

Vérifier

Inconnu

Signaux positifs

  • Revue IA approuvée
  • Le chemin d’installation est disponible
  • La preuve du dépôt est disponible
  • Dépôt maintenu récemment
  • La commande d’installation ne présente aucun motif de haut risque évident
  • La boucle de résultats est prête mais nécessite la première exécution réelle de l’Agent

Réviser avant installation

  • 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.
  • La licence est ambiguë
  • 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
  • Pas encore de rapports de résultats Agent réels
  • Une revue humaine est requise avant une installation sans surveillance

Action recommandée

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

Profil qualité

Prometteur candidat pour les workflows Agent

Useful candidate, but compare it with alternatives before adopting.

63
Stars GitHub
161
Actualité
il y a 1 jours
Prêt à installer
Oui
Licence
Inconnu
Réviser avant installation: Repository license is detected as 'Unknown', raising compliance concerns about reuse and redistribution.

Adéquation au workflow

Utilisez cette skill dans ces scénarios

Adéquation au workflow

Ajouter à un workflow complet

Liste d’alternatives

Comparer avant installation

Similar skills that may fit this task.

Tout comparer

Vue d’ensemble

--- 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

Détails techniques

Version
1.0.0
Licence
Unknown
Dernière mise à jour
21 août 2026
Publié
21 août 2026

Instantané de décision

Candidate de secours

63
Prêt
Prototype
Étape

recent repository activity

Audit

Revue d’installation

Revue d’installation et d’adoption

74
Revue nécessaire
Sécurité
71/100
Maintenance
100/100
Installer
92/100
Ouvrir l’audit completVoir le rapport d’évaluation

Preuves validées par Agent

Preuves validées par Agent

Rapports après resolve, revue, installation et une exécution limitée.

0
Validé
Needs first agent runAuto-installation: revoir d’abordDernier: Inconnu
Taux de réussite
Échec récent
Résultats
0
Qualité de sortie
Échecs
0
Non pertinent
0
Installations
0
Bloqué par le risque
0
Configuration requise
0
Production
0

Aucune donnée de résultat Agent pour l’instant. La première exécution peut signaler succès, besoin de configuration, blocage de risque, échec ou non-pertinence via /api/agent/outcome.

Installer

Ajouter au workflow Agent

Gratuit et open source. Examinez le rapport avant l’installation dans des Agents de production.

Boucle de croissance

Kit de partage

X

Brouillon guidé par scénario pour api-design, prêt pour une publication manuelle sur X.

Note du curateur
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
Ouvrir le brouillon X
Réponse facultative avec commande d’installation
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

Source de la fiche

Indexé par Registry

Revendiable

Cette fiche a été indexée à partir de sources publiques et n’est pas marquée officielle tant qu’une revendication de mainteneur n’est pas approuvée.

Créateur
margelo
Indexé par
Index communautaire OpenAgentSkill

L’attribution renvoie au dépôt public ou au profil du créateur. Les créateurs peuvent revendiquer la fiche pour mettre à jour les signaux de propriété.

Revendiquer ce skill

Revendication du propriétaire

Revendiquer cette fiche de skill

Cette fiche Indexé par Registry est attribuée à margelo, mais n’est pas encore marquée officielle. Revendiquez-la pour ajouter un signal de propriétaire vérifié et rendre les futures mises à jour de lancement, d’installation et d’audit plus fiables.

Kit de backlinks créateur

Ajoutez les badges de preuve à votre README

Affichez la fiche canonique, les signaux actuels de confiance et d’audit, ainsi que de vraies preuves Agent-Proven là où les développeurs évaluent le dépôt.

[![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)

Auteur

M

margelo

@margelo

Adéquation plateforme

Signaux de santé

Stars GitHub
161
Score de qualité
38/100
Dernier push GitHub
21 août 2026
Indications de framework
Inconnu
Vues OpenAgentSkill
2
Copies d’installation
0
Clics sortants
0

Signal de communauté

Indiquez si ce skill semble utile à votre workflow Agent. Les retours agrégés améliorent le classement au fil du temps.

Confiance et sécurité

Do not auto-install

59
  • Adoption GitHub161 stars GitHubInfo
  • Activité stars/forks161 stars et 7 forks; l’activité des issues n’est pas disponible dans les métadonnées actuellesVérifier
  • Maintenance récente1 jours depuis le dernier pushValidé
  • Clarté de licenceInconnuVérifier
  • Complétude README/SKILL.mdLes métadonnées incluent suffisamment de contexte d’usage et de workflowValidé
  • Risque dépendances/runtimenetwork or browser surfaceValidé