main2main

Guides adaptation of vLLM-Ascend to upstream vLLM main branch changes. Supports two workflows: (1) Proactive upgrade: analyze vLLM code diff, generate prioritized change report, adapt vllm-ascend code. (2) CI failure diagnosis: when schedule_test_vllm_main CI is red, automatically extract errors from logs, trace root causes to upstream commits, generate diagnostic report, and apply fixes. The skill produces code changes, a report file, and a structured summary. It does NOT perform git/PR operations. After the skill completes in standalone mode, create a branch, commit, and submit a PR using the structured summary as PR body. Use this skill whenever: - The user wants to upgrade/adapt vllm-ascend to a newer vLLM commit - The user shares a GitHub Actions URL or run ID from main2main tests - The user mentions CI failures related to vLLM main branch updates or "main2main" test failures - The user wants to compare vLLM changes and assess impact on vllm-ascend - The user asks to analyze, debug, or fix failures caused by upstream vLLM changes

1,888 stars

Best use case

main2main is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Guides adaptation of vLLM-Ascend to upstream vLLM main branch changes. Supports two workflows: (1) Proactive upgrade: analyze vLLM code diff, generate prioritized change report, adapt vllm-ascend code. (2) CI failure diagnosis: when schedule_test_vllm_main CI is red, automatically extract errors from logs, trace root causes to upstream commits, generate diagnostic report, and apply fixes. The skill produces code changes, a report file, and a structured summary. It does NOT perform git/PR operations. After the skill completes in standalone mode, create a branch, commit, and submit a PR using the structured summary as PR body. Use this skill whenever: - The user wants to upgrade/adapt vllm-ascend to a newer vLLM commit - The user shares a GitHub Actions URL or run ID from main2main tests - The user mentions CI failures related to vLLM main branch updates or "main2main" test failures - The user wants to compare vLLM changes and assess impact on vllm-ascend - The user asks to analyze, debug, or fix failures caused by upstream vLLM changes

Teams using main2main should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/main2main/SKILL.md --create-dirs "https://raw.githubusercontent.com/vllm-project/vllm-ascend/main/.agents/skills/main2main/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/main2main/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How main2main Compares

Feature / Agentmain2mainStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Guides adaptation of vLLM-Ascend to upstream vLLM main branch changes. Supports two workflows: (1) Proactive upgrade: analyze vLLM code diff, generate prioritized change report, adapt vllm-ascend code. (2) CI failure diagnosis: when schedule_test_vllm_main CI is red, automatically extract errors from logs, trace root causes to upstream commits, generate diagnostic report, and apply fixes. The skill produces code changes, a report file, and a structured summary. It does NOT perform git/PR operations. After the skill completes in standalone mode, create a branch, commit, and submit a PR using the structured summary as PR body. Use this skill whenever: - The user wants to upgrade/adapt vllm-ascend to a newer vLLM commit - The user shares a GitHub Actions URL or run ID from main2main tests - The user mentions CI failures related to vLLM main branch updates or "main2main" test failures - The user wants to compare vLLM changes and assess impact on vllm-ascend - The user asks to analyze, debug, or fix failures caused by upstream vLLM changes

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# main2main

Adapt vLLM-Ascend to upstream vLLM main branch evolution — proactively or reactively.

## Scenario Detection

Determine which workflow the user needs, then Read the corresponding document:

**Proactive Upgrade** — Read `proactive-upgrade.md` (in the same directory as this SKILL.md)
- User wants to analyze what changed in vLLM and adapt vllm-ascend
- User mentions upgrading, bumping, or syncing to a newer vLLM commit
- No CI failure is involved; the goal is forward-looking analysis

**CI Failure Diagnosis** — Read `error-analysis.md` (in the same directory as this SKILL.md)
- User shares a GitHub Actions URL, run ID, or mentions CI is red
- User mentions schedule_test_vllm_main failures or "main2main" test failures
- The goal is to diagnose and fix existing breakage

