---
id: {PS_ID}
title: {发布技能标题}
status: draft
related_features: []
related_decisions: []
---

# {PS_ID}: {发布技能标题}

<!-- 本模板是插件 starter 指导，项目本地模板可完全覆盖 -->
<!-- 插件模板是入门指导，项目本地模板是权威 -->

## 概述

{描述这个发布技能的用途：自动化发布哪些包到哪些注册中心，解决什么发布问题}

## 技能元信息

- **名称**：{skill_name}
- **描述**：{description}
- **触发条件**：{什么操作触发发布技能}
- **适用包/产品**：{列出覆盖的包或产品}

## 发布目标

| 目标 | 注册中心 | 认证方式 | 说明 |
|------|---------|---------|------|
| {target1} | {registry} | {auth} | {说明} |
| {target2} | {registry} | {auth} | {说明} |

## 前置验证

### 质量门禁

- [ ] 所有测试通过
- [ ] 代码审查完成
- [ ] 版本锁审计通过
- [ ] 制品验证通过
- {附加门禁项}

### 合规门禁

- [ ] 许可证检查通过
- [ ] 安全扫描通过（如适用）
- [ ] 第三方依赖审计通过（如适用）

## 发布流程

### 1. 准备

**目的**：{步骤目的}

```bash
# 验证工作区干净
{验证命令}

# 运行质量门禁
{门禁命令}
```

### 2. 版本确定

**目的**：{步骤目的}

```bash
# 版本号确定
{版本命令}
```

### 3. 构建产物

**目的**：{步骤目的}

```bash
# 构建
{构建命令}

# 验证产物
{验证命令}
```

### 4. 发布执行

**目的**：{步骤目的}

```bash
# 发布到目标
{发布命令}
```

### 5. 发布后验证

**目的**：{步骤目的}

```bash
# 安装验证
{安装验证命令}

# 功能验证
{功能验证命令}
```

### 6. 记录与通知

- [ ] 更新变更日志
- [ ] 打 Git 标签
- [ ] 通知下游（如适用）
- [ ] 更新发布记录

## 输入契约

### 必需输入

| 参数 | 类型 | 描述 |
|------|------|------|
| {param1} | {type} | {描述} |
| {param2} | {type} | {描述} |

### 可选输入

| 参数 | 类型 | 默认值 | 描述 |
|------|------|--------|------|
| {param3} | {type} | {默认值} | {描述} |

## 输出契约

### 成功输出

```json
{
  "success": true,
  "package": "{包名}",
  "version": "{版本号}",
  "target": "{注册中心}"
}
```

### 失败输出

```json
{
  "success": false,
  "error": {
    "code": "PUBLISH_FAILED",
    "message": "错误描述",
    "stage": "失败阶段"
  }
}
```

## 错误处理

| 错误码 | 描述 | 处理方式 |
|--------|------|---------|
| AUTH_FAILED | 认证失败 | 检查凭据配置 |
| VERSION_CONFLICT | 版本冲突 | 确认版本号 |
| GATE_FAILED | 质量门禁未通过 | 修复后重试 |
| NETWORK_ERROR | 网络错误 | 重试或手动发布 |

## 关联制品

- 功能特性：{related_features}
- 决策：{related_decisions}
- 发布策略：{关联的 release_policy 制品}
- 合规制品：{关联的 oss_compliance 制品}

## 变更日志

| 日期 | 变更 | 作者 |
|------|------|------|
| {YYYY-MM-DD} | 初始草稿 | {作者} |
