Skip to content

Improve both skills based on Expensify App evaluation#1

Draft
leshniak wants to merge 3 commits intoreact-navigation:mainfrom
leshniak:eval/improve-skills-from-expensify-evaluation
Draft

Improve both skills based on Expensify App evaluation#1
leshniak wants to merge 3 commits intoreact-navigation:mainfrom
leshniak:eval/improve-skills-from-expensify-evaluation

Conversation

@leshniak
Copy link
Copy Markdown

migrate-to-static-config:

  • Add "Step 0: Check parent navigator" as gateway prerequisite
  • Add environment conflicts section to SKILL.md
  • Soften prerequisite hard gate on package updates
  • Make llms.txt instruction actionable with topic-to-page mapping
  • Add "keep dynamic takes precedence" priority rule
  • Add sync/async warning for lazyScreen vs React.lazy
  • Add custom router options in static config section
  • Add factory/wrapper-generator pattern with shared .with()
  • Add OPTIONS_PER_SCREEN merge pattern
  • Add dynamic initialParams from hooks subsection
  • Add custom screen prop types migration guidance
  • Add platform-specific option keys gotcha
  • Update description to "Use when..." format per agentskills.io spec

upgrade-react-navigation:

  • Expand SKILL.md from 13 lines to full skill with adaptation policy, scope rule, clarification guidelines, environment conflicts
  • Expand custom navigator section with NavigatorID before/after example
  • Add StackView verification fallback (inspect node_modules)
  • Confirm getComponent stability in 8.x
  • Add llms.txt contradiction warning
  • Add useNavigationBuilder generic count and 3rd argument notes
  • Add NavigationProp generic slots guidance
  • Add inactiveBehavior interaction with custom detach logic
  • Make llms.txt instruction actionable with topic-to-page mapping

Evaluated against 3 real Expensify App navigators (simple, moderate, complex). Scores improved from 2.0→3.5 (migrate) and 2.3→4.0 (upgrade).

leshniak and others added 3 commits April 13, 2026 15:20
migrate-to-static-config:
- Add "Step 0: Check parent navigator" as gateway prerequisite
- Add environment conflicts section to SKILL.md
- Soften prerequisite hard gate on package updates
- Make llms.txt instruction actionable with topic-to-page mapping
- Add "keep dynamic takes precedence" priority rule
- Add sync/async warning for lazyScreen vs React.lazy
- Add custom router options in static config section
- Add factory/wrapper-generator pattern with shared .with()
- Add OPTIONS_PER_SCREEN merge pattern
- Add dynamic initialParams from hooks subsection
- Add custom screen prop types migration guidance
- Add platform-specific option keys gotcha
- Update description to "Use when..." format per agentskills.io spec

upgrade-react-navigation:
- Expand SKILL.md from 13 lines to full skill with adaptation policy,
  scope rule, clarification guidelines, environment conflicts
- Expand custom navigator section with NavigatorID before/after example
- Add StackView verification fallback (inspect node_modules)
- Confirm getComponent stability in 8.x
- Add llms.txt contradiction warning
- Add useNavigationBuilder generic count and 3rd argument notes
- Add NavigationProp generic slots guidance
- Add inactiveBehavior interaction with custom detach logic
- Make llms.txt instruction actionable with topic-to-page mapping

Evaluated against 3 real Expensify App navigators (simple, moderate,
complex). Scores improved from 2.0→3.5 (migrate) and 2.3→4.0 (upgrade).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ic verification commands

- Add Safety Principle to both skills: when uncertain, leave code unchanged and explain risk
- Add Common Mistakes section (6 items per skill) with grep/npm detection commands
- Add Definition of Done section (7-9 verifiable checks per skill)
- Replace all vague "verify that X" phrases with concrete grep/cat/tsc commands
- Expand Step 0 with Check B for factory-generated navigators (10+ threshold)
- Add abstraction layer tracing guidance for custom navigator upgrades
- Add concrete inactiveBehavior + custom persistence resolution path
- Add wrapper preservation check to migration DoD
- All changes are project-agnostic (no Expensify-specific references)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The 13-item Review section in react-navigation-7.md duplicated the
Definition of Done in SKILL.md. Since both files load together during
migration, this burned ~70 tokens of redundant context per invocation.
Replaced with a pointer to SKILL.md DoD.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant