From automation
Explores installed ataraxis and Sun Lab dependency source code to build a live API snapshot. Discovers public classes, functions, and constants exported by each dependency, identifies replacement opportunities where project code reimplements existing library functionality, and produces a structured dependency API snapshot. Use when starting a session on a project with ataraxis dependencies, before writing code that uses ataraxis library features, or when the user asks about available library APIs.
npx claudepluginhub sun-lab-nbb/ataraxis --plugin automationThis skill uses the workspace's default tool permissions.
Explores installed ataraxis and Sun Lab library source code to build a live API snapshot for the
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`.
Explores installed ataraxis and Sun Lab library source code to build a live API snapshot for the current project.
You MUST run this skill before writing code that uses ataraxis library features. Static reference tables go stale; reading the actual installed source is the only reliable way to know what APIs are available and how they work.
Covers:
pyproject.toml__init__.py and __all__ exports to enumerate public API surfacesDoes not cover:
/pyproject-style)/python-style)/explore-codebase)You MUST follow these steps when this skill is invoked.
Read library-catalog.md to understand the ataraxis library ecosystem, domain-to-library mappings, and import names.
Read the project's pyproject.toml and extract all ataraxis and Sun Lab dependencies from
[project.dependencies] and [project.optional-dependencies]. Match package names that start
with ataraxis- or sl-.
If pyproject.toml is not found, check for setup.cfg, setup.py, or requirements.txt as
fallbacks.
Record each dependency with its package name and corresponding import name (replace hyphens with underscores).
For each identified dependency, resolve the installed package location:
python -c "import <import_name>; print(<import_name>.__file__)"
This returns the path to the package's __init__.py. The parent directory contains all source
modules.
If a package is not installed, note it as unavailable and skip to the next dependency.
For each installed dependency:
__init__.py file__all__ list to identify all public exportsFor each public class and function discovered in Step 4:
__init__.py)__init__ signature: Constructor parameters@classmethod or @staticmethod methodsFocus on signatures and summaries. Do not read full method bodies unless needed to understand behavior.
Scan the project's source code for patterns that duplicate functionality provided by the discovered dependency APIs:
| Pattern in project code | Likely replacement |
|---|---|
print() or click.echo() for output | console.echo() (with raw=True if needed) |
raise for error reporting | console.error() |
isinstance chains to normalize to list | ensure_list() |
| Manual slicing loops for batching | chunk_iterable() |
os.cpu_count() arithmetic | resolve_worker_count() |
time.sleep() or time.time() patterns | PrecisionTimer methods |
datetime.now().strftime() calls | get_timestamp() |
Manual yaml.dump()/yaml.load() calls | YamlConfig subclass |
multiprocessing.Array or Value usage | SharedMemoryArray |
| Direct file writes in acquisition loops | DataLogger + LogPackage |
os.makedirs() or Path.mkdir() patterns | ensure_directory_exists() |
Report each replacement opportunity with the file location and the suggested library alternative.
Present the results using the output format below. This snapshot gives the agent (and user) a complete picture of what the project's ataraxis dependencies provide.
Organize the snapshot by library, with sections for each dependency.
## <library-name> (v<version>)
**Import:** `from <import_name> import ...`
**Source:** `<installed_path>`
### Classes
| Class | Summary | Key methods |
|-------------|-------------------|--------------------------------|
| `ClassName` | Docstring summary | `method_one()`, `method_two()` |
### Functions
| Function | Signature | Summary |
|-----------------|-------------------------------------|-------------------|
| `function_name` | `(param: type, ...) -> return_type` | Docstring summary |
### Constants and enums
| Name | Type | Summary |
|-----------------|--------|--------------------------------------|
| `CONSTANT_NAME` | `type` | Description |
| `EnumName` | `enum` | Members: `MEMBER_A`, `MEMBER_B`, ... |
After all per-library sections, include a summary of replacement opportunities:
## Replacement opportunities
| File | Current pattern | Suggested replacement |
|--------------------|-------------------|-----------------------------------------|
| `src/module.py:42` | `print(table)` | `console.echo(message=table, raw=True)` |
| `src/utils.py:15` | `time.sleep(0.1)` | `PrecisionTimer.delay()` |
If no replacement opportunities are found, state: "No replacement opportunities identified."
For dependencies with many exports (15+ public names), use the Task tool with
subagent_type: Explore to parallelize the API reading. Assign one subagent per large library
to read source files concurrently.
For small dependencies (fewer than 15 exports), read the APIs directly without subagents.
| Skill | Relationship |
|---|---|
/python-style | Requires this skill before writing code that uses ataraxis features |
/pyproject-style | Manages dependency versions and additions; defer dependency changes |
/explore-codebase | Explores project structure; complements dependency exploration |
/commit | Invoke after completing code changes informed by the API snapshot |
This skill should be invoked at session start alongside /explore-codebase when the project has
ataraxis or Sun Lab dependencies. The /python-style skill explicitly requires this skill before
writing code that touches ataraxis library domains.
When invoked proactively, present the dependency API snapshot and replacement opportunities before proceeding to code changes. Wait for user acknowledgment before modifying code.
You MUST verify the exploration output against this checklist before presenting it to the user.
Dependency Exploration Compliance:
- [ ] All ataraxis/Sun Lab dependencies identified from pyproject.toml
- [ ] Each installed dependency's source location resolved
- [ ] Unavailable packages noted and skipped
- [ ] __all__ exports read for each installed dependency
- [ ] Public classes documented with constructors and public methods
- [ ] Public functions documented with signatures and summaries
- [ ] Constants and enums documented with types and members
- [ ] Replacement opportunities scanned and reported
- [ ] Output organized by library with consistent table format
- [ ] Snapshot includes version numbers where available
- [ ] No code modifications made during exploration