Recover assets (images, videos, data) that weren't directly archived by Wayback Machine by crawling archived pages that reference them. Use when: (1) Direct asset URL returns 404/503 from Wayback, (2) Asset was hosted on CDN that Wayback didn't crawl, (3) You have the page URL but not the asset URL, (4) Recovering avatars, thumbnails, or embedded media from defunct services. The key insight: pages often got archived even when their assets didn't - extract URLs from archived HTML, then try alternative fetch methods.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix Flutter home feed / main screen stuck on loading spinner after login when using Riverpod StreamProvider that watches GoRouter location changes. Use when: (1) Screen shows BrandedLoadingIndicator or CircularProgressIndicator permanently after successful auth redirect, (2) Widget watches a route-type-gating provider that returns AsyncValue.loading() intermittently, (3) Logs show route location oscillating between stale and current paths during post-login transition (e.g., /welcome/* after /home/0), (4) Provider chain has double-gate: widget gates on pageContext AND data provider also gates on pageContext. Distinct from riverpod-infinite-rebuild-loop (rapid rebuilds) — this causes permanent loading state, not infinite rebuilds.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix 404 errors for frontend JS files when using Vite proxy. Use when: (1) Browser shows "Failed to load resource: 404" for JS/JSX files that exist on disk, (2) Vite serves HTML instead of JavaScript for module imports, (3) You have a client folder named "api" (or similar) AND a Vite proxy configured for "/api". The proxy intercepts requests for client-side files when folder names match proxy paths. Applies to Vite, Vite+React, Vite+Vue projects with dev server proxy configuration.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Review all uncommitted changes before pushing. Checks for dead code, stale comments, AGENTS.md rule violations, unused imports, and inconsistencies introduced during the current session. Invoke with $review-before-commit.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Recover data from archived REST APIs using Wayback Machine. Use when: (1) Recovering data from defunct services like Vine, Twitter, or other platforms, (2) Need to find which API endpoints were archived vs which require authentication, (3) Building data recovery pipelines from web.archive.org. Covers CDX API queries to discover archived endpoints, understanding what gets archived (public) vs what doesn't (authenticated), and extracting embedded JSON from archived web pages as a fallback.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix rsky-pds createRecord/putRecord hanging indefinitely with no error logs. Use when: (1) createSession succeeds but createRecord never returns, (2) No error appears in PDS logs despite request hanging for 60+ seconds, (3) PDS health endpoint works but write operations hang, (4) readiness probes intermittently fail on rsky-pds pod. Root cause: PDS_CRAWLERS env var configures crawler notification URLs that are called via reqwest HTTP client WITHOUT any timeout in crawlers.rs. If the crawler URL is unreachable from the cluster, every write hangs forever. Also: setting PDS_CRAWLERS="" produces [""] (one empty string element) which causes a "builder error" instead — must fully unset the env var.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix SQLite "database disk image is malformed" errors caused by corrupted FTS5 indexes. Use when: (1) UPDATE/INSERT fails with "stepping, database disk image is malformed" but PRAGMA integrity_check returns "ok", (2) Only specific records fail to update while others succeed, (3) Records contain dirty text with tabs, newlines, or unusual characters that were inserted into FTS5-indexed columns. The misleading error message suggests disk corruption, but the actual issue is FTS5 index corruption from malformed text content.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Recover Vine video metadata (author, user ID, title, thumbnail) from vine.co oembed endpoint even though the Vine API and pages are dead. Use when: (1) you have Vine shortcode URLs (vine.co/v/XXXXX) and need to identify the creator, (2) the Vine page only shows a loading spinner, (3) archive-api.vineapp.com returns 404, (4) need to map Vine shortcodes to user IDs for cross-referencing against the divine.video database. The oembed endpoint is a still-live metadata oracle for the otherwise-dead Vine platform.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix JSON parse errors when fetching archived API responses from Wayback Machine. Use when: (1) Getting "Expecting value: line 1 column 1 (char 0)" JSON decode errors from archived URLs, (2) Wayback returns HTML instead of expected JSON/raw content, (3) Crawling archived REST APIs or JSON endpoints from web.archive.org. The `id_` modifier returns raw content without the Wayback toolbar wrapper.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Use when reviewing what was learned after debugging, workaround discovery, or trial-and-error investigation, and capture it as a dated journal entry under ~/.codex/journal
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix empty results when paginating Wayback Machine CDX API with wildcard URL queries. Use when: (1) CDX query with url=foo/* and page=0 returns empty/0 bytes but works without page parameter, (2) CDX pagination returns no data for wildcard prefix searches, (3) Need to paginate large CDX result sets using wildcard URL matching. Covers showResumeKey, offset, and page parameter incompatibilities.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix Wayback Machine CDX API returning empty results or timing out from cloud/datacenter IPs (Cloud Run, AWS Lambda, GCE, etc.) while working fine locally. Use when: (1) CDX queries timeout or return 0 bytes from Cloud Run/cloud functions but work from local machine, (2) urllib.request.urlopen times out for web.archive.org from server, (3) Wayback Machine CDX silently returns empty from datacenter IPs with no HTTP error, (4) Need to run CDX-dependent scripts on Cloud Run or similar cloud compute. Workaround: fetch locally, upload to cloud storage, import on cloud compute.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Before removing code that looks redundant, wasteful, or "wrong" based on log observations or code review instinct, grep the test suite for tests whose names describe the exact behavior you're about to remove. A test whose title literally describes the "weird" thing (e.g. "calls play() even when player reports playing", "retries even when first call succeeded", "skips cache even when fresh") is a load-bearing workaround, and the production log you're reacting to is probably the workaround working as designed — not a bug. Use when: (1) Tempted to remove a function call that "looks redundant" based on a production log, (2) About to "simplify" a conditional that seems to always take the same branch, (3) Reviewing code and thinking "why would anyone write this?", (4) A log line shows a state that seems impossible or contradictory (e.g. playing=true but positionMs=0 for seconds), (5) CI surfaces a failing test whose name describes exactly what your fix removed.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Handle stale local cache when external service loses/resets data. Use when: (1) Token refresh fails with "not found" or 404 errors, (2) Cached identifiers (pubkeys, user IDs) don't exist on external service anymore, (3) External service was reset/migrated but local cache has old values. Pattern: detect 404 specifically, delete stale cache entry, recreate on external service, update cache with new values. Complements local-cache-idempotency-fallback skill.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix features broken by REST API responses that flatten Nostr events, losing tag data. Use when: (1) A feature works for WebSocket-loaded events but not REST API-loaded ones, (2) A model field (like sha256, textTrackRef) is null for REST API data but set for WebSocket data, (3) REST API returns denormalized fields (d_tag, video_url) but omits raw tags array, (4) hasSubtitles/hasFeature returns false for REST-loaded videos. Common in Nostr clients that use both REST APIs (for analytics/bulk queries) and WebSocket (for real-time events).
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix silent data loss when mutating Nostr replaceable events (Kind 0 profile, Kind 3 contact/follow list, Kind 10002 relay list, etc.) in client apps. Use when: (1) Following someone wipes the user's entire follow list, (2) Updating profile metadata loses existing fields, (3) Fresh browser session or mobile login causes data loss on first action, (4) Replaceable event mutation uses stale or null cached state. Root cause: Nostr replaceable events are full-replace (no partial update), so publishing based on stale/unloaded cache overwrites the canonical version. Applies to any Nostr client using React, Flutter, or similar reactive frameworks where query state may not be loaded when a mutation fires.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Select appropriate Ollama models for processing sensitive but legal content. Use when: (1) llama3.2 or deepseek-r1 refuses to process content with "I cannot assist" responses, (2) Local LLM returns generic safety disclaimers instead of following instructions, (3) Need to process adult content, sex work data, or other legal-but-sensitive material through a local LLM. Also covers using /api/chat vs /api/generate for system prompt support, and structuring prompts for consistent format compliance.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix duplicate Nostr events (Kind 30000+ parameterized replaceable events) caused by missing d-tag. Use when: (1) Same content appears multiple times on relay for same pubkey, (2) Events aren't being replaced/updated as expected, (3) Publishing NIP-71 video events (Kind 34236) or other addressable events and seeing duplicates. The d-tag is REQUIRED for addressability - without it, each publish creates a new non-replaceable event.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix NIP-46 nostrconnect:// URLs not being recognized by signer apps (Amber, nsec.app, nsecBunker). Use when: (1) QR code or URL paste fails in signer app despite valid-looking URL, (2) Using metadata JSON object instead of separate query params, (3) Implementing client-initiated NIP-46 connections. The NIP-46 spec requires name/url/image as separate query parameters, not a metadata JSON object.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix "count shows X but list shows empty" bugs when querying related events (comments, reactions, zaps, reposts) for Nostr addressable events (Kind 30000-39999). Use when: (1) REST API shows engagement count > 0 but WebSocket query returns empty, (2) Comments/reactions exist but app shows "No comments yet" or similar, (3) Working with NIP-22 comments, NIP-25 reactions, or NIP-18 reposts on Kind 34235/34236 video events or other addressable events. Root cause: clients may reference addressable events using either E tag (event ID) or A tag (kind:pubkey:d-tag format), and querying only one tag misses events tagged with the other.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Generate a PR description following the project's pull_request_template.md. Analyzes all commits on the current branch vs main, summarizes changes, and outputs a ready-to-paste PR body. Invoke with /pr-summary.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix test failures when adding retry/fallback logic causes mock call count mismatches. Use when: (1) Test fails with "Expected: <1>, Actual: <2>" or similar call count errors after adding retry or fallback mechanisms, (2) MissingStubError appears for methods in new fallback code paths, (3) Mockito verify().called(N) assertions fail after behavior changes. Applies to Dart/Flutter with Mockito, but pattern is universal.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix black camera/microphone preview in Flutter macOS apps launched via `flutter run` from a terminal emulator (cmux, iTerm, Terminal.app, VS Code integrated terminal, Cursor, etc.). Use when: (1) camera plugin reports initialized but preview is black with no frames, (2) logs show "initialization completed via timeout" or similar first-frame timeout fallback, (3) AVCaptureSession.startRunning() returns without error but zero frames arrive, (4) the app's Info.plist has NSCameraUsageDescription and entitlements (com.apple.security.device.camera, audio-input) are correctly set, (5) no permission dialog ever appears, (6) same failure mode for microphone. Root cause is macOS TCC attributing camera/mic requests to the *responsible process* (the parent terminal) rather than the Flutter app itself. TCC refuses to prompt because the terminal is hardened-runtime without a camera entitlement, and silently denies. Not a bug in the camera plugin — would reproduce with ANY camera code.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트
Fix content serving failures caused by metadata (KV store, database) being out of sync with actual storage (GCS, S3, filesystem). Use when: (1) Content exists in storage but API returns "processing" or "not ready", (2) Webhook callbacks that update metadata failed silently, (3) Backfill scripts generated content but didn't update status records, (4) HLS/transcoded content exists but transcode_status is not "Complete", (5) Handler checks metadata status BEFORE checking if content actually exists in storage.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
divinevideo/divine-mobile☆ 2662026년 10월 19일 업데이트