MG
← All projectsMAGIC Grants

Skylight Wallet

Modern open-source self-custody Monero light wallet using Monero LWS.

MoneroPrivacy protocolsSoftware walletsNormal
Repository coverage

299 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

39security candidates178second-pass queue217AI analyses
77commits · 30 days
100commits · 60 days
139commits · 180 days
292commits · 365 days
Backfill bands
Sep 27 → Mar 31160 seen18 candidatesComplete
Mar 31 → Jul 2928 seen4 candidatesComplete
Jul 29 → Aug 2834 seen3 candidatesComplete
Aug 28 → Sep 2748 seen9 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

37/100 average clarity
0Strong · 80–100
10Adequate · 60–79
151Thin · 40–59
138Opaque · 0–39
17security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Keeqler25135185236
Justin Ehrenhofer42428240
Licaon_Kter302034
SamsungGalaxyPlayer202035
jermanuts100045
Analysis record

Published AI watches

Last scanned 39 minutes ago

Low 32 AI analysisMessage 58 · Thin
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #178 from MAGICGrants/2.1.0-release-fixes

This is a routine version-2.1.0 bug-fix merge for the Skylight Monero wallet. The visible changes fix small packaging and platform-detection issues, add a new automated TLS test suite, and update pinned internal library versions. There is …

New native TLS integration test workflow covering all shipped platformsCA bundle asset handling moved into wallet-core (assets/cacert.pem removed from app asset list, copyCacertToAppDocumentsDir removed)Debian launcher LD_LIBRARY_PATH no longer includes empty trailing entry
320c02ceby Justin Ehrenhofer+383−362427 files
No security note in commit
Informational 3 AI analysisMessage 0 · Opaque
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Update pins

This commit only updates version numbers and the pinned Git commit references (called 'pins') for several software libraries the project depends on. No actual code in this repository was changed. The commit message simply says 'Update pins…

Dependency pin update to new commit hashes in external repositoriesNo source code changes in the skylight-wallet repository itselfNo commit message or in-diff indication of security relevance
7125d971by Justin Ehrenhofer+25−252 files
No security note in commit
Informational 0 AI analysisMessage 45 · Thin
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Merge branch 'main' into 2.1.0-release-fixes

This commit is a routine Git merge that brings the latest changes from the 'main' branch into a release-fixes branch. The only changed files are precompiled binary libraries for Monero wallet support on Android, iOS, Linux, and Windows. No…

50b25b5eby Justin Ehrenhofer+0−07 files
No security note in commit
Informational 18 AI analysisMessage 35 · Opaque
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Skip fetching unused submodules

This commit changes three build scripts so they only download two specific submodules ('monero' and 'lwsf') instead of all submodules. The stated reason is reliability: unused submodules for other coins can cause build failures when their …

Build script change limiting submodule checkout scopeReduced fetch of third-party dependencies during buildNo direct vulnerability or exploit mechanism introduced
8c5b00d3by Justin Ehrenhofer+9−33 files
No security note in commit
Informational 0 AI analysisMessage 58 · Thin
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #179 from MAGICGrants/update-moneroc-libs

This commit only updates precompiled Monero library files (binary .so and .dll files) across Android, iOS, Linux, and Windows. No source code changes are shown, and no description of what changed in the libraries is provided. We cannot det…

3df9967aby Justin Ehrenhofer+0−07 files
No security note in commit
Informational 0 AI analysisMessage 35 · Opaque
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Update monero_c libraries

This commit only updates precompiled Monero wallet library files (binary .so and .dll files) across Android, iOS, Linux, and Windows. No source code changes are shown, and no security-related information is provided in the commit title or …

2cf30607by SamsungGalaxyPlayer+0−07 files
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Fix desktop builds

This commit fixes broken build pipelines for Linux and Windows desktop releases. It pins the Rust toolchain version used during the Linux build and installs the NASM assembler on Windows so that a cryptography library can compile. There is…

e0eaa15fby Justin Ehrenhofer+11−22 files
No security note in commit
Low 34 AI analysisMessage 58 · Thin
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #176 from MAGICGrants/desktop-ui

This is a large feature merge that adds a desktop user interface, re-enables Linux and Windows release builds, and makes several Android build and security-related changes. The most notable security-relevant change is a fix in the Android …

