Agent skill

Asc Metadata Sync

by n0an in n0an/VivaDicta

Sync and validate App Store metadata and localizations with asc, including legacy metadata format migration.

MITAuto-check passedFrontend & Design

Install Asc Metadata Sync

skills CLI
$ npx skills add n0an/VivaDicta --skill asc-metadata-sync -a claude-code

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

GitHub CLI
$ gh skill install n0an/VivaDicta asc-metadata-sync --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/n0an/VivaDicta.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/asc-metadata-sync .claude/skills/asc-metadata-sync && 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
asc-metadata-sync
GitHub stars
131
Used in
1 other repo
Token cost
~1k tokens
SKILL.md length
196 words
Files
2
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

Sync and validate App Store metadata and localizations with asc, including legacy metadata format migration.

  • Works in 2 steps: Version Localizations (per-release) → App Info Localizations (app-level)
  • Updating metadata
  • SKILL.md covers Two Types of Localizations, Legacy Fastlane Metadata…, Quick Field Updates and .strings File Format, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Asc Metadata Sync is an agent skill from n0an/VivaDicta. Sync and validate App Store metadata and localizations with asc, including legacy metadata format migration. Use when updating metadata or translations.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Frontend & Design, covering Internationalization, App store release and Translation. The repository describes itself as: iOS & watchOS speech-to-text app with AI voice keyboard, on-device RAG, and chat with your notes - powered by Apple Foundation Models, WhisperKit, NVIDIA Parakeet, and 20+ AI…. The licence is MIT.

When your agent uses it

  • Updating metadata
  • Tasks that involve Internationalization
  • Tasks that involve App store release

Example prompts

  • “/asc-metadata-sync”

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Version Localizations (per-release)
  2. App Info Localizations (app-level)

What it can do on your machine

Read from SKILL.md and the folder at commit b141304. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

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

  • Network

    No URLs in SKILL.md.

    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

Asc Metadata Sync loads about 1k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 196 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~1k

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 n0an/VivaDicta at commit b141304, republished under its MIT licence (© n0an). 196 words, ~1,033 tokens.

Download SKILL.mdSave it as .claude/skills/asc-metadata-sync/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
asc-metadata-sync
description
Sync and validate App Store metadata and localizations with asc, including legacy metadata format migration. Use when updating metadata or translations.

asc metadata sync

Use this skill to keep local metadata in sync with App Store Connect.

Two Types of Localizations

1. Version Localizations (per-release)

Fields: description, keywords, whatsNew, supportUrl, marketingUrl, promotionalText

bash
# List version localizations
asc localizations list --version "VERSION_ID"

# Download
asc localizations download --version "VERSION_ID" --path "./localizations"

# Upload from .strings files
asc localizations upload --version "VERSION_ID" --path "./localizations"
2. App Info Localizations (app-level)

Fields: name, subtitle, privacyPolicyUrl, privacyChoicesUrl, privacyPolicyText

bash
# First, find the app info ID
asc apps info list --app "APP_ID"

# List app info localizations
asc localizations list --app "APP_ID" --type app-info --app-info "APP_INFO_ID"

# Upload app info localizations
asc localizations upload --app "APP_ID" --type app-info --app-info "APP_INFO_ID" --path "./app-info-localizations"

Note: If you get "multiple app infos found", you must specify --app-info with the correct ID.

Legacy Fastlane Metadata Workflow

Export current state
bash
asc migrate export --app "APP_ID" --version-id "VERSION_ID" --output-dir "./fastlane"
Validate local files
bash
asc migrate validate --fastlane-dir "./fastlane"

This checks character limits and required fields.

Import updates
bash
asc migrate import --app "APP_ID" --version-id "VERSION_ID" --fastlane-dir "./fastlane" --dry-run
asc migrate import --app "APP_ID" --version-id "VERSION_ID" --fastlane-dir "./fastlane"

Quick Field Updates

Version-specific fields
bash
# What's New
asc apps info edit --app "APP_ID" --locale "en-US" --whats-new "Bug fixes and improvements"

