Skip to content

Repository files navigation

ACT Data

actdata-plugins

ACT Data's institutional knowledge, encoded as installable agent plugins.

plugins skills agents runtime gate


Table of contents

What this is

A Claude Code plugin marketplace for ACT Data. It holds capability that is true across ACT's software teams, packaged so an agent working in an ACT repository behaves the way a well-oriented ACT colleague would.

Right now it holds one thing: the toolkit for building the rest of it.

Quick start

# inside Claude Code
/plugin marketplace add patterson-agents/actdata-plugins
/plugin install act-plugin-dev@actdata-plugins

From a local checkout:

cd actdata-plugins
claude
/plugin marketplace add .
/plugin install act-plugin-dev@actdata-plugins

Then:

"create a plugin for managing our deploy runbooks"   ← /act-plugin-dev:create-plugin
"validate this plugin before I open a PR"            ← delegates to plugin-validator
"how do I write a PreToolUse hook?"                  ← hook-development skill fires

Warning

Marketplace names occupy one flat global namespace. Registering a second marketplace under the name actdata-plugins replaces this one rather than merging with it.

Plugin catalog

Plugin What it is Components
act-plugin-dev
Development
Everything needed to build a plugin for this marketplace, and the conventions that keep one from breaking at install time. A fork of Claude Code's plugin-dev, adapted to ACT's layout, Bun, and marketplace registration. 7 skills · 3 agents · 1 command
act-platform-engineering
Operations
Assessment and operations for PostgreSQL, ZFS, Linux hosts and Proxmox VE. Diagnostic commands with green/red criteria, role-based reasoning agents, and incident practice. Reads its host inventory from a site-local settings file and ships no environment identifiers. 7 skills · 7 agents · 9 commands
act-work-tracking
Workflow
Zoho Projects work tracking and operations reporting: the task-versus-issue distinction, the API's quirks, bulk creation with a credential-free dry run, and the writing conventions that keep issues and reports actionable. 2 skills · 1 agent · 3 commands
act-gitlab-ci
Engineering
GitLab CI/CD and GitLab tooling: Claude Code as a CI job across three providers, the GitLab MCP server, the glab CLI, and pipeline standards translated to GitLab. Ships an MCP server and a zero-dependency pipeline checker. 6 skills · 1 agent · 3 commands · 1 MCP

Not yet shipped

These directories exist under plugins/ but are not registered in marketplace.json, and are therefore not installable. That is deliberate — an unfinished plugin should not be discoverable.

Directory State
code-review Empty shell.
standards Empty shell.
git-workflows Empty shell.

scripts/verify-all.sh recognises a scaffold by its TODO markers and reports it as a draft rather than failing the build. Once a draft has real content, registering it becomes mandatory.

Repository layout

actdata-plugins/
├── .claude-plugin/
│   └── marketplace.json          # the catalog agents read -- a plugin is invisible without an entry here
├── plugins/
│   └── act-plugin-dev/
│       ├── .claude-plugin/plugin.json
│       ├── README.md
│       ├── skills/<name>/        # SKILL.md · references/ · examples/ · scripts/
│       ├── agents/
│       └── commands/
├── scripts/
│   ├── check-size.ts             # 2 MiB tracked-byte budget validator
│   ├── check-no-binaries.ts      # fonts / office / archive / oversized-raster validator
│   ├── verify-all.sh             # the gate battery -- CI and pre-commit both call this
│   └── tests/run-tests.sh        # TDD fixtures for the two validators
├── docs/
│   ├── assets/                   # placeholder wordmark -- see docs/assets/README.md
│   └── decisions/                # ADRs
├── .github/                      # issue + PR templates, ci.yml
├── .githooks/                    # pre-commit (opt in: git config core.hooksPath .githooks)
├── CONTRIBUTING.md · CODE_OF_CONDUCT.md · SECURITY.md · CODEOWNERS
└── README.md                     # you are here

Conventions

Load-bearing, not stylistic. scripts/verify-all.sh enforces the mechanical ones.

