language-modularity
Per-language module structure: Python, TypeScript, JavaScript, Go, Rust, Java.
Skill by chnetajibc
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
Cite this page
language-modularity skill. Agent Mart. https://agentmart.dev/skills/chnetajibc-language-modularity (last updated 2026-10-24)