Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 34 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ Copyright: 2026, NeuroAI Lab, Cornell University.
## Features

### Hardware Discovery & Validation
- **MCP-based device enumeration**: AI agents can query connected cameras, microcontrollers, and
motor controllers through structured tool interfaces.
- **MCP-based device enumeration**: AI agents can query connected cameras and microcontrollers
through structured tool interfaces.
- **Pre-session diagnostics**: Validate hardware connectivity and configuration through natural
language queries.
- **Real-time status checking**: Query device responsiveness, serial port status, and camera
Expand Down Expand Up @@ -158,12 +158,12 @@ Add Ataraxis MCP servers to your Claude Code configuration (`~/.claude.json`):
{
"mcpServers": {
"ataraxis-communication-interface": {
"command": "axci-mcp",
"args": []
"command": "axci",
"args": ["mcp"]
},
"ataraxis-video-system": {
"command": "python",
"args": ["-m", "ataraxis_video_system.mcp_server"]
"command": "axvs",
"args": ["mcp"]
}
}
}
Expand All @@ -174,30 +174,31 @@ Add Ataraxis MCP servers to your Claude Code configuration (`~/.claude.json`):
## Claude Code Skills

This repository serves as a [Claude Code](https://docs.anthropic.com/en/docs/claude-code) plugin marketplace,
distributing a set of agentic skills that enforce Sun Lab development conventions across all downstream projects. These
distributing a set of agentic skills that enforce ataraxis framework development conventions across all downstream projects. These
skills provide Claude Code with project-specific knowledge about coding style, documentation format, commit messages,
project structure, and more.

### Available Skills

| Skill | Description |
|-------------------------|---------------------------------------------------------------------------|
| `/explore-codebase` | Performs in-depth codebase exploration at the start of a session |
| `/explore-dependencies` | Explores installed ataraxis/Sun Lab library APIs for dependency awareness |
| `/python-style` | Applies Sun Lab Python coding conventions |
| `/cpp-style` | Applies Sun Lab C++ coding conventions |
| `/csharp-style` | Applies Sun Lab C# coding conventions |
| `/readme-style` | Applies Sun Lab README conventions |
| `/pyproject-style` | Applies Sun Lab pyproject.toml conventions |
| `/api-docs` | Applies Sun Lab API documentation conventions |
| `/project-layout` | Applies Sun Lab project directory structure conventions |
| `/tox-config` | Applies Sun Lab tox.ini conventions |
| `/audit-facts` | Audits documentation files against source code for factual accuracy |
| `/audit-style` | Audits files against applicable style skill checklists for compliance |
| `/commit` | Drafts style-compliant git commit messages |
| `/pr` | Drafts a style-compliant pull request summary for the active branch |
| `/release` | Drafts style-compliant release notes summarizing merged pull requests |
| `/skill-design` | Generates, updates, and verifies skill files and CLAUDE.md |
| Skill | Description |
|-------------------------|------------------------------------------------------------------------|
| `/explore-codebase` | Performs in-depth codebase exploration at the start of a session |
| `/explore-dependencies` | Explores installed ataraxis library APIs for dependency awareness |
| `/python-style` | Applies ataraxis framework Python coding conventions |
| `/cpp-style` | Applies ataraxis framework C++ coding conventions |
| `/csharp-style` | Applies ataraxis framework C# coding conventions |
| `/readme-style` | Applies ataraxis framework README conventions |
| `/pyproject-style` | Applies ataraxis framework pyproject.toml conventions |
| `/api-docs` | Applies ataraxis framework API documentation conventions |
| `/project-layout` | Applies ataraxis framework project directory structure conventions |
| `/tox-config` | Applies ataraxis framework tox.ini conventions |
| `/platformio-config` | Applies ataraxis framework platformio.ini and library.json conventions |
| `/audit-facts` | Audits documentation files against source code for factual accuracy |
| `/audit-style` | Audits files against applicable style skill checklists for compliance |
| `/commit` | Drafts style-compliant git commit messages |
| `/pr` | Drafts a style-compliant pull request summary for the active branch |
| `/release` | Drafts style-compliant release notes summarizing merged pull requests |
| `/skill-design` | Generates, updates, and verifies skill files and CLAUDE.md |

### Installing for Claude Code

Expand Down Expand Up @@ -266,6 +267,10 @@ AI: Created buzzer module with pulse, toggle on, and toggle off commands.
Upload the firmware and update the dependency version.
```

The generated handler drives the pin with `digitalWrite`, which suits an **active** buzzer (pin HIGH =
sound, LOW = silent). A **passive** piezo element produces no tone from a steady HIGH and would instead
need a `tone()`/PWM-driven handler.

---

## Adoption Roadmap
Expand All @@ -275,8 +280,10 @@ AI: Created buzzer module with pulse, toggle on, and toggle off commands.
3. **Encode recurring workflows as skills** that guide AI agents
4. **Iterate as hardware evolves** with AI-assisted development

The Sun Lab's implementation libraries (`sl-*`) serve as open-source templates for building
custom acquisition systems.
The Ataraxis libraries provide open-source building blocks for assembling custom acquisition
systems. For a complete platform built on Ataraxis, see
[Sollertia](https://github.com/Sun-Lab-NBB/sollertia) — a platform for AI-assisted data acquisition
and management.

---

Expand Down
2 changes: 1 addition & 1 deletion plugins/automation/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "automation",
"version": "1.2.0",
"version": "1.3.1",
"description": "Provides the shared software development skills that enforce conventions and code style in Ataraxis and derived projects.",
"repository": "https://github.com/Sun-Lab-NBB/ataraxis",
"license": "Apache-2.0",
Expand Down
5 changes: 3 additions & 2 deletions plugins/automation/skills/api-docs/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ layout within each project is:
```text
project-root/
├── docs/
│ ├── Makefile # Unix Sphinx wrapper (delegates to tox)
│ ├── Makefile # Minimal Sphinx wrapper (builds usually run via tox)
│ ├── make.bat # Windows Sphinx wrapper
│ └── source/
│ ├── conf.py # Sphinx configuration
Expand Down Expand Up @@ -181,7 +181,8 @@ dependencies directly to downstream project pyproject.toml files.
mypy (`docs/` is excluded), so the `copyright` builtin shadow needs no suppression. See
`/python-style` for the framework-wide policy on IDE directives.
- The `templates_path` and `exclude_patterns` fields are included but left at defaults
(`['_templates']` and `[]` respectively).
(`['_templates']` and `[]` respectively) for Python-only and hybrid archetypes. The C++-only
archetype omits both fields entirely (it uses a minimal breathe-only conf.py).
- Napoleon is configured for Google-style docstrings only (`napoleon_numpy_docstring = False`).
- All Napoleon and `sphinx_autodoc_typehints` settings MUST match the templates exactly. See
[conf-py-templates.md](references/conf-py-templates.md) for the full settings.
Expand Down
17 changes: 11 additions & 6 deletions plugins/automation/skills/audit-facts/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
---
name: audit-facts
description: >-
Performs a thorough fact-check audit of documentation files against their authoritative
source code. Verifies every concrete claim, surfaces drift, contradictions, and substantive
omissions, and produces a structured findings report with verbatim source citations. Use when
auditing README files, CLAUDE.md, SKILL.md, Sphinx documentation, or any project
documentation for factual accuracy against the codebase. Use when the user invokes
/audit-facts.
Performs a thorough fact-check audit of documentation files against their authoritative source
code. Verifies every concrete claim and surfaces drift, contradictions, and substantive omissions
in a structured findings report with verbatim source citations. Use when auditing README,
CLAUDE.md, SKILL.md, Sphinx, or any project documentation for factual accuracy, or when the user
invokes /audit-facts.
user-invocable: true
---

Expand Down Expand Up @@ -227,6 +226,12 @@ and where.
You MUST adhere to the following discipline during every audit.

- Never invent source. If you cannot open the source after reasonable search, mark UNVERIFIABLE.
- Facts not derivable from the audited repo's own source (external toolchain version floors,
installer requirements, cross-repo version pins, environment prerequisites) are authoritative
by default. Report them as UNVERIFIABLE only when they appear internally contradicted or stale;
otherwise omit them, or set the Suggested fix to "leave as-is — authoritative external
requirement" rather than a removal or change. `/readme-style` is the source of the canonical
install-section requirements (e.g. the mamba 2.3.2+ / miniforge3 floor).
- Never paraphrase source and present it as a verbatim quote. Use the Read tool and copy.
- Never expand scope to restructure, restyle, or refactor. This skill produces findings only.
- Never flag style, formatting, structural, or convention issues. Those belong to
Expand Down
66 changes: 35 additions & 31 deletions plugins/automation/skills/audit-style/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
---
name: audit-style
description: >-
Performs a thorough style-compliance audit of source code, configuration, or documentation
files against the applicable Sun Lab style skill checklists. Walks every line of every file
in scope and reports only non-compliant findings with verbatim checklist citations. Use when
auditing a Python package, a config file, a README, or any project file for style,
formatting, naming, documentation quality, or convention compliance. Use when the user
invokes /audit-style.
Performs a thorough style-compliance audit of source code, configuration, or documentation files
against the applicable ataraxis framework style skill checklists. Walks every line in scope and
reports only non-compliant findings with verbatim checklist citations. Use when auditing a Python
package, config file, README, or any project file for style, formatting, naming, or convention
compliance, or when the user invokes /audit-style.
user-invocable: true
---

