Synthèse automatique
Cette compétence fournit des repères sur les composants fondamentaux d'Android — cycles de vie des Activity et Fragment, Services et système d'Intent — avec des extraits Kotlin prêts à l'emploi.
Points forts
- Couvre les rappels de cycle de vie Activity et Fragment avec un exemple Kotlin concret
- Montre les Intent explicites et implicites ainsi que les trois modes de Service (started, bound, foreground)
- Rappelle les bonnes pratiques essentielles : ViewModel pour l'état, désenregistrement des listeners, gestion des changements de configuration
- Déclare des paramètres validés (component, lifecycle_state) qui cadrent les réponses
Limites
- Contenu volontairement introductif : peu de détails sur les coroutines, la navigation moderne ou Compose
- Ne traite pas en profondeur les permissions au-delà de leur mention dans les paramètres
- Les extraits restent minimaux et devront être adaptés à l'architecture réelle du projet
À utiliser lorsqu'il faut expliquer ou corriger le cycle de vie d'une Activity ou d'un Fragment, choisir un type de Service ou construire un Intent sous Android.
À éviter pour des questions avancées de Compose, de navigation déclarative ou de performance bas niveau, que la compétence n'aborde pas.
Analyse de sécurité
SûrThe skill contains only Android platform documentation and code snippets. It declares no tools, executes no commands, and makes no network, filesystem, or credential-related requests.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
My Fragment registers a BroadcastReceiver in onCreateView and crashes after rotation. Show me the correct lifecycle callbacks to register and unregister it.I need background music playback that keeps running when the app is backgrounded on Android. Should I use a started, bound, or foreground Service, and why?Write Kotlin code that opens a web URL with an implicit ACTION_VIEW Intent and handles the case where no app can handle it.name: platform description: Android core components lifecycle, Activities, Fragments, Services, Intent system. version: "2.0.0" sasmp_version: "1.3.0"
Agent Binding
bonded_agent: 02-platform bond_type: PRIMARY_BOND
Skill Configuration
atomic: true single_responsibility: Android platform components & lifecycle
Parameter Validation
parameters: component: type: string enum: [activity, fragment, service, intent, permission] required: false lifecycle_state: type: string required: false
Retry Configuration
retry: max_attempts: 2 backoff: exponential on_failure: return_lifecycle_diagram
Observability
logging: level: info include: [query, component_type, response_time]
Android Platform Skill
Quick Start
Activity Lifecycle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
override fun onDestroy() {
super.onDestroy()
// Cleanup
}
}
Fragment Usage
class UserFragment : Fragment() {
private val viewModel: UserViewModel by viewModels()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel.user.observe(viewLifecycleOwner) { user ->
updateUI(user)
}
}
}
Key Concepts
Lifecycle Callbacks
onCreate(): Initial setuponStart(): Become visibleonResume(): Gain focusonPause(): Lose focusonStop(): HiddenonDestroy(): Final cleanup
Fragment Lifecycle
Similar to Activity but with:
onAttach(): Attached to activityonDetach(): Detached- Fragment manager for transactions
Intent System
// Explicit
startActivity(Intent(this, DetailActivity::class.java))
// Implicit
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://example.com")))
Services
- Started:
startService() - Bound:
bindService() - Foreground: Visible notification
Best Practices
✅ Handle lifecycle properly ✅ Use ViewModel for state ✅ Unregister listeners ✅ Test configuration changes ✅ Respect process lifecycle
Resources
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/android-platform-components-mrx3xwoo/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/android-platform-components-mrx3xwoo' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/android-platform-components-mrx3xwoo/download' --output '.skill-downloads/android-platform-components-mrx3xwoo/SKILL.md.part' && mv '.skill-downloads/android-platform-components-mrx3xwoo/SKILL.md.part' '.skill-downloads/android-platform-components-mrx3xwoo/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/android-platform-components-mrx3xwoo/SKILL.md' && test -s '.skill-downloads/android-platform-components-mrx3xwoo/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/platform' && cp -R '.skill-downloads/android-platform-components-mrx3xwoo' '.claude/skills/platform'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/android-platform-components-mrx3xwoo'openskills read 'android-platform-components-mrx3xwoo'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/android-platform-components-mrx3xwoo/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.