Agent skill

React Native Healthkit

by kingstinct in kingstinct/react-native-healthkit

How to use @kingstinct/react-native-healthkit (and its sibling @react-native-healthkit/health-records) to read, write and subscribe to Apple HealthKit data from React Native / Expo apps.

MITAuto-check passedMobile

Install React Native Healthkit

skills CLI
$ npx skills add kingstinct/react-native-healthkit --skill react-native-healthkit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kingstinct/react-native-healthkit react-native-healthkit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/kingstinct/react-native-healthkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/react-native-healthkit .claude/skills/react-native-healthkit && rm -rf skills-src

Use ~/.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/

Facts

Skill name
react-native-healthkit
GitHub stars
715
Token cost
~1.6k tokens
SKILL.md length
567 words
Files
9 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

How to use @kingstinct/react-native-healthkit (and its sibling @react-native-healthkit/health-records) to read, write and subscribe to Apple HealthKit data from React Native / Expo apps.

  • Works in 12 steps: iOS only, no Expo Go. Needs a dev client… → Request authorization before any query… → Read permission is invisible. HealthKit… → …
  • Code imports either package
  • SKILL.md covers Rules that prevent the most…, Minimal setup (Expo), Minimal usage and References: load the one that…, plus 1 more section
  • Calls npx

What it does

React Native Healthkit is an agent skill from kingstinct/react-native-healthkit. How to use @kingstinct/react-native-healthkit (and its sibling @react-native-healthkit/health-records) to read, write and subscribe to Apple HealthKit data from React Native / Expo apps. Use whenever code imports either package, when the user asks about HealthKit, Apple Health, steps, heart rate, sleep, workouts, clinical/FHIR health records, HealthKit permissions, background delivery or the healthkit Expo config plugin in a React Native project.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `references/apple-docs.md`, `references/authorization.md` and `references/health-records.md`).

It sits in Mobile, covering Cross-platform mobile apps. It works with React Native, Expo, TypeScript and iOS. The repository describes itself as: HealthKit bindings for React Native with TypeScript. The licence is MIT.

When your agent uses it

  • Code imports either package
  • The user asks about HealthKit
  • Clinical/FHIR health records
  • HealthKit permissions

Example prompts

  • “/react-native-healthkit”

Requirements

  • Node.js

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. iOS only, no Expo Go. Needs a dev client / native build. On Android and web every export is a stub that warns once and returns an…
  2. Request authorization before any query or subscription for every type you touch. Querying a type you never requested can crash the app. A…
  3. Read permission is invisible. HealthKit never tells you whether reading was denied: you just get no samples. authorizationStatusFor() only…
  4. Identifiers are string literals, e.g. 'HKQuantityTypeIdentifierStepCount', not enums. Type names drop the HK prefix…
  5. limit is required on sample queries. limit: 0 (or negative) means "all". Results are newest first unless ascending: true.
  6. Units are HKUnit strings ('count', 'count/min', 'kg', 'kcal', 'mg/dL', '%', 'ms') and are typed per identifier. Omit unit to get the…
  7. Dates are JS Date objects both in and out.
  8. Prefer statistics queries over raw samples for totals and averages (steps per day, average heart rate). queryStatisticsForQuantity /…
  9. Workouts and sources are native proxies. Call toJSON() before putting them in state or storage, and dispose() them when iterating large…
  10. Metadata keys use the serialized name, not the Swift constant name: HKExternalUUID, not HKMetadataKeyExternalUUID.
  11. Newer identifiers need newer iOS. The types include identifiers up to the latest SDK. On older iOS, requestAuthorization silently drops…
  12. Anchors are opaque base64 strings. Persist newAnchor after each successful sync. An invalid anchor throws; omit anchor to start over.

What it can do on your machine

Read from SKILL.md and the folder at commit 9854ae3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

React Native Healthkit loads about 1.6k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 118 tokens; SKILL.md has 567 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~118
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~13k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from kingstinct/react-native-healthkit at commit 9854ae3, republished under its MIT licence (© kingstinct). 567 words, ~1,590 tokens.

