本文へ移動
cccskills
無料GitHub で公開

mobile-files-media

Use this skill when working on camera, gallery, file pick/upload/download, file preview, sharing, or filesystem-backed media. For Preferences keys, use mobile-local-data.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md2.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

mobile-files-media — Canonical Skill

Purpose

Enforce the verified file/media pipeline with platform-safe URI handling.

When to use

Camera capture, photo picking, chunked upload, download/open/share, save to gallery, permissions, scoped-storage/sandbox paths.

Required reading

  • skills/mobile/FILES_MEDIA.md

Relevant project locations

  • src/composables/useFileSystem.ts (active picker/save path), src/composables/useUpload.ts (active upload path)
  • src/composables/useCamera.ts (currently no import callers)
  • src/composables/useFileDownload.ts, src/utils/FileUtils.ts
  • src/api/FileManagerService.ts

Mandatory rules

  1. Camera: getPhoto Uri + webUseInput, pickImages. Web has no gallery: savePicture/saveFile fall back to a browser download.
  2. Save pipeline: base64 → Filesystem.writeFile (Directory.Data) → Media.savePhoto into AppAlbumName album.
  3. Upload defaults: 1 MB chunks, one attempt unless maxRetries is overridden; FormData uploadChunkApi then merge DTO mergeChunkApi. In-memory chunk tracking is not restart-safe resume.
  4. Validate paths, MIME, filenames; respect scoped storage / sandbox; request minimal permissions with isWeb() guards.
  5. Blob URLs from fethCdnData must be released: use useBlobUrls() (track + auto-revoke on unmount), as BaseImage/BaseAvatar do. Downloads that must land on the device use useFileDownload.

Implementation workflow

  1. Trace the caller's capture/pick → convert → store/upload → cleanup chain; do not assume the unreferenced useCamera.ts is the active path.
  2. Handle permission-denied, cancel, retry-exhausted, large-file paths.
  3. Clean temp files; confirm user-visible export location.
  4. Verify per mobile-testing, incl. SECURITY (untrusted files).

Verification

Mocked picker/upload unit tests; real capture/save/share only on device.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use this skill when adding or changing REST API calls, HTTP client config, error handling, uploads/downloads, or network behavior.

日本語の概要は準備中です。原文の説明を表示しています。

bekaku/vue-ionic-example-app62026年10月5日 更新

Use this skill when working on login, logout, session restore, tokens, route guards, or any authentication and authorization behavior.

日本語の概要は準備中です。原文の説明を表示しています。

bekaku/vue-ionic-example-app62026年10月5日 更新

Use this skill when building, syncing Capacitor, or preparing Android/iOS releases and environment configuration.

日本語の概要は準備中です。原文の説明を表示しています。

bekaku/vue-ionic-example-app62026年10月5日 更新

Use this skill when creating, modifying, or debugging Ionic Vue components, pages, forms, dialogs, or theme/safe-area UI behavior.

日本語の概要は準備中です。原文の説明を表示しています。

bekaku/vue-ionic-example-app62026年10月5日 更新

Use this skill for any Ionic Vue + Capacitor mobile work: Vue architecture, Composition API, TypeScript, state, env config, shared conventions. Required for every implementation task alongside mobile-testing.

日本語の概要は準備中です。原文の説明を表示しています。

bekaku/vue-ionic-example-app62026年10月5日 更新

Use this skill when handling inbound URLs, custom schemes, app links, universal links, or URL-bearing notification payloads.

日本語の概要は準備中です。原文の説明を表示しています。

bekaku/vue-ionic-example-app62026年10月5日 更新

bekaku のスキルをすべて見る

このスキルの問題を報告する