# Description
asc apps info edit --app "APP_ID" --locale "en-US" --description "Your app description here"

# Keywords
asc apps info edit --app "APP_ID" --locale "en-US" --keywords "keyword1,keyword2,keyword3"

# Support URL
asc apps info edit --app "APP_ID" --locale "en-US" --support-url "https://support.example.com"
Version metadata
bash
# Copyright
asc versions update --version-id "VERSION_ID" --copyright "2026 Your Company"

# Release type
asc versions update --version-id "VERSION_ID" --release-type AFTER_APPROVAL
TestFlight notes
bash
asc build-localizations create --build "BUILD_ID" --locale "en-US" --whats-new "TestFlight notes here"

.strings File Format

For bulk updates, use .strings files:

// en-US.strings
"description" = "Your app description";
"keywords" = "keyword1,keyword2,keyword3";
"whatsNew" = "What's new in this version";
"supportUrl" = "https://support.example.com";

For app-info type:

// en-US.strings (app-info type)
"privacyPolicyUrl" = "https://example.com/privacy";
"name" = "Your App Name";
"subtitle" = "Your subtitle";

Multi-Language Workflow

  1. Export all localizations:
bash
asc localizations download --version "VERSION_ID" --path "./localizations"
  1. Translate the .strings files (or use translation service)

  2. Upload all at once:

bash
asc localizations upload --version "VERSION_ID" --path "./localizations"
  1. Verify:
bash
asc localizations list --version "VERSION_ID" --output table

Character Limits

FieldLimit
Name30
Subtitle30
Keywords100 (comma-separated)
Description4000
What's New4000
Promotional Text170

Use asc metadata validate --dir "./metadata" for canonical metadata trees. Use asc migrate validate --fastlane-dir "./fastlane" for legacy fastlane-format metadata.

Notes

  • Version localizations and app info localizations are different; use the right command and --type flag.
  • Use asc localizations list to confirm available locales and IDs.
  • Privacy Policy URL is in app info localizations, not version localizations.

© n0an, 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 1 other file in .agents/skills/asc-metadata-sync of n0an/VivaDicta.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit b141304

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in n0an/VivaDicta, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Asc Metadata Sync 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.

Asc Metadata Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Asc Metadata Sync this skilln0an/VivaDicta1311 repos~1kAutomated safety check: PassMIT
Asc Localize MetadataCamilleScholtz/swmpc2395 repos~2.8kAutomated safety check: PassEUPL-1.2
Store Localizationdotnetdreamer/open-screenshot-generator124—~3.8kAutomated safety check: PassMIT
Localizationappeeky/aso-skills2.2k—~1.5kAutomated safety check: PassMIT
Chatbox i18n Translatorchatboxai/chatbox42k—~508Automated safety check: PassGPL-3.0
Enforce Rules For I18nmoeru-ai/airi50k—~1.5kAutomated safety check: PassMIT

