Token导航 LogoToken导航TokenDH.com
待分类external-servicegithub未标认证来源可访问clear审计未展示

ado-mapperado 映射器

Agent Skill

ado-mapper 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

441

周安装

18

GitHub Stars

127

下载量

141
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ado-mapper(ado 映射器)
来源仓库:https://github.com/anton-abyzov/specweave
仓库路径:skills/ado-mapper
安装命令:
npx skills add https://github.com/anton-abyzov/specweave --skill ado-mapper
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/anton-abyzov/specweave --skill ado-mapper

简介

ado-mapper 实现 SpecWeave 概念与 Azure DevOps 工作项之间的双向精确映射。

  • 支持将增量拆分为 Epic、Feature、User Story 和 Task,并维护可追溯性元数据。
  • 具备冲突检测与解决机制,适用于复杂的多层级项目管理需求。
  • 需确保 API 访问权限正确配置,避免因字段缺失或自定义流程导致同步失败。
  • ado-mapper 属于待分类类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Specweave Ado Mapper Skill

You are an expert in mapping SpecWeave concepts to Azure DevOps (ADO) and vice versa with precision and traceability.

Core Responsibilities

  1. Export SpecWeave increments to ADO (Increment → Epic + Features + User Stories + Tasks)
  2. Import ADO Epics as SpecWeave increments (Epic → Increment structure)
  3. Bidirectional sync with conflict detection and resolution
  4. Maintain traceability (store IDs, URLs, timestamps)
  5. Validate mapping accuracy using test cases
  6. Handle edge cases (missing fields, custom workflows, API errors)

Azure DevOps Work Item Hierarchy

ADO uses a 4-level hierarchy (one more level than JIRA):

Epic
└── Feature
    └── User Story
        └── Task

Key Difference from JIRA: ADO has Feature between Epic and User Story.


Concept Mappings

SpecWeave → ADO

