본문으로 건너뛰기
cccskills
무료GitHub에 공개

zcf-add-sponsor

Add corporate sponsors to ZCF’s English, Chinese, and Japanese README lists, with optional advertising cards and API connection presets. Check for existing entries and keep sponsor information consistent across languages.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Quickly add a new corporate sponsor to ZCF — sponsor list by default, with optional API preset and documentation ad placements

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • Adding a company to sponsor lists in three languages
  • Placing sponsor ads in READMEs and documentation
  • Registering a sponsor’s API provider preset
  • Checking for duplicate sponsor entries

포함된 파일(1)

  • SKILL.md10.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

ZCF Add Sponsor — Quick Sponsor Onboarding

Quickly onboard a new corporate sponsor across the ZCF project: README sponsor lists by default, with optional API provider preset and documentation ad placements.

Usage

/zcf-add-sponsor [--with-api] [--with-ad] [--name <name>] [--url <url>] [--id <provider-id>] [--logo <path>] [--badge <emoji>]

Parameters

Mode flags

  • --with-api — Also append a new entry to src/config/api-providers.ts (API_PROVIDER_PRESETS)
  • --with-ad — Also insert ad cards into:
    • README.md, README_zh-CN.md, README_ja-JP.md (top ♥️ Sponsors section, table card)
    • docs/en/index.md, docs/zh-CN/index.md, docs/ja-JP/index.md (top ♥️ Sponsor section, table card)
  • (no flag) — Default: only add a single bullet entry to the Our Sponsors → Corporate Sponsors lists in the three READMEs

Sponsor info (prompt interactively if missing)

  • --name <name> — Display name (e.g. FooAI)
  • --url <url> — Affiliate/registration URL (used in every link)
  • --id <provider-id> — API provider id, kebab-case (only required with --with-api, e.g. fooai)
  • --logo <path> — Local logo path under src/assets/ (only required with --with-ad, e.g. ./src/assets/fooai.png)
  • --badge <emoji> — Trailing emoji badge for the list bullet (default: 🎁)

Context

  • Default scope: Only the Our Sponsors → Corporate Sponsors bullet list in the three READMEs (zh-CN, en, ja-JP). docs/*/index.md does not contain a sponsor list — it only contains an ad section, handled by --with-ad.
  • API preset format: Match the existing ApiProviderPreset interface in src/config/api-providers.ts. Ask the user about baseUrl, authType, wireApi, defaultModels, and which code tools are supported (claude-code, codex, or both).
  • Ad cards: Mirror the existing AICodeMirror / Crazyrouter card layout exactly — <table><tr><td width="180"><a><img></a></td><td>...description...</td></tr></table>, appended after the last existing sponsor card and before the next ## heading.
  • Image paths:
    • In README*.md use relative path ./src/assets/<file>
    • In docs/*/index.md use absolute GitHub raw URL https://raw.githubusercontent.com/UfoMiao/zcf/main/src/assets/<file>
  • Trilingual descriptions: Always generate three localized descriptions (zh-CN / en / ja-JP). Translate from the user-provided source description while preserving brand names, URLs, and discount numbers verbatim.

Your Role

You are a project documentation maintainer. Be precise and idempotent: never duplicate an entry that already exists, always preserve surrounding markdown/HTML formatting, and always keep the three locales in lockstep.

Execution Flow

Parse arguments: $ARGUMENTS

1. Argument parsing & validation

Parse from $ARGUMENTS:
  WITH_API=false        # toggled by --with-api
  WITH_AD=false         # toggled by --with-ad
  NAME=""               # --name <name>
  URL=""                # --url <url>
  PROVIDER_ID=""        # --id <id>
  LOGO_PATH=""          # --logo <path>
  BADGE="🎁"            # --badge <emoji>, default 🎁

Validation:
  - NAME and URL are always required → if missing, prompt user
  - If WITH_API: PROVIDER_ID required → if missing, prompt user.
    Provider id MUST be kebab-case, lowercase, unique across existing ids in src/config/api-providers.ts
  - If WITH_AD: LOGO_PATH required → if missing, prompt user.
    Verify the logo file exists at the given path (relative to repo root).
    If not, instruct the user to place the logo under src/assets/ first and abort.

2. Collect missing sponsor information (interactive)

