{"adoption": {"forks": 1123, "observed_at": "2026-08-28T04:11:00.045904+00:00", "stars": 12894}, "canonical_url": "https://ross.abutalabs.com/products/skeletonview", "card": {"archived": false, "artifact_type": "library", "description": "☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting", "domain": ["mobile-development", "frontend", "web-design"], "enriched": true, "function": ["ui-components", "animation", "state-management"], "health_score": 79, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["Juanpe/SkeletonView"], "name": "Juanpe/SkeletonView", "platform": [], "pushed_at": "2026-06-23T17:39:57+00:00", "repo": "Juanpe/SkeletonView", "stars": 12894, "tags": ["skeleton-loading", "placeholder-ui", "shimmer-effect", "uikit", "loading-state", "cocoapods", "swift-package-manager", "ios", "swift", "mobile"], "topics": ["swift", "skeleton", "placeholder", "gradients", "animation", "loading", "ios", "uitableview", "uicollectionview", "ios-uiview", "ios-animation", "loading-animations", "loading-animation", "facebook-animation", "facebook", "carthage", "swift-package-manager", "hacktoberfest", "redacted", "shimmer"], "urls": [], "use_cases": ["show skeleton loading placeholders in an iOS app", "add shimmer animation while API data loads", "display redacted placeholder views for UITableView", "prepare users for incoming content with loading animations", "replace spinners with skeleton screens in Swift", "animate collection view placeholders during async requests"], "what_it_is": "SkeletonView is a Swift library for iOS that displays animated skeleton placeholder views while content loads, giving users a preview of upcoming UI. It works with any UIView including UITableView and UICollectionView, and supports customizable gradients, shimmer animations, and transitions.", "when_to_avoid": ["developing for Android, web, or cross-platform frameworks", "your app uses SwiftUI exclusively and you prefer native redaction APIs", "you only need a simple spinner without placeholder previews"], "when_to_choose": ["building an iOS or iPadOS app in Swift that loads async content", "you want customizable skeleton/shimmer loading states across any UIView", "you need support for table and collection view placeholders"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/skeletonview", "repo": "Juanpe/SkeletonView", "role": "main", "score": 63}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:00.045904+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:13:42.335280+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfd52e1ede9efd00f95462356239a2e0cfcf741760becb5904a081ae5587fa1e", "fetched_at": "2026-08-28T04:11:00.045904+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Juanpe/SkeletonView"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 89, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3221, "days_push": 71, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 63, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}