"Work with Nilearn surface meshes, surface images,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill surface-workflows --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Surface Workflows?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-surface-workflows)More formats (shields.io, HTML) on the badges page.
---
name: surface-workflows
description: "Work with Nilearn surface meshes, surface images,
volume-to-surface projection, fsaverage helpers, and surface maskers while
routing plotting and raw image preparation to the right Nilearn skills."
disable-model-invocation: true
metadata:
disco-role: operating
license: BSD 3-Clause
---
# Surface Workflows
Use this sub-skill when a task involves Nilearn cortical surface objects,
mesh/data contracts, `SurfaceImage` construction, volume-to-surface projection,
fsaverage meshes, or surface-specific maskers.
## Route Here
- Build or validate surface meshes with `InMemoryMesh`, `FileMesh`, `PolyMesh`,
or `load_surf_mesh`.
- Build or validate surface data with `PolyData`, `load_surf_data`, or
`SurfaceImage`.
- Project NIfTI volume data to surface vertices with `vol_to_surf` or
`SurfaceImage.from_volume`.
- Load fsaverage meshes or fsaverage surface data with no-download awareness.
- Use `SurfaceMasker`, `SurfaceLabelsMasker`, or `SurfaceMapsMasker` enough to
prepare arrays for analysis pipelines.
## Route Elsewhere
- For figure engine choices, `plot_surf`, `view_surf`, report display, Plotly,
Matplotlib, or optional plotting dependencies, route to `../plotting-reporting/SKILL.md`.
- For raw NIfTI loading, resampling, confounds, signal cleaning, or volume image
preparation before projection, route to `../data-io-signal/SKILL.md`.
- For deeper shared masker, labels, maps, atlas, and region-extraction behavior,
route to `../maskers-regions/SKILL.md`; keep this sub-skill focused on
surface-specific mesh/data contracts.
## Quick Checklist
1. Confirm whether the task is left-only, right-only, or both hemispheres.
2. Keep mesh parts and data parts keyed identically as `left` and/or `right`.
3. Match each data part's first dimension to the corresponding mesh vertex
count before creating `SurfaceImage`.
4. Treat surface arrays as vertex-major: `(n_vertices,)` for a scalar map or
`(n_vertices, n_samples_or_regions)` for time series, labels, or maps.
5. Avoid dataset downloads unless the user explicitly requests them; prefer the
shipped `fsaverage5` helper for no-network examples.
6. Hand visualization choices off to plotting/reporting after producing a valid
`SurfaceImage` or surface array.
## References
- `references/api-reference.md` summarizes public constructors, helpers, and
object relationships.
- `references/data-formats.md` describes mesh, data, hemisphere, and file-format
contracts.
- `references/workflows.md` gives recipes for minimal meshes, projection,
fsaverage, surface maskers, and plotting handoff.
- `references/troubleshooting.md` maps common surface failures to likely fixes.
## Bundled Script
Run `python scripts/smoke_surface.py --help` for options or
`python scripts/smoke_surface.py` for a no-network sanity check that constructs
left/right in-memory meshes, builds a `SurfaceImage`, and verifies masker-style
array shapes.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!