AgentSkillsCN

artifact-layout

为所有流水线产物定义标准的目录结构与文件命名规范。在以下场景中使用此技能:(1) 创建新的流水线产物;(2) 确定PRD/任务/状态文件的文件路径;(3) 整理发现阶段的产出;(4) 归档已完成的流水线产物;或(5) 解决各阶段之间的文件路径问题。

SKILL.md
--- frontmatter
name: artifact-layout
description: Define the standard directory structure and file naming conventions for all pipeline artifacts. Use this skill when (1) creating new pipeline artifacts, (2) determining file paths for PRDs/tasks/status files, (3) organizing discovery outputs, (4) archiving completed pipeline artifacts, or (5) resolving file paths across stages.

Artifact Layout

Standard directory structure and file naming conventions for pipeline artifacts.

Core Directory Structure

code
your-project/
├── .tot-docs/                          # All AI pipeline artifacts
│   ├── requirements/                 # Discovery output (discover stage)
│   │   └── [feature-slug]/
│   ├── prd/                          # Product Requirements (create-prd)
│   │   └── [id]-[feature-name].md
│   ├── tasks/                        # Implementation plans (generate-plan)
│   │   └── [id]-[feature-name].md
│   ├── tasks-details/                # Detailed task specs (implement)
│   │   └── [id]-[feature-name]/
│   ├── pipeline-status/              # Pipeline state (per PRD)
│   │   └── [id]-[feature-name].json
│   └── releases/                     # Release notes (finalize)
│       └── v[version].md

Naming Conventions

PRD ID Format

Pattern: [3-digit-number]-[kebab-case-feature-name]

Examples:

  • 001-user-authentication
  • 002-payment-integration

File Naming Patterns

File TypePatternExample
PRD[id]-[feature].md001-user-auth.md
Task List[id]-[feature].md001-user-auth.md
Status File[id]-[feature].json001-user-auth.json
Feedback File[id]-[feature]-feedback.md001-user-auth-feedback.md
Discovery Dir[feature-slug]/user-authentication/

Path Construction

javascript
function getPrdPath(id, featureName) {
  return `.tot-docs/prd/${id}-${featureName}.md`;
}

function getStatusPath(id, featureName) {
  return `.tot-docs/pipeline-status/${id}-${featureName}.json`;
}

function getTaskPath(id, featureName) {
  return `.tot-docs/tasks/${id}-${featureName}.md`;
}

File Lifecycle

FileCreated ByUpdated ByPermanent?
PRDcreate-prdcreate-prdYes
Task Listgenerate-plangenerate-planYes
Status FileorchestratorAll stagesNo
FeedbackValidatorsValidatorsNo

Path Rules

  • All paths are relative to workspace root
  • Use kebab-case for feature names
  • IDs are sequential 3-digit numbers