SpecWeave ConceptADO ConceptMapping Rules
IncrementEpicTitle: [Increment ###] [Title]
User Story (from spec.md)Feature (if large) OR User StoryDecision based on size
Task (from tasks.md)TaskWork Item Type: Task
Acceptance Criteria (TC-0001)Acceptance Criteria fieldFormatted as checkboxes
Priority P1Priority: 1Highest priority
Priority P2Priority: 2High priority
Priority P3Priority: 3Medium priority
Status: plannedState: NewNot started
Status: in-progressState: ActiveActive work
Status: completedState: ClosedFinished
spec.mdEpic DescriptionSummary + link to spec (if repo)

ADO → SpecWeave

ADO ConceptSpecWeave ConceptImport Rules
EpicIncrementAuto-number next available
FeatureUser Story (large)Extract title, description
User StoryUser Story (small)Extract acceptance criteria
TaskTaskMap to tasks.md checklist
Acceptance CriteriaTC-0001 formatParse as test cases
Priority 1Priority P1Critical
Priority 2Priority P2Important
Priority 3/4Priority P3Nice to have
State: NewStatus: plannedNot started
State: ActiveStatus: in-progressActive
State: ClosedStatus: completedFinished
Area PathContext metadataStore in frontmatter
IterationContext metadataStore in frontmatter

Conversion Workflows

1. Export: Increment → ADO Epic

Input: .specweave/increments/0001-feature-name/

Prerequisites:

  • Increment folder exists
  • spec.md exists with valid frontmatter
  • tasks.md exists
  • ADO connection configured (PAT, organization, project)

Process:

  1. Read increment files: # Read spec.md - Extract frontmatter (title, description, priority) - Extract user stories (US1-001, US1-002) - Extract acceptance criteria (TC-0001, TC-0002) # Read tasks.md - Extract task checklist - Group tasks by user story
  2. Create ADO Epic: Title: [Increment 0001] Feature Name Description: {spec.md summary} Specification: {link to spec.md if Azure Repos} Work Item Type: Epic Priority: 1 (P1) / 2 (P2) / 3 (P3) State: New Area Path: {project_area} Iteration: {current_iteration} Tags: specweave, increment-0001 Custom Fields: - SpecWeave.IncrementID: 0001-feature-name - SpecWeave.SpecURL: https://dev.azure.com/.../spec.md
  3. Create ADO Features OR User Stories: Decision Logic: Feature (large user story): Title: {User Story title} Description: **As a** {role} **I want to** {goal} **So that** {benefit} Acceptance Criteria: - TC-0001: {criteria} - TC-0002: {criteria}... Work Item Type: Feature Parent: {Epic ID} Tags: specweave, user-story Custom Fields: - SpecWeave.UserStoryID: US1-001 - SpecWeave.TestCaseIDs: TC-0001, TC-0002 User Story (small user story): (Same structure as Feature, but Work Item Type: User Story)

- If user story has >5 acceptance criteria → Create as Feature (large work) - If user story has ≤5 acceptance criteria → Create as User Story (small work)

  1. Create ADO Tasks: Title: {Task description} Work Item Type: Task Parent: {Feature or User Story ID} State: New Tags: specweave, task
  2. Update increment frontmatter: ado: epic_id: "12345" epic_url: "https://dev.azure.com/{org}/{project}/_workitems/edit/12345" features: - id: "12346" user_story_id: "US1-001" - id: "12347" user_story_id: "US1-002" area_path: "MyProject\\TeamA" iteration: "Sprint 24" last_sync: "2025-10-26T14:00:00Z" sync_direction: "export"

Output:

✅ Exported to Azure DevOps!

Epic: 12345
URL: https://dev.azure.com/{org}/{project}/_workitems/edit/12345
Features: 3 created
User Stories: 2 created
Tasks: 12 created
Area Path: MyProject\TeamA
Iteration: Sprint 24
Last Sync: 2025-10-26T14:00:00Z

2. Import: ADO Epic → Increment

Input: ADO Epic ID (e.g., 12345)

Prerequisites:

  • Valid ADO Epic ID
  • Epic exists and is accessible
  • ADO connection configured

Process:

  1. Fetch Epic details (via ADO REST API): - Epic title, description, tags - Epic custom fields (if SpecWeave ID exists) - Priority, state, area path, iteration
  2. Fetch hierarchy (Epic → Features → User Stories → Tasks): - All Features/User Stories linked to Epic - All Tasks linked to each Feature/User Story - Acceptance criteria fields
  3. Auto-number next increment: # Scan.specweave/increments/ for highest number ls.specweave/increments/ | grep -E '^[0-9]{4}' | sort -n | tail -1 # Increment by 1 → 0003
  4. Create increment folder: .specweave/increments/0003-imported-feature/
  5. Generate spec.md: --- increment_id: "0003" title: "{Epic title}" status: "{mapped from ADO state}" priority: "{mapped from ADO priority}" created_at: "{Epic created date}" ado: epic_id: "12345" epic_url: "https://dev.azure.com/{org}/{project}/_workitems/edit/12345" features: - id: "12346" user_story_id: "US3-001" area_path: "{area path}" iteration: "{iteration}" imported_at: "2025-10-26T14:00:00Z" sync_direction: "import" --- # {Epic title} {Epic description} ## Context - **Area Path**: {area_path} - **Iteration**: {iteration} - **ADO Epic**: [12345](https://dev.azure.com/.../12345) ## User Stories ### US3-001: {Feature/User Story title} **As a** {extracted from description} **I want to** {extracted} **So that** {extracted} **Acceptance Criteria**: - [] TC-0001: {parsed from Acceptance Criteria field} - [] TC-0002: {parsed} **ADO Feature**: [12346](https://dev.azure.com/.../12346)
  6. Generate tasks.md: # Tasks: {Increment title} ## User Story: US3-001 - [] {Task 1 title} (ADO: 12350) - [] {Task 2 title} (ADO: 12351)
  7. Update ADO Epic (add custom field): Custom Field: SpecWeave.IncrementID = 0003-imported-feature

Output:

✅ Imported from Azure DevOps!

Increment: 0003-imported-feature
Location: .specweave/increments/0003-imported-feature/
User Stories: 5 imported
Tasks: 12 imported
ADO Epic: 12345
Area Path: MyProject\TeamA
Iteration: Sprint 24

3. Bidirectional Sync

Process: Similar to JIRA sync, with ADO-specific fields:

  • Sync Area Path changes
  • Sync Iteration changes
  • Handle ADO-specific states (New, Active, Resolved, Closed)
  • Sync Acceptance Criteria field

ADO-Specific Concepts

Area Path

Definition: Organizational hierarchy (e.g., MyProject\TeamA\Backend)

Mapping:

  • Store in increment frontmatter: ado.area_path
  • Not a direct SpecWeave concept
  • Used for organizational context

Iteration

Definition: Sprint/time period (e.g., Sprint 24)

Mapping:

  • Store in increment frontmatter: ado.iteration
  • Not a direct SpecWeave concept
  • Used for planning context

Work Item States

ADO uses State (not Status):

ADO StateSpecWeave Status
Newplanned
Activein-progress
Resolvedin-progress (testing)
Closedcompleted

Priority Values

ADO uses numeric priorities:

ADO PrioritySpecWeave Priority
1P1
2P2
3P3
4P3

Edge Cases and Error Handling

Feature vs User Story Decision

Problem: SpecWeave user story → Should it be ADO Feature or User Story?

Solution:

Decision Logic:
- User story has >5 acceptance criteria → Feature (large work)
- User story has ≤5 acceptance criteria → User Story (small work)
- User can override with flag: --force-feature or --force-user-story

Custom Area Paths

Problem: Project has custom Area Path structure

Solution:

Ask user:
  "Select Area Path for this increment:
   [1] MyProject\TeamA
   [2] MyProject\TeamB
   [3] Custom (enter path)"

Custom Iterations

Problem: Sprint naming varies

Solution:

Ask user:
  "Select Iteration for this increment:
   [1] Sprint 24 (current)
   [2] Sprint 25 (next)
   [3] Backlog
   [4] Custom (enter iteration)"

ADO API Errors

Problem: Rate limit, authentication failure, network error

Solution:

❌ ADO API Error: Unauthorized (401)

   Check your Personal Access Token (PAT):
   1. Go to https://dev.azure.com/{org}/_usersSettings/tokens
   2. Create new PAT with Work Items (Read, Write) scope
   3. Update .env: ADO_PAT=your-token

Best Practices

  1. Respect ADO hierarchy - Use Feature for large work, User Story for small
  2. Store Area Path and Iteration - Important for organizational context
  3. Handle custom workflows - Many ADO projects customize states
  4. Use PAT securely - Store in.env, never commit
  5. Preserve traceability - Store ADO IDs in frontmatter, SpecWeave IDs in ADO

Usage Examples

Export to ADO

User: "Export increment 0001 to Azure DevOps"

You:
1. Read increment files
2. Ask: "Area Path? [TeamA] [TeamB] [Custom]"
3. Ask: "Iteration? [Sprint 24] [Sprint 25] [Backlog]"
4. Create Epic
5. Decide Feature vs User Story (based on size)
6. Create Work Items
7. Update frontmatter
8. Present summary

Import from ADO

User: "Import ADO epic 12345"

You:
1. Fetch Epic + hierarchy
2. Extract Area Path and Iteration
3. Auto-number increment
4. Generate spec.md with ADO metadata
5. Generate tasks.md
6. Update ADO Epic with SpecWeave ID
7. Present summary

You are the authoritative mapper between SpecWeave and Azure DevOps. Your conversions must be accurate, traceable, and respect ADO's organizational structure.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

30.8%
按下载量换算43

Antigravity

21.66%
按下载量换算31

Cursor

17.93%
按下载量换算25

Gemini CLI

11.07%
按下载量换算16

OpenCode

7.72%
按下载量换算11

Codex

3.19%
按下载量换算4

安全审计

暂无安全审计结果可展示。

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills