Agent skill

Sync URL Navigation

by swyxio in swyxio/skills

Syncs URL query parameters with app navigation, tabs, and filter state so views are bookmarkable and shareable.

MITAuto-check passedMobile

Install Sync URL Navigation

skills CLI
$ npx skills add swyxio/skills --skill sync-url-navigation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install swyxio/skills sync-url-navigation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/swyxio/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sync-url-navigation .claude/skills/sync-url-navigation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sync-url-navigation
GitHub stars
175
Token cost
~963 tokens
SKILL.md length
457 words
Files
1
Skills in repo
89
Repo updated
First seen
Licence
MIT

At a glance

Syncs URL query parameters with app navigation, tabs, and filter state so views are bookmarkable and shareable.

  • Works in 8 steps: Single routing module —… → Initialize store from URL on load —… → Setter functions — e.g. setDataTableId,… → …
  • Changing frontend routing
  • SKILL.md covers User preference, What to put in the URL, Implementation pattern and Param naming (conventions), plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Sync URL Navigation is an agent skill from swyxio/skills. Syncs URL query parameters with app navigation, tabs, and filter state so views are bookmarkable and shareable. Use when building or changing frontend routing, filters, tabs, modals, deep links, browser back/forward, or when the user asks to remember navigation in the URL, sync state to query params, or make screens linkable.

Its SKILL.md is about 960 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile. The repository describes itself as: Agent skills for Claude Code and other AI agents. The licence is MIT.

When your agent uses it

  • Changing frontend routing
  • Browser back/forward
  • The user asks to remember navigation in the URL
  • Sync state to query params

Example prompts

  • “Use the sync-url-navigation skill to sync URL query parameters with app navigation, tabs, and filter state so views are bookmarkable and shareable”
  • “/sync-url-navigation”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Single routing module — readRouteState(search) + writeRouteState(state) (or equivalent). Parse and validate all params in one place.
  2. Initialize store from URL on load — signals get initial values from readRouteState(), not hardcoded defaults alone.
  3. Setter functions — e.g. setDataTableId, setListFilter: update signal(s), then call writeRouteState. UI never mutates filters without…
  4. history.replaceState for in-app changes (matches existing preference: shareable URL without cluttering history on every keystroke). Use…
  5. popstate listener — hydrateRouteFromUrl() re-reads params on browser back/forward.
  6. View-scoped params — when switching top-level view, drop params that only apply to the other view (avoid stale q meaning different things).
  7. Inbound deep links — support stable aliases (focus=assignment:asn_…) that map to table + filter; clear alias once the user changes nav…
  8. Tests — pure tests for parse/read (invalid ids, focus format, view-specific q).

What it can do on your machine

Read from SKILL.md and the folder at commit 038ef34. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sync URL Navigation loads about 963 tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 457 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~87
When it runs · the whole SKILL.md, loaded when a task matches
~963

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from swyxio/skills at commit 038ef34, republished under its MIT licence (© swyxio). 457 words, ~963 tokens.

