Skip to content
Agentmart
Submit a tool

code-style

Use this skill when implementing/refactoring frontend/backend code and you need Dekart-specific conventions for naming, code organization, architecture…

Skill by dekart-xyz

IndexedAGPL-3.0★ 436
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/dekart-xyz-code-style

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use this skill when implementing/refactoring frontend/backend code and you need Dekart-specific conventions for naming, code organization, architecture boundaries, and style consistency.

Use cases: frontend, backend, code-generation

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/code-style

What's inside

Skill name
code-style
Description
Use this skill when implementing/refactoring frontend/backend code and you need Dekart-specific conventions for naming, code organization, architecture boundaries, and style consistency.
License
AGPL-3.0
Instructions
76 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Code Style Skill

## Trigger

Use when editing code where consistency with existing Dekart patterns matters (especially `src/client`, `src/server/dekart`, and `src/server/*` domain packages). Do not load for non-code tasks.

Policy/architecture guardrails are defined in `AGENTS.md`. This skill is the source of truth for implementation conventions.

## Backend Conventions

- Go file names are short lowercase, no snake case except `_test.go`.
- Keep `context.Context` as first function argument for server/domain methods.
- Use `HandleX` names for HTTP wrappers that bridge transport -> existing server method.
- Return typed gRPC status errors from endpoint business logic.
- Keep auth/workspace gating explicit near method start (`user.GetClaims`, workspace checks).
- Add short rationale comments before non-trivial conditional business logic.
- In integration/transport glue, prefer decoding into existing contract types already used by nearby handlers (proto/shared schema) instead of introducing new local arg structs.

## CSS

- All component-specific styles must live in `*.module.css` files (CSS Modules).
- Use the `classnames` library to combine CSS classes dynamically in JSX, not manual string concatenation.
- Do not manually add browser prefixes (`-webkit-`, `-moz-`, `-ms-`, `-o-`). Autoprefixer handles this.

## Frontend Conventions

- Prefer Ant Design components for UI by default.
- Component files use `PascalCase.jsx`; component styles use matching `PascalCase.module.css`.
- Non-component frontend files use `camelCase.js` (actions, reducers, lib hooks/utils).
- Keep shared application state in Redux.
- Keep side effects/network calls in actions/thunks, not reducers.
- Keep reducers pure and action-driven.
- Keep reusable non-UI logic in `src/client/lib`.
- Never create a named function inside another function. Every named function is declared as `function doThing (...)` at module scope and takes what it needs as explicit arguments, including refs and setters. There is no exception for closing over props, state or refs: pass them in, or group them into one object.
- Anonymous inline callbacks are fine.
– Move large useEffect hooks into custom hooks to keep component logic readable.

## Redundant Checks

Do not add checks for conditions already guaranteed by code structure or calling context.

Remove checks when:
- A value is always provided by the constructor/factory/initialization.
- Project structure makes only one option valid.
- A value is already validated earlier in the call chain or by middleware.
- Configuration enforces a specific value.

Keep checks for: user input, environment variables, runtime variations, cross-platform paths, optional features.

## Protobuf

- Never handle both protobuf objects and plain objects. Pick one representation.
- If a proto schema defines a property, it's always defined. Access it directly.
  - Bad: `if proto.Message != nil { ... }` when `Message` is in the schema.
  - Good: `proto.Message.Field` directly.
- Only check optional fields, oneof fields, or empty repeated fields (when length matters).

## Change Shape Guidance

- For new self-contained logic/UI, consider a dark library; see `skills/dark-library/SKILL.md`.
- Prefer small, surgical edits over broad refactors unless refactor is required for correctness.
- Keep patterns consistent with neighboring code in the same folder.

## Unit Test Guidance

- Follow the unit-test policy in `AGENTS.md` before adding or changing unit-test coverage.
- Assert meaningful behavior and a clear failure mode through the public or stable interface.
- Keep tests independent from the implementation logic so the same mistake is not copied into both.

## Readability Guidance
- Keep JavaScript/JSX and Go lines near 80–100 characters; review lines over 120, not a hard limit.
- Break JSX props, conditions, and calls at logical boundaries. In Go, keep `gofmt` output.
- when edit function that already exceeds 50 lines, consider splitting it into smaller functions with clear names and purpose.
- when edit file that already exceeds 300 lines, consider splitting it into smaller files with clear names and purpose.

From dekart-xyz/dekart, AGPL-3.0.

Signals

Stars
436
Forks
62
Open issues
34
Last commit (this folder)
Sep 30, 2026 (28 days ago)
Last release
Oct 6, 2026 (22 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
AGPL-3.0
Website
dekart.xyz
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from dekart-xyz

Cite this page

code-style skill. Agent Mart. https://agentmart.dev/skills/dekart-xyz-code-style (last updated 2026-10-24)