Design decisions, implicit rules, and anti-patterns for the Moca project.

OfficialMIT-0Auto-check passedFrontend & Design

Install Coding Style

skills CLI
$ npx skills add aws-samples/sample-multi-agent-orchestration-chat-on-agentcore --skill coding-style -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aws-samples/sample-multi-agent-orchestration-chat-on-agentcore coding-style --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aws-samples/sample-multi-agent-orchestration-chat-on-agentcore.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/coding-style .claude/skills/coding-style && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
coding-style
GitHub stars
130
Token cost
~1.2k tokens
SKILL.md length
566 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT-0

At a glance

Design decisions, implicit rules, and anti-patterns for the Moca project.

  • Works in 3 steps: High: Business logic, data… → Medium: Utilities, validators → Low: Simple getters, configuration wiring
  • Tasks that involve Architecture decision records
  • SKILL.md covers Implicit Rules, Design Decisions, Testing Guidelines and Anti-patterns
  • Calls npm

What it does

Coding Style is an agent skill from aws-samples/sample-multi-agent-orchestration-chat-on-agentcore, published by the product's own GitHub organization. Design decisions, implicit rules, and anti-patterns for the Moca project. Covers coding conventions, project structure rationale, and testing guidelines.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Architecture decision records. It works with Amazon Web Services and ESLint. The repository describes itself as: Build & Share AI agents with your team. Full AgentCore, Full Serverless, Full TypeScript Sample. The licence is MIT-0.

When your agent uses it

  • Tasks that involve Architecture decision records

Example prompts

  • “/coding-style”

Requirements

  • Node.js

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. High: Business logic, data transformations, error handling
  2. Medium: Utilities, validators
  3. Low: Simple getters, configuration wiring

What it can do on your machine

Read from SKILL.md and the folder at commit 297d9c9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Coding Style loads about 1.2k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 566 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~42
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from aws-samples/sample-multi-agent-orchestration-chat-on-agentcore at commit 297d9c9, republished under its MIT-0 licence (© aws-samples). 566 words, ~1,208 tokens.