Download SKILL.mdSave it as .claude/skills/react-native-healthkit/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
react-native-healthkit
description
How to use @kingstinct/react-native-healthkit (and its sibling @react-native-healthkit/health-records) to read, write and subscribe to Apple HealthKit data from React Native / Expo apps. Use whenever code imports either package, when the user asks about HealthKit, Apple Health, steps, heart rate, sleep, workouts, clinical/FHIR health records, HealthKit permissions, background delivery or the healthkit Expo config plugin in a React Native project.

react-native-healthkit

@kingstinct/react-native-healthkit is a Nitro Modules binding that maps HealthKit almost 1:1 into TypeScript. Identifiers, units and metadata keys are the same strings HealthKit uses natively, so Apple's documentation applies directly (see Apple docs as Markdown).

Rules that prevent the most common bugs

  1. iOS only, no Expo Go. Needs a dev client / native build. On Android and web every export is a stub that warns once and returns an empty/false value; it never throws. Guard UI with isHealthDataAvailable().
  2. Request authorization before any query or subscription for every type you touch. Querying a type you never requested can crash the app. A classic mistake: a hook that fetches on mount in the same component that requests permission. Gate data hooks behind the authorization result.
  3. Read permission is invisible. HealthKit never tells you whether reading was denied: you just get no samples. authorizationStatusFor() only reports write (share) status. getRequestStatusForAuthorization() only says whether the prompt would still be shown. Design UX for "no data" rather than "denied".
  4. Identifiers are string literals, e.g. 'HKQuantityTypeIdentifierStepCount', not enums. Type names drop the HK prefix (QuantityTypeIdentifier, WorkoutActivityType, CategoryValueSleepAnalysis).
  5. limit is required on sample queries. limit: 0 (or negative) means "all". Results are newest first unless ascending: true.
  6. Units are HKUnit strings ('count', 'count/min', 'kg', 'kcal', 'mg/dL', '%', 'ms') and are typed per identifier. Omit unit to get the user's preferred unit. Validate dynamic units with isQuantityCompatibleWithUnit().
  7. Dates are JS Date objects both in and out.
  8. Prefer statistics queries over raw samples for totals and averages (steps per day, average heart rate). queryStatisticsForQuantity / queryStatisticsCollectionForQuantity de-duplicate overlapping sources (iPhone + Watch) the same way the Health app does. Summing raw step samples double counts.
  9. Workouts and sources are native proxies. Call toJSON() before putting them in state or storage, and dispose() them when iterating large lists.
  10. Metadata keys use the serialized name, not the Swift constant name: HKExternalUUID, not HKMetadataKeyExternalUUID.
  11. Newer identifiers need newer iOS. The types include identifiers up to the latest SDK. On older iOS, requestAuthorization silently drops them (with a native warning) but querying them throws. Check isObjectTypeAvailable(id) first.
  12. Anchors are opaque base64 strings. Persist newAnchor after each successful sync. An invalid anchor throws; omit anchor to start over.
  13. Simulator: HealthKit works but starts empty (add data in the Health app or save samples yourself). Health Records are never available on the simulator.
Show full SKILL.md (169 more words)Show less

Minimal setup (Expo)

sh
npx expo install @kingstinct/react-native-healthkit react-native-nitro-modules
json
{ "expo": { "plugins": [["@kingstinct/react-native-healthkit", {
  "NSHealthShareUsageDescription": "We read your steps to show daily progress",
  "NSHealthUpdateUsageDescription": "We save your workouts to Apple Health",
  "background": true
}]] } }

Then npx expo prebuild and build a dev client. Bare RN, plugin options and entitlements are covered in references/setup.md.

Minimal usage

ts
import {
  isHealthDataAvailable,
  requestAuthorization,
  queryStatisticsForQuantity,
} from '@kingstinct/react-native-healthkit'