Similar skills

  • Asc Localize Metadata

    CamilleScholtz/swmpc

    Automatically translate and sync App Store metadata (description, keywords, what's new, subtitle) to multiple languages using LLM translation and asc CLI.

    239 GitHub starsUsed in 5 repos~2.8k tokens
    MobileAuto-check passed
  • Store Localization

    dotnetdreamer/open-screenshot-generator

    Ships one screenshot design in many App Store and Play Store languages using the open-screenshot-generator CLI (osg localize): it adds store locales to an existing project, writes per language copy…

    124 GitHub stars~3.8k tokensUpdated yesterday
    MobileAuto-check passed
  • Localization

    appeeky/aso-skills

    When the user wants to localize their App Store listing for international markets.

    2.2k GitHub stars~1.5k tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • Chatbox i18n Translator

    chatboxai/chatbox

    Translates new or changed i18n keys from a Chatbox Pro diff, staged changes or a commit range, writing the locale JSON files directly with a built-in glossary.

    42k GitHub stars~508 tokensUpdated 14 days ago
    Frontend & DesignAuto-check passed
  • Review pending AIRI translations on Crowdin in a batch, then sync them into the repository.

    50k GitHub stars~1.5k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Translation Review

    Devolutions/UniGetUI

    Reviews UniGetUI .json language files for localization quality, detects parity issues, English-equal entries, wrong-script content, and cross-language outliers, then generates a dataset for…

    26k GitHub stars~1.3k tokensUpdated today
    Frontend & DesignAuto-check passed

More from n0an/VivaDicta

All 20 skills in this repo
  • Swiftdata Pro

    n0an/VivaDicta

    Writes, reviews, and improves SwiftData code using modern APIs and best practices.

    131 GitHub starsUsed in 1 repo~930 tokens
    Auto-check passed
  • iOS Simulator Skill

    n0an/VivaDicta

    21 production-ready scripts for iOS app testing, building, and automation.

    131 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Asc Aso Rankings

    n0an/VivaDicta

    Pull current keyword rankings from Astro MCP, compare against the previous rankings check, and save a new rankings file to the vault.

    131 GitHub stars~985 tokensUpdated 3 days ago
    Auto-check passed
  • Coverage Report

    n0an/VivaDicta

    Measure VivaDicta test code coverage from the terminal. An agent skill from n0an/VivaDicta.

    131 GitHub stars~1.2k tokensUpdated 3 days ago
    Auto-check passed
  • Loc Report

    n0an/VivaDicta

    Count Swift lines of code across the VivaDicta codebase and refresh the production-vs-test history chart.

    131 GitHub stars~825 tokensUpdated 3 days ago
    Auto-check passed
  • Asc Release Flow

    n0an/VivaDicta

    Determine whether an app is ready to submit, then drive the App Store release flow with asc, including first-time submission fixes for availability, in-app purchases, subscriptions, Game Center, and…

    131 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed

Questions about Asc Metadata Sync

What does Asc Metadata Sync do?

Sync and validate App Store metadata and localizations with asc, including legacy metadata format migration. Asc Metadata Sync is an agent skill from n0an/VivaDicta. Sync and validate App Store metadata and localizations with asc, including legacy metadata format migration.

When should I use Asc Metadata Sync?

Asc Metadata Sync fits situations like: updating metadata; tasks that involve Internationalization; tasks that involve App store release.

How do I install Asc Metadata Sync in Claude Code?

Run `npx skills add n0an/VivaDicta --skill asc-metadata-sync -a claude-code`. Or copy the skill folder (.agents/skills/asc-metadata-sync in n0an/VivaDicta) into .claude/skills/asc-metadata-sync in your project. Claude Code loads it when a task matches its description.

How do I install Asc Metadata Sync in Codex?

Run `npx skills add n0an/VivaDicta --skill asc-metadata-sync -a codex`. Or copy the skill folder (.agents/skills/asc-metadata-sync in n0an/VivaDicta) into .agents/skills/asc-metadata-sync in your project. Codex loads it when a task matches its description.

Can I use Asc Metadata Sync 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 n0an/VivaDicta --skill asc-metadata-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/asc-metadata-sync, .gemini/skills/asc-metadata-sync, .github/skills/asc-metadata-sync and .opencode/skills/asc-metadata-sync in your project.

What does Asc Metadata Sync need to run?

SKILL.md names no scripts, command-line tools or credentials: Asc Metadata Sync is instructions for the agent only.

Does Asc Metadata Sync access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Asc Metadata Sync 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 Asc Metadata Sync use?

Asc Metadata Sync 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 Asc Metadata Sync use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Asc Metadata Sync?

Skills that share tags, products or a category with Asc Metadata Sync: Asc Localize Metadata (CamilleScholtz/swmpc, 239 stars), Store Localization (dotnetdreamer/open-screenshot-generator, 124 stars), Localization (appeeky/aso-skills, 2.2k stars) and Chatbox i18n Translator (chatboxai/chatbox, 42k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Asc Metadata Sync?

n0an (a GitHub user) maintains it in n0an/VivaDicta, which has 131 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 5, 2026.

Source: n0an/VivaDicta on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.