Download SKILL.mdSave it as .claude/skills/coding-style/SKILL.md (or your agent's skills folder).
name
coding-style
description
Design decisions, implicit rules, and anti-patterns for the Moca project. Covers coding conventions, project structure rationale, and testing guidelines.

Coding Style — Design Decisions & Implicit Rules

This document captures decisions that cannot be inferred from code or config files alone. For formatting rules, see .prettierrc and eslint.config.mjs. For project structure, explore the packages/ directory.

Implicit Rules

Language Policy

All code, comments, commit messages, and documentation MUST be written in English — even when the user communicates in Japanese.

  • WHY (agent/backend): ESLint no-restricted-syntax detects Japanese characters in string literals. Backend code is never user-facing; Japanese would block future internationalization.
  • WHY (frontend): User-visible strings go through react-i18next (t() function). The i18next/no-literal-string ESLint rule catches hardcoded JSX text. Raw Japanese in components bypasses the translation pipeline.
Do NOT Run npm run dev Unless Told To

Developers typically already have npm run dev running with hot-reload. Starting a second instance causes port conflicts. Only run it when the user explicitly asks.

Comments Explain WHY, Not WHAT

The codebase uses // WHY: prefixed comments for non-obvious decisions (see useMessageEventsSubscription.ts, chatStore.ts). Write comments only when the reason behind the code is not self-evident. Never comment what the code literally does.

Design Decisions

ID Generation: nanoid vs uuid
ContextLibraryReason
New IDs (sessions, triggers, frontend)nanoid / customAlphabetShorter, URL-safe, no hyphens
Cognito sub (external)UUIDComes from AWS, cannot change format
agents-service.tsuuid (v4)Historical — predates nanoid adoption. Do not migrate without reason.

sessionId specifically uses customAlphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', 33) because AgentCore requires [a-zA-Z0-9][a-zA-Z0-9-_]*. Hyphens and underscores are excluded to avoid edge-case issues with the first-character constraint.

CONVERSATION_WINDOW_SIZE Must Be Even

The SlidingWindowConversationManager truncates from the oldest messages. An odd window size can break the required user→assistant→user→assistant alternation pattern, causing Bedrock API errors. The Zod schema enforces val % 2 === 0.

Agent Package: ESM with .js Extensions

packages/agent runs as ESM. TypeScript compiles .ts → .js, but Node.js ESM resolution requires explicit .js extensions in import paths. ESLint import/extensions rule enforces this. Other packages (backend, frontend) do not have this constraint.

Zustand: One Store Per Domain

The frontend has ~12 Zustand stores in stores/ (auth, agent, session, chat, ui, etc.). Each store owns one domain.

  • WHY: Zustand re-renders subscribers when any state in the store changes. Mixing domains (e.g., auth + chat) would cause unnecessary re-renders across unrelated components.
  • Pattern: Use selectors — useAgentStore((state) => state.agents) — to subscribe to only the needed slice.
Show full SKILL.md (198 more words)Show less
Frontend i18n: No Hardcoded Strings in JSX

eslint-plugin-i18next with no-literal-string (jsx-text-only mode) catches raw text in JSX and key attributes (title, aria-label, alt, placeholder). All user-visible text must use t('key'). Agent names/descriptions use translateIfKey() utility for dynamic content that may or may not have translation keys.

Testing Guidelines

Test Behavior, Not Implementation

Tests should verify observable outcomes, not internal method calls. Use the AAA pattern (Arrange-Act-Assert). See existing tests in __tests__/ directories for conventions.

Coverage Priority

Focus testing effort in this order:

  1. High: Business logic, data transformations, error handling
  2. Medium: Utilities, validators
  3. Low: Simple getters, configuration wiring
Test Files Location
  • Unit tests: co-located in __tests__/ or *.test.ts next to source
  • Integration tests: tests/ directory with *.integration.test.ts suffix

Anti-patterns

  • Do NOT duplicate ESLint/Prettier rules in code reviews — they are enforced automatically via eslint.config.mjs and .prettierrc
  • Do NOT use any — use unknown or proper types. ESLint warns on @typescript-eslint/no-explicit-any
  • Do NOT create new uuid usage — use nanoid for new IDs. Existing uuid usage in agents-service.ts is grandfathered
  • Do NOT hardcode Japanese in agent/backend — ESLint detects it. Use English only
  • Do NOT add npm run dev to automated scripts — it is a long-running process meant for interactive use

© aws-samples, MIT-0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/coding-style of aws-samples/sample-multi-agent-orchestration-chat-on-agentcore.

Open the folder on GitHubat commit 297d9c9

Compare with similar skills

Coding Style next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Coding Style compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Coding Style this skillaws-samples/sample-multi-agent-orchestration-chat-on-agentcore130—~1.2kAutomated safety check: PassMIT-0
React Render Types CompositionHorusGoul/eslint-plugin-react-render-types111—~1.1kAutomated safety check: PassMIT
Adr Authoringmagnus919/hermes-profiles278—~1.7kAutomated safety check: PassMIT
Typescript Docsgiuseppe-trisciuoglio/developer-kit355—~2.1kAutomated safety check: NotesMIT
Design TrackerDeL-TaiseiOzaki/claude-code-orchestra199—~2kAutomated safety check: PassMIT
Launch With AWSaws/agent-toolkit-for-aws2.8k—~3.2kAutomated safety check: PassApache-2.0

Similar skills

  • React Render Types Composition

    HorusGoul/eslint-plugin-react-render-types

    Composition patterns for building React components with @renders type annotations from eslint-plugin-react-render-types.

    111 GitHub stars~1.1k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • Adr Authoring

    magnus919/hermes-profiles

    Architecture Decision Records — decision capture, rationale documentation, alternatives analysis, and consequence tracking.

    278 GitHub stars~1.7k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Typescript Docs

    giuseppe-trisciuoglio/developer-kit

    Generates comprehensive TypeScript documentation using JSDoc, TypeDoc, and multi-layered documentation patterns for different audiences.

    355 GitHub stars~2.1k tokensUpdated 27 days ago
    DevelopmentAuto-check: notes
  • Design Tracker

    DeL-TaiseiOzaki/claude-code-orchestra

    Record a project design decision into .claude/docs/DESIGN.md through the shared typed writer.

    199 GitHub stars~2k tokensUpdated 17 days ago
    DevelopmentAuto-check passed
  • Launch With AWS

    aws/agent-toolkit-for-aws

    Official

    Migrates vibe-coded web applications to AWS. An agent skill from aws/agent-toolkit-for-aws.

    2.8k GitHub stars~3.2k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Design Discovery

    Owl-Listener/designpowers

    You MUST use this before any creative or design work — building features, creating components, designing interfaces, modifying user-facing behaviour.

    250 GitHub stars~2.1k tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed

More from aws-samples/sample-multi-agent-orchestration-chat-on-agentcore

  • Deep Modules

    aws-samples/sample-multi-agent-orchestration-chat-on-agentcore

    Official

    Apply Ousterhout's "deep modules" principle (narrow interface, deep implementation) when designing or refactoring classes and modules.

    130 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Moca Guide

    aws-samples/sample-multi-agent-orchestration-chat-on-agentcore

    Official

    How to use Moca itself — what this platform can do and how to ask for it.

    130 GitHub stars~794 tokensUpdated yesterday
    Auto-check passed
  • Doc Drift Detection

    aws-samples/sample-multi-agent-orchestration-chat-on-agentcore

    Official

    Detect semantic drift between documentation and source code.

    130 GitHub stars~714 tokensUpdated yesterday
    Auto-check passed
  • UI Design

    aws-samples/sample-multi-agent-orchestration-chat-on-agentcore

    Official

    UI/UX design rules, Atomic Design placement, design tokens, component conventions, and responsive patterns for the Moca frontend.

    130 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed

Questions about Coding Style

What does Coding Style do?

Design decisions, implicit rules, and anti-patterns for the Moca project. Coding Style is an agent skill from aws-samples/sample-multi-agent-orchestration-chat-on-agentcore, published by the product's own GitHub organization. Design decisions, implicit rules, and anti-patterns for the Moca project.

When should I use Coding Style?

Coding Style fits situations like: tasks that involve Architecture decision records.

How do I install Coding Style in Claude Code?

Run `npx skills add aws-samples/sample-multi-agent-orchestration-chat-on-agentcore --skill coding-style -a claude-code`. Or copy the skill folder (.agents/skills/coding-style in aws-samples/sample-multi-agent-orchestration-chat-on-agentcore) into .claude/skills/coding-style in your project. Claude Code loads it when a task matches its description.

How do I install Coding Style in Codex?

Run `npx skills add aws-samples/sample-multi-agent-orchestration-chat-on-agentcore --skill coding-style -a codex`. Or copy the skill folder (.agents/skills/coding-style in aws-samples/sample-multi-agent-orchestration-chat-on-agentcore) into .agents/skills/coding-style in your project. Codex loads it when a task matches its description.

Can I use Coding Style in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aws-samples/sample-multi-agent-orchestration-chat-on-agentcore --skill coding-style -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/coding-style, .gemini/skills/coding-style, .github/skills/coding-style and .opencode/skills/coding-style in your project.

What does Coding Style need to run?

Going by SKILL.md and its folder, Coding Style needs the command-line tools its instructions call (npm). Our summary lists: Node.js.

Does Coding Style access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Coding Style safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Coding Style use?

Coding Style is published under the MIT-0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Coding Style use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Coding Style?

Skills that share tags, products or a category with Coding Style: React Render Types Composition (HorusGoul/eslint-plugin-react-render-types, 111 stars), Adr Authoring (magnus919/hermes-profiles, 278 stars), Typescript Docs (giuseppe-trisciuoglio/developer-kit, 355 stars) and Design Tracker (DeL-TaiseiOzaki/claude-code-orchestra, 199 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Coding Style?

aws-samples (a GitHub organization, an official publisher) maintains it in aws-samples/sample-multi-agent-orchestration-chat-on-agentcore, which has 130 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 6, 2026.

Source: aws-samples/sample-multi-agent-orchestration-chat-on-agentcore on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.