forgejo-synclisted
Install: claude install-skill 10CG/aria-plugin
# Forgejo Sync Skill
> **版本**: 1.0.0 | **层级**: Layer 2 (Business Skill) | **分类**: Requirements Skills
## 快速开始
### 我应该使用这个 Skill 吗?
**使用场景**:
- 将 Story 创建为 Forgejo Issue
- 从 Issue 同步状态回 Story
- 发布 PRD 到 Forgejo Wiki
- 检查 Story/Issue 状态差异
**不使用场景**:
- 验证文档格式 → 使用 `requirements-validator`
- 同步到 UPM → 使用 `requirements-sync`
**前置条件**:
- 配置 Forgejo API 访问 (见 CONFIG.md)
---
## 核心功能
| 功能 | 描述 |
|------|------|
| **story-to-issue** | Story → Issue 创建/更新 |
| **issue-to-story** | Issue → Story 状态同步 |
| **bulk-sync** | 批量同步所有 Story |
| **status-check** | 检查状态差异 |
| **prd-to-wiki** | PRD → Wiki 发布 |
---
## Forgejo 配置引导 (v1.14.0 新增)
forgejo-sync 在 PRE_CHECK 步骤中自动检测 Forgejo 配置是否就位。
### 触发条件
- git remote URL 包含已知 Forgejo 实例 (`forgejo.10cg.pub`)
- `CLAUDE.local.md` 不存在,**或**文件存在但缺少 `forgejo:` 配置块
### 行为
**文件不存在时**:
1. 从 git remote URL 推断 `owner/repo` (支持 SSH `git@host:owner/repo.git` 和 HTTPS 格式)
2. 对已知实例默认 `cloudflare_access.enabled: true`
3. 展示将要生成的完整配置内容
4. 提示用户确认 [y/N]
5. 确认 → 创建 `CLAUDE.local.md`,继续后续步骤
6. 拒绝 → 输出 "跳过配置创建,forgejo-sync 可能因 Cloudflare 拦截而失败",继续执行
**文件存在但缺少 forgejo 块时**:
1. 展示将要追加的 forgejo 配置块
2. 提示用户确认 [y/N]
3. 确认 → 在文件末尾追加 forgejo 配置块
4. 拒绝 → 同上,继续执行
**已有 forgejo 配置时**: 不提示,直接进入原有 PRE_CHECK 流程。
### 生成模板
与现有配置 schema 字段一致:
```yaml
## Forgejo Integration
forgejo:
url: "https://forgejo.10cg.pub"
repo: "{owner}/{repo}"
cloudflare_access:
enabled: true
client_id_env: "CF_