Skip to main content

upstream-evaluation

Evaluate upstream changes using Navigator's design frameworks to decide what to adopt, skip, or adapt

소스 정보

저장소
outfitter-dev/navigator-legacy
최근 소스 활동
2026년 1월 22일 15:26
감지된 SKILL.md 언어
영어
스타
2
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
upstream-evaluation
description
Evaluate upstream changes using Navigator's design frameworks to decide what to adopt, skip, or adapt
triggers
["evaluate upstream","assess changes","integration decisions","what should we adopt"]
archetype
analysis
user_invocable
false
# Upstream Evaluation Skill Systematic evaluation of upstream changes using Navigator's design frameworks. This skill focuses purely on **decision-making** — what to adopt, skip, or adapt — not execution. ## Primary Reference **Read first:** [docs/architecture/DESIGN.md](../../../docs/architecture/DESIGN.md) This document defines Navigator's: - Layer model (user surface vs. internals) - Decision frameworks (A-E) - Naming conventions - Consolidation patterns - Historical decisions as precedent ## Evaluation Process ### Step 1: Categorize Each Change For each upstream change, determine its type: | Type | Examples | Primary Framework | |------|----------|-------------------| | New feature/action | `styles`, `recording_start` | Framework A | | Renamed API | `snapshot` → `capture` | Framework B | | Upstream adopts our concept | They add element refs | Framework C | | Multiple related actions | `getByText`, `getByRole`, etc. | Framework D | | Bug fix, security patch | Any fix commit | Framework E (always adopt) | | Branding/vendor-specific | Marketplace plugins | Framework E (always skip) | ### Step 2: Apply Decision Framework #### Framework A: New Upstream Feature ``` Does it benefit agents? ├─ NO → Skip or defer └─ YES → Does Navigator have existing concept? ├─ YES → Extend existing (don't duplicate) └─ NO → Add new action └─ Is upstream naming agent-friendly? ├─ YES → Adopt (camelCase conversion) └─ NO → Create Navigator name ``` **Output format:** ```markdown ### [feature-name] - **Decision**: Adopt / Skip / Defer / Extend existing - **Navigator name**: `camelCaseName` (if adopting) - **Category**: Navigation / Interaction / Capture / etc. - **Rationale**: Why this decision ``` #### Framework B: Upstream Renames Something ``` Which layer affected? ├─ INTERNAL → Align with upstream (no user impact) └─ USER SURFACE → Is new name objectively better? ├─ NO → Keep Navigator name (stability wins) └─ YES → Migration with deprecation ``` **Output format:** ```markdown ### [renamed-thing] - **Decision**: Align internally / Keep Navigator name / Migrate with deprecation - **Layer affected**: Internal / User surface - **Rationale**: Why this decision ``` #### Framework C: Upstream Catches Up ``` Upstream adopts our concept └─ Is naming identical? ├─ YES → Simplify executor (remove translation) └─ NO → Keep Navigator name, simplify mapping ``` #### Framework D: Consolidate vs. Mirror ``` Multiple upstream actions with related purpose └─ Are they cognitively distinct for agents? ├─ YES → Mirror as separate actions └─ NO → Consolidate with parameters ``` #### Framework E: Quick Classification | Classification | Action | Examples | |----------------|--------|----------| | Bug fix | Always adopt | Crash fixes, edge cases | | Security patch | Always adopt immediately | Auth fixes, XSS prevention | | Performance | Usually adopt | Unless invasive | | Branding | Always skip | Vendor plugins, marketplace | | Dev tooling | Evaluate | May not benefit agents | ### Step 3: Check Naming Conventions For each adopted feature, verify naming follows conventions: | Layer | Convention | Check | |-------|------------|-------| | MCP action | camelCase | `recordingStart` not `recording_start` | | CLI command | verb-noun | `nav recording start` | | Parameters | camelCase | `colorScheme` not `color_scheme` | **Reordering rule:** Verb should come first for CLI-friendly naming. - `tab_new` → `newTab` (verb-noun in camelCase) - `recording_start` → `recordingStart` (verb already first) ### Step 4: Identify Schema Changes For each adopted feature, specify: ```markdown ### Schema Changes Required #### [action-name] **File**: `packages/core/src/schema/index.ts` **Type**: New action / Extend existing / Modify parameters ```typescript // Proposed schema export const actionNameSchema = baseActionSchema.extend({ action: z.literal('actionName'), // parameters... }) ``` **Executor mapping**: `actionName` → upstream `action_name` ``` ### Step 5: Document Decisions Compile all decisions into a structured format: ```markdown ## Evaluation Summary ### Adopt | Feature | Navigator Name | Category | Schema Change | |---------|---------------|----------|---------------| | styles | `styles` | Capture | New action | | recording_* | `recordingStart/Stop/Restart` | Capture | 3 new actions | ### Skip | Feature | Reason | |---------|--------| | marketplace plugin | Branding-specific (Framework E) | ### Defer | Feature | Reason | Revisit When | |---------|--------|--------------| | feature-x | Unclear agent benefit | When use case emerges | ### Extend Existing | Feature | Existing Action | Change | |---------|-----------------|--------| | tab_new url param | `newTab` | Add optional `url` parameter | ``` ## Evaluation Checklist Before completing evaluation: - [ ] Every change categorized (new/rename/catchup/multiple/fix/branding) - [ ] Appropriate framework applied to each - [ ] Naming conventions verified for all adoptions - [ ] Schema changes specified with code snippets - [ ] Decisions documented with rationale - [ ] Historical precedents checked in DESIGN.md ## Invocation This skill is loaded by the `/agent-browser:integrate-changes` command. ## Handoff After evaluation completes, hand off to: - **Documentation**: `/agent-browser:issue` to create tracking issue - **Execution**: `/agent-browser:update` for merge/sync steps - **Implementation**: `senior-dev` agent for schema changes The evaluation output becomes the "what and why" — other commands handle "how."
GitHub에서 보기