# Style compliance audit

Audits files against the authoritative Sun Lab style skill checklists, reporting only
Audits files against the authoritative ataraxis framework style skill checklists, reporting only
non-compliant findings with verbatim checklist citations.

You MUST read this entire skill and load every applicable style skill checklist before starting
Expand Down Expand Up @@ -77,17 +76,21 @@ There is no "covered area" reduction.

For each file in scope, identify the applicable style skill using the binding table:

| File pattern | Style skill |
|---------------------------------------|--------------------|
| `*.py` | `/python-style` |
| `*.cs` | `/csharp-style` |
| `*.h`, `*.hpp`, `*.cpp` | `/cpp-style` |
| `README.md` | `/readme-style` |
| `pyproject.toml` | `/pyproject-style` |
| `tox.ini` | `/tox-config` |
| `docs/*.rst`, `conf.py`, `Makefile` | `/api-docs` |
| `SKILL.md`, `CLAUDE.md`, `AGENTS.md` | `/skill-design` |
| Project directory tree | `/project-layout` |
| File pattern | Style skill |
|---------------------------------------------------------------------------|----------------------|
| `*.py` | `/python-style` |
| `*.cs` | `/csharp-style` |
| `*.h`, `*.hpp`, `*.cpp`, `.clang-format`, `.clang-tidy`, `CMakeLists.txt` | `/cpp-style` |
| `README.md` | `/readme-style` |
| `pyproject.toml` | `/pyproject-style` |
| `tox.ini` | `/tox-config` |
| `platformio.ini`, `library.json` | `/platformio-config` |
| `docs/*.rst`, `conf.py`, `Makefile`, `make.bat`, `Doxyfile` | `/api-docs` |
| `SKILL.md`, `CLAUDE.md`, `AGENTS.md` | `/skill-design` |
| Project directory tree | `/project-layout` |

