Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/markdavidgan/apple-dev-skills/setup-ascgit clone --depth 1 https://github.com/markdavidgan/apple-dev-skillsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00073 | $0.01165 |
| Opus 5 | $0.00036 | $0.00583 |
| Sonnet 5 | $0.00015 | $0.00233 |
| Haiku 4.5 | $0.00007 | $0.00117 |
Grade A, and why
setup-asc scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/setup-asc — App Store Connect Configuration
Set up authentication for the App Store Connect MCP server. Configures API keys at machine level or repo level.
Usage
/setup-asc # Run the full setup wizard
/setup-asc status # Check current configuration status
App Store Connect Setup
The ASC MCP server requires three things to authenticate with Apple's API:
- Key ID — a 10-character alphanumeric identifier
- Issuer ID — a UUID from your team's API settings
- Private Key — an
.p8file downloaded from App Store Connect
Step-by-step flow:
1. Check existing configuration
Look for credentials in this order:
- Environment variables:
ASC_KEY_ID,ASC_ISSUER_ID,ASC_KEY_PATH - Repo-level:
.mcp.jsonin the current project root - Machine-level:
~/.config/asc/config.jsonand~/.config/asc/keys/*.p8
Report what's found. If fully configured, offer to validate.
2. Guide the user to get credentials (if needed)
Direct the user to:
App Store Connect > Users and Access > Integrations > App Store Connect API URL: https://appstoreconnect.apple.com/access/integrations/api
Tell them:
- Click Generate API Key (or use an existing one)
- Note the Key ID (shown in the key list)
- Note the Issuer ID (shown at the top of the page)
- Download the .p8 file — this can only be downloaded ONCE
The .p8 file CANNOT be generated via API. The user must download it from the web portal.
3. Collect the values
Ask the user for:
- Key ID (or detect from the
.p8filename patternAuthKey_<KEY_ID>.p8) - Issuer ID
- Path to the
.p8file
4. Choose installation scope
-
Machine-level (recommended for personal machines):
- Create
~/.config/asc/config.jsonwithkey_idandissuer_id - Copy or symlink the
.p8file to~/.config/asc/keys/ - Works across all projects without per-repo config
- Create
-
Repo-level (for shared/CI projects):
- Write or update your tool's project-local MCP config in the project root
(e.g.,
.kimi-code/mcp.jsonfor Kimi Code) - Place key in project's
keys/directory (addkeys/*.p8to.gitignore) - Scoped to this repository only
- Make sure the tool's local config directory is gitignored so credentials and machine paths are not committed
- Write or update your tool's project-local MCP config in the project root
(e.g.,
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 143 lines · 73 tokens per session scan A 821c5815e2eb
setup-asc is a command published in the GitHub repository markdavidgan/apple-dev-skills (5 stars, last pushed 4d ago), licensed MIT. It adds 73 tokens to every session and 1,165 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
arc-skill
You are scaffolding a new React Native (Expo) project using the arc-skill architecture.
arc-connect
Connect API layer, storage, state management, authentication, and i18n to an existing React Native Expo project. Use after arc-scaffold to add backend integration. Trigger when the user mentions adding API calls, auth flow, login, storage, state management, internationalization, backend connection, or data fetching to…
arc-ui
Add theme system, reusable components, screen layouts, and mobile UX design to a React Native Expo project. Use after arc-scaffold to build the visual layer. Trigger when the user wants to add a theme, dark mode, UI components, buttons, inputs, screen layouts, design system, or visual polish to their React Native app.
arc-audit
Audit a React Native Expo project for mobile UX issues, performance problems, and architecture violations. Use to check code quality against arc-skill best practices. Trigger when the user asks to review code, check for issues, wants a health check, mentions touch targets, accessibility, performance audit, or says 'is…
arc-scaffold
Scaffold a new React Native Expo project with folder structure, dependencies, TypeScript config, linting, and navigation shell. Use when starting a new mobile app from scratch, when the user says 'create a new app', 'start a project', 'set up React Native', 'init Expo app', or needs project boilerplate. Trigger this…
arc-feature
Add a complete new feature domain to an existing React Native Expo project — types, API module, React Query hooks, screen, and components in one go. Use when adding a new entity like products, orders, chat, users, recipes, or any CRUD resource. Trigger when the user says 'add a feature', 'create a new screen for X'…