Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
wechat-miniprogram avatar

Skyline Route

  • 677 installs
  • 48 repo stars
  • Updated June 3, 2026
  • wechat-miniprogram/skyline-skills

skyline-route is a Claude Code skill that implements custom page transitions, half-screen popups, card expansions, and gesture-driven navigation in WeChat Mini Programs using the Skyline rendering engine for developers b

About

skyline-route is a skill from wechat-miniprogram/skyline-skills covering Skyline custom routing and page transitions in WeChat Mini Programs. It documents three capability layers: 7 preset wx:// route types for one-line common transitions, custom routeBuilder controllers for fully controlled enter/exit animations, and open-container element transitions for card-to-detail expansions. The skill also covers Router API usage, primaryAnimation and secondaryAnimation controllers, and configurable back gestures (horizontal, vertical, multi-direction). Developers use skyline-route when implementing half-screen modals, bottom sheets, scale fades, and gesture-driven page returns on Skyline.

  • Supports 7 preset wx:// routes for instant common transitions
  • Full control via routeBuilder for completely custom animations
  • Implements card-expand and open-container element-level transitions
  • Configurable multi-direction pop gestures with userGestureInProgress tracking
  • Router API plus navigateTo parameter and route event listeners

Skyline Route by the numbers

  • 677 all-time installs (skills.sh)
  • +29 installs in the week ending Jul 27, 2026 (Skillselion tracking)
  • Ranked #511 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/wechat-miniprogram/skyline-skills --skill skyline-route

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs677
repo stars48
Last updatedJune 3, 2026
Repositorywechat-miniprogram/skyline-skills

How do you add custom page transitions in WeChat Skyline?

Implement custom page transitions, half-screen popups, card-to-detail expansions, and gesture-driven navigation inside WeChat Mini Programs using the Skyline rendering

Who is it for?

WeChat Mini Program developers implementing Skyline custom routing, half-screen modals, and gesture-driven page transitions.

Skip if: Standard WebView mini programs without Skyline rendering or backends unrelated to WeChat client navigation.

When should I use this skill?

A developer mentions custom-route, routeBuilder, navigateTo transitions, half-screen popups, or open-container in a Skyline mini program.

What you get

Configured Skyline routeBuilder handlers, preset or custom wx:// transitions, open-container animations, and Router API navigation flows.

  • routeBuilder configuration
  • Preset or custom wx:// transition setup
  • open-container transition markup

By the numbers

  • Documents 7 preset wx:// Skyline route transition types
  • Covers 3 routing capability layers: preset, custom routeBuilder, open-container

Files

SKILL.mdMarkdownGitHub ↗

Skyline 自定义路由与页面转场

适用场景

  • 实现自定义页面转场动画(半屏、缩放、渐显等)
  • 使用预设路由快速实现常见转场效果
  • 配置页面返回手势(横向/纵向/多方向)
  • 实现卡片展开到详情页的容器转场动画
  • 通过 Router API 管理自定义路由

核心概念

路由能力层级

层级能力适用场景
预设路由一行代码使用 7 种内置效果快速实现常见转场
自定义路由通过 routeBuilder 完全控制动画高度定制化转场
容器转场<open-container> 元素级过渡卡片展开到详情页

动画控制器

属性说明
primaryAnimation页面进入/退出动画进度(0→1 进入,1→0 退出)
secondaryAnimation下一页进入时当前页动画进度(与下一页 primaryAnimation 同步)
userGestureInProgress当前路由进度是否由手势控制
startUserGesture / stopUserGesture手势接管/释放路由控制
didPop确认返回上一页

文档索引

根据需求快速定位(路径相对于 references/):

我想要...查阅文档
了解自定义路由原理和接口custom-route/custom-route-guide.md
查看半屏/手势返回代码模式custom-route/route-patterns.md
快速使用预设路由preset-route/preset-route.md
配置页面返回手势pop-gesture/pop-gesture.md
实现卡片展开转场open-container/open-container.md
查看 Router APIapi/router-api.md
了解 navigateTo 路由参数api/navigate-to.md
监听路由事件api/route-events.md

强制规则

MUST(必须遵守)

1. 自定义路由仅在连续 Skyline 页面间生效:WebView 页面不支持自定义路由

   // ✅ A 页(Skyline) → B 页(Skyline):自定义路由生效
   // ❌ A 页(WebView) → B 页(Skyline):降级为默认路由

2. 动画处理函数必须声明 'worklet' 指令

   // ✅ 正确
   const handlePrimaryAnimation = () => {
     'worklet'
     return { transform: `translateX(${...}px)` }
   }
   
   // ❌ 错误:缺少 worklet 指令,无法在 UI 线程执行
   const handlePrimaryAnimation = () => {
     return { transform: `translateX(${...}px)` }
   }

