boardx / boardx/workspacex

[contract-gap] skills/asset-governance 缺「创建空白 skill 骨架」与「市场浏览」契约

Open
#1,121 0 comments 0 reactions 0 assignees View on GitHub
area:skill backlog
Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
1h 7m
Merged PRs (30d)
969

Description

## 缺口

在 #1120(`/skill` 后台侧栏 + 新建 Skill 三路径)里核实到:「完全新建空白骨架」与「从市场挑一个改」这两条产品期望的路径目前都**没有对应后端**。

### ① 完全新建空白骨架(人类原话第③点:「直接展示一个文件浏览+code编辑界面从头开始」)

- `createSkillDraft`(`packages/contracts/src/skills.ts`,`POST /skills`)要求一次性交齐完整声明式契约(`name`/`duty`/`contract.promptTemplate`/`contract.inputSchema`/`contract.outputSchema`/`contract.dataScope`/`visibility`/`modelRef`),没有「先建一个只带 `SKILL.md` 骨架的空白目录」这条更轻量的路径。
- `asset-governance` 契约(`packages/contracts/src/asset-governance.ts`)的 `getAssetDirectory`/`readAssetFile`/`writeAssetFile`/`createAssetFile` 全部要求 `in: { assetKind, assetId }`——`assetId` 必须**已经存在**。`AgSkillEditor`(`apps/web/components/asset-governance/ag-screens.tsx`,#933)编辑的是已建好的 skill,无法拿它打开一个还不存在的新 skill 进行「从空白开始写」。

**需要新增的后端能力**(形状待设计,两个候选方向):
1. `skills` 束新增一个轻量创建操作(比如 `createSkillSkeleton`),只落 `name` + 空的 `SKILL.md` 骨架,产出一个可以被 `asset-governance` 编辑器打开的 `assetId`;或
2. `asset-governance` 束新增「先建空 asset 记录(仅根文件)、再进文件编辑器」这条操作。

两者都需要走 ADR-023 契约签核(新契约面,不能顺手加)。

### ② 从市场挑一个改(浏览市场目录)

`packages/contracts/src/*.ts` 里不存在任何 market/marketplace 相关操作。`AgNewSkill`(`apps/web/components/asset-governance/ag-screens.tsx`)与 `lib/mock/asset-governance.ts` 的 `AG_MARKET_CARDS`("Claude Code 社区 1,842 个 · 已同步 34" 这类)纯属 UI 先行阶段的 mock,没有真实的市场数据源、没有"浏览"背后的真实列表接口。

**需要新增的后端能力**:market 目录浏览契约(列出社区/官方 skill 包、查看详情、"已同步"状态),同样需要 ADR-023 签核。

## 现状

`apps/web` 侧(#1120)对这两条路径的处理:「从市场挑一个改」tab 显示如实的"未接后端"说明,不摆假数字;「完全新建」tab 复用已有的 `createSkillDraft` 契约表单(不是空白文件编辑器,但是真实可用的创建路径)。

本 issue 只登记后端契约缺口,不含任何前端改动。

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with packages/contracts/src/skills.ts and packages/contracts/src/asset-governance.ts, then review ADR-023 and the existing AgNewSkill and AgSkillEditor flows in apps/web/components/asset-governance/ag-screens.tsx. Determine and get approval for the contract shape for blank skill creation and marketplace browsing; done means the agreed backend capabilities are specified and implemented without frontend changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.