Android MainActivity blocks route/deeplink intent injection by returning null initial route and disabling deeplink handlingAndroid build split into Play and FOSS source sets to keep Google Play review library out of F-Droid/GitHub APKsNew StoreReview method channels on Android and iOS
d6d9d318by Justin Ehrenhofer+3922−151454 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 0 · Opaque
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Bump build

This commit only changes the app's version number in a configuration file, bumping it from 2.0.0+410 to 2.1.0+411. There are no code changes, no security fixes, and no behavior changes visible in the diff.

993a1147by Justin Ehrenhofer+1−11 file
No security note in commit
Low 46 AI analysisMessage 45 · Thin
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Updates for Monero 0.18.5.3

This commit updates the Skylight Wallet app to work with Monero 0.18.5.3, refreshes several internal library versions, re-enables Linux and Windows release builds, and adds two Android safeguards that prevent other apps or adb commands fro…

Exported Android MainActivity previously accepted route-bearing intents that could bypass App LockNew getInitialRoute() and shouldHandleDeeplinking() overrides neutralize route/deep-link injection on AndroidSubmodule/package bumps to monero_c and wallet-core may include undisclosed security fixes for Monero 0.18.5.3
5f5eea3eby Justin Ehrenhofer+37−296 files
No security note in commit
Informational 0 AI analysisMessage 58 · Thin
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #175 from MAGICGrants/update-moneroc-libs

This commit updates pre-compiled Monero wallet library files across Android, iOS, Linux, and Windows. The actual code changes are inside binary files, so the diff shows no readable source changes. There is no information in the commit titl…

424f9588by Justin Ehrenhofer+0−07 files
No security note in commit
Informational 0 AI analysisMessage 35 · Opaque
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Update monero_c libraries

This commit only updates precompiled Monero library files (binary .so and .dll files) across Android, iOS, Linux, and Windows. No source code changes are shown, and no commit message or vendor reference explains what changed in these libra…

1e620a30by SamsungGalaxyPlayer+0−07 files
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Show fiat API failure as a warning triangle by the balance; aligns with Spice

This commit is a cosmetic user-interface change. It swaps a text-based fiat exchange-rate error message for a warning-triangle icon with a tooltip and shows the coin balance more clearly when the fiat rate is unavailable. There is no secur…

09609000by Keeqler+64−541 file
No security note in commit
Informational 15 AI analysisMessage 35 · Opaque
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Fix mobile screen transitions

This commit changes how screen transitions (animations) work in a mobile/desktop wallet app. It disables animated transitions on desktop entirely and keeps them only between navigation-bar screens on mobile. There is no security-relevant c…

9456bbbdby Keeqler+3−11 file
No security note in commit
Informational 18 AI analysisMessage 50 · Thin
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Fix create password screen showing up on mobile; format

This commit fixes a UI bug where mobile users were incorrectly shown a 'create wallet password' screen that should only appear on desktop. On mobile, the app now skips that screen and creates or restores the wallet directly, relying on the…

Flow change: mobile wallet creation/restoration bypasses app-level password screenMobile now relies on device app lock instead of an in-app passwordDuplicate-submission guard added via _committing flag
6483d8a1by Keeqler+163−729 files
No security note in commit
Informational 15 AI analysisMessage 73 · Adequate
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Merge remote-tracking branch 'origin/send-wallet-core' into brightness-fix

This commit is a routine merge that moves fiat-currency handling into a shared library and adds a 'switch amount unit' feature on the send screen. There is no security-relevant change visible in the diff.

1f4209d3by Keeqler+77−10512 files
No security note in commit
Informational 23 AI analysisMessage 58 · Thin
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #173 from MAGICGrants/review-prompt

This commit adds an in-app store review prompt. After a successful cryptocurrency send, it marks the user as eligible, and the next time they open the wallet home screen it may ask for a Google Play or App Store rating. The code deliberate…

Third-party SDK inclusion gated by build flavor (Google Play only)Install-source check before invoking Play review APIF-Droid reproducible-build compatibility via source-set exclusion and recipe deletion
6528c1cbby Keeqler+165−19 files
No security note in commit
Informational 17 AI analysisMessage 68 · Adequate
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Merge branch 'desktop-ui' into brightness-fix

This is a large merge commit that brings a new desktop user interface into the Skylight Wallet app. Most of the changes are UI layout, new desktop-specific screens, updated text strings, and build script tweaks. There is no obvious securit…