Rule What it means
kebab-case everywhere Plugin names, skill directory names, command and agent filenames.
Skill name equals directory name skills/foo/SKILL.md must carry name: foo. Title Case fails the gate. The most common defect when importing a skill from elsewhere.
Plugins live at plugins/<name>/ marketplace.json declares metadata.pluginRoot: "./plugins".
Register, or it does not exist Every shipped plugin needs a marketplace.json entry with a relevance block.
Version in two places plugin.json and the marketplace entry must agree. Bump both together; the gate checks it.
${CLAUDE_PLUGIN_ROOT} stays literal Never an absolute path a tool happened to resolve. The gate greps for expanded forms.
Bun only bun install, bun run, bunx, bun test. bun.lock is the only lockfile; an npm/yarn/pnpm lockfile here is a bug.
No /tmp Scratch goes in the repository's gitignored .tmp/.
No binaries No fonts, PDFs, Office documents, archives, or raster images over 50 KiB. SVG is exempt at any size.
2 MiB tracked-byte budget Measured with git ls-files, not du.
No emoji on ACT-authored surfaces READMEs, manifests, commands, agents. Use GFM alerts and tables. Vendored upstream reference content is exempt -- see the divergence note.
Conventional commits <type>(<scope>): <summary>, e.g. feat(act-plugin-dev): add skill-reviewer agent.

Scripts and validation

The two validators are TypeScript importing only node:* builtins — no build step and no dependency on this repository's package.json. They run under Bun.

bun scripts/check-size.ts .
bun scripts/check-no-binaries.ts .
Contract Value
Argument a path to check
Exit 0 pass
Exit 1 violations found
Exit 2 could not evaluate
Output LEVEL|file|line|rule|message

Run everything — the validator suites, the skill-name invariant, manifest parsing, marketplace registration and version consistency, the two validators repository-wide, and the expanded-path grep:

sh scripts/verify-all.sh

This is the single gate battery. .github/workflows/ci.yml and .githooks/pre-commit both call it; it is the one place the repository's invariants are defined.

Important

check-size.ts and check-no-binaries.ts read tracked files via git ls-files. Until work is staged or committed, they have almost nothing to measure and will pass trivially. Stage your changes before trusting a green run.

Adding a plugin

Use the guided workflow — it creates the directory, writes the manifest, registers the marketplace entry, and runs the gate:

/act-plugin-dev:create-plugin

Doing it by hand means, at minimum: plugins/<name>/.claude-plugin/plugin.json, a README.md, a marketplace.json entry with a matching version and a relevance block, a row in the catalog table above, and a green sh scripts/verify-all.sh.

Where it fits

actdata-plugins is one of several sibling marketplaces in the patterson-agents organization. Each is an independent repository with its own catalog.

Marketplace Role
patterson-corp Enterprise — capability true for all of Patterson (engineering standards, brand)
actdata-plugins ACT Data — this repository
patterson-labs Incubating — work that has not yet earned durable status
patterson-dental, patterson-vet Sub-org — segment-particular capability

The repository furniture here — the gate battery, the validators, the README shape, the governance files — follows patterson-corp, so someone moving between them finds the same structure.

Contributing and governance

File Purpose
CONTRIBUTING.md Repository conventions, the gate, and how to add a plugin
CODE_OF_CONDUCT.md Contributor Covenant, adapted for a B2B engineering context
SECURITY.md Private vulnerability reporting
CODEOWNERS A reviewing team for every top-level path
.github/ISSUE_TEMPLATE/ Bug, feature, and new-plugin proposal forms
.github/workflows/ci.yml Runs scripts/verify-all.sh on every push and pull request
.githooks/pre-commit The fast local gate (opt in with git config core.hooksPath .githooks)
docs/decisions/ ADRs

Status and open items

Note

This repository is new. The items below are known gaps, recorded rather than papered over.

  • Brand assets are placeholders. No ACT Data logo, wordmark, or palette exists. docs/assets/ ships an invented mark using the inherited Patterson palette. See docs/assets/README.md.
  • Three empty plugin shells are unregistered, as described above.
  • act-gitlab-ci's pipeline standards are derived, not authoritative. They are translated from a standard written for Azure DevOps and GitHub, which does not permit GitLab and whose approved-tools list excludes GitLab's built-in scanners. The conflict is recorded rather than resolved; see _SOURCES.md.
  • The license identifier LicenseRef-ACT-Internal is provisional. ACT Data's licensing posture for internal agent tooling has not been confirmed.
  • act-plugin-dev is a fork, not a dependency. It does not track upstream plugin-dev. Re-syncing is manual; the divergence is recorded in its README.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages