agentleFS
orbyn-devorbyn-dev/orbyn-fullstack-skills/skills/language-best-practices/SKILL.md

language-best-practices

Skill4 starsChanged 10 days agoMITView on GitHub

Implement or review TypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, C#, Swift, C, C++, SQL or shell code using its actual runtime, ownership and error contracts. Select only the affected local guide, including TypeScript schemas and lifecycle contracts.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill for code changes and language-specific review.

    line 8
  2. Distinctive:

    Use the existing project's idioms and supported version.

    line 53
  3. Distinctive:

    Use types to represent valid combinations and handle variants exhaustively where the language permits.

    line 72
  4. Distinctive:

    When Expo is actually present or explicitly selected, inspect SDK/runtime and native ownership, then the affected language guide.

    line 80

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Apply the language's actual contracts

Use this skill for code changes and language-specific review. Resolve the consuming checkout, instructions and affected files with how. Read the project's manifests, lockfiles, compiler/runtime targets, formatter and existing callers. A file extension is a routing hint, not proof of an application's stack, version, deployment model or permission to migrate it.

For every code change or review, read the code quality baseline first, then the language guide.

Select only the relevant guide

Changed codeLocal guideAdditional owner when relevant
JavaScript, Node, browser JSJavaScriptTypeScript schemas → TypeScript guide
PythonPythonAPI effects → backend design
GoGoDurable workers → backend design
RustRustFFI/data boundaries → architect
JavaJavaJVM interop → Kotlin guide only if affected
KotlinKotlinAndroid lifecycle/UI → UI design
C# / .NETC#Database effects → backend design
SwiftSwiftPlatform interaction → UI design
CCABI/interface ownership → architect
C++C++C interop → C guide only if affected
SQLSQLStored changes → data migration
POSIX shell / Bash / zshShellAutomation trust → CI design
TypeScript, including schemas and lifecycle typesTypeScriptJS runtime guide only for runtime effects

For a polyglot boundary, load the guides on both sides of the actual interface, not every guide in the repository. For an unlisted language, preserve the project's owning conventions and use focused research; do not guess that a neighboring language has the same semantics. The optional dependency-free router maps provided repository-relative paths to local guides; the agent can use it directly. It reads names only and executes no project code. It does not crawl the workspace, identify versions, choose frameworks or guarantee that a header is C rather than C++.

Carry the behavior through its callers

Identify who owns memory/resources, cancellation, mutable state and the committed effect. Preserve input validation, authority, error meaning and cleanup across language/FFI/process boundaries. Static annotations, deserialization and a successful compile do not establish valid domain state or tenant authorization. Define byte encoding, numeric ranges, nullability and error transport explicitly at those boundaries; do not silently truncate identifiers or timestamps.

Use the existing project's idioms and supported version. Add a dependency or new abstraction only when a demonstrated requirement justifies it. When the choice of language/runtime/framework is itself unsettled, use stack selection; routine coding is not a reason to reconsider the whole stack. Domain/API design stays with architect and backend design.

Select authorized checks by the changed contract under CI design: relevant compiler/analyzer/formatter and failure-sensitive behavior checks. Reuse configured commands and disposable fixtures. Do not install every toolchain, run all suites or claim production, platform, race freedom or live-agent qualification from these written examples.

The guides work offline. Their dated references are update pointers, and version notes apply only when the project's own target matches. Report what you could not confirm for the installed version.

Express valid states

Use types to represent valid combinations and handle variants exhaustively where the language permits. Parse external/persisted data at runtime; types and casts prove neither authorization nor freshness. Avoid ceremony that burdens callers. The type-system method supplies a worked check; implementation details stay in the relevant language reference.

Expo runtime

When Expo is actually present or explicitly selected, inspect SDK/runtime and native ownership, then the affected language guide. EAS-only native delivery does not select an Expo runtime migration.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.