if (isHealthDataAvailable()) {
  await requestAuthorization({
    toRead: ['HKQuantityTypeIdentifierStepCount'],
    toShare: ['HKQuantityTypeIdentifierBodyMass'],
  })

  const startOfDay = new Date()
  startOfDay.setHours(0, 0, 0, 0)

  const { sumQuantity } = await queryStatisticsForQuantity(
    'HKQuantityTypeIdentifierStepCount',
    ['cumulativeSum'],
    { filter: { date: { startDate: startOfDay } } },
  )
  console.log(sumQuantity?.quantity, sumQuantity?.unit) // 4231 'count'
}

References: load the one that matches the task

TaskRead
Installing, Expo plugin options, bare RN, entitlements, Info.plist, Android/web behaviourreferences/setup.md
Requesting and checking permissions, hooks, per-object auth, iOS-version gatingreferences/authorization.md
Reading samples, filters, statistics, anchors, units, sources, hooksreferences/querying.md
Saving and deleting samples, correlations, metadatareferences/writing.md
Live updates, observer queries, background deliveryreferences/subscriptions-and-background.md
Workouts, routes, state of mind, medications, ECG, heartbeat series, characteristicsreferences/workouts-and-other-types.md
Clinical records / FHIR (@react-native-healthkit/health-records)references/health-records.md
Looking up HealthKit semantics in Apple's docs (Markdown links)references/apple-docs.md

When unsure about an exact signature

