원클릭으로
meta
Meta skill loaded for all phases: project conventions, file modification rules, code quality standards
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Meta skill loaded for all phases: project conventions, file modification rules, code quality standards
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Template repo file structure: where screens, navigation, theme, data, and platform entries live in the monorepo
Android TV build and D-pad QA using Android CLI first, with bounded Gradle and ADB fallbacks
Expo Application Services cloud build configuration for TV app APK and IPA generation
Expo TV configuration: app.json plugins, prebuild settings, platform-specific config for react-native-tvos
Fire TV leanback manifest configuration: banner icons, LEANBACK_LAUNCHER intent filter, TV-specific Android settings
Gradle build commands: assembleDebug, assembleRelease, APK output paths, and emulator installation
| name | meta |
| description | Meta skill loaded for all phases: project conventions, file modification rules, code quality standards |
| applies_to | ["all"] |
| load_when | every turn |
You have a skill library. Use it. This file is loaded on every turn so you remember it exists. The other skills are loaded by phase; you don't have to manage that — the harness does. Your job is to consult skills before acting, and to write new ones when you solve something that will come up again.
Before writing code or invoking a non-trivial tool, ask: is there a skill for this?
If yes → read it, follow its decision tree, then act.
If no but the problem is recurring → solve it manually 3 to 10 times, then write a skill via write_auto_skill.
If no and the problem is one-off → just solve it. Don't pre-codify.
The harness will surface relevant skills in your context automatically based on the current phase. If you find yourself reasoning about a problem and no relevant skill is loaded, don't guess — call request_skill_load(name) to pull one, or list_skills() if you're not sure what's available. Both are cheap and safe.
request_skill_load(name) — pull a skill not auto-loaded for this phase. Use when you hit a problem that feels like it should have established guidance. If the name is wrong, the tool returns suggestions.list_skills(scope?) — see what's available. scope is core | auto | all. Call this when an error message contains a domain word you haven't seen before (e.g. "Vega," "leanback," "manifest schema") — there's probably a skill for it.write_auto_skill(name, frontmatter, content) — codify a learned pattern after solving it manually 3+ times. The harness validates frontmatter shape and quality before accepting. Rejections come with reasons; fix and retry.The skill being in your context isn't enough. Actually open it and reason from it when:
template-anatomy.md says where it goes.shared-ui-catalog.md says whether to reuse instead.spatial-navigation.md has the diagnostic tree.expo-tv-config.md or eas-build.md has the symptom table.vega-sdk.md. Vega is not Android.theming.md. Don't eyeball contrast.If you act without consulting and you were wrong, that's the failure mode this library exists to prevent.
template-anatomy.md — where every file lives in the monoreposhared-ui-catalog.md — what components/screens already exist; reuse before generatingtheming.md — brand kit → theme tokens; contrast and typography rulesmanifest-wiring.md — content.json → hooks → screens; validation rulesspatial-navigation.md — React TV Space Navigation patterns and focus debuggingvega-sdk.md — Fire TV Vega OS (Kepler) — different runtime from Fire OSfiretv-leanback.md — Android TV / Fire TV (Fire OS) manifest requirementsexpo-tv-config.md — EXPO_TV=1, prebuild, config pluginvideo-player.md — react-native-video and Kepler media; stream typeseas-build.md — TV build profiles, when to use EAS vs local10ft-ui.md — type scale, contrast, safe areas — only for new screensAfter 5+ tool calls solving a novel sub-problem, call write_auto_skill(name, frontmatter, content) before moving on. The skill is stored at ./skills/auto/<name>.md. Include:
applies_to (which phase loads it) and load_when (human description).Future runs load it automatically. The harness will probably never reach for that exact same novel problem twice; the value is in the class of problem the skill describes.
The orchestrator validates and may reject:
applies_to or load_when → reject with reason.Read the rejection reason, fix, retry. Don't retry blindly.
<TouchableOpacity> for focusable elements because it responds to touch, not D-pad select" is a skill.The base template (AmazonAppDev/react-native-multi-tv-app-sample) ships ~80% of a working TV app. Your job is customization, not generation. If you're writing a <View> with a <FlatList> and <TouchableOpacity>, stop. The template has <Grid>. Use it.
When you find yourself wanting to write from scratch, the question is always: what existing component or screen am I about to reinvent? If the answer is "nothing — this is genuinely new," then proceed (and load 10ft-ui.md first). Otherwise, reach for the existing piece.