协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
lov-skill-publisher【开发与工程】Publish or submit a validated Skill. Default to the LovStudio official website, run lov-skill-pricing automatically, and use other channels only when explicitly named.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: lov-skill-publisher description: > Publish or submit a validated Skill. Default to the LovStudio official website, run lov-skill-pricing automatically, and use other channels only when explicitly named. license: MIT compatibility: >- Requires Python 3.8+, PyYAML, git and GitHub CLI for the Skill Publisher adapter. Channel credentials stay in environment variables or credential stores; generated metadata and archives stay outside canonical source. depends_on:
Publish one validated local Skill source to the LovStudio official website or explicitly selected additional channels. When the user does not specify a channel, run only the Skill Publisher website adapter. Always auto-price first, keep channel metadata and generated packages outside canonical source, and report evidence per selected channel.
lov-skill-creator。global or all is a dynamic entitlement to every
currently listed Skill for the license lifetime. Never publish or migrate it
as a frozen list of current Skill IDs; explicit per-Skill grants remain fixed.lov-skill-pricing by default to create or refresh one
evidence-backed Pricing Card per Skill before channel preparation. An explicit
user price is a constraint for that pricing pass, not a reason to skip it.Supported adapters in this version:
For any additional platform, follow references/channels.md and verify its
current official name, submission contract, public URL, and completion signal
before implementing an adapter.
Publishing inherently needs persistent target settings. Initialize them on first
use through references/user-config.md, while keeping tokens in environment or
credential stores rather than committed profiles.
SKILL_DIR.python3 "$SKILL_DIR/scripts/validate_skill.py" SOURCE --target source
Check that source has no platform metadata directory or generated release artifacts. Record name, version, description, modules, dependencies, git state, and whether a remote already exists.
Use lov-skill-pricing for every source, even when the user only says “发布” or
selects a channel without mentioning price.
pricing-card.yaml into the pricing workflow.Do not hand-author an unexplained price inside a channel adapter. If automatic
pricing cannot run, mark pricing blocked with the missing Skill/resource and do
not submit a paid listing with an inferred number.
If channels are explicit, proceed without another distribution question. If no channel is named, select only Skill Publisher and proceed without asking the user to choose a channel. Expand to all supported adapters only after an explicit all-channel or multi-platform request.
For each selected channel, resolve only required fields:
v{version} tag, and skill_path
when SKILL.md is not at the repository root;Do not ask users to choose implementation details such as staging layout, validation commands, archive format, or adapter order.
Read references/channels.md, then load only the selected channel references.
Keep independent state for each target so one failure does not masquerade as a
successful multi-channel release.
Read references/publishing.md completely. Execute the source repository,
release, catalog, cache refresh, and live verification workflow. Publication is
complete only when the expected version and release-specific content are visible
on the live detail page and the catalog's exact install command succeeds. Paid
Skills are not encrypted: paying only controls who can download them, so a paid
entry is published when its private repo carries the catalog version's tag and an
owning account can install it as plain files.
When a catalog refresh adds or delists a Skill, verify that dynamic global/all
licenses immediately gain or lose catalog access without granting or spending
Credits. This entitlement check is part of publication, not a later migration.
Read references/workbuddy.md completely. Keep connector metadata and icon in a
publisher profile outside source, then run:
python3 "$SKILL_DIR/scripts/build_workbuddy.py" SOURCE \
--meta CONNECTOR_META \
--icon ICON \
--output-dir OUTPUT_DIR
Record source validation, package validation, archive listing, checksum, module
count, and output paths. Then follow references/workbuddy.md: upload each
individual ZIP to https://www.codebuddy.cn/open/console/dashboard, wait for
“解析成功”, fill user-facing Chinese/English listing fields, and submit it.
Record the review state separately from public listing evidence.
Read references/skillpay.md completely. Build a clean product ZIP outside the
canonical source, keep the current Pricing Card price as the single public CNY
price, then upload and wait for parsing to finish before submitting. Record the
product title, package checksum, public price, submission result, and current
review state. A parsed archive is only uploaded; a success notice after form
submission is review until the marketplace marks the product live.
Use the adapter contract in references/channels.md. Research current official
documentation, implement deterministic preparation/validation scripts when
useful, and define an observable completion gate. Never reuse another channel's
metadata or call an upload dialog a completed publication.
Report each target separately:
| Channel | State | Version/artifact | Evidence | Follow-up |
|---|---|---|---|---|
| TARGET | prepared/published/verified | VALUE | URL or local path | ACTION |
Use precise states. prepared, uploaded, installed, listed, and live
represent different outcomes.
lov-skill-pricing for the default pre-publish Pricing Cardgit and gh for GitHub-backed publicationValidate this publisher Skill with:
python3 scripts/validate_skill.py . --target source
运行前读取本 Skill 包的 skill.yaml,由宿主提供 skill-runtime/v1 上下文。字段解析顺序为:当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。
required: true 字段缺失时,按 Manifest 的问题配置向用户提出一个聚焦问题;用户明确同意后再保存回答。context_id、字段路径与来源,诊断内容避开秘密、完整私人路径和原始配置。用户在 Skill 驱动任务中提出修改意见时,继续当前产物前必须执行:
task-specific(仅本次)还是 reusable(可跨任务复用)。task-specific 只修改当前任务,不改 Skill。reusable 先确定作用域:领域规则先更新对应 canonical Skill;适用于所有 Skill 的规则先更新共享规范。reusable 修改会使此前的“确认”“继续”“发吧”失效;完成当前产物修改和回读后必须停下,等待用户下一步指示,不自动进入发布、提交或其他外部写入。