If a file in scope matches no binding row, mark it UNAUDITED in the plan and report (no
applicable style skill) and flag no findings against it.

Classify the audit tier:

Expand Down Expand Up @@ -241,19 +244,20 @@ You MUST adhere to the following discipline during every audit.

## Related skills

| Skill | Relationship |
|-------------------------|------------------------------------------------------------------------------------------|
| `/audit-facts` | Sibling audit for factual accuracy against source code |
| `/python-style` | Provides the Python style checklist; loaded when scope contains Python files |
| `/cpp-style` | Provides the C++ style checklist; loaded when scope contains C++ files |
| `/csharp-style` | Provides the C# style checklist; loaded when scope contains C# files |
| `/readme-style` | Provides the README style checklist; loaded when scope contains README files |
| `/pyproject-style` | Provides the pyproject.toml style checklist; loaded when scope contains pyproject.toml |
| `/tox-config` | Provides the tox.ini style checklist; loaded when scope contains tox.ini |
| `/api-docs` | Provides the Sphinx docs style checklist; loaded when scope contains docs files |
| `/skill-design` | Provides the skill and CLAUDE.md style checklist; loaded when scope contains skill files |
| `/project-layout` | Provides the project directory style checklist; loaded when target is a project root |
| `/explore-codebase` | Provides project structure context; invoke first when auditing an unfamiliar codebase |
| Skill | Relationship |
|----------------------|--------------------------------------------------------------------------------------------------|
| `/audit-facts` | Sibling audit for factual accuracy against source code |
| `/python-style` | Provides the Python style checklist; loaded when scope contains Python files |
| `/cpp-style` | Provides the C++ style checklist; loaded when scope contains C++ files |
| `/csharp-style` | Provides the C# style checklist; loaded when scope contains C# files |
| `/readme-style` | Provides the README style checklist; loaded when scope contains README files |
| `/pyproject-style` | Provides the pyproject.toml style checklist; loaded when scope contains pyproject.toml |
| `/tox-config` | Provides the tox.ini style checklist; loaded when scope contains tox.ini |
| `/platformio-config` | Provides the platformio.ini/library.json style checklist; loaded when scope contains those files |
| `/api-docs` | Provides the Sphinx docs style checklist; loaded when scope contains docs files |
| `/skill-design` | Provides the skill and CLAUDE.md style checklist; loaded when scope contains skill files |
| `/project-layout` | Provides the project directory style checklist; loaded when target is a project root |
| `/explore-codebase` | Provides project structure context; invoke first when auditing an unfamiliar codebase |

---

Expand Down
3 changes: 3 additions & 0 deletions plugins/automation/skills/commit/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ Run the following git commands in parallel using the Bash tool:
`master`; confirm via `git symbolic-ref --short refs/remotes/origin/HEAD` and strip the `origin/` prefix when a
remote exists).

If `git status` shows no staged, unstaged, or untracked changes, stop and report that there is nothing to commit
rather than running `git add`/`git commit`.

### Step 2: Analyze changes

Review every changed file and understand:
Expand Down
Loading