3. 手势接管必须成对调用 startUserGesture / stopUserGesture

   // ✅ 正确
   handleDragStart() {
     'worklet'
     this.customRouteContext.startUserGesture()
   }
   handleDragEnd() {
     'worklet'
     // ... 动画完成回调中:
     stopUserGesture()
   }

4. 确认返回时必须调用 didPop:引擎无法自动判断开发者是否要退出页面

   // ✅ 正确:动画完成后调用 didPop
   primaryAnimation.value = timing(0.0, { duration }, () => {
     'worklet'
     didPop()
     stopUserGesture()
   })

NEVER(禁止行为)

1. NEVER 在手势处理中忘记调用 startUserGesture 就直接修改 primaryAnimation.value 2. NEVER 假设自定义路由在 WebView 页面生效(低版本基础库会降级) 3. NEVER 在非 worklet 函数中访问 primaryAnimation.value

Quick Reference

预设路由速查

routeType效果最低基础库
wx://bottom-sheet底部弹出半屏3.1.0
wx://upwards自底向上全屏3.1.0
wx://zoom缩放进入3.1.0
wx://cupertino-modaliOS 风格模态3.1.0
wx://cupertino-modal-insideiOS 模态内嵌3.1.0
wx://modal-navigation模态导航3.1.0
wx://modal模态弹窗3.1.0
// 使用预设路由
wx.navigateTo({
  url: 'xxx',
  routeType: 'wx://bottom-sheet',
  routeOptions: { height: 60, round: true }
})

API 速查

API说明最低基础库
wx.router.addRouteBuilder(type, builder)注册自定义路由2.29.2
wx.router.removeRouteBuilder(type)移除自定义路由2.29.2
wx.router.getRouteContext(this)获取路由上下文2.29.2
wx.navigateTo({ routeType })指定路由类型跳转2.29.2
wx.navigateTo({ routeConfig })覆盖路由配置3.4.0
wx.navigateTo({ routeOptions })传入路由参数3.4.0
wx.navigateTo({ withOpenContainer })容器转场跳转3.12.2
wx.onBeforeAppRoute(fn)路由执行前监听3.5.5
wx.onAppRoute(fn)路由执行后监听3.5.5

自定义路由最小示例

// 注册:从右滑入
wx.router.addRouteBuilder('slide', ({ primaryAnimation }) => {
  const { windowWidth } = wx.getWindowInfo()
  const handlePrimaryAnimation = () => {
    'worklet'
    const transX = windowWidth * (1 - primaryAnimation.value)
    return { transform: `translateX(${transX}px)` }
  }
  return { handlePrimaryAnimation }
})

// 跳转
wx.navigateTo({ url: 'pageB', routeType: 'slide' })

场景决策表

场景推荐方案
底部弹出半屏预设路由 wx://bottom-sheet
iOS 风格模态预设路由 wx://cupertino-modal
自定义半屏 + 手势自定义路由 + handlePrimaryAnimation
卡片展开到详情页<open-container> 容器转场
页面渐显效果自定义路由 + opacity 动画
需要纵向返回手势popGestureDirection: 'vertical'

相关技能

场景推荐技能说明
动画开发skyline-workletWorklet 动画系统(timing/spring/Easing)
手势处理skyline-componentsgesture-handler 手势组件
共享元素skyline-componentsshare-element 页面间动画
配置详解skyline-configapp.json/page.json 配置
概览迁移skyline-overviewSkyline 概览与迁移指南

References 目录结构

references/
├── api/
│   ├── navigate-to.md
│   ├── route-events.md
│   └── router-api.md
├── custom-route/
│   ├── custom-route-guide.md
│   └── route-patterns.md
├── open-container/
│   └── open-container.md
├── pop-gesture/
│   └── pop-gesture.md
└── preset-route/
    └── preset-route.md

Related skills

How it compares

Pick skyline-route for Skyline-specific custom routing; use standard mini program navigation docs for non-Skyline WebView pages.

FAQ

What transition types does skyline-route support?

skyline-route supports 7 preset wx:// route types, fully custom routeBuilder animations, and open-container element transitions for card-to-detail effects. The wechat-miniprogram/skyline-skills skill also documents Router API and configurable back gestures.

When should skyline-route be used?

skyline-route should be used when building WeChat Mini Programs on the Skyline renderer that need custom page transitions, half-screen modals, bottom sheets, or gesture-driven returns instead of default navigation.

Frontend Developmentfrontendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.