Download SKILL.mdSave it as .claude/skills/sync-url-navigation/SKILL.md (or your agent's skills folder).
name
sync-url-navigation
description
Syncs URL query parameters with app navigation, tabs, and filter state so views are bookmarkable and shareable. Use when building or changing frontend routing, filters, tabs, modals, deep links, browser back/forward, or when the user asks to remember navigation in the URL, sync state to query params, or make screens linkable.

Sync URL to navigation and filter state

User preference

Always keep meaningful UI navigation and filtering state in the URL (query params). Reloading, sharing, or opening a link should restore the same screen—not only the top-level route.

The user expects this by default on web apps unless they say otherwise.

What to put in the URL

StateInclude when
Active view / tab / modeUser can switch between distinct screens
Sub-navigation (sidebar table, nested tab)Second-level nav exists
Search / filter textUser can filter lists or tables
Structured filters (dropdowns)Each materially changes what's shown
Pagination cursor (optional)Only if bookmarking a page matters; prefer omitting page=1
Selection / editor (optional)Only for shareable deep links (?focus=type:id)

Omit defaults from the URL (e.g. default tab id, empty q) to keep links clean.

Implementation pattern

  1. Single routing module — readRouteState(search) + writeRouteState(state) (or equivalent). Parse and validate all params in one place.
  2. Initialize store from URL on load — signals get initial values from readRouteState(), not hardcoded defaults alone.
  3. Setter functions — e.g. setDataTableId, setListFilter: update signal(s), then call writeRouteState. UI never mutates filters without syncing the URL.
  4. history.replaceState for in-app changes (matches existing preference: shareable URL without cluttering history on every keystroke). Use pushState only if the user explicitly wants full history stacks per filter change.
  5. popstate listener — hydrateRouteFromUrl() re-reads params on browser back/forward.
  6. View-scoped params — when switching top-level view, drop params that only apply to the other view (avoid stale q meaning different things).
  7. Inbound deep links — support stable aliases (focus=assignment:asn_…) that map to table + filter; clear alias once the user changes nav manually.
  8. Tests — pure tests for parse/read (invalid ids, focus format, view-specific q).
Show full SKILL.md (179 more words)Show less

Param naming (conventions)

  • Short, stable names: view, day, table, q, area, status
  • Avoid overloading one key across views with different semantics unless documented
  • Prefer ordinal in URL when UI shows "Day 1" (day=3); accept raw ids for forward-compat
  • Document params in a short table in the PR or README when adding a new screen

Checklist for new screens

  • Every navigational control updates the URL via a setter
  • Load path restores state from URL
  • Invalid param values fall back safely (don't crash)
  • Back/forward works (popstate)
  • Example URL documented or covered by a test

Reference implementation

The AI Engineer World's Fair 2026 schedule admin app implements this in:

  • src/frontend/routing.ts — parse/write query params
  • src/frontend/store.ts — setViewMode, setDataTableId, setDataFilter, setListFilter, hydrateRouteFromUrl
  • tests/routing.test.ts — focus links and view-specific filters

Copy the pattern, not necessarily the exact param names, when working in other repos.

Anti-patterns

  • Filters only in component useState / signals with no URL sync
  • Syncing URL on initial load but not when user changes filters
  • Putting secrets or PII in query params
  • Different param names per view for the same concept without clearing on view switch

© swyxio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in sync-url-navigation of swyxio/skills.

Open the folder on GitHubat commit 038ef34

Compare with similar skills

Sync URL Navigation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sync URL Navigation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sync URL Navigation this skillswyxio/skills175—~963Automated safety check: PassMIT
React Native Best Practicesvercel-labs/openreview1.7k17 repos~1.1kAutomated safety check: PassMIT
Swiftui Protwostraws/SwiftUI-Agent-Skill5.1k2 repos~1.5kAutomated safety check: PassMIT
Kortix Brandkortix-ai/suna20k—~4kAutomated safety check: PassCustom licence
Ip As LogoKartikLabhshetwar/better-shot2.4k1 repos~4.3kAutomated safety check: PassMIT
Compose Multiplatform Patternsmonta-app/ocpp-emulator1805 repos~2kAutomated safety check: PassApache-2.0

Similar skills

  • React Native Best Practices

    vercel-labs/openreview

    Official

    A prioritized rule set for React Native and Expo apps covering list performance, animation, navigation, UI patterns, state, rendering, monorepos and configuration.

    1.7k GitHub starsUsed in 17 repos~1.1k tokens
    MobileAuto-check passed
  • Swiftui Pro

    twostraws/SwiftUI-Agent-Skill

    Comprehensively reviews SwiftUI code for best practices on modern APIs, maintainability, and performance.

    5.1k GitHub starsUsed in 2 repos~1.5k tokens
    MobileAuto-check passed
  • Kortix Brand

    kortix-ai/suna

    Load FIRST for anything that carries the Kortix look or voice: product or mobile UI, copy of any kind, decks, social, images, email, CLI output, anything with the logo, and reviews of these.

    20k GitHub stars~4k tokensUpdated today
    MobileAuto-check passed
  • Ip As Logo

    KartikLabhshetwar/better-shot

    Generate extremely simple, cute, personified square character images with rounded heavy forms, two purposeful character colors, one solid background color, and a dominant lower-corner composition.

    2.4k GitHub starsUsed in 1 repo~4.3k tokens
    MobileAuto-check passed
  • Compose Multiplatform Patterns

    monta-app/ocpp-emulator

    Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.

    180 GitHub starsUsed in 5 repos~2k tokens
    MobileAuto-check passed
  • Aso Appstore Screenshots

    adamlyttleapps/claude-skill-aso-appstore-screenshots

    Generate high-converting App Store screenshots by analyzing your app's codebase, discovering core benefits, and creating ASO-optimized screenshot images using Nano Banana Pro.

    1.8k GitHub starsUsed in 1 repo~9.6k tokens
    MobileAuto-check passed

More from swyxio/skills

All 89 skills in this repo
  • Programmatic Agents

    swyxio/skills

    Run a selected coding-agent CLI programmatically, with latency, error, usage, cost, and trace logging.

    175 GitHub stars~2.2k tokensUpdated 3 days ago
    Auto-check passed
  • Design, implement, audit, or refresh protected username and handle namespaces for public products.

    175 GitHub stars~1.1k tokensUpdated 3 days ago
    Auto-check passed
  • New Mac Setup

    swyxio/skills

    Fully automated new Mac setup for fullstack web developers and AI engineers.

    175 GitHub stars~4.3k tokensUpdated 3 days ago
    Auto-check passed
  • Youtube API

    swyxio/skills

    Manage YouTube videos programmatically via the YouTube Data API v3 — upload video files, upload custom thumbnails, update video metadata (titles, descriptions, tags), and query video/channel info…

    175 GitHub stars~2.2k tokensUpdated 3 days ago
    Auto-check passed
  • Batch YouTube Studio upload workflow for videos sourced from Airtable, Google Drive, Loom, YouTube, or local files.

    175 GitHub stars~1.5k tokensUpdated 3 days ago
    Auto-check: warnings
  • Reconstruct and visually analyze paired agent, game, or policy trajectories to determine whether changed actions produced their intended effects.

    175 GitHub stars~1.8k tokensUpdated 3 days ago
    Auto-check passed

Categories

Questions about Sync URL Navigation

What does Sync URL Navigation do?

Syncs URL query parameters with app navigation, tabs, and filter state so views are bookmarkable and shareable. Sync URL Navigation is an agent skill from swyxio/skills. Syncs URL query parameters with app navigation, tabs, and filter state so views are bookmarkable and shareable.

When should I use Sync URL Navigation?

Sync URL Navigation fits situations like: changing frontend routing; browser back/forward; the user asks to remember navigation in the URL; sync state to query params.

How do I install Sync URL Navigation in Claude Code?

Run `npx skills add swyxio/skills --skill sync-url-navigation -a claude-code`. Or copy the skill folder (sync-url-navigation in swyxio/skills) into .claude/skills/sync-url-navigation in your project. Claude Code loads it when a task matches its description.

How do I install Sync URL Navigation in Codex?

Run `npx skills add swyxio/skills --skill sync-url-navigation -a codex`. Or copy the skill folder (sync-url-navigation in swyxio/skills) into .agents/skills/sync-url-navigation in your project. Codex loads it when a task matches its description.

Can I use Sync URL Navigation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add swyxio/skills --skill sync-url-navigation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sync-url-navigation, .gemini/skills/sync-url-navigation, .github/skills/sync-url-navigation and .opencode/skills/sync-url-navigation in your project.

What does Sync URL Navigation need to run?

SKILL.md names no scripts, command-line tools or credentials: Sync URL Navigation is instructions for the agent only.

Does Sync URL Navigation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Sync URL Navigation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Sync URL Navigation use?

Sync URL Navigation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sync URL Navigation use?

About 963 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Sync URL Navigation?

Skills that share tags, products or a category with Sync URL Navigation: React Native Best Practices (vercel-labs/openreview, 1.7k stars), Swiftui Pro (twostraws/SwiftUI-Agent-Skill, 5.1k stars), Kortix Brand (kortix-ai/suna, 20k stars) and Ip As Logo (KartikLabhshetwar/better-shot, 2.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sync URL Navigation?

swyxio (a GitHub user) maintains it in swyxio/skills, which has 175 GitHub stars. The repository holds 89 skills in this directory. The repository was last updated on October 5, 2026.

Source: swyxio/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.