# C Bounds Safety

> Apple's guide to the C -fbounds-safety language extension: the language model, pointer annotations (__counted_by, __sized_by, __ended_by, __single, __indexable, __null_terminated and friends, ptrcheck.h), adoption strategy for existing C code, compiler build settings and modes, and runtime debugging of bounds violations. Use when reading, writing, reviewing, or debugging C code that uses or wants to adopt -fbounds-safety. (Content extracted from your local Xcode on install.)

- Skill: `jlreyes/c-bounds-safety` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jlreyes/c-bounds-safety`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jlreyes/c-bounds-safety/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: jlreyes (https://skillmd.com/u/jlreyes)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jlreyes/c-bounds-safety

---


# c-bounds-safety (stub)

> **Not yet extracted.** This is a stub. The real skill is Apple-authored
> content that ships inside Xcode; Apple's license doesn't permit
> redistributing it, so this kit extracts it from YOUR Xcode instead.
>
> To install the real content (requires Xcode 27+, ~5 seconds), run the
> extraction script that ships alongside these skills. Relative to this
> skill's own directory it is at:
>
>     ../apple-api-updates/scripts/extract-apple-skills.sh
>
> (In the Claude Code plugin layout it is also exposed at the plugin root
> as scripts/extract-apple-skills.sh. If apple-api-updates is not
> installed alongside, install it — the script ships inside it.)
>
> If you are an agent reading this: resolve this SKILL.md's path and run
> that script with your shell tool. Skill bodies are cached for the
> session and you cannot run /reload-plugins yourself (it's a user
> command), so after extracting: answer the current request by reading
> the extracted SKILL.md and its references/ directly from disk (plain
> markdown, fully usable), and ask the user to run /reload-plugins — or
> start a new session — so future invocations serve the real content.