If any required field is missing, ask the user once in a consolidated prompt covering:

  • Source description (1–3 sentences, in the user's preferred language)
  • Special offer / discount line (optional, e.g. "Use code zcf for 10% off")
  • For --with-api:
    • Supported code tools: claude-code / codex / both
    • Claude Code baseUrl and authType (api_key | auth_token)
    • Codex baseUrl (always wireApi: 'responses' per existing convention)
    • Optional defaultModels array (Claude Code) or defaultModel string (Codex)

Then auto-translate the description into the other two languages, preserving brand names, URLs, and numbers.

3. Idempotency check

Before any write, scan target files for the sponsor name or URL. If already present, report which file(s) already contain it and skip that file (do not duplicate). Continue with remaining files.

rg -l --fixed-strings "<NAME>" README.md README_zh-CN.md README_ja-JP.md docs/en/index.md docs/zh-CN/index.md docs/ja-JP/index.md src/config/api-providers.ts 2>/dev/null

4. Update sponsor lists (default — always runs)

Locate the Corporate Sponsors bullet list in each README and append a new bullet at the end of that list (before the 【Individual Sponsors】 / 【个人赞助商】 / 【個人スポンサー】 heading):

  • README.md — under 【Corporate Sponsors】:
    - [<NAME>](<URL>) (<EN_TAGLINE> <BADGE>)
    
  • README_zh-CN.md — under 【企业赞助商】:
    - [<NAME>](<URL>) (<ZH_TAGLINE> <BADGE>)
    
  • README_ja-JP.md — under 【企業スポンサー】:
    - [<NAME>](<URL>)(<JP_TAGLINE> <BADGE>)
    

<*_TAGLINE> is a short 4–10 char positioning phrase derived from the source description (e.g. "API aggregation gateway sponsor" / "AI API 聚合网关赞助商" / "AI API 集約ゲートウェイスポンサー"). Use existing entries (Crazyrouter, AICodeMirror) as the style reference.

5. Insert ad cards — only if --with-ad

For each of the six files below, locate the existing sponsor card table and append a new <tr>...</tr> row to the same <table> (or, if the existing structure uses sibling <table> blocks, append a new sibling table immediately after the last one). Match the exact layout of the most recent existing card.

Target files & image base path:

FileImage path prefix
README.md./src/assets/
README_zh-CN.md./src/assets/
README_ja-JP.md./src/assets/
docs/en/index.mdhttps://raw.githubusercontent.com/UfoMiao/zcf/main/src/assets/
docs/zh-CN/index.mdhttps://raw.githubusercontent.com/UfoMiao/zcf/main/src/assets/
docs/ja-JP/index.mdhttps://raw.githubusercontent.com/UfoMiao/zcf/main/src/assets/

Card template (reference, fill brackets per locale):

<table>
<tr>
<td width="180"><a href="<URL>"><img src="<IMG_PREFIX><LOGO_FILENAME>" alt="<NAME>" width="150"></a></td>
<td><LOCALIZED_DESCRIPTION_INCLUDING_OFFER_AND_LINK></td>
</tr>
</table>

Important: Insert after the last existing sponsor card and before the next ## heading (typically ## 📺 ... or ## ✨ ...). Preserve surrounding blank lines.

6. Add API provider preset — only if --with-api

Edit src/config/api-providers.ts. Append a new object to the API_PROVIDER_PRESETS array, before the closing ], mirroring the style of existing entries:

  {
    id: '<PROVIDER_ID>',
    name: '<NAME>',
    supportedCodeTools: [<'claude-code' and/or 'codex'>],
    claudeCode: {
      baseUrl: '<CC_BASE_URL>',
      authType: '<api_key|auth_token>',
      // defaultModels: [...],     // include only if user provided
    },
    codex: {                       // include only if codex is supported
      baseUrl: '<CODEX_BASE_URL>',
      wireApi: 'responses',
      // defaultModel: '...',      // include only if user provided
    },
    description: '<EN_DESCRIPTION>',
  },

Then run pnpm typecheck to confirm no type errors. If the project has corresponding tests for getValidProviderIds() or fixtures, surface them in the summary so the user can update tests if needed.

7. Validation

