# ATOM-DATA-026 - 创建项目卡片

> 版本：V1.0  
> 状态：🟡 新建  
> 最后更新：2026-03-07

---

## 📋 动作定义

**名称：** 创建项目卡片  
**分类：** 数据层（Data Layer）  
**编号：** ATOM-DATA-026

**一句话描述：** 在项目目录中创建新的项目卡片文件

---

## 🎯 输入输出

### 输入
- **类型：** 字典
- **内容：** 项目信息（名称/目标/时间线/状态等）
- **必填：** 项目名称、实施阶段

### 输出
- **类型：** 文件路径
- **内容：** 创建的项目卡片文件路径
- **格式：** Markdown

---

## ⚙️ 偏好设置

### 文件路径
- **根目录：** `knowledge-base/projects/`
- **子目录：** `项目名/`
- **文件名：** `项目卡片.md`

### 模板结构
```markdown
# 项目名称

## 📋 项目信息
- 创建时间：YYYY-MM-DD
- 状态：🟡 进行中
- 优先级：P0/P1/P2

## 🎯 项目目标
[目标描述]

## 📅 实施阶段
- 一期：时间范围 + 内容
- 二期：时间范围 + 内容

## 📊 当前进度
[进度描述]

## 📚 项目知识库
### 业务规则
### 技术决策
### 关键指标
### 风险与问题
### 经验教训
```

---

## 📝 操作步骤

```powershell
# 1. 准备项目信息
$project = @{
    Name = "感知与行动中心"
    Status = "🟡 进行中"
    Priority = "P0"
    Phases = @(
        "一期（2026-03 至 2026-06）：数据采集",
        "二期（2026-07 至 2026-09）：风险预警"
    )
}

# 2. 创建目录
$projectDir = "C:\Users\Xiabi\.openclaw\workspace\knowledge-base\projects\$($project.Name)"
if (-not (Test-Path $projectDir)) {
    New-Item -ItemType Directory -Force -Path $projectDir | Out-Null
}

# 3. 生成卡片内容
$cardContent = @"
# $($project.Name)

## 📋 项目信息
- 创建时间：$(Get-Date -Format 'yyyy-MM-dd')
- 状态：$($project.Status)
- 优先级：$($project.Priority)

## 🎯 项目目标
[目标描述]

## 📅 实施阶段
$($project.Phases -join "`n")

## 📊 当前进度
[进度描述]

## 📚 项目知识库
### 业务规则
### 技术决策
### 关键指标
### 风险与问题
### 经验教训
"@

# 4. 保存文件
$cardPath = "$projectDir\项目卡片.md"
$cardContent | Set-Content $cardPath -Encoding UTF8

# 5. 返回路径
return $cardPath
```

---

## 🔄 使用场景

### 场景 1：新项目立项
```
触发：用户决定启动新项目
  ↓
调用：ATOM-DATA-026
  ↓
输出：项目卡片.md
  ↓
下一步：ATOM-DATA-004 更新项目进度
```

### 场景 2：批量创建项目
```
触发：多个项目需要立项
  ↓
循环：每个项目
  ↓
调用：ATOM-DATA-026
  ↓
输出：多个项目卡片
```

---

## 🔗 关联动作

### 前置动作
- 无（可独立执行）

### 后置动作
- ATOM-DATA-004：更新项目进度

### 常组合使用
- ATOM-DATA-026 + ATOM-DATA-004
  （创建 → 更新）

---

## ✅ 检查清单

执行前确认：
- [ ] 项目名称非空
- [ ] 目录可写
- [ ] 文件不存在（避免覆盖）
- [ ] 编码 UTF-8

---

## ⚠️ 常见错误

### 错误 1：项目已存在
```
❌ 错误：覆盖已有项目卡片
✅ 正确：先用 Test-Path 检查，存在则报错
```

### 错误 2：目录不可写
```
❌ 错误：权限不足
✅ 正确：检查目录权限
```

---

_模块化定义 | 可独立调用 | 2026-03-07_
