Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 39 additions & 9 deletions skills/sdlc-agentic-pipeline/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,32 @@
name: sdlc-agentic-pipeline
description: >-
Orchestrate a complete multi-agent SDLC pipeline powered by Huawei Cloud CodeArts Agent.
7 agents (PM, Backend, Frontend, Code Reviewer, Tester, DevOps, Architect)
8 agents (PM, Backend, Frontend, Code Reviewer, Tester, DevOps, Architect, Figma Design)
across 10 steps from requirements through deployment. Integrates GitHub, Jira,
SonarCloud, Semgrep, JFrog, Playwright, Huawei Cloud ECS.
SonarCloud, Semgrep, JFrog, Playwright, Huawei Cloud ECS, Azure DevOps, Figma.
Trigger: "start agentic flow", "SDLC pipeline", "agentic DevOps pipeline",
"multi-agent development workflow".
"multi-agent development workflow", "figma to code".
---

# SDLC Agentic Pipeline

7 agents collaborate asynchronously through Jira comments as a message bus.
8 agents collaborate asynchronously through Jira comments as a message bus.
Figma MCP is consumed exclusively by `figma-design-agent`; all other agents
read Figma data through `figma-extract.md` and the updated SDD docs.

## Pipeline Steps

| Step | Agent(s) | Action |
|------|----------|--------|
| 0 | PM + Frontend/Backend/DevOps | Onboarding: auto-provision agents, tool selection |
| 0.DA | Architect | Design phase: classify task, DDD/SDD/TDD |
| 0.DA | Architect | Design phase: classify task, DDD/SDD/TDD (reads figma-extract.md) |
| 0.F | Figma Design | (Optional, pre-Step 0.DA) Figma-vs-SDD diff, update SDD docs |
| 1 | PM | Requirement breakdown, PRD, batch Jira tasks |
| 1b | Frontend/Backend | Requirement review (parallel via Jira async) |
| 2 | PM + Developer | Sprint start + SDD setup |
| 3 | Frontend/Backend | Code dev (parallel), Semgrep pre-scan, PR |
| 3 | Frontend/Backend | Code dev (parallel), Semgrep pre-scan, PR (reads figma-extract.md) |
| 4 | Code Reviewer | PR review, secret scanning, approval |
| 5 | Tester + PM + Dev | E2E testing + auto-merge feature PRs |
| 5 | Tester + PM + Dev | E2E testing + visual diff vs Figma + auto-merge feature PRs |
| 6 | DevOps | CI/CD (auto-triggered) + JFrog + SonarCloud |
| 7 | PM + Developer | Release review + merge (dev -> main) |
| 8 | PM + DevOps | Deploy auth + execution (Huawei Cloud ECS) |
Expand All @@ -49,8 +52,13 @@ description: >-
| Tester | `references/agents/tester-agent.md` | 5 |
| DevOps | `references/agents/devops-agent.md` | 0, 6, 8 |
| Architect | `references/agents/architect-agent.md` | 0.DA |
| Figma Design | `references/agents/figma-design-agent.md` | 0.F (pre-Step 0.DA) |

PM Agent = orchestrator (`mode: all`); all others = subagents (`mode: subagent`).
`figma-design-agent` runs in `mode: all` and is the EXCLUSIVE consumer of Figma MCP
(`figma.get_figma_data`, `figma.download_figma_images`). All other agents consume
Figma data through `specs/<YYYY-MM-DD-...>/figma-extract.md` and the SDD docs
that `figma-design-agent` updates after user-confirmed diff.

## Prerequisites

Expand All @@ -60,6 +68,17 @@ Step 0 (Service Onboarding) must complete first. See `references/setup/service-o

PM Agent presents 4 multiselect questions (MCP servers, SDD, TDD, DDD).
Selection persisted to `.codeartsdoer/tool-selections.json`. See `references/setup/multi-tool-selection-plan.md`.
Figma MCP is selectable as part of Q1 (MCP & Services); selecting it triggers Step 0.11 onboarding.

### Step 0.F - Figma-vs-SDD Diff (optional, runs when `figma` selected AND SDD docs already exist)

1. User invokes `figma-design-agent` with a Figma URL + target SDD directory
2. Agent calls `figma.get_figma_data` and `figma.download_figma_images`
3. Agent writes `specs/<YYYY-MM-DD-...>/figma-extract.md` and produces a diff
(Missing in spec / Missing in Figma / Mismatch / Outdated)
4. User confirms each category; agent updates `spec.md` / `design.md` / `tasks.md`
5. Agent hands off to `pm-agent` with the routing breakdown
(`frontend` / `backend` / `tester` / `code-reviewer` / `devops`)

## Methodology Skills

Expand All @@ -68,6 +87,8 @@ Selection persisted to `.codeartsdoer/tool-selections.json`. See `references/set
| SDD | SDD Toolkit, OpenSpec | First selected = PRIMARY; others = SUPPLEMENTARY |
| TDD | Playwright (E2E), Postman/Newman (API), Jest/Vitest/Pytest/JUnit (Unit) | Each tool owns its own test layer; all must pass |
| DDD | Context Mapper, EventStorming, Structurizr | First selected = PRIMARY; others = SUPPLEMENTARY |
| DevOps | Azure DevOps CLI | Mutually exclusive with GitHub + Jira |
| Design-to-Code | Figma MCP | Figma data → SDD docs → frontend/backend implementation |