✓ List bullets present in all 3 READMEs (or skipped due to existing entry)
✓ If --with-ad: card rows present in all 6 target files (or skipped)
✓ If --with-api: new preset object syntactically valid; pnpm typecheck passes
✓ No duplicate ids in API_PROVIDER_PRESETS
✓ All URLs identical across files
✓ Logo file exists at src/assets/<filename> when --with-ad is used

8. Summary report

Print a concise summary:

🎉 Sponsor "<NAME>" added

Sponsor list bullets:
  ✓ README.md
  ✓ README_zh-CN.md
  ✓ README_ja-JP.md

Ad cards (--with-ad): [yes/no]
  ✓/⊘ README.md / README_zh-CN.md / README_ja-JP.md
  ✓/⊘ docs/en/index.md / docs/zh-CN/index.md / docs/ja-JP/index.md

API preset (--with-api): [yes/no]
  ✓/⊘ src/config/api-providers.ts (id: <PROVIDER_ID>)

Skipped (already present): [list]

Next steps:
  - Review changes with: git diff
  - If --with-api: consider adding tests in tests/ for the new provider
  - Commit with: /zcf-pr or your preferred flow

Important Notes

⚠️ Critical Requirements

  • NEVER modify any sponsor entries other than the ones being added
  • NEVER reorder existing sponsors
  • ALWAYS keep the three locale READMEs in sync (same bullet count, same URL, semantically equivalent text)
  • ALWAYS verify logo file existence under src/assets/ before writing ad cards
  • ALWAYS validate the API preset by running pnpm typecheck after editing
  • DO NOT create commits or push — leave that to the user / /zcf-pr
  • DO NOT invent new section headings; reuse the exact existing ones (【Corporate Sponsors】 / 【企业赞助商】 / 【企業スポンサー】)

📌 Style Reference

When in doubt, copy the structure of the most recent existing sponsor entry (currently Crazyrouter) — it represents the canonical layout for both bullet entries and ad cards across all six target documents.

🔍 Idempotency

Re-running with the same --name and --url MUST be a no-op. Detection is by exact match on either NAME or URL within the relevant section.


Now starting sponsor onboarding...

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

bmad-init

무료

Install or update BMad-Method (V6) in a project after checking existing installations. The skill also fixes a known output-folder issue, updates Git ignore rules, and provides next steps for using the installed workflows.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Set up BMad-Method (V6) for Claude Code
  • Run a quick update on an existing V6 installation
  • Check for an older V4 installation before setup
UfoMiao/zcf6.1천2026년 8월 31일 업데이트

bmad-init

무료

Set up or update BMad-Method V6 in a project, detect older installations, fix a known output folder issue, and adjust Git ignore rules, with guidance on what to do next.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Installing BMad-Method V6 in a project
  • Updating an existing V6 installation
  • Checking for an older V4 installation
UfoMiao/zcf6.1천2026년 8월 31일 업데이트

feat

무료

Turn feature requests into documented plans, revise them through discussion, and carry out implementation with progress tracking. Frontend work includes checking for a UI design and arranging design work when needed.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Turning a feature idea into a development plan
  • Revising a plan after feedback
  • Implementing tasks from an agreed plan
UfoMiao/zcf6.1천2026년 8월 31일 업데이트

feat

무료

Guide new feature work from requirements and planning through revisions and implementation. Create Markdown plans with acceptance criteria, track progress, and ensure frontend tasks have a UI design before development begins.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Turn a feature idea into an implementation plan
  • Revise a plan based on feedback
  • Start implementation from an agreed plan
UfoMiao/zcf6.1천2026년 8월 31일 업데이트

Find merged or inactive Git branches, preview cleanup candidates, and delete selected branches after confirmation. Choose a comparison branch, protect important branches with configurable rules, and optionally include remote branches.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Previewing branch cleanup candidates
  • Removing branches already merged into a release branch
  • Finding branches with no recent commits
UfoMiao/zcf6.1천2026년 8월 31일 업데이트

Find Git branches that have been merged or inactive for a chosen period. Preview cleanup candidates, exclude protected branches, and delete local or remote branches using a selected base branch and confirmation options.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Find merged branches to clean up
  • Review branches with no recent commits
  • Clean up branches merged into a release
UfoMiao/zcf6.1천2026년 8월 31일 업데이트

UfoMiao의 스킬 모두 보기

이 스킬의 문제 신고