install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/data" ~/.claude/skills/diegosouzapw-awesome-omni-skill-data-b370c6 && rm -rf "$T"
manifest:
skills/data-ai/data/SKILL.mdsource content
Data Persistence Skill
Quick Start
Room Entity & DAO
@Entity data class User(@PrimaryKey val id: Int, val name: String) @Dao interface UserDao { @Query("SELECT * FROM User") suspend fun getAllUsers(): List<User> @Insert suspend fun insert(user: User) }
EncryptedSharedPreferences
val prefs = EncryptedSharedPreferences.create(context, "secret", MasterKey.Builder(context).setKeyScheme(AES256_GCM).build(), AES256_SIV, AES256_GCM) prefs.edit { putString("token", value) }
DataStore
val dataStore = context.createDataStore("settings") val preferences = dataStore.data.map { it[KEY] ?: "" }
Key Concepts
Room Advantages
- Type-safe queries
- Compile-time checks
- Suspend/Flow support
- Migration management
SharedPreferences
- Simple key-value store
- Use Encrypted version for sensitive data
- Limited to small data
DataStore
- Modern SharedPreferences
- Coroutine-native
- Type-safe
- ACID transactions
Best Practices
✅ Use Room for complex data ✅ Encrypt sensitive data ✅ Implement proper migrations ✅ Handle database errors ✅ Test database operations