add-route-context

为Flutter页面添加路由上下文记录功能,支持日期等参数的AI上下文识别。当需要让AI助手通过"询问当前上下文"功能获取页面状态(如日期、ID等参数)时使用。适用场景:(1) 日期驱动的页面(日记、活动、日历等),(2) ID驱动的页面(用户详情、订单详情等),(3) 任何需要AI理解当前页面参数的场景

181 stars

Best use case

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

为Flutter页面添加路由上下文记录功能,支持日期等参数的AI上下文识别。当需要让AI助手通过"询问当前上下文"功能获取页面状态(如日期、ID等参数)时使用。适用场景:(1) 日期驱动的页面(日记、活动、日历等),(2) ID驱动的页面(用户详情、订单详情等),(3) 任何需要AI理解当前页面参数的场景

Teams using add-route-context 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/add-route-context/SKILL.md --create-dirs "https://raw.githubusercontent.com/majiayu000/claude-skill-registry/main/skills/data/add-route-context/SKILL.md"

Manual Installation

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

How add-route-context Compares

Feature / Agentadd-route-contextStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

为Flutter页面添加路由上下文记录功能,支持日期等参数的AI上下文识别。当需要让AI助手通过"询问当前上下文"功能获取页面状态(如日期、ID等参数)时使用。适用场景:(1) 日期驱动的页面(日记、活动、日历等),(2) ID驱动的页面(用户详情、订单详情等),(3) 任何需要AI理解当前页面参数的场景

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.

SKILL.md Source

# Add Route Context

为Flutter页面添加路由上下文记录,使AI助手能理解用户当前查看的页面参数。

## Workflow

### 1. Analyze Target File

Read the target file and identify:

- State class name
- Parameter variable (e.g., `_selectedDate`, `_userId`)
- Parameter change method (e.g., `_onDateChanged`)
- Initialization method (e.g., `initState`, `_initializeService`)

### 2. Add RouteHistoryManager Import

```dart
import 'package:Memento/core/route/route_history_manager.dart';
```

### 3. Create Update Method

**For DateTime parameter:**

```dart
/// 更新路由上下文,使"询问当前上下文"功能能获取到当前日期
void _updateRouteContext(DateTime date) {
  final dateStr = '${date.year}-${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')}';
  RouteHistoryManager.updateCurrentContext(
    pageId: "/route_name",
    title: '页面标题 - $dateStr',
    params: {'date': dateStr},
  );
}
```

**For custom parameter:**

```dart
/// 更新路由上下文
void _updateRouteContext(String paramValue) {
  RouteHistoryManager.updateCurrentContext(
    pageId: "/route_name",
    title: '页面标题 - $paramValue',
    params: {'paramName': paramValue},
  );
}
```

### 4. Call in Initialization

Add call at end of initialization method:

```dart
Future<void> _initializeService() async {
  // ... existing code ...

  // 初始化时设置路由上下文
  _updateRouteContext(_initialParam);
}
```

### 5. Call on Parameter Change

Add call in parameter change handler:

```dart
void _onParamChanged(ParamType newParam) {
  if (newParam == _currentParam) return;

  setState(() {
    _currentParam = newParam;
  });
  // ... existing code ...

  // 更新路由上下文
  _updateRouteContext(newParam);
}
```

### 6. Update Route Parser

Add route template to `lib/core/action/built_in/ask_context_action/route_parser.dart`:

```dart
static const Map<String, String> _routeTemplates = {
  // ... existing routes ...

  // 插件名称
  '/route_name': '用户正在查看 {paramName} 的XXX',
};
```

**DateTime parameter example:**

```dart
'/activity_timeline': '用户正在查看 {date} 的活动时间轴',
```

**Custom parameter example:**

```dart
'/user_profile': '用户正在查看 {userId} 的用户资料',
```

## Detection Patterns

### DateTime Variables

Look for variables matching:
- Names: `_selectedDate`, `_currentDate`, `_focusedDay`, `date`
- Type: `DateTime`

Look for methods matching:
- Names: `_onDateChanged`, `_onDayChanged`, `_selectDate`
- Parameter type: `DateTime`

### Custom Parameters

Look for variables matching the `--param` argument name.

## Result

After execution:

**在页面加载时:**
- AI上下文:`用户正在查看 2025-12-22 的活动时间轴`

**在参数变化时:**
- AI上下文自动更新:`用户正在查看 2025-12-21 的活动时间轴`

## Notes

- Extract update logic to separate method to avoid duplication
- Use Chinese comments matching existing codebase style
- Format dates as `YYYY-MM-DD` for consistency
- Route parser uses `RegExp(r'\{(\w+)\}')` for placeholder replacement
- Verify with `flutter analyze` after changes

Related Skills

adding-a-new-app-route

181
from majiayu000/claude-skill-registry

Fully wires up a new route with required boilerplate, following this repo's conventions for subapps. Use when user wants to add a new route or app or subapp or page or screen.

add-openrouter-model

181
from majiayu000/claude-skill-registry

Fetch OpenRouter model details and provide guidance for adding models to acai-ts provider configuration.

add-api-route

181
from majiayu000/claude-skill-registry

Create Next.js API route with validation and error handling

add-api-route-whatifwedigdeeper-application-tracker

181
from majiayu000/claude-skill-registry

Create Next.js API route with validation and error handling

acc-check-bounded-contexts

181
from majiayu000/claude-skill-registry

Analyzes bounded context boundaries in DDD projects. Detects cross-context coupling, shared kernel violations, context mapping issues, and ubiquitous language inconsistencies. Generates context map diagrams and boundary recommendations.

ontopo

159
from majiayu000/claude-skill-registry

An AI agent skill to search for Israeli restaurants, check table availability, view menus, and retrieve booking links via the Ontopo platform, acting as an unofficial interface to its data.

General Utilities

vly-money

159
from majiayu000/claude-skill-registry

Generate crypto payment links for supported tokens and networks, manage access to X402 payment-protected content, and provide direct access to the vly.money wallet interface.

Fintech & CryptoClaude

grail-miner

159
from majiayu000/claude-skill-registry

This skill assists in setting up, managing, and optimizing Grail miners on Bittensor Subnet 81, handling tasks like environment configuration, R2 storage, model checkpoint management, and performance tuning.

DevOps & Infrastructure

thor-skills

159
from majiayu000/claude-skill-registry

An entry point and router for AI agents to manage various THOR-related cybersecurity tasks, including running scans, analyzing logs, troubleshooting, and maintenance.

SecurityClaude

chrome-debug

159
from majiayu000/claude-skill-registry

This skill empowers AI agents to debug web applications and inspect browser behavior using the Chrome DevTools Protocol (CDP), offering both collaborative (headful) and automated (headless) modes.

Coding & DevelopmentClaude

lets-go-rss

159
from majiayu000/claude-skill-registry

A lightweight, full-platform RSS subscription manager that aggregates content from YouTube, Vimeo, Behance, Twitter/X, and Chinese platforms like Bilibili, Weibo, and Douyin, featuring deduplication and AI smart classification.

Content & Documentation

whisper-transcribe

159
from majiayu000/claude-skill-registry

Transcribes audio and video files to text using OpenAI's Whisper CLI, enhanced with contextual grounding from local markdown files for improved accuracy.

Media Processing