소스 정보
- 저장소
- saattrupdan/dotfiles
- 최근 소스 활동
- 2026년 6월 6일 16:39
- 감지된 SKILL.md 언어
- 영어
- 스타
- 4
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/saattrupdan/dotfiles --skill chrome-extension명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | chrome-extension |
| description | Chrome extension development, Web Store submission, and review process. |
| tagline | Chrome extension development and Web Store submission |
| last-updated | 2026-06-06T00:00:00.000Z |
This skill covers Manifest V3 Chrome extension development, Web Store submission requirements, and the review process.
Use this skill when:
{
"manifest_version": 3,
"name": "Your Extension",
"version": "1.0.0",
"description": "Clear, concise description (≤132 characters for short description)",
"permissions": ["storage", "..."],
"host_permissions": ["https://example.com/*"],
"action": { ... },
"background": {
"service_worker": "background.js"
}
}
Your extension must have a single, narrow, easy-to-understand purpose.
Example:
This extension adds English subtitles to Danish TV content on DR's streaming platform (dr.dk/drtv). It hijacks DR's native subtitle button to inject a three-way toggle (Off / Dansk / English). When "English" is selected, the extension captures the Danish subtitle stream, sends it to a user-configured LLM provider, and displays the translated English cues as a native TextTrack on the video player. Works only on dr.dk/drtv/* URLs. No ads, no tracking, no unrelated features.
Tips:
For each permission, explain why it's needed for your single purpose:
| Permission | What to explain |
|---|---|
storage | What user settings/data you persist locally |
webNavigation | Why you need to detect page navigation (e.g., SPA handling) |
declarativeNetRequest | CORS/API call requirements for MV3 service workers |
host_permissions | Which hosts you access and why |
Example (storage):
Stores the user's LLM provider selection, API key, and custom endpoint URL in chrome.storage.local. This data persists across browser sessions so users don't need to re-enter credentials. The API key never leaves the user's machine except when sent directly to their chosen LLM provider. No other data is stored.
Example (webNavigation):
Detects when the user navigates to episode pages. Required because the site is a single-page application (SPA) that dynamically loads content without full page reloads. Without webNavigation, the extension wouldn't know when to activate on new episodes within the same browsing session.
Example (declarativeNetRequest):
Dynamically registers CORS rules to allow the background service worker to fetch responses from external APIs. When translation starts, the extension adds a temporary rule permitting cross-origin responses from the LLM endpoint. Required because Chrome MV3 service workers cannot use XMLHttpRequest with loose CORS.
Example (host_permissions):
https://www.dr.dk/*— Inject subtitle toggle and fetch subtitle files from DR's playerhttps://inference.alexandra.dk/*— Default LLM endpoint for translation- Optional
https://*/*— Allow custom LLM endpoints if user configures them
Question: Are you using remote code?
Answer: No (if all JS is bundled)
Explanation:
All JavaScript is bundled at build time using esbuild. No remote code is loaded at runtime. The extension is fully self-contained in the submitted package. No
<script>tags pointing to external URLs, no dynamiceval(), no remote WASM, no CDN-loaded modules.
If you DO use remote code, you must disclose it and may face additional scrutiny.
You must declare what user data you collect (if any):
Categories to consider:
If you collect nothing:
This extension collects zero user data. All data stays on the user's machine or flows directly to their chosen LLM provider:
- API key stored locally in chrome.storage.local, never transmitted to the developer
- Subtitle text sent directly from user's browser to their LLM provider — developer does not intercept or store
- Cache stored locally in IndexedDB, not synced or transmitted
- No telemetry, no analytics, no tracking
Leave all data collection checkboxes unchecked if none apply.
Required if you collect any user data. Recommended even if you don't.
Host it on:
Must include:
| Requirement | Specification |
|---|---|
| Count | 1–5 screenshots (at least 1 required) |
| Size | Exactly 1280×800 OR 640×400 pixels |
| Format | JPEG or 24-bit PNG (no alpha channel) |
| Content | Show actual extension UI in action |
Tips:
Common rejection reasons:
Build the extension:
npm run build
Package for submission:
npm run package
Upload the zip file to Chrome Web Store Dashboard
$5 fee paid (if first-time developer)npm run package produces clean zip| Chrome Web Store | Firefox AMO |
|---|---|
No data_collection_permissions | Requires data_collection_permissions |
Uses key for extension ID | Uses browser_specific_settings.gecko.id |
| Validates during review | Validates on upload |
| Manual review always | Auto-approval possible |
| $5 one-time fee | No fee |
| Screenshots: 1280×800 or 640×400 exactly | Screenshots: 2400×1800 max |
| Source review on request | Source submission required |