Large feature merge with 43 changed files and thousands of linesBuild script updates pinned appimagetool SHA256 and filenameNew desktop UI screens added; no security-critical logic visible
2932c7e0by Keeqler+3592−143843 files
No security note in commit
Informational 15 AI analysisMessage 0 · Opaque
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Bump build

This commit only increases the app's internal build number from 409 to 410 in a configuration file. There are no code changes, no bug fixes, and no security-related modifications visible in the diff.

dcb087efby Keeqler+1−11 file
No security note in commit
Informational 15 AI analysisMessage 0 · Opaque
MG MAGIC GrantsSkylight Wallet MoneroPrivacy protocolsSoftware wallets

Bump build

This commit only increases the app's internal build number from 408 to 409 in a configuration file. No code, dependencies, or security settings were changed. There is no security relevance.

e69ac4eeby Keeqler+1−11 file
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

Lower-priorityUse macos-26 runner for iosby Keeqler · 59f316b0 · May 7, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Keeqler

Use macos-26 runner for ios

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI review queuedUpdate checkout actionby Keeqler · c8838b0d · May 7, 2026 · 3 filesMessage 28 · OpaqueInformational 19Details
Commit message · Keeqler

Update checkout action

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
AI analysis · Informational 19/100

This commit simply updates the GitHub Actions 'checkout' step from version 4 to version 6 in several workflow files. It is a routine dependency/maintenance change with no visible security fix or vulnerability introduced in the diff itself.

AI review queuedBump build noby Keeqler · 038506f2 · May 7, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Keeqler

Bump build no

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only increases the app's build number from 18 to 19 in a configuration file (pubspec.yaml). There are no code changes, no security fixes, and no behavior changes. It is a routine version bump.

AI review queuedBumpby Keeqler · ad84c608 · May 7, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Keeqler

Bump

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only increases the app's version number from 1.0.9+17 to 1.0.10+18 in a configuration file. There are no code changes, no dependency updates, and no security-related content visible in the diff.

AI review queuedAdd fiat api setupby Keeqler · 68571dca · May 7, 2026 · 14 filesMessage 28 · OpaqueLow 27Details
Commit message · Keeqler

Add fiat api setup

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Low 27/100

This commit adds a new setup screen and settings for choosing how the wallet fetches the Monero-to-fiat exchange rate. Users can now pick Tor-only (the default), clearnet (direct internet), or disabled. The clearnet option fetches the rate directly from Kraken's API without routing through Tor, which the app labels as 'not private.' This is a privacy-relevant change, not a code-execution vulnerability, because it lets users intentionally trade some privacy for reliability. The commit also renames many 'connection' labels to 'LWS' (light-wallet server) to avoid confusion with the new fiat API connection.

AI review queuedBump build noby Keeqler · fed4c9c7 · Apr 29, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Keeqler

Bump build no

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only increases the app's build number from 17 to 18 in a configuration file. It contains no code changes, no security fixes, and no functional changes.

AI review queuedAdd monero_c as submoduleby Keeqler · b1c86f5a · Apr 29, 2026 · 2 filesMessage 35 · OpaqueInformational 15Details
Commit message · Keeqler

Add monero_c as submodule

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit simply adds a Git submodule pointing to an external Monero C library. There is no code change, no vulnerability introduced in the diff itself, and no security-relevant content beyond registering a dependency source.

AI review queuedBump build noby Keeqler · d782b92a · Apr 24, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Keeqler

Bump build no

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only increases the app's build number from 16 to 17 in a configuration file. It makes no code changes and presents no security relevance.

AI review queuedAdd fdroid metadataby Keeqler · ce7d06b6 · Apr 24, 2026 · 9 filesMessage 28 · OpaqueInformational 15Details
Commit message · Keeqler

Add fdroid metadata

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only adds F-Droid store listing files—descriptions, screenshots, and icons. It does not change any wallet code, permissions, network behavior, or security settings. There is no security issue here.

AI review queuedBump build noby Keeqler · 1f99ee16 · Apr 22, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Keeqler

Bump build no

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit simply increases the app's build number from 15 to 16 in a configuration file. It makes no code changes and presents no security relevance.

Lower-priorityUse flutter_zxing for qr scanningby Keeqler · d67fe078 · Apr 22, 2026 · 9 filesMessage 45 · ThinTriage 0Details
Commit message · Keeqler

Use flutter_zxing for qr scanning

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI review queuedBump versionby Keeqler · f179e3ad · Apr 20, 2026 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · Keeqler

