Skip to content
Back to skills

Software Design Language Adaptation

ASecurity

Adapts language-neutral architecture, behavior, boundaries, state, responsibilities, collaborations, patterns, and diagrams to idiomatic Rust, Python, TypeScript, C#, or C++. Use when implementation-facing design must account for a target language's native data, interface, ownership, error, concurrency, lifecycle, or runtime semantics without forcing object-oriented structure.

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added October 19, 2026
developmenttypescriptpythonrustgoc++c#express

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned October 19, 2026

npx -y skills add sirius-cc-wu/sirius-skills --skill software-design-language-adaptation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Software Design Language Adaptation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Software Design Language Adaptation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sirius-cc-wu-software-design-language-adaptation/badge)](https://www.skillsdirectory.com/skills/sirius-cc-wu-software-design-language-adaptation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: software-design-language-adaptation
description: Adapts language-neutral architecture, behavior, boundaries, state, responsibilities, collaborations, patterns, and diagrams to idiomatic Rust, Python, TypeScript, C#, or C++. Use when implementation-facing design must account for a target language's native data, interface, ownership, error, concurrency, lifecycle, or runtime semantics without forcing object-oriented structure.
---

# Software Design Language Adaptation

## Overview

Preserve approved behavior and design intent while expressing boundaries,
state, collaboration, variation, and lifecycle with the target language's
natural constructs. This is a general implementation-facing adaptation layer,
not a reason to force every concept into a class, type, method, or module.

## When to Use

- Language-neutral architecture, behavior, contracts, responsibilities,
  boundaries, state transitions, or collaborations need an
  implementation-facing shape.
- GRASP assignments or use-case realizations are being translated when an
  object-oriented route was deliberately selected.
- Design patterns need to be evaluated against native language mechanisms.
- UML classes, interfaces, packages, or messages need language-specific notation.
- Do not use during black-box requirements or conceptual domain modeling.

## Workflow

1. **Select one target reference.** Read only the reference for the implementation language:
   - [Rust](references/rust.md)
   - [Python](references/python.md)
   - [TypeScript](references/typescript.md)
   - [C#](references/csharp.md)
   - [C++](references/cpp.md)
2. **Preserve design intent.** Keep required behavior, invariants, boundaries,
   state transitions, collaboration, dependency direction, and variation
   forces explicit. Preserve responsibilities when they are part of the input.
3. **Choose the smallest native mechanism.** Consider values, functions, modules, algebraic variants, callables, and language protocols before creating class hierarchies.
4. **Account for runtime semantics.** Make ownership, lifetime, mutation, error, concurrency, cancellation, and resource behavior visible where the language requires it.
5. **Adapt diagrams.** Represent actual language constructs and runtime participants rather than relabeling everything as a class or object.
6. **Reconcile physical boundaries.** Treat logical packages as evidence, then apply repository governance before creating files, modules, projects, crates, or libraries.

## File Output

Before creating a new document, apply
[Artifact Selection Budget](../select-technical-artifacts/references/artifact-selection-budget.md).
Prefer merging implementation-facing guidance into the design artifact it
adapts when that artifact remains the clear owner.

When persisting a standalone Markdown adaptation note, follow
[Markdown Artifact Frontmatter](../iterative-risk-driven-development/references/markdown-artifact-frontmatter.md)
and use STE-style.
Use `type: "Implementation Design Adaptation"`, a `language` field with the
selected target, and identity, summary, lifecycle, and tags as appropriate.
When modifying another design artifact, merge the language metadata into that
file's existing frontmatter only if the file as a whole is language-specific;
otherwise keep the adaptation details in the body. Do not add a second
frontmatter block.

## Boundaries

- Requirements and operation contracts remain language-neutral; adaptation
  links to them rather than rewriting them around target-language constructs.
- Domain concepts do not automatically become implementation types.
- A responsibility or operation may map to a type, method, function, module,
  closure, process, task, data transformation, or other native construct.
- A pattern name records a resolved design force; it does not require the canonical class structure from another language.
- Repository governance remains authoritative for physical source boundaries and verification commands.

## Verification

- [ ] The selected construct has a language-specific justification.
- [ ] Approved behavior, invariants, and boundary semantics remain intact.
- [ ] Ownership, lifecycle, errors, and concurrency are explicit where relevant.
- [ ] Polymorphism matches whether variation is open or closed and static or runtime-selected.
- [ ] Diagrams distinguish compile-time declarations from runtime collaborators.
- [ ] No class, interface, factory, or module exists only to preserve language-neutral diagram symmetry.
- [ ] The adaptation explains the preserved design intent and important runtime consequence before language-specific detail.
- [ ] A standalone Markdown adaptation exposes its artifact type, target language, summary, and lifecycle metadata in one frontmatter block.

Files in this skill

  • SKILL.md4.7 KB
  • references/cpp.md6.7 KB
  • references/csharp.md6.5 KB
  • references/python.md6.2 KB
  • references/rust.md7.3 KB
  • references/typescript.md5.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.