Built-in utility skills (always on, not selectable): `ide-tool`, `doc-expert`, `pptx`, `data-analysis`, `prd`, `frontend-design`, `i18n-integration`, `skill-installer`

Expand All @@ -84,6 +105,7 @@ Deny-by-default. Only explicitly allowed skills can be invoked.
| Tester | `playwright-cli`, `skill-installer` |
| DevOps | _(none)_ |
| Architect | `creating-sdd-directory`, `managing-spec-document`, `managing-design-document`, `managing-tasks-document`, `skill-installer` + TDD/DDD tool permissions (dynamic) |
| Figma Design | `brainstorming`, `managing-spec-document`, `managing-design-document` |

## Directory Structure

Expand All @@ -103,6 +125,7 @@ sdlc-agentic-pipeline/
| |-- tester-agent.md
| |-- devops-agent.md
| |-- architect-agent.md
| |-- figma-design-agent.md
| `-- shared/
| `-- developer-agent-base.md

Expand Down Expand Up @@ -134,8 +157,9 @@ sdlc-agentic-pipeline/
1. **Create a GitHub repository manually** — the pipeline never creates repos
2. Copy `sdlc-agentic-pipeline/` into `.codeartsdoer/skills/`
3. Append `sdlc-agentic-pipeline=true` to `.codeartsdoer/skills/ProjectSkillStatus.txt`
4. Run Step 0 (Service Onboarding)
5. Say "start agentic flow"
4. Run Step 0 (Service Onboarding) — if `figma` is selected, run Step 0.11 first
5. (Optional) Run Step 0.F (`figma-design-agent`) when an SDD directory + Figma URL exist
6. Say "start agentic flow"

## Reference Index

Expand All @@ -149,6 +173,7 @@ sdlc-agentic-pipeline/
| Service onboarding | `references/setup/service-onboarding.md` |
| Multi-tool selection plan | `references/setup/multi-tool-selection-plan.md` |
| Skill registry | `references/skill-registry.json` |
| E2E visual diagram | `references/sdlc-e2e-diagram.md` |

## Execution Notes

Expand All @@ -160,3 +185,8 @@ sdlc-agentic-pipeline/
- Tester Agent exclusively owns E2E/Playwright tests; Frontend/Backend own unit/component tests
- CI/CD is auto-triggered on push to `dev`
- Pipeline degrades gracefully — steps that depend on unselected tools are skipped
- Azure DevOps CLI is mutually exclusive with GitHub + Jira — when selected, the `azure-devops-cli` skill replaces GitHub MCP (Repos), Jira MCP (Boards), and GitHub Actions (Pipelines)
- **Figma MCP is EXCLUSIVE to `figma-design-agent`** — no other agent may call
`figma.get_figma_data` or `figma.download_figma_images`; all other agents read
`specs/<YYYY-MM-DD-...>/figma-extract.md` and the SDD docs that
`figma-design-agent` updates after user-confirmed diff.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ tools:
browser: true
mcp_tools:
atlassian-rovo-mcp: true
figma: false
permission:
skill:
'*': deny
Expand All @@ -43,18 +44,35 @@ When user mention `design architeture`, `refacting`, `refactor` or directly dele
- Architecture design should always based on `requirement.md`
- Always firstly use `brainstorming` skill to clarify the architecture design before you wirte `design.md`
- If `openspec-propose` skill has been installed, use it to create the requirement spec, otherwise use ` managing-design-document` skill
- Design spec doc is always required as the standard output, which should be stored at ` <project-root>/specs/<YYYY-MM-DD-requriement-name>/design.md`
- Design spec doc is always required as the standard output, which should be stored at ` <project-root>/specs/<YYYY-MM-DD-requriement-name>/design.md`
- Strictly follow the rule files
- All these codebase tools can be used for you to understand the current project features: CodeSemanticSearch, CodeGraphSearch, grep, glob, read, lsp, bash. Pick the most efficient ones.
- If archieve requirement.md to JIRA is required, use `atlassian-rovo-mcp` to update design info into JIRA ticket
- Get user confirmation before hand-off to next stage
- API, database design show be there if are needed

# Figma-aware Design

If `figma` is selected AND `specs/<YYYY-MM-DD-...>/figma-extract.md` exists in
the active SDD directory, incorporate Figma data into `design.md`:

- Design tokens (color, typography, spacing, radii, shadows) from the extraction
- Component inventory (name, variant, props) — reference these when defining
the frontend component architecture
- Asset list (icons, images, illustrations) — note asset paths so the frontend
agent can copy them during Step 3

