{"id":"4d29b050-0527-4705-b4ba-17ad670fabc8","shortId":"tGJTNb","kind":"skill","title":"dev-workflow","tagline":"Standard R&D process orchestrator — guides the full development lifecycle from User Story to CD. Invoke when user says \"start a new feature\", \"new requirement\", \"我要开发一个新功能\", \"开始需求\", \"next step?\", \"研发流程\", or resumes work on an existing feature. Also invoke proactively when any non","description":"# Dev Workflow\n\n## Description\n\nStandard R&D process orchestrator — guides the full development lifecycle from User Story to CD, with human confirmation required before proceeding to each step.\n\n**Collaboration with other skills**: This skill is responsible for \"what step are we on, what's next, and which skill to invoke\"; `architect` handles \"how to write the actual documents.\"\n\nEvery run must walk through the entire 9-step checklist — whether it is a new requirement, a new project, or a project already in progress — to ensure no critical step is missed (especially observability plans and test coverage).\n\n---\n\n## Rules\n\n1. **Mandatory full checklist**: Every run must go from Step 1 to Step 9; no step may be skipped, even if its status is \"Completed\"\n2. **Human confirmation at each step**: After displaying the status of each step, wait for human confirmation (`[y/N]`) before proceeding to the next\n3. **Observability is not optional**: Step 5 (observability plan) is a required step and must not be skipped with \"not needed for now\"\n4. **Documentation before code**: Before Step 6 (TDD implementation), all documentation deliverables from Steps 1-5 must exist and be confirmed\n5. **First-run initialization**: When the project has no `CLAUDE.md` or no workspace skill, automatically run project initialization\n6. **All User Stories must have E2E coverage**: In Step 4's test plan, every User Story must have a corresponding L3 E2E test case\n\n---\n\n## Examples\n\n### Bad — Skipping undiscovered missing steps\n\n```\nUser: \"Code is all done, MR is merged, help me set up CD\"\nAI: Directly discusses CD configuration...\n```\n\nProblem: Skipped the observability plan (Step 5), test plan check (Step 4), etc., jumping directly to the step the user mentioned.\n\n### Good — Enforced full checklist\n\n```\nUser: \"Code is all done, MR is merged, help me set up CD\"\nAI:\n── Step 1 — User Story ──────────────\nStatus: Completed\nDeliverable: docs/product/user-stories/postcard.md\n\nDo you want to update this step? [y/N (default: skip)]\n\n...(Steps 2-4 display status similarly)...\n\n── Step 5 — Observability Plan ──────────────\nStatus: Missing\nDeliverable: docs/architecture/postcard/observability.md — does not exist\n\nDo you want to update this step? [y/N (default: skip)]\n```\n\nEven if the user says \"code is done,\" the observability plan must still be checked for existence.\n\n### Bad — Triggering the full workflow for a simple bug fix\n\n```\nUser: \"Fix the login button color bug\"\nAI: Triggers dev-workflow, starts from Step 1 with User Story writing...\n```\n\nProblem: A single-line bug fix does not need the full R&D workflow; over-orchestration disrupts the user.\n\n### Good — Recognizing scope boundaries and avoiding over-triggering\n\n```\nUser: \"Fix the login button color bug\"\nAI: Directly fixes the bug following the project's Bug Fix TDD rules (write a failing test first, then fix).\nDoes not trigger dev-workflow.\n```\n\n### Bad — Skipping Step 2.5 for UI features\n\n```\nUser: \"I want to build a new Postcard sharing page\"\nAI: After Step 2 tech design is done, jumps directly to Step 3 dev environment...\n```\n\nProblem: There is a UI change but the Paper design mockup is skipped; the visual approach is not aligned before development, risking repeated rework.\n\n### Good — Triggering Step 2.5 when there are UI changes\n\n```\nUser: \"I want to build a new Postcard sharing page\"\nAI: After Step 2 completes →\n── Step 2.5 — UI Design Confirmation ──────────────\nStatus: Missing (detected that this requirement includes UI changes)\nTrigger paper-ui-design skill to complete the design mockup in Paper...\n```\n\n---\n\n## First-Time Project Entry (Project Initialization)\n\n### Generate Project-Level Workspace Skill\n\nGenerate a project-specific development guide skill at `.agents/skills/{project-name}-workspace/SKILL.md`. This skill enables new Claude instances (or new engineers) to quickly understand all key project information.\n\n**Trigger condition**: First time running `dev-workflow` in the project, or when `.agents/skills/{project-name}-workspace/` does not exist.\n\n**Information sources**: Collect from the following locations:\n- `docs/architecture/overview.md` — System architecture\n- `docs/architecture/domain-model.md` — Business terminology\n- `docs/architecture/tech-stack.md` — Tech stack\n- `docs/deployment/local-dev.md` — Local dev environment\n- `CLAUDE.md` — Project rules\n- `Makefile` or `package.json` — Common commands\n\n**Generated Workspace Skill structure**:\n\n```markdown\n---\nname: {project-name}-workspace\ndescription: {Project Name} project development guide. Automatically triggered when working in the {project-name} project.\n  Contains project architecture, local environment startup, core business terms, common commands, and development conventions.\n  New developers or Claude instances entering the project must invoke this skill first.\n---\n\n# {Project Name} Development Guide\n\n## Project Overview\n[Extracted from docs/architecture/overview.md]\n\n## Quick Start\n[Extracted make commands from docs/deployment/local-dev.md]\n\n## Tech Stack\n[Extracted from docs/architecture/tech-stack.md]\n\n## Core Business Terms\n[Extracted from docs/architecture/domain-model.md]\n\n## Directory Structure\n[Auto-scanned and generated]\n\n## Development Standards\n[Extracted from CLAUDE.md + dev-workflow rules]\n\n## Common Commands Quick Reference\n[Extracted from Makefile / package.json]\n```\n\n**Location**: `.agents/skills/{project-name}-workspace/SKILL.md` (project-level, committed to Git)\n\n**Update timing**: After completing major documentation changes in Steps 1-4, update the workspace skill to keep it in sync.\n\n---\n\nWrite the following base rules into the project's `CLAUDE.md` (skip if these rules already exist):\n\n```markdown\n## Dev Workflow Rules\n\n- All user stories MUST have E2E test coverage (L3 level). No User Story can be marked \"implemented\" without a corresponding passing E2E test.\n- Follow the 9-step dev workflow: User Story → Tech Design → UI Design* → Dev Env* → Test Strategy → Observability → TDD Impl → MR → CI → CD (* conditional)\n- Documents must be committed before coding starts (architect rule)\n```\n\n---\n\n## Full-Process Checklist (must be executed every time)\n\n**Whether it is a new requirement, a new project, or a project already in progress, every run must walk through Step 1 to Step 9 and confirm each step.**\n\nFor each step, first scan the corresponding paths to determine the current status, then display the status and request confirmation:\n\n| Status | Meaning | Action |\n|------|------|------|\n| Completed | Document/deliverable exists and content is complete | Display summary, ask if update is needed |\n| Needs Update | Document exists but does not match current requirements | Trigger the corresponding skill to update |\n| Missing | Document/deliverable does not exist | Trigger the corresponding skill to create from scratch |\n\nEach step must receive human confirmation (\"continue to next step?\") before proceeding, even if the status is \"Completed.\" This ensures every step receives conscious review rather than being automatically skipped.\n\n---\n\n## Step 1 — User Story\n\n**Goal**: Define user experience flows and acceptance criteria (no technical details).\n\n**Actions**:\n1. Ask the user if they have a Feishu document link. If so, invoke `lark-mcp` to read the document content as input.\n2. Invoke `story-craftsman` for guided requirements discovery and AC definition.\n3. If brainstorming is needed, invoke `superpowers:brainstorming`.\n4. Write deliverables to `docs/product/user-stories/{service}.md` (following `architect` Step 1 standards).\n\n**Completion criteria**: Each User Story has Background + User Story + AC (Given/When/Then), with **no** technical implementation details.\n\n**Write to CLAUDE.md after completion** (if not already present):\n```\n- User stories location: docs/product/user-stories/\n- Each User Story must have AC in Given/When/Then format\n```\n\n**Confirmation**: Display the User Story list and ask \"User Stories complete, proceed to Step 2 (Tech Design)?\"\n\n---\n\n## Step 2 — Technical Design\n\n**Goal**: Establish architecture boundaries, terminology SSOT, and key design decisions.\n\n**Actions**:\n1. Invoke `superpowers:brainstorming` to explore architecture options (2-3 options + recommendation).\n2. Invoke `superpowers:writing-plans` to convert the plan into an implementation plan.\n3. Write deliverables to `docs/architecture/overview.md` + `docs/architecture/domain-model.md` (following `architect` Step 2 standards).\n4. Invoke `doc-writing` to refine documents using the HWPR/AWOR framework.\n\n**Completion criteria**: Architecture diagram (Mermaid) + component responsibilities table + terminology mapping, single file ≤ 400 lines.\n\n**Confirmation**: Ask \"Tech design complete, proceed to Step 2.5 (UI Design Confirmation)?\"\n\n---\n\n## Step 2.5 — UI Design Confirmation (Conditional Trigger)\n\n**Trigger condition**: This feature includes user interface changes (mobile pages, modals, cards, detail pages, etc.). If there are no UI changes, **skip** this step.\n\n**Goal**: Before technical implementation, complete UI design in Paper based on User Stories and Design System Tokens, and output a component specification document to ensure the visual approach is aligned before development.\n\n**Actions**:\n1. Invoke `paper-ui-design` skill, completing the full Phase 1 + Phase 2 workflow:\n   - Read relevant User Story documents and tokens from `~/.claude/skills/paper-ui-design/ds_token.md`\n   - Guide the user to open the Paper component library (optional skip)\n   - Create a new Page in Paper and incrementally build the UI design mockup organized by visual groups\n   - Take screenshots every 2-3 steps, evaluate against 7-item Review Checkpoint and fix issues\n   - Call `finish_working_on_nodes` for finalization\n2. After the user confirms the design in Paper, create or update `docs/ui/ui-implementation-strategy.md` in the project:\n   - Add a separate section for this interface\n   - List all components and controls, noting for each: UI component mapping, design system token correspondence\n   - Follow the existing file format (if the file already exists, append the new interface section at the end; do not overwrite existing content)\n\n**Completion criteria**:\n- Paper design mockup is complete and passes all 7 Review Checkpoints\n- `docs/ui/ui-implementation-strategy.md` has been created or updated with all component specifications for this UI\n\n**Confirmation**: Ask \"UI design confirmed, proceed to Step 3 (Dev Environment)?\"\n\n---\n\n## Step 3 — Dev/Test Environment (Conditional Trigger)\n\n**Trigger condition**: The project has no existing dev/test environment, **or** new infrastructure dependencies (database, message queue, new service) or new third-party dependencies have been introduced.\n\nIf none of the above applies, **skip** this step.\n\n**Actions**:\n1. Invoke `multi-worktree-dev` to design the L1/L2/L3 layered local environment plan.\n2. Write deliverables to `docs/deployment/local-dev.md` (following `architect` Step 3 standards).\n\n**Completion criteria**: `make dev-up` / `make dev-down` are functional, and multiple worktree ports do not conflict.\n\n**Confirmation**: Ask \"Dev environment design complete, proceed to Step 4 (Test Plan)?\"\n\n---\n\n## Step 4 — Test Plan\n\n**Goal**: Generate an L2-L4 layered testing strategy where all User Story acceptance criteria have corresponding test cases.\n\n**Actions**:\n1. Invoke `testing-strategy` to generate a complete layered plan based on project type (Backend+APP / Backend+WEB / Backend+APP+Embedded).\n2. Confirm that every User Story AC has L3 (E2E) test case coverage (**hard requirement**).\n3. Write deliverables to `docs/testing/strategy.md` and `docs/testing/services/{service}/` (following `architect` Step 5 standards).\n\n**Completion criteria**: L1 (unit) + L2 (integration) + L3 (E2E) + L4 (UAT) strategy is complete; User Story count = L3 test case count (1:1 correspondence).\n\n**Write to CLAUDE.md after completion** (if not already present):\n```\n- L3 E2E tests are mandatory for every user story AC\n- Test files location: docs/testing/\n```\n\n**Confirmation**: Ask \"Test plan complete, proceed to Step 5 (Observability Plan)?\"\n\n---\n\n## Step 5 — Observability Plan\n\n**Goal**: Before coding, define a measurement and observation system that is runnable, verifiable, and optimizable. Output a structured, executable, and traceable Observability Plan.\n\nExecute the following 7 sub-steps in order; have the user confirm each sub-step's output before proceeding.\n\n---\n\n### 5.0 Scope & Classification\n\nRead project information from `docs/architecture/overview.md`. If the file does not exist, infer first, then have the user confirm:\n\n| Item | Description |\n|------|------|\n| Services/modules involved | Which services does this requirement affect |\n| Business priority | P0 / P1 / P2 |\n| Is it a core conversion path | Affects payment/activation/retention or other core funnels |\n| Is A/B experimentation needed | Based on the A/B experiment platform |\n| Is it a high-risk chain | Large failure blast radius, irreversible data, etc. |\n\nOutput the scope confirmation table and wait for user confirmation before continuing.\n\n---\n\n### 5.1 Measurement Design\n\nDefine a `measurement_id` for this requirement. Format: `{feature}_{action}_v{n}`, e.g., `postcard_share_activation_v1`.\n\nGuide the user through the following (provide suggestions based on understanding of the requirement first; user confirms or corrects):\n\n**Business objectives (based on the overall requirement, not individual User Story)**:\n- What is the core product/business question?\n- What are the key business KPIs?\n- Define the critical path (for funnel definition)\n\n**If A/B experimentation is needed (based on the A/B experiment platform)**, additionally define:\n\n| Field | Description |\n|------|------|\n| `feature_flag` | Feature ID in the A/B experiment platform |\n| `experiment_id` | Experiment ID |\n| `targeting` | Who enters the experiment |\n| `variant` | Experiment groups |\n| `exposure` definition | Exposure timing (automatic or manual tracking at key scenarios) |\n| `primary_metric` | Primary metric |\n| `guardrail_metrics` | Guardrail metrics (optional) |\n\nProceed after user confirms the Measurement Design.\n\n---\n\n### 5.2 Event Tracking Design\n\n1. Confirm which new user behavior event tracking is needed for this User Story.\n2. Present all candidate events in a table for user confirmation:\n\n| event_name | Category | Strategy | Description |\n|------------|------|------|------|\n| `xxx_viewed` | Impression | reuse / extend / new | ... |\n| `xxx_clicked` | Behavior | reuse / extend / new | ... |\n| `xxx_completed` | Outcome | reuse / extend / new | ... |\n\n**Each event must be evaluated as**:\n- **reuse existing event** — Fully reuse an existing event\n- **extend properties** — Reuse the event but add new properties\n- **create new event** — Create a new event only when necessary\n\n**Design each new/extended event structure according to the event tracking schema**:\n\n```\nevent_name:    xxx_yyy\nclassification: Impression / Behavior / Outcome\nproperties:\n  - key: value_type  # Description\ncontext:\n  - user_id\n  - session_id\n  - feature_flag (if applicable)\nownership: Defaults to the user's team\n```\n\nAfter user confirms the event tracking plan, create a ticket in the event management platform for the review and release process.\n\n---\n\n### 5.3 Logging Strategy\n\nBased on the requirement, define structured logs for critical business paths. Follow these principles:\n\n- Only log **critical business paths** — use \"event nodes\" as the unit; not every function needs logging\n- Use structured fields: `service` / `trace_id` / `user_id` / `action` / `result`\n- Log levels: `INFO` (normal flow) / `WARN` (abnormal but recoverable) / `ERROR` (requires intervention)\n- Correlation is required: `trace_id` + `user_id`\n- **Prohibited**: Logging user privacy information (name, address, personal ID, etc.)\n\nOutput the log node list for user confirmation:\n\n| Node | Level | action | result | Notes |\n|------|-------|--------|--------|------|\n| Create postcard | INFO | postcard_create | success/fail | Includes brand_id |\n| ... | ... | ... | ... | ... |\n\n---\n\n### 5.4 Tracing & Metrics\n\nBased on the technical architecture, map the system's critical chains and design OTel instrumentation for key nodes/APIs:\n\n**Technical metrics (is the system running normally)**:\n\n| Metric | Type | Description |\n|------|------|------|\n| `http_request_duration_seconds` | Histogram | Key API latency |\n| `http_requests_total{status}` | Counter | Request volume & error rate |\n| `{feature}_operation_total{result}` | Counter | Core operation success/failure |\n\n**Business metrics (are KPIs being met)**:\n\nMap the KPIs from 5.1 to computable metrics:\n\n| KPI | metric_name | Calculation |\n|-----|-------------|---------|\n| Share completion rate | `postcard_share_completed_total` | success / attempt |\n| ... | ... | ... |\n\nOutput the plan for user confirmation.\n\n---\n\n### 5.5 Alerts & SLO\n\nDefine SLOs (internal targets) based on the system framework and set alert rules:\n\n**Severity levels**:\n- **P0 Critical**: Service unavailable / core feature down, immediate intervention\n- **P1 High**: Severe impact but not fully unavailable, respond within 30 minutes\n- **P2 Medium**: Issues but not urgent, handle during business hours\n- **P3 Low**: Informational / observational\n\n1. Invoke `prometheus` to review existing alert rules and confirm whether new PromQL alerts are needed.\n2. Output the alert plan for user confirmation:\n\n| Alert Name | PromQL | Threshold | Severity | Description |\n|-----------|--------|------|----------|------|\n| `HighErrorRate` | `rate(errors[5m]) / rate(total[5m])` | > 1% | P1 | ... |\n| ... | ... | ... | ... | ... |\n\n---\n\n### 5.6 Dashboards\n\nInvoke `grafana` to confirm whether new panels need to be added to dashboards:\n\n| Panel | Content | Applicable When |\n|-------|------|---------|\n| KPI panel | Core business metric trends | Required |\n| Funnel panel | Critical path funnel | Required |\n| Experiment panel | Experiment group comparison | Only for A/B experiments |\n| Service metrics panel | rate / error / latency | Required |\n\n---\n\n### 5.7 Documentation Output\n\nWrite all deliverables from 5.0-5.6 to:\n\n```\ndocs/architecture/{service}/observability.md\n```\n\nDocument structure:\n```markdown\n# Observability Plan — {feature} ({measurement_id})\n\n## Scope & Classification\n## Measurement Design\n## Event Tracking\n## Logging Strategy\n## Tracing & Metrics\n## Alerts & SLO\n## Dashboards\n```\n\n---\n\n**Completion criteria**:\n- Measurement goal is clear; KPIs can be computed from the defined events\n- Core funnel definition is complete\n- Necessary events are designed (reuse preferred; do not proliferate new events)\n- Critical paths have trace + metrics\n- Core SLAs have alert coverage\n- Support for experiment groups (if applicable)\n- `observability.md` has been committed\n\n**Write to CLAUDE.md after completion** (if not already present):\n```\n- Observability: event tracking + OTel + Prometheus alerts\n- Observability docs: docs/architecture/{service}/observability.md\n```\n\n**Confirmation**: Ask \"Observability plan complete, proceed to Step 6 (TDD Implementation)?\"\n\n---\n\n## Step 6 — TDD Implementation\n\n**Goal**: Test-first implementation of all features, preferring Claude Code agent teams for parallel execution.\n\n**Actions**:\n1. Display the implementation plan (from Step 2's writing-plans deliverable) and ask the user:\n   - Which tasks can run in parallel?\n   - Which tasks must run sequentially?\n2. Based on user confirmation:\n   - **Parallel tasks**: invoke `superpowers:dispatching-parallel-agents`\n   - **Sequential / current session**: invoke `superpowers:subagent-driven-development`\n3. Each task follows `superpowers:test-driven-development` (write tests first, then implement).\n\n**Completion criteria**: All User Story L3 E2E tests pass; L1/L2 tests pass; no broken tests.\n\n**Confirmation**: Ask \"Implementation complete, proceed to Step 7 (MR)?\"\n\n---\n\n## Step 7 — MR\n\n**Goal**: Create a Merge Request and drive it to a mergeable state.\n\n**Actions**:\n1. Invoke `gitlab-mr` (auto-generates document links, pushes, creates MR, polls CI status, fixes failures).\n\n**Completion criteria**: MR created successfully, CI all green, no merge conflicts.\n\n**Confirmation**: Ask \"MR created, proceed to Step 8 (CI Configuration)?\"\n\n---\n\n## Step 8 — CI\n\n**Goal**: Configure or update the CI pipeline to ensure complete quality gates.\n\n**Actions**:\n1. Invoke `gitlab-ci` to check/create `.gitlab-ci.yml`.\n2. Ensure the following CI stages exist: lint → test (including L1/L2) → build → E2E (L3).\n3. Write deliverables to `docs/deployment/ci.md` (following `architect` Step 6 standards).\n\n**Completion criteria**: CI pipeline all green; L3 E2E runs in CI.\n\n**Confirmation**: Ask \"CI configuration complete, proceed to Step 9 (CD)?\"\n\n---\n\n## Step 9 — CD\n\n**Goal**: Configure continuous deployment to ensure automatic deployment to the target environment after MR merge.\n\n**Actions**:\n1. Invoke `argocd` to check current application deployment status.\n2. Invoke `cicd-developer` to configure K8s/ArgoCD deployment strategy.\n3. If a new cluster / full CICD stack is needed, invoke `argocd-deploy`.\n4. Write deliverables to `docs/deployment/cd.md` (following `architect` Step 6 standards).\n\n**Completion criteria**: Merge to main automatically triggers deployment; staging environment verification passes.\n\n**Write to CLAUDE.md after completion** (if not already present):\n```\n- CD via ArgoCD, check docs/deployment/cd.md for deployment guide\n```\n\n**Completion**: Congratulations! The entire R&D workflow is complete. Ask the user if there are follow-up needs.\n\n---\n\n## Flow Diagram\n\n```\nNew feature ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n  Step 1       Step 2       Step 2.5*    Step 3*      Step 4         Step 5          Step 6\n  User Story → Tech     →  UI Design →  Dev Env   →  Test       →  Observability →  TDD Impl\n  (story-      Design      (paper-ui-    (multi-       Strategy       (tracker-        (TDD +\n  craftsman +  (brainstorm  design +     worktree-    (testing-       manager +        agents)\n  lark-mcp)    + write-     docs/ui/)    dev)          strategy)      prometheus +\n               plan +                                                 grafana)\n               doc-writing)\n                                              │\nRe-entering ── status check ─────────────── resume from breakpoint ──────────────────────────────────────────────────────────\n\n  Step 7       Step 8       Step 9\n  MR        →  CI        →  CD\n  (gitlab-mr)  (gitlab-ci)  (argocd +\n                             cicd-developer)\n\n* Step 2.5 only triggered when the feature includes UI changes\n* Step 3 only triggered when there are new dependencies or no existing dev environment\n```\n\n---\n\n## Per-Step Confirmation Template\n\nAt the start of each step, display the current status; after completion, request confirmation. Always use the following format:\n\n**Entering each step:**\n```\n── Step N/9 — [Step Name] ──────────────────\nStatus: Completed / Needs Update / Missing\nDeliverable: [document path] — [one-line summary or \"does not exist\"]\n\nDo you want to update this step? [y/N (default: skip)]\n```\n\n**After completion or skip:**\n```\nStep N confirmed → Proceeding to Step N+1 — [Step Name]\n```\n\n**After all steps are complete:**\n```\n══════════════════════════════════════\nFull R&D Workflow Checklist Complete\n\nConfirmed steps:\n  Step 1   — User Story\n  Step 2   — Technical Design\n  Step 2.5 — UI Design Confirmation (with docs/ui/ui-implementation-strategy.md) [conditional]\n  Step 3   — Dev Environment [conditional]\n  Step 4   — Test Plan\n  Step 5   — Observability Plan\n  Step 6   — TDD Implementation\n  Step 7   — MR\n  Step 8   — CI\n  Step 9   — CD\n══════════════════════════════════════\n```","tags":["dev","workflow","enterprise","harness","engineering","addxai","agent-skills","ai-agent","ai-engineering","claude-code","code-review","cursor"],"capabilities":["skill","source-addxai","skill-dev-workflow","topic-agent-skills","topic-ai-agent","topic-ai-engineering","topic-claude-code","topic-code-review","topic-cursor","topic-devops","topic-enterprise","topic-sre","topic-windsurf"],"categories":["enterprise-harness-engineering"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/addxai/enterprise-harness-engineering/dev-workflow","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add addxai/enterprise-harness-engineering","source_repo":"https://github.com/addxai/enterprise-harness-engineering","install_from":"skills.sh"}},"qualityScore":"0.458","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 16 github stars · SKILL.md body (23,881 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T01:02:11.457Z","embedding":null,"createdAt":"2026-04-21T19:04:00.892Z","updatedAt":"2026-04-22T01:02:11.457Z","lastSeenAt":"2026-04-22T01:02:11.457Z","tsv":"'+1':3091 '-3':1192,1378 '-4':362,822 '-5':229 '-5.6':2464 '/.claude/skills/paper-ui-design/ds_token.md':1345 '/observability.md':2468,2559 '1':143,153,228,343,429,821,937,1042,1057,1111,1183,1322,1333,1537,1616,1686,1687,1991,2369,2406,2592,2696,2751,2823,2919,3108 '2':168,361,517,575,1081,1165,1169,1191,1195,1218,1335,1377,1396,1551,1638,2005,2385,2599,2620,2759,2832,2921,3112 '2.5':500,556,578,1254,1259,2923,3000,3116 '3':191,526,1093,1209,1491,1495,1559,1653,2642,2773,2842,2925,3010,3124 '30':2353 '4':214,264,314,1101,1220,1589,1593,2856,2927,3129 '400':1244 '5':197,235,309,367,1664,1720,1724,2929,3133 '5.0':1771,2463 '5.1':1855,2293 '5.2':1987 '5.3':2133 '5.4':2227 '5.5':2316 '5.6':2408 '5.7':2456 '5m':2402,2405 '6':220,254,2568,2572,2781,2864,2931,3137 '7':1382,1467,1753,2678,2681,2981,3141 '8':2732,2736,2983,3144 '9':111,156,877,940,2802,2805,2985,3147 'a/b':1820,1826,1925,1932,1945,2447 'abnorm':2182 'ac':1091,1122,1147,1644,1707 'accept':1051,1609 'accord':2077 'action':967,1056,1182,1321,1536,1615,1867,2174,2215,2591,2695,2750,2822 'activ':1873 'actual':102 'ad':2420 'add':1412,2059 'addit':1935 'address':2201 'affect':1801,1813 'agent':2586,2632,2958 'agents/skills':626,660,801 'ai':298,341,421,471,514,572 'alert':2317,2330,2375,2382,2388,2393,2487,2528,2554 'align':547,1318 'alreadi':126,846,928,1136,1442,1696,2547,2885 'also':41 'alway':3042 'api':2264 'app':1632,1636 'append':1444 'appli':1532 'applic':2104,2425,2535,2829 'approach':544,1316 'architect':96,905,1109,1216,1557,1662,2779,2862 'architectur':677,724,1174,1189,1234,2234 'argocd':2825,2854,2889,2995 'argocd-deploy':2853 'ask':977,1058,1158,1247,1484,1581,1713,2561,2606,2672,2726,2795,2904 'attempt':2309 'auto':779,2702 'auto-gener':2701 'auto-scan':778 'automat':250,712,1039,1964,2813,2871 'avoid':460 'backend':1631,1633,1635 'background':1119 'bad':280,404,497 'base':835,1298,1627,1823,1883,1896,1929,2136,2230,2323,2621 'behavior':1996,2029,2089 'blast':1838 'boundari':458,1175 'brainstorm':1095,1100,1186,2953 'brand':2225 'breakpoint':2979 'broken':2669 'bug':412,420,439,470,475,480 'build':508,566,1365,2770 'busi':679,729,771,1802,1894,1915,2145,2153,2283,2363,2430 'button':418,468 'calcul':2300 'call':1389 'candid':2008 'card':1276 'case':278,1614,1649,1684 'categori':2018 'cd':18,64,297,301,340,896,2803,2806,2887,2988,3148 'chain':1835,2240 'chang':534,561,590,818,1272,1285,3008 'check':312,401,2827,2890,2976 'check/create':2757 'checklist':113,146,327,910,3103 'checkpoint':1385,1469 'ci':895,2710,2719,2733,2737,2743,2755,2763,2785,2793,2796,2987,2994,3145 'cicd':2835,2848,2997 'cicd-develop':2834,2996 'classif':1773,2087,2478 'claud':635,739,2584 'claude.md':245,688,787,841,1131,1691,2542,2880 'clear':2495 'click':2028 'cluster':2846 'code':217,286,329,392,903,1729,2585 'collabor':74 'collect':670 'color':419,469 'command':695,732,762,793 'commit':809,901,2539 'common':694,731,792 'comparison':2444 'complet':167,347,576,598,815,968,974,1028,1113,1133,1161,1232,1250,1293,1329,1457,1463,1561,1585,1624,1666,1678,1693,1716,2034,2302,2306,2490,2508,2544,2564,2656,2674,2714,2747,2783,2798,2866,2882,2895,2903,3039,3055,3081,3098,3104 'compon':1237,1309,1353,1421,1428,1478 'comput':2295,2499 'condit':648,897,1263,1266,1498,1501,3122,3127 'configur':302,2734,2739,2797,2808,2838 'confirm':67,170,184,234,581,942,964,1016,1151,1246,1257,1262,1400,1483,1487,1580,1639,1712,1762,1791,1846,1852,1891,1983,1992,2015,2114,2212,2315,2378,2392,2413,2560,2624,2671,2725,2794,3026,3041,3086,3105,3119 'conflict':1579,2724 'congratul':2896 'conscious':1034 'contain':722 'content':972,1078,1456,2424 'context':2096 'continu':1017,1854,2809 'control':1423 'convent':735 'convers':1811 'convert':1202 'core':728,770,1810,1817,1908,2280,2338,2429,2504,2525 'correct':1893 'correl':2188 'correspond':274,871,951,994,1005,1433,1612,1688 'count':1681,1685 'counter':2270,2279 'coverag':141,261,859,1650,2529 'craftsman':1085,2952 'creat':1008,1357,1405,1473,2062,2065,2119,2218,2222,2684,2707,2717,2728 'criteria':1052,1114,1233,1458,1562,1610,1667,2491,2657,2715,2784,2867 'critic':132,1919,2144,2152,2239,2335,2436,2520 'current':956,990,2634,2828,3036 'd':6,52,447,2900,3101 'dashboard':2409,2422,2489 'data':1841 'databas':1513 'decis':1181 'default':358,385,2106,3078 'defin':1046,1730,1858,1917,1936,2140,2319,2502 'definit':1092,1923,1961,2506 'deliver':225,348,372,1103,1211,1553,1655,2461,2604,2775,2858,3059 'depend':1512,1523,3017 'deploy':2810,2814,2830,2840,2855,2873,2893 'descript':49,706,1793,1938,2020,2095,2257,2398 'design':519,538,580,595,600,884,886,1167,1171,1180,1249,1256,1261,1295,1303,1327,1368,1402,1430,1460,1486,1544,1584,1857,1986,1990,2072,2242,2480,2512,2936,2944,2954,3114,3118 'detail':1055,1128,1277 'detect':584 'determin':954 'dev':2,47,424,495,527,653,686,789,849,879,887,1492,1542,1565,1569,1582,2937,2964,3021,3125 'dev-down':1568 'dev-up':1564 'dev-workflow':1,423,494,652,788 'dev/test':1496,1507 'develop':12,58,549,622,710,734,737,751,783,1320,2641,2650,2836,2998 'diagram':1235,2915 'direct':299,317,472,523 'directori':776 'discoveri':1089 'discuss':300 'dispatch':2630 'dispatching-parallel-ag':2629 'display':175,363,959,975,1152,2593,3034 'disrupt':452 'doc':1223,2556,2970 'doc-writ':1222,2969 'docs/architecture':2466,2557 'docs/architecture/domain-model.md':678,775,1214 'docs/architecture/overview.md':675,757,1213,1778 'docs/architecture/postcard/observability.md':373 'docs/architecture/tech-stack.md':681,769 'docs/deployment/cd.md':2860,2891 'docs/deployment/ci.md':2777 'docs/deployment/local-dev.md':684,764,1555 'docs/product/user-stories':1105,1141 'docs/product/user-stories/postcard.md':349 'docs/testing':1711 'docs/testing/services':1659 'docs/testing/strategy.md':1657 'docs/ui':2963 'docs/ui/ui-implementation-strategy.md':1408,1470,3121 'document':103,215,224,817,898,984,1066,1077,1227,1311,1341,2457,2469,2704,3060 'document/deliverable':969,999 'done':289,332,394,521 'drive':2689 'driven':2640,2649 'durat':2260 'e.g':1870 'e2e':260,276,857,873,1647,1673,1699,2662,2771,2790 'embed':1637 'enabl':633 'end':1451 'enforc':325 'engin':639 'ensur':130,1030,1313,2746,2760,2812 'enter':741,1954,2974,3047 'entir':110,2898 'entri':608 'env':888,2938 'environ':528,687,726,1493,1497,1508,1549,1583,2818,2875,3022,3126 'error':2185,2273,2401,2453 'especi':136 'establish':1173 'etc':315,1279,1842,2204 'evalu':1380,2043 'even':162,387,1023 'event':1988,1997,2009,2016,2040,2047,2052,2057,2064,2068,2075,2080,2083,2116,2124,2156,2481,2503,2510,2519,2550 'everi':104,147,268,914,931,1031,1376,1641,1704,2162 'exampl':279 'execut':913,1745,1750,2590 'exist':39,231,376,403,667,847,970,985,1002,1436,1443,1455,1506,1784,2046,2051,2374,2765,3020,3069 'experi':1048,1827,1933,1946,1948,1950,1956,1958,2440,2442,2448,2532 'experiment':1821,1926 'explor':1188 'exposur':1960,1962 'extend':2025,2031,2037,2053 'extract':755,760,767,773,785,796 'fail':486 'failur':1837,2713 'featur':26,40,503,1268,1866,1939,1941,2101,2275,2339,2474,2582,2917,3005 'feishu':1065 'field':1937,2168 'file':1243,1437,1441,1709,1781 'final':1395 'finish':1390 'first':237,488,605,649,748,948,1786,1889,2578,2653 'first-run':236 'first-tim':604 'fix':413,415,440,465,473,481,490,1387,2712 'flag':1940,2102 'flow':1049,2180,2914 'follow':476,673,834,875,1108,1215,1434,1556,1661,1752,1880,2147,2645,2762,2778,2861,2911,3045 'follow-up':2910 'format':1150,1438,1865,3046 'framework':1231,2327 'full':11,57,145,326,407,445,908,1331,2847,3099 'full-process':907 'fulli':2048,2349 'function':1572,2163 'funnel':1818,1922,2434,2438,2505 'gate':2749 'generat':611,617,696,782,1597,1622,2703 'git':811 'gitlab':2699,2754,2990,2993 'gitlab-ci':2753,2992 'gitlab-ci.yml':2758 'gitlab-mr':2698,2989 'given/when/then':1123,1149 'go':150 'goal':1045,1172,1289,1596,1727,2493,2575,2683,2738,2807 'good':324,455,553 'grafana':2411,2968 'green':2721,2788 'group':1373,1959,2443,2533 'guardrail':1975,1977 'guid':9,55,623,711,752,1087,1346,1875,2894 'handl':97,2361 'hard':1651 'help':293,336 'high':1833,2344 'high-risk':1832 'higherrorr':2399 'histogram':2262 'hour':2364 'http':2258,2266 'human':66,169,183,1015 'hwpr/awor':1230 'id':1861,1942,1949,1951,2098,2100,2171,2173,2192,2194,2203,2226,2476 'immedi':2341 'impact':2346 'impl':893,2942 'implement':222,868,1127,1207,1292,2570,2574,2579,2595,2655,2673,3139 'impress':2023,2088 'includ':588,1269,2224,2768,3006 'increment':1364 'individu':1902 'infer':1785 'info':2178,2220 'inform':646,668,1776,2199,2367 'infrastructur':1511 'initi':239,253,610 'input':1080 'instanc':636,740 'instrument':2244 'integr':1671 'interfac':1271,1418,1447 'intern':2321 'intervent':2187,2342 'introduc':1526 'invok':19,42,95,745,1070,1082,1098,1184,1196,1221,1323,1538,1617,2370,2410,2627,2636,2697,2752,2824,2833,2852 'involv':1795 'irrevers':1840 'issu':1388,2357 'item':1383,1792 'jump':316,522 'k8s/argocd':2839 'keep':828 'key':644,1179,1914,1969,2092,2246,2263 'kpi':2297,2427 'kpis':1916,2286,2291,2496 'l1':1668 'l1/l2':2665,2769 'l1/l2/l3':1546 'l2':1600,1670 'l2-l4':1599 'l3':275,860,1646,1672,1682,1698,2661,2772,2789 'l4':1601,1674 'larg':1836 'lark':1072,2960 'lark-mcp':1071,2959 'latenc':2265,2454 'layer':1547,1602,1625 'level':614,808,861,2177,2214,2333 'librari':1354 'lifecycl':13,59 'line':438,1245,3064 'link':1067,2705 'lint':2766 'list':1156,1419,2209 'local':685,725,1548 'locat':674,800,1140,1710 'log':2134,2142,2151,2165,2176,2196,2207,2483 'login':417,467 'low':2366 'main':2870 'major':816 'make':761,1563,1567 'makefil':691,798 'manag':2125,2957 'mandatori':144,1702 'manual':1966 'map':1241,1429,2235,2289 'mark':867 'markdown':700,848,2471 'match':989 'may':159 'mcp':1073,2961 'md':1107 'mean':966 'measur':1732,1856,1860,1985,2475,2479,2492 'medium':2356 'mention':323 'merg':292,335,2686,2723,2821,2868 'mergeabl':2693 'mermaid':1236 'messag':1514 'met':2288 'metric':1972,1974,1976,1978,2229,2249,2255,2284,2296,2298,2431,2450,2486,2524 'minut':2354 'miss':135,283,371,583,998,3058 'mobil':1273 'mockup':539,601,1369,1461 'modal':1275 'mr':290,333,894,2679,2682,2700,2708,2716,2727,2820,2986,2991,3142 'multi':1540,2948 'multi-worktree-dev':1539 'multipl':1574 'must':106,149,205,230,258,271,398,744,855,899,911,933,1013,1145,2041,2617 'n':1869,3085,3090 'n/9':3051 'name':629,663,701,704,708,720,750,804,2017,2084,2200,2299,2394,3053,3093 'necessari':2071,2509 'need':211,443,981,982,1097,1822,1928,2000,2164,2384,2417,2851,2913,3056 'new':25,27,118,121,510,568,634,638,736,920,923,1359,1446,1510,1516,1519,1994,2026,2032,2038,2060,2063,2067,2380,2415,2518,2845,2916,3016 'new/extended':2074 'next':31,90,190,1019 'node':1393,2157,2208,2213 'nodes/apis':2247 'non':46 'none':1528 'normal':2179,2254 'note':1424,2217 'object':1895 'observ':137,192,198,306,368,396,891,1721,1725,1734,1748,2368,2472,2549,2555,2562,2940,3134 'observability.md':2536 'one':3063 'one-lin':3062 'open':1350 'oper':2276,2281 'optimiz':1741 'option':195,1190,1193,1355,1979 'orchestr':8,54,451 'order':1758 'organ':1370 'otel':2243,2552 'outcom':2035,2090 'output':1307,1742,1768,1843,2205,2310,2386,2458 'over-orchestr':449 'over-trigg':461 'overal':1899 'overview':754 'overwrit':1454 'ownership':2105 'p0':1804,2334 'p1':1805,2343,2407 'p2':1806,2355 'p3':2365 'package.json':693,799 'page':513,571,1274,1278,1360 'panel':2416,2423,2428,2435,2441,2451 'paper':537,593,603,1297,1325,1352,1362,1404,1459,2946 'paper-ui':2945 'paper-ui-design':592,1324 'parallel':2589,2614,2625,2631 'parti':1522 'pass':872,1465,2664,2667,2877 'path':952,1812,1920,2146,2154,2437,2521,3061 'payment/activation/retention':1814 'per':3024 'per-step':3023 'person':2202 'phase':1332,1334 'pipelin':2744,2786 'plan':138,199,267,307,311,369,397,1200,1204,1208,1550,1591,1595,1626,1715,1722,1726,1749,2118,2312,2389,2473,2563,2596,2603,2967,3131,3135 'platform':1828,1934,1947,2126 'poll':2709 'port':1576 'postcard':511,569,1871,2219,2221,2304 'prefer':2514,2583 'present':1137,1697,2006,2548,2886 'primari':1971,1973 'principl':2149 'prioriti':1803 'privaci':2198 'proactiv':43 'problem':303,434,529 'proceed':70,187,1022,1162,1251,1488,1586,1717,1770,1980,2565,2675,2729,2799,3087 'process':7,53,909,2132 'product/business':1909 'progress':128,930 'prohibit':2195 'project':122,125,242,252,478,607,609,613,620,628,645,657,662,689,703,707,709,719,721,723,743,749,753,803,807,839,924,927,1411,1503,1629,1775 'project-level':612,806 'project-nam':627,661,702,718,802 'project-specif':619 'prolifer':2517 'prometheus':2371,2553,2966 'promql':2381,2395 'properti':2054,2061,2091 'provid':1881 'push':2706 'qualiti':2748 'question':1910 'queue':1515 'quick':641,758,794 'r':5,51,446,2899,3100 'radius':1839 'rate':2274,2303,2400,2403,2452 'rather':1036 're':2973 're-ent':2972 'read':1075,1337,1774 'receiv':1014,1033 'recogn':456 'recommend':1194 'recover':2184 'refer':795 'refin':1226 'releas':2131 'relev':1338 'repeat':551 'request':963,2259,2267,2271,2687,3040 'requir':28,68,119,202,587,921,991,1088,1652,1800,1864,1888,1900,2139,2186,2190,2433,2439,2455 'respond':2351 'respons':81,1238 'result':2175,2216,2278 'resum':35,2977 'reus':2024,2030,2036,2045,2049,2055,2513 'review':1035,1384,1468,2129,2373 'rework':552 'risk':550,1834 'rule':142,483,690,791,836,845,851,906,2331,2376 'run':105,148,238,251,651,932,2253,2612,2618,2791 'runnabl':1738 'say':22,391 'scan':780,949 'scenario':1970 'schema':2082 'scope':457,1772,1845,2477 'scratch':1010 'screenshot':1375 'second':2261 'section':1415,1448 'separ':1414 'sequenti':2619,2633 'servic':1106,1517,1660,1797,2169,2336,2449,2467,2558 'services/modules':1794 'session':2099,2635 'set':295,338,2329 'sever':2332,2345,2397 'share':512,570,1872,2301,2305 'similar':365 'simpl':411 'singl':437,1242 'single-lin':436 'skill':77,79,93,249,596,616,624,632,698,747,826,995,1006,1328 'skill-dev-workflow' 'skip':161,208,281,304,359,386,498,541,842,1040,1286,1356,1533,3079,3083 'slas':2526 'slo':2318,2488 'slos':2320 'sourc':669 'source-addxai' 'specif':621,1310,1479 'ssot':1177 'stack':683,766,2849 'stage':2764,2874 'standard':4,50,784,1112,1219,1560,1665,2782,2865 'start':23,426,759,904,3030 'startup':727 'state':2694 'status':165,177,346,364,370,582,957,961,965,1026,2269,2711,2831,2975,3037,3054 'step':32,73,84,112,133,152,155,158,173,180,196,203,219,227,263,284,308,313,320,342,356,360,366,383,428,499,516,525,555,574,577,820,878,936,939,944,947,1012,1020,1032,1041,1110,1164,1168,1217,1253,1258,1288,1379,1490,1494,1535,1558,1588,1592,1663,1719,1723,1756,1766,2567,2571,2598,2677,2680,2731,2735,2780,2801,2804,2863,2918,2920,2922,2924,2926,2928,2930,2980,2982,2984,2999,3009,3025,3033,3049,3050,3052,3076,3084,3089,3092,3096,3106,3107,3111,3115,3123,3128,3132,3136,3140,3143,3146 'still':399 'stori':16,62,257,270,345,432,854,864,882,1044,1084,1117,1121,1139,1144,1155,1160,1301,1340,1608,1643,1680,1706,1904,2004,2660,2933,2943,3110 'story-craftsman':1083 'strategi':890,1604,1620,1676,2019,2135,2484,2841,2949,2965 'structur':699,777,1744,2076,2141,2167,2470 'sub':1755,1765 'sub-step':1754,1764 'subag':2639 'subagent-driven-develop':2638 'success':2308,2718 'success/fail':2223 'success/failure':2282 'suggest':1882 'summari':976,3065 'superpow':1099,1185,1197,2628,2637,2646 'support':2530 'sync':831 'system':676,1304,1431,1735,2237,2252,2326 'tabl':1239,1847,2012 'take':1374 'target':1952,2322,2817 'task':2610,2616,2626,2644 'tdd':221,482,892,2569,2573,2941,2951,3138 'team':2111,2587 'tech':518,682,765,883,1166,1248,2934 'technic':1054,1126,1170,1291,2233,2248,3113 'templat':3027 'term':730,772 'terminolog':680,1176,1240 'test':140,266,277,310,487,858,874,889,1590,1594,1603,1613,1619,1648,1683,1700,1708,1714,2577,2648,2652,2663,2666,2670,2767,2939,2956,3130 'test-driven-develop':2647 'test-first':2576 'testing-strategi':1618 'third':1521 'third-parti':1520 'threshold':2396 'ticket':2121 'time':606,650,813,915,1963 'token':1305,1343,1432 'topic-agent-skills' 'topic-ai-agent' 'topic-ai-engineering' 'topic-claude-code' 'topic-code-review' 'topic-cursor' 'topic-devops' 'topic-enterprise' 'topic-sre' 'topic-windsurf' 'total':2268,2277,2307,2404 'trace':2170,2191,2228,2485,2523 'traceabl':1747 'track':1967,1989,1998,2081,2117,2482,2551 'tracker':2950 'trend':2432 'trigger':405,422,463,493,554,591,647,713,992,1003,1264,1265,1499,1500,2872,3002,3012 'type':1630,2094,2256 'uat':1675 'ui':502,533,560,579,589,594,885,1255,1260,1284,1294,1326,1367,1427,1482,1485,2935,2947,3007,3117 'unavail':2337,2350 'understand':642,1885 'undiscov':282 'unit':1669,2160 'updat':354,381,812,823,979,983,997,1407,1475,2741,3057,3074 'urgent':2360 'use':1228,2155,2166,3043 'user':15,21,61,256,269,285,322,328,344,390,414,431,454,464,504,562,853,863,881,1043,1047,1060,1116,1120,1138,1143,1154,1159,1270,1300,1339,1348,1399,1607,1642,1679,1705,1761,1790,1851,1877,1890,1903,1982,1995,2003,2014,2097,2109,2113,2172,2193,2197,2211,2314,2391,2608,2623,2659,2906,2932,3109 'v':1868 'v1':1874 'valu':2093 'variant':1957 'verif':2876 'verifi':1739 'via':2888 'view':2022 'visual':543,1315,1372 'volum':2272 'wait':181,1849 'walk':107,934 'want':352,379,506,564,3072 'warn':2181 'web':1634 'whether':114,916,2379,2414 'within':2352 'without':869 'work':36,715,1391 'workflow':3,48,408,425,448,496,654,790,850,880,1336,2901,3102 'workspac':248,615,664,697,705,825 'workspace/skill.md':630,805 'worktre':1541,1575,2955 'write':100,433,484,832,1102,1129,1199,1210,1224,1552,1654,1689,2459,2540,2602,2651,2774,2857,2878,2962,2971 'writing-plan':1198,2601 'xxx':2021,2027,2033,2085 'y/n':185,357,384,3077 'yyy':2086 '开始需求':30 '我要开发一个新功能':29 '研发流程':33","prices":[{"id":"12b41e88-38f1-42d7-9c76-5501ece51a0c","listingId":"4d29b050-0527-4705-b4ba-17ad670fabc8","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"addxai","category":"enterprise-harness-engineering","install_from":"skills.sh"},"createdAt":"2026-04-21T19:04:00.892Z"}],"sources":[{"listingId":"4d29b050-0527-4705-b4ba-17ad670fabc8","source":"github","sourceId":"addxai/enterprise-harness-engineering/dev-workflow","sourceUrl":"https://github.com/addxai/enterprise-harness-engineering/tree/main/skills/dev-workflow","isPrimary":false,"firstSeenAt":"2026-04-21T19:04:00.892Z","lastSeenAt":"2026-04-22T01:02:11.457Z"}],"details":{"listingId":"4d29b050-0527-4705-b4ba-17ad670fabc8","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"addxai","slug":"dev-workflow","github":{"repo":"addxai/enterprise-harness-engineering","stars":16,"topics":["agent-skills","ai-agent","ai-engineering","claude-code","code-review","cursor","devops","enterprise","sre","windsurf"],"license":"apache-2.0","html_url":"https://github.com/addxai/enterprise-harness-engineering","pushed_at":"2026-04-17T08:57:37Z","description":"Enterprise-grade AI Agent Skills for software development, DevOps, SRE, security, and product teams. Compatible with Claude Code, Cursor, Windsurf, Gemini CLI, GitHub Copilot, and 30+ AI coding agents.","skill_md_sha":"51c31dee504ebaeaa9d5d2352d9f01a6532414b4","skill_md_path":"skills/dev-workflow/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/addxai/enterprise-harness-engineering/tree/main/skills/dev-workflow"},"layout":"multi","source":"github","category":"enterprise-harness-engineering","frontmatter":{"name":"dev-workflow","description":"Standard R&D process orchestrator — guides the full development lifecycle from User Story to CD. Invoke when user says \"start a new feature\", \"new requirement\", \"我要开发一个新功能\", \"开始需求\", \"next step?\", \"研发流程\", or resumes work on an existing feature. Also invoke proactively when any non-trivial feature work begins, even if the user just says \"let's build X\". Do NOT invoke for one-off bug fixes, hotpatches, or purely exploratory tasks with no deliverable."},"skills_sh_url":"https://skills.sh/addxai/enterprise-harness-engineering/dev-workflow"},"updatedAt":"2026-04-22T01:02:11.457Z"}}