By casomoltd
Casomo shared engineering standards as a Claude Code plugin: skills (commit, release-version, frontend-design, python-style, typescript, screenshot), PreToolUse guard hooks, and a house-standards review agent (code-review)
Run checks and commit cleanly — detect the toolchain, run the repo's checks, stage explicitly, show the diff for approval, write a conventional message. Does NOT bump the version (that's release-version) or push (a separate, explicitly-requested step).
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.
Python code generation style rules — Google style with Casomo preferences (types over dicts, EAFP, uv, pyright)
Run the release tail after a commit — bump the version with the repo's own tooling, then (only on an explicit push request) push so the configured CI trigger publishes or deploys. NOT for committing — that's the commit skill.
Capture a screenshot of the running dev server and analyse the result. Use when verifying visual changes, checking a page renders correctly, or comparing against a reference image or design description.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Shared linting, formatting, commit config, and CLI tools for Casomo Ltd's repos.
| Export | Description |
|---|---|
@casomoltd/tooling/eslint | createBaseConfig() — ESLint flat config with Next.js, TypeScript, and SonarJS |
@casomoltd/tooling/eslint-lib | ESLint config variant for library packages |
@casomoltd/tooling/prettier | Prettier config object |
@casomoltd/tooling/commitlint | commitlint config with no-ai-attribution plugin |
@casomoltd/tooling/knip | Knip config for unused exports/dependencies |
@casomoltd/tooling/jscpd | Copy-paste detection config |
@casomoltd/tooling/readability | scoreText() — readability scoring for page content |
| Command | Description |
|---|---|
check-version | Pre-push guard — rejects push if package.json version hasn't changed vs origin/main |
pre-push | Husky pre-push hook — runs check, build, then version/tag guards |
pre-commit | Husky pre-commit hook — runs npm run check |
commit-msg | Husky commit-msg hook — runs commitlint |
readability | Measure reading difficulty of page content |
screenshot | Capture a dev server page via Puppeteer |
Consumed as a git dependency — it's shared config + CLI scripts,
not a registry package. Add it to a consumer's devDependencies:
"@casomoltd/tooling": "github:casomoltd/tooling#semver:^0.10.0"
The repo is public, so installs need no token. The files allowlist
plus the verify-pack leak-gate keep the installed surface to
configs/CLI only.
The package provides shared hook commands so all repos enforce
the same standards. Wire them up in .husky/:
.husky/pre-commit
pre-commit
.husky/commit-msg
commit-msg $1
.husky/pre-push
pre-push
Each repo defines its own check script in package.json —
the hooks call npm run check which runs whatever checks that
repo needs (lint, typecheck, spell, etc.).
Note: The tooling repo itself calls scripts by path in its
hooks (e.g. ./bin/check-version.sh) because it can't resolve
its own bin commands via node_modules/.bin.
Capture the running dev server for visual inspection:
npm run ss # 1280×800 desktop capture
npm run ss contact # desktop capture of /contact
npm run ss -- --width 390 --height 844 # mobile capture
npm run ss contact --width 390 # mobile /contact
Options:
| Flag | Default | Description |
|---|---|---|
--width <n> | 1280 | Viewport width in pixels |
--height <n> | 800 | Viewport height in pixels |
Add these scripts to your package.json:
{
"screenshot": "screenshot",
"ss": "npm run screenshot --"
}
Screenshots are saved to .claude/screenshots/. Set
SCREENSHOT_URL to override the default http://localhost:3000.
There is no CI — all quality gates run locally via git hooks. Code should be deployment-ready by the time it's pushed to the remote.
npm run check,
npm run build, then version and tag guards. This ensures
lint, typecheck, spelling, and version bumps are all verified
before code reaches the remote..prettierrc.js
module.exports = require('@casomoltd/tooling/prettier');
commitlint.config.cjs
module.exports = require('@casomoltd/tooling/commitlint');
eslint.config.mjs
import { createBaseConfig } from '@casomoltd/tooling/eslint';
The ESLint config uses a factory function that receives resolved imports from the consumer to avoid module resolution issues across package boundaries.
Changes to tooling require a push to main to publish (the
workflow runs automatically). Consuming repos then pick up
changes with npm update @casomoltd/tooling.
For fast iteration while editing tooling config locally, use
npm link to temporarily symlink your local checkout:
# in the consuming repo
npm link ../tooling
This overrides the published version until the next
npm install, which restores the registry version.
This repo is a Claude Code plugin (.claude-plugin/) shipping the generic,
public engineering standards we work to across three agent-facing surfaces —
skills, hooks, and agents. Business-specific ones live in private
workspace config, not here.
The tooling serves three consumers: Claude (the editing workflow) → these
plugin surfaces; CI + git-hooks (automation) → the npm bin scripts; manual
human CLI is no longer a design target.
npx claudepluginhub casomoltd/tooling --plugin casomoltdUpstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Comprehensive startup business analysis with market sizing (TAM/SAM/SOM), financial modeling, team planning, and strategic research
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
Comprehensive .NET development skills for modern C#, ASP.NET, MAUI, Blazor, Aspire, EF Core, Native AOT, testing, security, performance optimization, CI/CD, and cloud-native applications