') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Add/pixi tasks and Claude Skills for code profiling by LucaMarconato · Pull Request #1097 · scverse/spatialdata · GitHub
Skip to content

Add/pixi tasks and Claude Skills for code profiling - #1097

Merged
LucaMarconato merged 6 commits into
mainfrom
add/pixi-tasks
May 11, 2026
Merged

Add/pixi tasks and Claude Skills for code profiling#1097
LucaMarconato merged 6 commits into
mainfrom
add/pixi-tasks

Conversation

@LucaMarconato

Copy link
Copy Markdown
Member

Adding dev tooling via pixi tasks.

@codecov

codecovBot commented Mar 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.03%. Comparing base (9b79444) to head (6808624).
⚠️ Report is 21 commits behind head on main.

Additional details and impacted files
@@ Coverage Diff @@## main #1097 +/- ##
=======================================
Coverage 92.03% 92.03% =======================================
Files 51 51 Lines 7761 7761 =======================================
Hits 7143 7143 Misses 618 618 
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@LucaMarconato
LucaMarconato marked this pull request as ready for review May 11, 2026 10:49
@LucaMarconato

Copy link
Copy Markdown
MemberAuthor

Adding also Claude skills configuration. I don't expect skills to work out-of-the-box and in my experience it's easy to have them go out of sync with the rest of the codebase. For instance in a previous versions of the code speedscope was installed separately, while now it is being run with npx, while this change is not reflected in the py-spy skill.

Rather than overoptimizing, let's start from here and whoever is running the skills is encouraged to commit improvements. Worst case the skill will not be used, but interesting commands can be found by the agent (or human) within its recipe.

@LucaMarconato
LucaMarconato enabled auto-merge (squash) May 11, 2026 10:53
@LucaMarconato
LucaMarconato merged commit 5c241f9 into mainMay 11, 2026
9 checks passed
@LucaMarconato
LucaMarconato deleted the add/pixi-tasks branch May 11, 2026 10:55
@LucaMarconatoLucaMarconato changed the title [wip] Add/pixi tasksAdd/pixi tasks and Claude SkillsMay 11, 2026
@LucaMarconatoLucaMarconato changed the title Add/pixi tasks and Claude SkillsAdd/pixi tasks and Claude Skills for code profilingMay 11, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@LucaMarconato