{"id":"ef1a7814-4560-4137-9f50-a82440c1d40e","shortId":"x8ZGGp","kind":"skill","title":"Generate stable URL slugs from multilingual titles before publishing pages, docs, or filenames","tagline":"Use python-slugify when an agent has messy human titles and needs safe, repeatable slugs for URLs, filenames, or record IDs. This skill stays tightly focused on transliteration and normalization, not routing, redirects, or full publishing workflows.","description":"# Generate stable URL slugs from multilingual titles before publishing pages, docs, or filenames\n\nUse python-slugify when an agent has messy human titles and needs safe, repeatable slugs for URLs, filenames, or record IDs. This skill stays tightly focused on transliteration and normalization, not routing, redirects, or full publishing workflows.\n\n## Prerequisites\n\nPython, pip\n\n## Installation\n\nUse the upstream install or setup path that matches your environment:\n- pip install python-slugify\n- pip install python-slugify[unidecode]\n- Make a slug from the given text.\n\nRequirements and caveats from upstream:\n- # Python Slugify\n- **A Python slugify application that handles unicode**.\n- However, there is an alternative decoding package called [Unidecode](https://github.com/avian2/unidecode) _(GPL)_. It can be installed as python-slugify[unidecode] for those who prefer it. Unidecode is believed to be...\n\nBasic usage or getting-started notes:\n- To run the tests against the current environment:\n\n- Source: https://github.com/un33k/python-slugify\n- Extracted from upstream docs: https://raw.githubusercontent.com/un33k/python-slugify/HEAD/README.md\n\n## Documentation\n\n- https://github.com/un33k/python-slugify\n\n## Source\n\n- [Agent Skill Exchange](https://agentskillexchange.com/skills/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames/)","tags":["generate","stable","url","slugs","from","multilingual","titles","before","publishing","pages","docs","filenames"],"capabilities":["skill","source-agentskillexchange","skill-generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames","topic-agent-skills","topic-ai-agents","topic-ai-tools","topic-awesome-list","topic-claude-code","topic-codex","topic-cursor","topic-llm","topic-mcp","topic-npx-skills","topic-openclaw","topic-skills-catalog"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/agentskillexchange/skills/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add agentskillexchange/skills","source_repo":"https://github.com/agentskillexchange/skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (1,384 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:10:35.206Z","embedding":null,"createdAt":"2026-05-18T13:16:42.744Z","updatedAt":"2026-05-18T19:10:35.206Z","lastSeenAt":"2026-05-18T19:10:35.206Z","tsv":"'/avian2/unidecode)':161 '/skills/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames/)':218 '/un33k/python-slugify':200,211 '/un33k/python-slugify/head/readme.md':207 'agent':20,71,213 'agentskillexchange.com':217 'agentskillexchange.com/skills/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames/)':216 'altern':154 'applic':146 'basic':182 'believ':179 'call':157 'caveat':138 'current':195 'decod':155 'doc':11,62,204 'document':208 'environ':117,196 'exchang':215 'extract':201 'filenam':13,32,64,83 'focus':40,91 'full':49,100 'generat':1,52 'get':186 'getting-start':185 'github.com':160,199,210 'github.com/avian2/unidecode)':159 'github.com/un33k/python-slugify':198,209 'given':134 'gpl':162 'handl':148 'howev':150 'human':23,74 'id':35,86 'instal':106,110,119,124,166 'make':129 'match':115 'messi':22,73 'multilingu':6,57 'need':26,77 'normal':44,95 'note':188 'packag':156 'page':10,61 'path':113 'pip':105,118,123 'prefer':175 'prerequisit':103 'publish':9,50,60,101 'python':16,67,104,121,126,141,144,169 'python-slugifi':15,66,120,125,168 'raw.githubusercontent.com':206 'raw.githubusercontent.com/un33k/python-slugify/head/readme.md':205 'record':34,85 'redirect':47,98 'repeat':28,79 'requir':136 'rout':46,97 'run':190 'safe':27,78 'setup':112 'skill':37,88,214 'skill-generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames' 'slug':4,29,55,80,131 'slugifi':17,68,122,127,142,145,170 'sourc':197,212 'source-agentskillexchange' 'stabl':2,53 'start':187 'stay':38,89 'test':192 'text':135 'tight':39,90 'titl':7,24,58,75 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-tools' 'topic-awesome-list' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-llm' 'topic-mcp' 'topic-npx-skills' 'topic-openclaw' 'topic-skills-catalog' 'transliter':42,93 'unicod':149 'unidecod':128,158,171,177 'upstream':109,140,203 'url':3,31,54,82 'usag':183 'use':14,65,107 'workflow':51,102","prices":[{"id":"d895e40b-4ec4-4051-a773-5e37057f055c","listingId":"ef1a7814-4560-4137-9f50-a82440c1d40e","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"agentskillexchange","category":"skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:16:42.744Z"}],"sources":[{"listingId":"ef1a7814-4560-4137-9f50-a82440c1d40e","source":"github","sourceId":"agentskillexchange/skills/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames","sourceUrl":"https://github.com/agentskillexchange/skills/tree/main/skills/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames","isPrimary":false,"firstSeenAt":"2026-05-18T13:16:42.744Z","lastSeenAt":"2026-05-18T19:10:35.206Z"}],"details":{"listingId":"ef1a7814-4560-4137-9f50-a82440c1d40e","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"agentskillexchange","slug":"generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames","github":{"repo":"agentskillexchange/skills","stars":8,"topics":["agent-skills","ai-agents","ai-tools","awesome-list","claude-code","codex","cursor","llm","mcp","npx-skills","openclaw","skills-catalog"],"license":"mit","html_url":"https://github.com/agentskillexchange/skills","pushed_at":"2026-05-18T19:02:17Z","description":"The open catalog of AI agent skills — 2,000+ security-scanned skills for Claude Code, Cursor, Codex, and more.","skill_md_sha":"36a7b722ba0176cfd80ba6a272a4bd2d655883db","skill_md_path":"skills/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/agentskillexchange/skills/tree/main/skills/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"Generate stable URL slugs from multilingual titles before publishing pages, docs, or filenames","description":"Use python-slugify when an agent has messy human titles and needs safe, repeatable slugs for URLs, filenames, or record IDs. This skill stays tightly focused on transliteration and normalization, not routing, redirects, or full publishing workflows."},"skills_sh_url":"https://skills.sh/agentskillexchange/skills/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames"},"updatedAt":"2026-05-18T19:10:35.206Z"}}