From automation
Performs in-depth codebase exploration at the start of a coding session. Builds comprehensive understanding of project structure, architecture, key components, and patterns. Use when starting a new session, when asked to understand or explore the codebase, when asked "what does this project do", when exploring unfamiliar code, or when the user asks about project structure or architecture.
npx claudepluginhub sun-lab-nbb/ataraxis --plugin automationThis skill uses the workspace's default tool permissions.
Performs thorough, structured codebase exploration to build deep understanding before coding work begins.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Performs thorough, structured codebase exploration to build deep understanding before coding work begins.
Covers:
Does not cover:
/python-style)/commit)/skill-design)You MUST follow these steps when this skill is invoked.
Quickly assess the project to select the appropriate exploration tier. Run a file count and directory listing to make this determination before proceeding.
| Tier | Indicators | Approach |
|---|---|---|
| Small | Single package, < 10 source files, no subpackages | Single-pass exploration |
| Medium | Multiple packages or 10-50 source files | Structured four-phase |
| Large | Monorepo, 50+ source files, multiple entry points, MCP server | Parallel subagent exploration |
Follow the approach for the determined tier.
Small projects: Execute all four exploration phases yourself in a single pass. Combine phases where appropriate to keep exploration concise.
Medium projects: Execute all four exploration phases sequentially, giving each phase focused
attention. Use the Task tool with subagent_type: Explore for any phase that requires reading
many files.
Large projects: Launch 2-3 Explore subagents in parallel using the Task tool with
subagent_type: Explore. Assign each subagent a different focus area:
Synthesize the subagent findings into a unified summary.
Present the structured summary following the output format below. Do NOT make code changes during exploration. Wait for user direction before proceeding.
Every exploration follows four phases regardless of project size. For small projects, phases may be combined. For large projects, phases may be distributed across parallel subagents.
Identify the project's entry points, boundaries, and configuration.
pyproject.toml for [project.scripts] and [project.entry-points] sections.pyproject.toml settings, environment variables, CLI argument
defaults, YAML/JSON/TOML config files, .env files, and dataclass-based configuration objects.__init__.py files.
Note which modules use __all__ to restrict exports.Trace execution paths from entry points through the codebase layers.
file:function references.Analyze the structural relationships between components.
Examine specifics that inform future modifications.
Present findings using the following structure. Include all sections for medium and large projects. For small projects, omit sections that do not apply.
## Project purpose
Provides a reimplemented suite2p library for neural imaging analysis with multi-day cell tracking
capabilities for the Sun Lab at Cornell University.
## Entry points and CLI commands
| Entry Point | Location | Description |
|-----------------|---------------------------|------------------------------------------|
| `sl-suite2p` | pyproject.toml scripts | Main CLI entry point |
| `run` | cli.py:run | Executes single-day processing pipeline |
| `run-multiday` | cli.py:run_multiday | Executes multi-day tracking pipeline |
| `mcp` | cli.py:mcp | Starts the MCP server |
## Key components
| Component | Location | Purpose |
|--------------------|--------------------------------|---------------------------------------------------|
| Pipeline | src/sl_suite2p/pipeline.py | Main single-day processing pipeline orchestration |
| Multi-day Tracking | src/sl_suite2p/multiday/ | Cross-session cell tracking and alignment |
| Registration | src/sl_suite2p/registration/ | Image registration and motion correction |
| Detection | src/sl_suite2p/detection/ | Cell detection algorithms |
| Configuration | src/sl_suite2p/configuration/ | Pipeline configuration management |
| MCP Server | src/sl_suite2p/mcp/ | AI agent integration via MCP |
## Call chain summary
`sl-suite2p run` → `cli.py:run` → `pipeline.py:run_pipeline` → `registration/register.py:register`
→ `detection/detect.py:detect_cells` → `extraction/extract.py:extract_signals`
→ `classification/classify.py:classify_cells` → writes output to `suite2p/` directory.
## Import dependency map
Central components (imported by 5+ modules):
- `configuration/pipeline_config.py` — imported by pipeline, registration, detection, extraction
- `utils/io.py` — imported by all processing modules
- `types.py` — imported by all modules for shared type definitions
Dependency direction: cli → pipeline → processing modules → utils/io + configuration.
## Public API surface
Exported from `__init__.py` via `__all__`:
- `run_pipeline(config: PipelineConfig) -> PipelineResult`
- `PipelineConfig` (dataclass)
- `PipelineResult` (dataclass)
## Configuration
| Mechanism | Location | Purpose |
|-----------------|---------------------------------|--------------------------------------|
| `PipelineConfig`| configuration/pipeline_config.py| Dataclass with all pipeline settings |
| CLI arguments | cli.py | Override config values at runtime |
| YAML config | User-provided path | Full pipeline configuration file |
## Test coverage
| Source Module | Test File | Coverage |
|------------------------------|------------------------------------|----------|
| pipeline.py | tests/test_pipeline.py | Yes |
| registration/register.py | tests/test_registration.py | Yes |
| detection/detect.py | tests/test_detection.py | Yes |
| mcp/server.py | (none) | Gap |
## Notable patterns
- Numba-accelerated computation for image processing
- Configuration dataclasses with validation
- MyPy strict mode with full type annotations
- Processing modules follow a consistent register → detect → extract → classify pipeline
## Areas of concern
- `mcp/server.py` lacks test coverage
- Large refactoring effort from original suite2p codebase still in progress
- Multi-day tracking module has high cyclomatic complexity
- Several `# type: ignore` suppressions in registration module
| Skill | Relationship |
|---|---|
/explore-dependencies | Explores ataraxis dependency APIs; invoke alongside this skill |
/python-style | Provides Python coding conventions discovered during exploration |
/cpp-style | Provides C++ coding conventions discovered during exploration |
/csharp-style | Provides C# coding conventions discovered during exploration |
/readme-style | Provides README conventions when exploration reveals README issues |
/commit | Should be invoked after completing code changes informed by context |
/skill-design | Provides skill conventions when exploration reveals skill files |
Invoke at session start to ensure full context before making changes. Prevents blind modifications
and ensures understanding of existing patterns. When the project has ataraxis or Sun Lab
dependencies (check pyproject.toml), also invoke /explore-dependencies to build a live API
snapshot of each dependency.
Do NOT make code changes during exploration. Present findings and wait for user direction.
You MUST verify the exploration output against this checklist before presenting it to the user.
Exploration Output Compliance:
- [ ] Project purpose summarized (1-2 sentences)
- [ ] Entry points identified with locations (pyproject.toml scripts, CLI commands)
- [ ] Key components identified with locations and purposes
- [ ] Call chains traced from entry points through core logic (file:function references)
- [ ] Import dependencies mapped with central components highlighted
- [ ] Public API surface enumerated (exported classes, functions, constants)
- [ ] Configuration mechanisms documented (pyproject.toml, env vars, config files, dataclasses)
- [ ] Test files mapped to source modules with coverage gaps noted
- [ ] Design patterns and cross-cutting concerns documented
- [ ] Areas of concern noted (technical debt, complexity, missing coverage)
- [ ] Output uses structured format (headings, tables, lists)
- [ ] No code modifications were made during exploration
- [ ] Exploration depth matches project size tier (small/medium/large)