{"id":"ae043c01-2564-4318-86fd-ed8f2b66d6cc","shortId":"wVxCzL","kind":"skill","title":"Pair Jupyter notebooks with plain-text files so review and agent edits stay readable with Jupytext","tagline":"Keep notebooks synchronized with `.py` or `.md` representations so version control, review, and refactoring can happen outside bulky notebook JSON.","description":"# Pair Jupyter notebooks with plain-text files so review and agent edits stay readable with Jupytext\n\nKeep notebooks synchronized with `.py` or `.md` representations so version control, review, and refactoring can happen outside bulky notebook JSON.\n\n## Prerequisites\n\nPython, JupyterLab or Jupyter Notebook\n\n## Installation\n\nUse the upstream install or setup path that matches your environment:\n- pip install jupytext\n- conda install jupytext -c conda-forge\n\nRequirements and caveats from upstream:\n- [![Pypi](https://img.shields.io/pypi/v/jupytext.svg)](https://pypi.python.org/pypi/jupytext)\n- [![pyversions](https://img.shields.io/pypi/pyversions/jupytext.svg)](https://pypi.python.org/pypi/jupytext)\n- A Python notebook encoded in the py:percent [format](docs/formats-scripts.md#the-percent-format) has a .py extension and looks like this:\n\nBasic usage or getting-started notes:\n- or\n- Then, restart your JupyterLab server, and make sure Jupytext is activated in Jupyter: .py and .md files have a Notebook icon, and you can open them as Notebooks with a right click in JupyterLab.\n- ![Notebook icon on text notebooks](https://github.com/mwouts/jupytext/blob/64b4be818508760116f91bf156342cb4cf724d93/docs/images/jupyterlab_right_click.png?raw=true)\n\n- Source: https://github.com/mwouts/jupytext\n- Extracted from upstream docs: https://raw.githubusercontent.com/mwouts/jupytext/HEAD/README.md\n\n## Documentation\n\n- https://jupytext.readthedocs.io/\n\n## Source\n\n- [Agent Skill Exchange](https://agentskillexchange.com/skills/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext/)","tags":["pair","jupyter","notebooks","with","plain","text","files","review","and","agent","edits","stay"],"capabilities":["skill","source-agentskillexchange","skill-pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext","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/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext","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,625 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:11:40.089Z","embedding":null,"createdAt":"2026-05-18T13:18:15.640Z","updatedAt":"2026-05-18T19:11:40.089Z","lastSeenAt":"2026-05-18T19:11:40.089Z","tsv":"'/mwouts/jupytext':191 '/mwouts/jupytext/blob/64b4be818508760116f91bf156342cb4cf724d93/docs/images/jupyterlab_right_click.png?raw=true)':187 '/mwouts/jupytext/head/readme.md':198 '/pypi/pyversions/jupytext.svg)](https://pypi.python.org/pypi/jupytext)':115 '/pypi/v/jupytext.svg)](https://pypi.python.org/pypi/jupytext)':111 '/skills/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext/)':207 'activ':156 'agent':12,49,202 'agentskillexchange.com':206 'agentskillexchange.com/skills/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext/)':205 'basic':138 'bulki':35,72 'c':99 'caveat':105 'click':177 'conda':96,101 'conda-forg':100 'control':28,65 'doc':195 'docs/formats-scripts.md':125 'document':199 'edit':13,50 'encod':119 'environ':92 'exchang':204 'extens':133 'extract':192 'file':8,45,162 'forg':102 'format':124,129 'get':142 'getting-start':141 'github.com':186,190 'github.com/mwouts/jupytext':189 'github.com/mwouts/jupytext/blob/64b4be818508760116f91bf156342cb4cf724d93/docs/images/jupyterlab_right_click.png?raw=true)':185 'happen':33,70 'icon':166,181 'img.shields.io':110,114 'img.shields.io/pypi/pyversions/jupytext.svg)](https://pypi.python.org/pypi/jupytext)':113 'img.shields.io/pypi/v/jupytext.svg)](https://pypi.python.org/pypi/jupytext)':109 'instal':81,85,94,97 'json':37,74 'jupyt':2,39,79,158 'jupyterlab':77,149,179 'jupytext':17,54,95,98,154 'jupytext.readthedocs.io':200 'keep':18,55 'like':136 'look':135 'make':152 'match':90 'md':24,61,161 'note':144 'notebook':3,19,36,40,56,73,80,118,165,173,180,184 'open':170 'outsid':34,71 'pair':1,38 'path':88 'percent':123,128 'pip':93 'plain':6,43 'plain-text':5,42 'prerequisit':75 'py':22,59,122,132,159 'pypi':108 'python':76,117 'pyvers':112 'raw.githubusercontent.com':197 'raw.githubusercontent.com/mwouts/jupytext/head/readme.md':196 'readabl':15,52 'refactor':31,68 'represent':25,62 'requir':103 'restart':147 'review':10,29,47,66 'right':176 'server':150 'setup':87 'skill':203 'skill-pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext' 'sourc':188,201 'source-agentskillexchange' 'start':143 'stay':14,51 'sure':153 'synchron':20,57 'text':7,44,183 'the-percent-format':126 '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' 'upstream':84,107,194 'usag':139 'use':82 'version':27,64","prices":[{"id":"62b869aa-11e3-4f91-9922-f6bcb7773b9b","listingId":"ae043c01-2564-4318-86fd-ed8f2b66d6cc","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:18:15.640Z"}],"sources":[{"listingId":"ae043c01-2564-4318-86fd-ed8f2b66d6cc","source":"github","sourceId":"agentskillexchange/skills/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext","sourceUrl":"https://github.com/agentskillexchange/skills/tree/main/skills/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext","isPrimary":false,"firstSeenAt":"2026-05-18T13:18:15.640Z","lastSeenAt":"2026-05-18T19:11:40.089Z"}],"details":{"listingId":"ae043c01-2564-4318-86fd-ed8f2b66d6cc","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"agentskillexchange","slug":"pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext","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":"709adcf7a4682e496769ecc60b3420fc432d8781","skill_md_path":"skills/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/agentskillexchange/skills/tree/main/skills/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"Pair Jupyter notebooks with plain-text files so review and agent edits stay readable with Jupytext","description":"Keep notebooks synchronized with `.py` or `.md` representations so version control, review, and refactoring can happen outside bulky notebook JSON."},"skills_sh_url":"https://skills.sh/agentskillexchange/skills/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext"},"updatedAt":"2026-05-18T19:11:40.089Z"}}