본문으로 건너뛰기
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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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의 스킬 모두 보기

이 스킬의 문제 신고