**If both signals are present** (e.g., user says "upstream changed an API and CI is failing"), prefer CI Failure Diagnosis — fixing active breakage takes priority over proactive analysis.

Both workflows share the common knowledge below. After reading the relevant document, also read `reference/error-patterns.md` for concrete fix examples — do this immediately if the user's message already mentions a specific error type (TypeError, AttributeError, ImportError, etc.), or whenever you encounter such errors during analysis.

---

## Common Knowledge

### Version Compatibility Pattern

Most fixes require `vllm_version_is()` guards to maintain backward compatibility:

```python
from vllm_ascend.utils import vllm_version_is

if vllm_version_is("0.16.0"):  # pinned release version
    # Use old API
else:
    # Use new API (main branch)
```

The compatible release version comes from `vllm_version` matrix in `.github/workflows/pr_test_full.yaml`.

---

## Output Contract

Both workflows produce two common outputs:

1. **Code changes** — applied to the working tree (unstaged)
2. **Structured summary** — output in conversation, following the format defined in each workflow's final step

The skill does **not** perform git or GitHub operations (no branch, commit, push, or PR). After the skill completes:

- **Standalone mode**: proceed with creating a branch, committing changes, pushing, and submitting a PR. Use the structured summary as the PR body content.
- **Workflow mode**: the orchestrating Workflow handles all git/PR operations using the structured summary.

Related Skills

vllm-ascend-model-adapter

1888
from vllm-project/vllm-ascend

Adapt and debug existing or new models for vLLM on Ascend NPU. Implement in /vllm-workspace/vllm and /vllm-workspace/vllm-ascend, validate via direct vllm serve from /workspace, and deliver one signed commit in the current repo.

vLLM Ascend Release Note Writer

1877
from vllm-project/vllm-ascend

You are a release note writer for vLLM Ascend project (vllm-project/vllm-ascend). You are responsible for writing release notes for vLLM Ascend.

compose-multiplatform-patterns

144923
from affaan-m/everything-claude-code

KMP项目中的Compose Multiplatform和Jetpack Compose模式——状态管理、导航、主题化、性能优化和平台特定UI。

java-coding-standards

144923
from affaan-m/everything-claude-code

Spring Bootサービス向けのJavaコーディング標準:命名、不変性、Optional使用、ストリーム、例外、ジェネリクス、プロジェクトレイアウト。

continuous-learning

144923
from affaan-m/everything-claude-code

Claude Codeセッションから再利用可能なパターンを自動的に抽出し、将来の使用のために学習済みスキルとして保存します。

nextjs-best-practices

31392
from sickn33/antigravity-awesome-skills

Next.js App Router principles. Server Components, data fetching, routing patterns.

network-101

31392
from sickn33/antigravity-awesome-skills

Configure and test common network services (HTTP, HTTPS, SNMP, SMB) for penetration testing lab environments. Enable hands-on practice with service enumeration, log analysis, and security testing against properly configured target systems.

neon-postgres

31392
from sickn33/antigravity-awesome-skills

Expert patterns for Neon serverless Postgres, branching, connection pooling, and Prisma/Drizzle integration

nanobanana-ppt-skills

31392
from sickn33/antigravity-awesome-skills

AI-powered PPT generation with document analysis and styled images

multi-agent-patterns

31392
from sickn33/antigravity-awesome-skills

This skill should be used when the user asks to "design multi-agent system", "implement supervisor pattern", "create swarm architecture", "coordinate multiple agents", or mentions multi-agent patterns, context isolation, agent handoffs, sub-agents, or parallel agent execution.

monorepo-management

31392
from sickn33/antigravity-awesome-skills

Build efficient, scalable monorepos that enable code sharing, consistent tooling, and atomic changes across multiple packages and applications.

monetization

31392
from sickn33/antigravity-awesome-skills

Estrategia e implementacao de monetizacao para produtos digitais - Stripe, subscriptions, pricing experiments, freemium, upgrade flows, churn prevention, revenue optimization e modelos de negocio SaaS.