소스 정보
- 저장소
- tomevault-io/skills-registry
- 최근 소스 활동
- 2026년 7월 3일 19:45
- 감지된 SKILL.md 언어
- 영어
- 스타
- 0
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tomevault-io/skills-registry --skill create-autopkg-recipes명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
| Use when this capability is needed.
> Use when this capability is needed.
Review architecture and API design for the vfs-s3 project. Use when the user mentions @architect, asks to review an issue's design, discuss module boundaries, API shape, or architectural decisions for vfs-s3. Also trigger when the user wants to create an ADR (Architecture Decision Record) or evaluate a technical approach for the project. Intended for dispatch from Codex automation or Claude routines; GitHub trigger phrase: @vfs-s3-bot please prepare design doc Use when this capability is needed.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | create-autopkg-recipes |
| description | | Use when this capability is needed. |
Scaffold recipes for a macOS app following the current repo's conventions. E2E test the download and pkg before handing off.
Run autopkg search <AppName>.download (chains start at .download; filters noise). Try vendor-prefixed variants too (e.g. Google<AppName>.download). If anything matches — in any repo — surface it and ask before building. Don't duplicate.
From the vendor page, note: download URL (or appcast / GH releases), developer, description, display name.
Short-circuit for conventional apps. If early signals show a straightforward macOS app — a GitHub repo with DMG/ZIP/PKG release assets, a direct download URL, or a Sparkle appcast — stop investigating and pass that input straight to Recipe Robot (step 3). RR is built to handle these cases; there's no value in downloading and inspecting the artifact yourself first. Save the bandwidth and time. Only dig deeper (HEAD checks, page scraping, JS inspection) when the source is ambiguous, gated, or RR fails.
Validate URLs with HEAD only (curl -sIL <url>), never a full download. Apps can be huge; Recipe Robot will do its own fetch. Only download to /tmp/ and inspect by hand (plutil -p, codesign -dvvv, codesign -d -r-) if Recipe Robot fails. Never inspect inside the repo.
Never guess or fabricate domains. When WebFetch returns a relative URL (e.g. /App-1.0.dmg), resolve it against the domain you actually fetched — do not invent a plausible-sounding alternative domain. The summarizer model behind WebFetch can hallucinate domains. Always HEAD-validate the full URL before using it.
Non-fit signals — surface early and ask before building:
apps.apple.com/app/..., or page says "available on the Mac App Store"). AutoPkg's normal pipeline can't fetch MAS apps — they require an authenticated Apple ID via mas CLI or nmcspadden-recipes' AppStoreApp processor, and redistribution through munki/pkg is licensing-constrained. Default: skip.CodeSignatureVerifier can't be wired up without an artifact to inspect. Default: skip unless the user has a licensed download URL to provide.git clone + make; no pre-built DMG/ZIP/PKG, no GitHub releases). No vendor binary to fetch or signature to verify. Default: skip.Surface the signal and ask; don't silently proceed.
/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe-robot <input>
Accepts: direct download URL; Sparkle appcast (.xml/.rss/.php or appcast in URL); GitHub / BitBucket / SourceForge project URL; Dropbox shared link; local .app (reads SUFeedURL from Info.plist), .pkg, .dmg, or archive (.zip etc.). For local files without a known source, RR falls back to the kMDItemWhereFroms xattr to find the download URL. Rejects marketing pages and existing .recipe files — for a marketing page, find the actual download/appcast/repo URL behind it.
--configure and wait.--ignore-existing. Don't use reflexively./v1.2.3/App.dmg): run RR to scaffold, then prepend a URLTextSearcher targeting a stable page to capture the current URL, wire its output into URLDownloader. Otherwise the recipe pins forever..download, run RR with --ignore-existing, then diff+merge into the existing recipes. Don't wholesale replace — preserves customizations while picking up new conventions (e.g. AppPkgCreator).If RR isn't installed, hand-author by modeling after a repo recipe matching your delivery format (DMG/ZIP/PKG/appcast/GH releases/direct URL).
Signs: HEAD returns HTML or 4xx; download button triggers an XHR; JS required. RR can't handle these — hand-author with chained URLTextSearcher steps extracting the real URL (and intermediate tokens), feeding URLDownloader via result_output_var_name: url. References:
Ecosia/EcosiaBrowser.download.recipe — single URLTextSearcher against a JSON-like API.Google/Antigravity.download.recipe — two chained: HTML page → JS bundle name → DMG URL inside JS source.Scrape JS sources as strings; don't try to execute.
When an API returns structured data (tracks/locales/OS-keyed bundle IDs/channels) and multiple recipes would otherwise duplicate regex logic, write a custom processor instead:
<Vendor><Purpose>InfoProvider.py or <Vendor>URLProvider.py.autopkglib.URLGetter.input_variables (defaults) + output_variables (url, version, bundle_id).Reference: Cocktail/CocktailReleasesInfoProvider.py. For a single URL behind an API, URLTextSearcher is fine — don't over-engineer.
com.github.homebysix.<type>.<App>.MinimumVersion, Input/NAME, ParentRecipe, processor order with neighbors.CodeSignatureVerifier with the app's designated requirement. Quote any subject.OU value that starts with a digit (e.g. = "7D2YX5DQ6M", not = 7D2YX5DQ6M) — the codesign requirement parser fails at runtime on unquoted digit-leading OUs even though the recipe lints fine. Recipe Robot sometimes emits the unquoted form; fix it if your Team ID starts with a digit.URLDownloader → EndOfCheckPhase → Unarchiver → CodeSignatureVerifier → Versioner.plutil -lint every file.RR doesn't add an ARCH variable — its default regex matches multiple variants non-deterministically. Parameterize manually:
GitHubReleasesInfoProvider → %ARCH% in asset_regex (e.g. .*-%ARCH%\.dmg$).URLTextSearcher → %ARCH% in re_pattern or url.URLDownloader → %ARCH% in url.Set Input/ARCH default (usually arm64) and document alternatives in Description (see Google/Antigravity.download.recipe).
Don't pipe %ARCH% into munki's supported_architectures:
x64, amd64, intel) rarely match munki's (x86_64, arm64) — translating needs FindAndReplace and silently breaks targeting if wrong.x86_64-only blocks Rosetta 2 installs on Apple Silicon, which is usually desirable to allow. Unset (munki's default) is normally correct.Set it only when the binary genuinely won't run under Rosetta (arm64-only, Intel-only kext).
Functional but not conventions here. Don't add proactively; do them only if asked.
StopProcessingIf after EndOfCheckPhase to skip pkg/munki steps when the download is unchanged. Modest savings; AutoPkg already skips the download itself.Cosine/cos.download.recipe. Still sub-ideal; a vendor-hosted version endpoint would be strictly better. Apply the same "minimize trust hops" lens to any recipe that chains through intermediaries for the binary itself.Stop and ask before proceeding if:
CodeSignatureVerifier omitted) — breaks AutoPkg's integrity check.Explain the risk; proceed only on a clear yes.
autopkg run -vvq <App>/<App>.download.recipe <App>/<App>.pkg.recipe
Verify fetch → unarchive → signature → version, and that pkg lands at the expected path. Don't run install/munki/etc — they write to /Applications, the munki repo, etc. Trust-info warnings on uncommitted recipes are expected.
Summarize what was created, what ran clean, and any caveats (missing Team ID, unusual signing, dev-name mismatch, skipped tests). Don't commit or push unless asked.
Source: autopkg/homebysix-recipes — distributed by TomeVault.