Bump version

18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only changes the app's version number from 1.0.8+14 to 1.0.9+15 in a configuration file. There are no code changes, no security fixes, and no functional changes visible in the diff.

AI review queuedBump flutter and mobile_scannerby Keeqler · 0a08f221 · Apr 17, 2026 · 3 filesMessage 35 · OpaqueInformational 22Details
Commit message · Keeqler

Bump flutter and mobile_scanner

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 22/100

This commit updates the Flutter framework and the mobile_scanner package (used for QR code scanning) to newer patch/minor versions. Such updates often include routine bug fixes and security fixes, but the commit itself does not describe any specific vulnerability or security issue. Without a vendor security advisory or changelog, we cannot confirm this fixes a known security flaw.

Lower-priorityUpdate README to include desktop instructionsby jermanuts · 9f16c112 · Apr 10, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · jermanuts

Update README to include desktop instructions

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI review queuedRename ios secretsby Keeqler · 0d689453 · Mar 3, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Keeqler

Rename ios secrets

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
AI analysis · Informational 15/100

This commit simply renames four GitHub secret variables used during iOS app release builds, adding an 'IOS_' prefix to each name (for example, 'BUILD_CERTIFICATE_BASE64' becomes 'IOS_BUILD_CERTIFICATE_BASE64'). The workflow still does the exact same thing: it decodes the iOS signing certificate and provisioning profile, creates a temporary keychain, and imports the certificate. There is no change to security behavior, no leaked secrets, and no vulnerability introduced or fixed in the code shown.

AI review queuedMinor readme fixby Justin Ehrenhofer · 759b47ef · Feb 26, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Justin Ehrenhofer

Minor readme fix

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
AI analysis · Informational 15/100

This commit is a purely cosmetic formatting change to the README file. It removes blank lines between two app store badge images and places them on the same line. There is no code change, no functional change, and no security relevance.

AI review queuedApp Store iconby Justin Ehrenhofer · d74e4d76 · Feb 26, 2026 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · Justin Ehrenhofer

App Store icon

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit simply adds an official Apple App Store badge to the project's README file and includes the corresponding Apple-provided SVG image asset. It is a marketing/documentation change with no code modifications, no security fixes, and no security-relevant behavior changes.

Lower-priorityAutomatically create pr that updates version if it doesnt match tagby Keeqler · 8a399260 · Feb 20, 2026 · 1 fileMessage 50 · ThinTriage 0Details
Commit message · Keeqler

Automatically create pr that updates version if it doesnt match tag

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
Lower-priorityHave a single source for flutter versionby Keeqler · c8ae6762 · Feb 20, 2026 · 5 filesMessage 45 · ThinTriage 0Details
Commit message · Keeqler

Have a single source for flutter version

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI review queuedAdd ios build workflowby Keeqler · 7181084a · Feb 19, 2026 · 2 filesMessage 28 · OpaqueInformational 21Details
Commit message · Keeqler

Add ios build workflow

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 21/100

This commit adds a new automated GitHub Actions workflow to build and upload an iOS version of the Skylight Wallet app. It handles code signing and App Store submission. The workflow itself is a normal CI/CD addition, but it stores sensitive signing credentials as GitHub secrets and writes them to disk during the build. There is no direct vulnerability in the diff, but it increases the app's attack surface by introducing a new mobile platform build path and handling high-value secrets in automation.

AI review queuedBump build numberby Keeqler · 4f889661 · Feb 16, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Keeqler

Bump build number

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only increases the app's build number from 13 to 14 in a configuration file. It makes no code changes and has no security relevance.

Lower-priorityFix receive screen in demo modeby Keeqler · cb6bf1dd · Feb 16, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Keeqler

Fix receive screen in demo mode

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI review queuedBump app versionby Keeqler · e57bf29a · Feb 16, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Keeqler

Bump app version

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit simply increases the app's version number from 1.0.7+12 to 1.0.8+13 in a configuration file. There are no code changes, no security fixes, and no behavior changes visible in this patch.

Lower-priorityBump flutter in windows workflowby Keeqler · c0801861 · Feb 16, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Keeqler

Bump flutter in windows workflow

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
Lower-priorityRemove apt-get pins from builder imageby Keeqler · 3ad42eda · Feb 16, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Keeqler

Remove apt-get pins from builder image

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body