The package's TypeScript types are the source of truth. They are generated from the iOS SDK and more precise than any prose. Look in node_modules/@kingstinct/react-native-healthkit/src/:

  • specs/*.nitro.ts: every native function, with JSDoc links to Apple docs.
  • healthkit.ios.ts: the exported function names.
  • types/QueryOptions.ts: filter and option shapes.
  • generated/healthkit.generated.ts: every identifier, its iOS availability, its canonical unit and its category value enums.

© kingstinct, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (references) in skills/react-native-healthkit of kingstinct/react-native-healthkit.

  • SKILL.md
  • references/apple-docs.md
  • references/authorization.md
  • references/health-records.md
  • references/querying.md
  • references/setup.md
  • references/subscriptions-and-background.md
  • references/workouts-and-other-types.md
  • references/writing.md

Open the folder on GitHubat commit 9854ae3

Compare with similar skills

React Native Healthkit 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.

React Native Healthkit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
React Native Healthkit this skillkingstinct/react-native-healthkit715—~1.6kAutomated safety check: PassMIT
Code Review React Nativetalsec/Free-RASP-ReactNative175—~3.7kAutomated safety check: PassMIT
Analyticscli TS SDKLeoYeAI/openclaw-master-skills2.2k—~5.3kAutomated safety check: PassMIT
Expo iOS Higpproenca/dot-skills214—~2.5kAutomated safety check: PassMIT
App Store Reviewsafaiyeh/app-store-review-skill3611 repos~3.4kAutomated safety check: PassMIT
Expo Tailwind SetupCherryHQ/cherry-studio-app4k8 repos~3kAutomated safety check: PassMIT

Similar skills

  • Code Review React Native

    talsec/Free-RASP-ReactNative

    Performs strict code reviews on React Native plugin projects covering TypeScript, the Kotlin (Android) and Swift (iOS) native bridges, and the Expo config plugin.

    175 GitHub stars~3.7k tokensUpdated 2 days ago
    MobileAuto-check passed
  • Analyticscli TS SDK

    LeoYeAI/openclaw-master-skills

    A skill your agent uses when integrating or upgrading the AnalyticsCLI TypeScript SDK in web, TypeScript, React Native, or Expo apps.

    2.2k GitHub stars~5.3k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Expo iOS Hig

    pproenca/dot-skills

    Expo / React Native iOS interface conforming to Apple Human Interface Guidelines (iOS 26) — native navigation (Expo Router native stack and tabs), platform controls (Alert, ActionSheetIOS, SF…

    214 GitHub stars~2.5k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • App Store Review

    safaiyeh/app-store-review-skill

    Evaluates code against Apple's App Store Review Guidelines. An agent skill from safaiyeh/app-store-review-skill.

    361 GitHub starsUsed in 1 repo~3.4k tokens
    MobileAuto-check passed
  • Expo Tailwind Setup

    CherryHQ/cherry-studio-app

    Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling

    4k GitHub starsUsed in 8 repos~3k tokens
    MobileAuto-check passed
  • Screenmap

    aleqsio/screenmap

    Generate a visual navigation map of an Expo / React Native or NativeScript app.

    239 GitHub stars~7.2k tokensUpdated 2 days ago
    MobileAuto-check passed

More from kingstinct/react-native-healthkit

All 11 skills in this repo
  • Gestures

    kingstinct/react-native-healthkit

    Software Mansion's best practices for gestures in React Native apps using React Native Gesture Handler.

    715 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • Expo Deployment

    kingstinct/react-native-healthkit

    Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes

    715 GitHub starsUsed in 4 repos~930 tokens
    Auto-check passed
  • React Native Healthkit Contributing

    kingstinct/react-native-healthkit

    How to change the react-native-healthkit monorepo itself (packages/core, packages/react-native-healthkit, packages/health-records, apps/example).

    715 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Multithreading

    kingstinct/react-native-healthkit

    Software Mansion's best practices for multithreading in React Native apps using react-native-worklets.

    715 GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • Expo Dev Client

    kingstinct/react-native-healthkit

    Build and distribute Expo development clients locally or via TestFlight

    715 GitHub starsUsed in 5 repos~879 tokens
    Auto-check passed
  • Rich Text

    kingstinct/react-native-healthkit

    Software Mansion's best practices for rich text in React Native using react-native-enriched and react-native-enriched-markdown.

    715 GitHub stars~3.1k tokensUpdated today
    Auto-check passed

Categories

Questions about React Native Healthkit

What does React Native Healthkit do?

How to use @kingstinct/react-native-healthkit (and its sibling @react-native-healthkit/health-records) to read, write and subscribe to Apple HealthKit data from React Native / Expo apps. React Native Healthkit is an agent skill from kingstinct/react-native-healthkit. How to use @kingstinct/react-native-healthkit (and its sibling @react-native-healthkit/health-records) to read, write and subscribe to Apple HealthKit data from React Native / Expo apps.

When should I use React Native Healthkit?

React Native Healthkit fits situations like: code imports either package; the user asks about HealthKit; clinical/FHIR health records; healthKit permissions.

How do I install React Native Healthkit in Claude Code?

Run `npx skills add kingstinct/react-native-healthkit --skill react-native-healthkit -a claude-code`. Or copy the skill folder (skills/react-native-healthkit in kingstinct/react-native-healthkit) into .claude/skills/react-native-healthkit in your project. Claude Code loads it when a task matches its description.

How do I install React Native Healthkit in Codex?

Run `npx skills add kingstinct/react-native-healthkit --skill react-native-healthkit -a codex`. Or copy the skill folder (skills/react-native-healthkit in kingstinct/react-native-healthkit) into .agents/skills/react-native-healthkit in your project. Codex loads it when a task matches its description.

Can I use React Native Healthkit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kingstinct/react-native-healthkit --skill react-native-healthkit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/react-native-healthkit, .gemini/skills/react-native-healthkit, .github/skills/react-native-healthkit and .opencode/skills/react-native-healthkit in your project.

What does React Native Healthkit need to run?

Going by SKILL.md and its folder, React Native Healthkit needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does React Native Healthkit access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is React Native Healthkit safe to install?

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.

What licence does React Native Healthkit use?

React Native Healthkit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does React Native Healthkit use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.

What are the alternatives to React Native Healthkit?

Skills that share tags, products or a category with React Native Healthkit: Code Review React Native (talsec/Free-RASP-ReactNative, 175 stars), Analyticscli TS SDK (LeoYeAI/openclaw-master-skills, 2.2k stars), Expo iOS Hig (pproenca/dot-skills, 214 stars) and App Store Review (safaiyeh/app-store-review-skill, 361 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains React Native Healthkit?

kingstinct (a GitHub organization) maintains it in kingstinct/react-native-healthkit, which has 715 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 6, 2026.

Source: kingstinct/react-native-healthkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.