Skip to content
Agentmart
Submit a tool

app-store-compliance

Skill by ProjectZeroDays

IndexedMIT★ 5
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/projectzerodays-app-store-compliance

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

The publisher has not written a description yet.

Use cases: security

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions: not checked yet.

What's inside

Skill name
app-store-compliance
Description
None
License
MIT
Instructions
156 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • invalid YAML frontmatter: Nested mappings are not allowed in compact mappings at line 2, column 14:
  • name: missing
  • description: missing

Files (1)

  • SKILL.md

SKILL.md (first lines)

# App Store Compliance

This skill covers the complete workflow for preparing a Capacitor-based Next.js app for Google Play Store and Apple App Store submission.

## Android Fixes

### 1. Fix AndroidManifest.xml
```xml
<!-- REMOVE deprecated APP_BROWSER category -->
<!-- ADD proper app link intent-filter with autoVerify -->
<!-- SET usesCleartextTraffic="false" -->
<!-- ADD Google Play required features -->
```

### 2. Fix Adaptive Icons
Create proper adaptive icon resources:
- `res/mipmap-anydpi-v26/ic_launcher.xml` — background + foreground
- `res/mipmap-anydpi-v26/ic_launcher_round.xml` — rounded variant
- `res/values/ic_launcher_background.xml` — solid color

### 3. Fix Network Security
- Set `usesCleartextTraffic="false"` in manifest
- Add domain exceptions in `network_security_config.xml`
- Only allow localhost/127.0.0.1 for dev

### 4. Add Runtime Permissions
Update `MainActivity.java` to request POST_NOTIFICATIONS at runtime:
```java
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS)
            != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this,
            new String[]{Manifest.permission.POST_NOTIFICATIONS},
            REQUEST_CODE_POST_NOTIFICATIONS);
    }
}
```

## iOS Fixes

### 1. Generate Info.plist
Run `npx cap sync ios` to generate the project, then add required keys:

```xml
<key>NSCameraUsageDescription</key>
<string>Allow camera access to upload profile photos</string>

<key>NSMicrophoneUsageDescription</key>
<string>Allow microphone access for VOIP calls</string>

<key>NSLocationWhenInUseUsageDescription</key>
<string>Allow location access to find nearby therapists</string>

<key>NSUserTrackingUsageDescription</key>
<string>This allows us to show relevant content and improve your experience</string>

<key>NSPhotoLibraryAddUsageDescription</key>
<string>Allow saving photos to your library</string>

<key>NSPhotoLibraryUsageDescription</key>
<string>Allow access to select profile photos</string>

<key>NSLocalNetworkUsageDescription</key>
<string>Allow local network access for VOIP calling</string>

<key>UIUserInterfaceStyle</key>
<string>Automatic</string>

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
</dict>
```

### 2. Create Entitlements File
Create `ios/App/App/OnlyHands.entitlements`:
```xml
<key>com.apple.developer.associated-domains</key>
<array>
    <string>applinks:onlyhands.com</string>
</array>
<key>com.apple.developer.push-notifications</key>
<true/>
```

### 3. Update LaunchScreen
Update `Base.lproj/LaunchScreen.storyboard` to show splash properly.

## Cross-Platform

### 1. Install Push Notifications Plugin
```bash
npm install @capacitor/push-notifications
npx cap sync
```

### 2. Generate App Icons
Use the icon generator script:
```bash
node scripts/generate-icons.js
# Creates: public/icon.svg, public/splash.svg
# Updates: Android adaptive icon background
```

### 3. Sync Native Projects
```bash
npx cap sync
```

## Pre-Submission Checklist

### Google Play Store
- [ ] `APP_BROWSER` category removed from manifest
- [ ] Adaptive icons complete (background + foreground)
- [ ] `usesCleartextTraffic="false"`
- [ ] POST_NOTIFICATIONS runtime request implemented
- [ ] Privacy policy URL configured in Play Console
- [ ] App signing key prepared (keystore)

From ProjectZeroDays/FreeAI_AI_Inference_Workstation, MIT.

More from ProjectZeroDays/FreeAI_AI_Inference_Workstation

Signals

Stars
5
Forks
1
Open issues
0
Last commit (this folder)
Aug 27, 2026 (2 months ago)
Last release
Sep 1, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ProjectZeroDays

Cite this page

app-store-compliance skill. Agent Mart. https://agentmart.dev/skills/projectzerodays-app-store-compliance (last updated 2026-10-24)