# ATOM-DATA-003 - 读取项目卡片

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

---

## 📋 动作定义

**名称：** 读取项目卡片  
**分类：** 数据层（Data Layer）  
**编号：** ATOM-DATA-003

**一句话描述：** 从项目目录读取项目卡片文件，获取项目信息

---

## 🎯 输入输出

### 输入
- **类型：** 文本
- **内容：** 项目名称
- **必填：** 是

### 输出
- **类型：** 文本
- **内容：** 项目卡片 Markdown 内容
- **格式：** Markdown

---

## ⚙️ 偏好设置

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

### 编码格式
- **编码：** UTF-8
- **读取模式：** 完整读取

### 错误处理
- **文件不存在：** 返回错误提示
- **路径错误：** 尝试自动修正（去除空格、特殊字符）

---

## 📝 操作步骤

```powershell
# 1. 构建文件路径
$projectName = "感知与行动中心"
$projectPath = "knowledge-base/projects/$projectName/项目卡片.md"

# 2. 检查文件存在
if (-not (Test-Path $projectPath)) {
    Write-Host "❌ 项目卡片不存在：$projectPath"
    return $null
}

# 3. 读取文件
$content = Get-Content $projectPath -Raw -Encoding UTF8

# 4. 返回内容
return $content
```

---

## 🔄 使用场景

### 场景 1：更新项目进度前
```
触发：需要更新项目进度
  ↓
调用：ATOM-DATA-003
  ↓
输出：项目卡片内容
  ↓
下一步：ATOM-DATA-004 更新项目进度
```

### 场景 2：查看项目状态
```
触发：用户问"XX 项目进展如何"
  ↓
调用：ATOM-DATA-003
  ↓
输出：项目卡片内容
  ↓
提取：当前状态、进度、风险
```

---

## 🔗 关联动作

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

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

### 常组合使用
- ATOM-DATA-003 + ATOM-DATA-004
  （读取 → 更新）

---

## ✅ 检查清单

执行前确认：
- [ ] 项目名称正确
- [ ] 路径存在
- [ ] 编码 UTF-8
- [ ] 文件可读

---

## 📚 参考文档

- 主数据清单：`原子级动作主数据清单.md`
- 项目目录：`knowledge-base/projects/`

---

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