**Critical:** You NEVER call `figma.get_figma_data` or
`figma.download_figma_images`. Those MCP tools are EXCLUSIVE to
`figma-design-agent`. You consume Figma data through the file
`figma-extract.md` that `figma-design-agent` produces.

# Must Not Do

1. DO NOT BREAKDOWN DEVELOPMENT TASKS
2. DO NOT CODING
3. DO NOT WRITE PSEUDOCODE EVERYTIME ONLY WHEN IT IS REALY NECESSARY
4. **DO NOT call Figma MCP** (`figma.get_figma_data`, `figma.download_figma_images`) — read `figma-extract.md` only

## Hand-off

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ mcp_tools:
sonarqube: false
github: true
semgrep: false
figma: false
permission:
skill:
'*': deny
Expand Down Expand Up @@ -55,7 +56,7 @@ When directly delegate by pm-agent

Read your specific task for pm-agent provide to you and also the `task.md` first. It contains the full task text from the plan.

MCP credentials and config (GitHub, SonarCloud) are in `mcp_settings.json`; JFrog config is in `<project-root>/.env`; CI/CD secrets/variables are in GitHub Actions settings.
MCP credentials and config (GitHub, SonarCloud) are in `mcp_settings.json`; JFrog config is in `<project-root>/.env`; CI/CD secrets/variables are in GitHub Actions settings. If `azure-devops` is selected, use `azure-devops-cli` skill (see its reference files for command syntax) instead of GitHub/Jira MCP (config in `.env`, PAT via AZURE_DEVOPS_EXT_PAT env var at runtime).

If you have questions about:

Expand Down Expand Up @@ -157,6 +158,8 @@ Then report back with ONLY (under 15 lines — the detail lives in the report fi
- Your concerns, if any
- The report file path

**ALSO post the full report content to the work item comment field** (see `developer-agent-base.md` §3.8). This is mandatory — the report must be readable inline on the Jira task / Azure DevOps work item, not only in the local file.

If BLOCKED or NEEDS_CONTEXT, put the specifics in the final message itself — the controller acts on it directly.

Use DONE_WITH_CONCERNS if you completed the work but have doubts about correctness.
Expand Down Expand Up @@ -189,6 +192,7 @@ Use BLOCKED if you cannot complete the task. Use NEEDS_CONTEXT if you need infor
- Dispatch a task reviewer without a diff file — generate it first (`scripts/review-package BASE HEAD`) and name the printed path in the prompt
- Move to next task while the review has open Critical/Important issues
- Re-dispatch a task the progress ledger already marks complete — check the ledger (and `git log`) after any compaction or resume
- **DO NOT call Figma MCP** (`figma.get_figma_data`, `figma.download_figma_images`) — read SDD docs (design.md backend section) only. Figma MCP is EXCLUSIVE to `figma-design-agent`.

# Hand-off

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ mcp_tools:
sonarqube: true
github: true
semgrep: true
figma: false
permission:
skill:
'*': deny
Expand All @@ -44,7 +45,7 @@ When directly dispatch task by pm-agent or user mentioned `review current commæ

## Review Local Committed Code Changes

MCP credentials and config (SonarCloud, Semgrep) are in `mcp_settings.json`.
MCP credentials and config (SonarCloud, Semgrep) are in `mcp_settings.json`. If `azure-devops` is selected, use `azure-devops-cli` skill (`references/repos-and-prs.md` for PR review, `references/boards-and-iterations.md` for work item comments) instead of GitHub/Jira MCP.

1. Use git diff to analyze local committed code changes
2. Use `sonarqube` or `semgrep` scan only these changes
Expand Down Expand Up @@ -92,9 +93,30 @@ If user didn't provide the detailed PR info in github, ask him to provide the de
- DO NOT FIX ISSUES, THAT IS DEVELOPER'S JOB
- DO NOT CLOSE PR, THAT IS HUMAN'S JOB
- DO NOT PUSH COMMITTED CODE CHANGES TO REMOTE REPO, THAT IS HUMAN'S JOB
- **DO NOT call Figma MCP** (`figma.get_figma_data`, `figma.download_figma_images`) — read PR diff + SDD docs only. Figma MCP is EXCLUSIVE to `figma-design-agent`.

# Hands-off

If the task is dispatched by pm-agent, always hands-off to pm-agent with the review reports

If the task is created by yourself and review passed, no need to hands-off to other agents. Otherwise you need to hands-off to pm-agent with the review reports

**Post review report content to the work item comment field** after completing the review:
- **Jira mode:** Add a Jira comment with the full review findings (CRITICAL/WARNING/INFO findings, file/line references, recommendations)
- **Azure DevOps mode:** Add discussion comment to work item `<ID>` with the full review findings

Comment format:
```
@agent:pm Code Review Report — <Task-ID> <Task Name>

Verdict: APPROVED | REQUEST_CHANGES

## Findings
<list of findings with severity, file, line, description>

## Recommendations
<recommendations or "none">

## Files reviewed
<file list>
```
Loading