language-modularity
Per-language module structure: Python, TypeScript, JavaScript, Go, Rust, Java.
Skill by chnetajibc
Chalk Labs
Need help deploying language-modularity?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/chnetajibc-language-modularity
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.
About
Use cases: testing
Reviews
Write a reviewNo 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/language-modularity
What's inside
- Skill name
language-modularity- Description
- Per-language module structure: Python, TypeScript, JavaScript, Go, Rust, Java. Boundaries, dependency direction, visibility, DI idioms, error/config/test boundaries, split signals. Inspect repo first; never force one architecture everywhere.
- License
- MIT
- Instructions
- 55 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# language-modularity Modularity is language-shaped: packages, crates, and modules have different visibility, cycles, and DI idioms. Inspect the repo and framework conventions first, then choose. ## Activate when - Placing new code, splitting modules, fixing cycles/god-modules, or reviewing dependency direction. ## Do NOT activate for - Framework layering specifics (see frameworks/*); generic SOLID theory (see solid). ## Universal rules - Dependencies point one way; cycles are defects. Public surface minimal; internals private by default. - Domain → application → infrastructure direction; config/errors cross boundaries via narrow types, not god objects. - Split when: a module has multiple change reasons, unrelated tests cluster, or imports fan out across domains. Do NOT split on speculation — one more file is also a cost. ## Per language ### Python - Packages (`__init__` re-exports the public API; underscore modules private); flat `src/` layout for libraries. Absolute imports; no `sys.path` hacks. Break cycles with dependency inversion (Protocols) or by moving shared types down a layer. Django/Flask/FastAPI overrides: framework app/registry layout wins — see frameworks/fastapi. Example: `services/` importing `routers/` back (bad: cycle, web leaking into logic) → move shared schema to `schemas/`, services depend on repos via Protocols. ### TypeScript - Barrel files (`index.ts`) define the public surface; `internal/` or non-exported modules stay private. `paths` aliases for deep imports banned across boundaries. Break cycles via interfaces + constructor injection or event/ports. Monorepos: package boundaries enforced by the workspace tool, not discipline. Example: `utils/` god barrel re-exporting everything (bad: every change ripples) → scoped `@domain/*` packages with explicit entry points. ### JavaScript - Same module rules as TS minus the type safety net: JSDoc + runtime validation at boundaries, ESLint `import/no-cycle` enforced in CI since nothing else catches cycles. ### Go - Packages are the boundary: small, purpose-named (`httpapi`, `order`, not `util`/`common`); lowercase/unexported by default, exported surface deliberate. No cycles allowed by the compiler — treat a cycle error as a design signal: extract the shared contract into a lower package accepting interfaces, with constructors taking dependencies (no service locator). `internal/` for non-shared code; `cmd/` thin mains; `go.mod` per module. Example: `handlers` ↔ `store` cycle (bad) → `store` defines a narrow `Store` interface in the consumer package; constructor injects the implementation. ### Rust - Crates + modules: `lib.rs`/`main.rs` roots; `pub(crate)` for intra-crate sharing, `pub` only for the crate contract; workspaces share one lockfile, features additive. Traits define seams; generics over `dyn` except real heterogeneity. Errors: `thiserror` (libraries) / `anyhow` (apps) at the crate edge — never `unwrap` across a boundary. Split crates when compile times, feature axes, or versioning diverge; NOT for namespacing alone. ### Java - Packages + JPMS modules where used; package-private by default, `public` as a commitment. Spring: constructor-injected components in domain packages; `@Configuration` at edges; avoid component-scan sprawl with explicit base packages. Break cycles with interfaces in the lower package (Spring tolerates some cycles — treat tolerance as debt, not permission). Maven/Gradle multi-module only when deploy/version boundaries exist. ## Procedure 1. Map current modules, imports, and public surfaces before touching anything. 2. Name the boundary violation (cycle, god module, leaked internals, wrong-direction dep). 3. Apply the language's mechanism above; keep the framework's layout authoritative on conflicts. 4. Verify: cycle check green (compiler/lint), public surface diff reviewed, tests per boundary pass. ## References - Related: `../modularity/`, `../solid/`, `../../core/repository-understanding/`, language skills in `../../languages/`, framework skills in `../../frameworks/`.
From chnetajibc/skill-repo, MIT.
More from chnetajibc/skill-repo
- 0.524score
api-design
chnetajibc
API contract design: resources, error envelopes, pagination, versioning, evolution.
SkillBFreshness: BClaude Code +9 - 0.524score
agent-architecture
chnetajibc
Design agent loops: planning, tool use, subagents, memory, RAG, evals, budgets.
SkillBFreshness: BClaude Code +9 - 0.524score
mcp-engineering
chnetajibc
Build MCP servers with well-named tools, workflow-oriented coverage, and clear errors.
SkillBFreshness: BClaude Code +9 - 0.524score
skill-design
chnetajibc
Author Agent Skills with progressive disclosure: thin SKILL.md, details in references, scripts for execution.
SkillBFreshness: BClaude Code +9 - 0.524score
api-design
chnetajibc
Implement backend APIs: REST/GraphQL/gRPC/WebSocket/SSE/webhooks, auth, pagination, idempotency, retries, versioning, docs.
SkillBFreshness: BClaude Code +9 - 0.521score
domain-modeling
chnetajibc
Model entities, value objects, aggregates, ownership, invariants.
SkillBFreshness: BClaude Code +9 - 0.521score
error-handling
chnetajibc
Handle errors explicitly: typed errors, no silent swallowing, no catch-all.
SkillBFreshness: BClaude Code +9 - 0.521score
modularity
chnetajibc
Enforce module contracts and boundaries: frontend/backend separation, repo guardrails.
SkillBFreshness: BClaude Code +9 - 0.521score
solid
chnetajibc
SOLID as diagnostic tool per language, not ceremony.
SkillBFreshness: BClaude Code +9 - 0.521score
cohesion-coupling
chnetajibc
Design for high cohesion low coupling, stable interfaces, localized change.
SkillBFreshness: BClaude Code +9 - 0.521score
authentication
chnetajibc
Authentication: JWT/OAuth-OIDC/sessions/API keys, password storage, secrets, CSRF/CORS/cookies.
SkillBFreshness: BClaude Code +9 - 0.521score
clean-code
chnetajibc
Write readable maintainable code: clear names, small units, low coupling, high cohesion.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 22, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/chnetajibc/skill-repo
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from chnetajibc
- 0.524score
api-design
chnetajibc
Implement backend APIs: REST/GraphQL/gRPC/WebSocket/SSE/webhooks, auth, pagination, idempotency, retries, versioning, docs.
SkillBFreshness: BClaude Code +9 - 0.524score
agent-architecture
chnetajibc
Design agent loops: planning, tool use, subagents, memory, RAG, evals, budgets.
SkillBFreshness: BClaude Code +9 - 0.524score
mcp-engineering
chnetajibc
Build MCP servers with well-named tools, workflow-oriented coverage, and clear errors.
SkillBFreshness: BClaude Code +9 - 0.524score
skill-design
chnetajibc
Author Agent Skills with progressive disclosure: thin SKILL.md, details in references, scripts for execution.
SkillBFreshness: BClaude Code +9 - 0.524score
api-design
chnetajibc
API contract design: resources, error envelopes, pagination, versioning, evolution.
SkillBFreshness: BClaude Code +9 - 0.521score
solid
chnetajibc
SOLID as diagnostic tool per language, not ceremony.
SkillBFreshness: BClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get language-modularity running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
language-modularity skill. Agent Mart. https://agentmart.dev/skills/chnetajibc-language-modularity (last updated 2026-10-24)