Architecture Decisions and ADRs
first-fluke/oh-my-agent
Evaluates system boundaries and tradeoffs and writes architecture recommendations, option comparisons or ADRs, with a Mermaid diagram when structure changes.
Evidence-based workflow for designing or modernizing a software system: current-state inventory, options, API and schema contracts, migration plans, ADRs and verification.
$ npx skills add Light0305/Light-skills --skill light-system-design -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Light0305/Light-skills light-system-design --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/light-system-design .claude/skills/light-system-design && rm -rf skills-srcUse ~/.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/
Install the "light-system-design" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-system-design into .claude/skills/light-system-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-system-design", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Light0305/Light-skills/tree/master/skills/light-system-designType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Light0305/Light-skills --skill light-system-design -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Light0305/Light-skills light-system-design --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/light-system-design .agents/skills/light-system-design && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "light-system-design" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-system-design into .agents/skills/light-system-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-system-design", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Light0305/Light-skills --skill light-system-design -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Light0305/Light-skills light-system-design --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/light-system-design .cursor/skills/light-system-design && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "light-system-design" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-system-design into .cursor/skills/light-system-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-system-design", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Light0305/Light-skills.git --path skills/light-system-design--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Light0305/Light-skills --skill light-system-design -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Light0305/Light-skills light-system-design --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/light-system-design .gemini/skills/light-system-design && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "light-system-design" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-system-design into .gemini/skills/light-system-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-system-design", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Light0305/Light-skills light-system-designInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Light0305/Light-skills --skill light-system-design -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/light-system-design .github/skills/light-system-design && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "light-system-design" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-system-design into .github/skills/light-system-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-system-design", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Light0305/Light-skills --skill light-system-design -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Light0305/Light-skills light-system-design --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Light0305/Light-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/light-system-design .opencode/skills/light-system-design && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "light-system-design" agent skill from https://github.com/Light0305/Light-skills/tree/master/skills/light-system-design into .opencode/skills/light-system-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "light-system-design", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
light-system-designEvidence-based workflow for designing or modernizing a software system: current-state inventory, options, API and schema contracts, migration plans, ADRs and verification.
The skill owns system boundaries, runtime interfaces, operational data stores, migrations and architecture decisions, and insists that a diagram, SQL file or OpenAPI document is not proof of a working system. Existing systems are treated as read-only until you pick an option and authorize exact changes. Missing facts such as traffic, SLOs, budget or compliance stay marked UNKNOWN, and the agent presents a recommendation, a viable alternative and exit conditions, then stops before choosing the database, topology or migration strategy for you.
It selects a mode by situation: greenfield requirements and option design, read-only intake followed by a current-state inventory for an existing repository, gradual modernization with compatibility and rollback for monoliths or services, a contract and consumer compatibility branch for API-only changes, and a migration branch for schema-only changes. Helper scripts cover the architecture lifecycle, contract validation, design readiness, ER diagrams and schema_lint.py, which is only a lexical heuristic, not a SQL parser or proof of zero downtime. Templates cover an architecture package, decision authorization, intake, an expand and contract migration, OpenAPI and row-level security.
Production databases and configuration are never changed; edits apply only to a disposable environment placed in scope, otherwise you receive a reviewed plan and scripts. The label VERIFIED is kept for checks that ran, with their command, return code, locator and hash, and PLANNED, UNKNOWN or UNAVAILABLE are used otherwise.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6b44f57. It shows what the files ask for, not the result of running them.
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.
Ships 5 files in scripts/ (Python), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Light System Design loads about 3.6k tokens when it runs, and up to ~5.8k if it reads all its reference files. Until then it costs about 166 tokens; SKILL.md has 1,500 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from Light0305/Light-skills at commit 6b44f57, republished under its MIT licence (© Light0305). 1,500 words, ~3,554 tokens.
.claude/skills/light-system-design/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.Own system boundaries, runtime interfaces, operational data stores, system migrations, and architecture decisions. Do not equate a diagram, SQL file, or OpenAPI document with a working, safe, or scalable system.
Read
references/system-design-resource-map.md
before any existing-system task. It defines the lifecycle, artifact contract,
decision stop, evidence states, access tiers, and cross-skill ownership. Read
references.md only for the database/API/reliability branch
that applies to the selected system.
UNKNOWN. Do not infer traffic, SLOs, consistency,
budget, compliance, migration windows, or team capability from the phrase
“system design.”schema_lint.py as a lexical heuristic. It is not a SQL parser,
query planner, lock simulator, schema diff engine, or zero-downtime proof.VERIFIED for checks that actually ran and retain their command,
return code, locator, and hash. Use PLANNED, UNKNOWN, or UNAVAILABLE
otherwise.light.findings.v1; add no
STAGE_GATES, ROUTES, stage number, or back-edge; do not attach _shared.| Situation | Mode |
|---|---|
| New system with no implementation | greenfield requirements and option design |
| Existing repository/system | read-only intake, then current-state inventory |
| Existing monolith or services changing gradually | modernization with compatibility and rollback |
| API-only change | contract and consumer compatibility branch |
| Schema-only change | dialect/version/context-specific migration branch |
| User supplied a completed package | review and evidence verification |
Capture or preserve as UNKNOWN:
For an existing system, create an intake manifest from
templates/system-intake.template.json
and run:
python scripts/architecture_lifecycle.py intake <root> \
--manifest <system-intake.json> --out <evidence-dir>Keep --out outside the source root. Read all emitted artifacts and verify
source_unchanged=true.
Produce:
UNKNOWN;UNKNOWN plus the measurement
plan rather than inventing numbers;none, but the gap list still records missing evidence;Do not silently convert a code search into an architecture truth. Mark each fact as declared, observed, inferred, or unknown.
Present at least:
Then stop. Ask the user to select an option and authorize exact action IDs. Do not prewrite the user's choice or generate the chosen schema/API/migration/ ADR as if approval already existed.
Before presenting the decision, validate that requirements, capacity estimates, current/target state, fitness functions, at least two genuinely different options, hard-constraint and fitness evidence, tradeoffs, rejection conditions, reversal costs, and migration/deprecation stance are present:
python scripts/design_readiness.py --input templates/design-readiness.example.json \
--as-of 2026-07-05In proposal, PASS means only ready_for_user_decision=true; it never writes
the selection, and the report emits a canonical option_packet_sha256 for each
option. In authorized, the selection must be paired with a
light.system-design.v2.authorization whose option digest still matches,
whose approved action IDs are a subset of that option, whose target is
explicitly disposable, whose rollback cannot be waived, and whose date is not
later than --as-of. The walking skeleton
(entry/core_path/state_boundary/observable_result/failure_probe/verification/action_ids)
may contain only approved actions before ready_for_implementation=true.
For each option, state whether migration/deprecation is applicable. If it is applicable, the option must be replacement-first. Consumer inventory is a list of stable consumer/interface IDs, owners, usage status, evidence state, evidence locator/date, or an explicit measurement plan. Telemetry is a structured metric/source/evidence record. Rollout is a sequence of phases with entry, exit, and rollback conditions; rollback has a trigger, action, and verification. A deprecation compatibility window has start, end, and removal conditions. Plain strings do not satisfy these fields. If migration is not applicable, record why; do not leave it blank.
Use
templates/decision-authorization.template.json
after the user responds. Copy the selected digest emitted by
design_readiness.py; a changed requirement, state model, fitness function, or
selected option changes that digest and requires fresh authorization.
After authorization, produce only the selected scope:
Use
templates/architecture-package.template.md.
Treat bundled SQL/OpenAPI files as dialect/version-labeled examples, never as
production defaults.
Define versioning, authn/authz boundary, error model, pagination, idempotency, compatibility window, and deprecation. Validate OpenAPI with:
python scripts/contract_validate.py --spec openapi.yaml \
--examples examples.json --jsonVALIDATED requires openapi-spec-validator plus successful example-schema
checks. STRUCTURE_ONLY or UNAVAILABLE is not contract validation.
Keep four tasks separate:
Run the heuristic linter only with an explicit dialect and relevant context:
python scripts/schema_lint.py --ddl migration.sql \
--dialect postgresql --server-version 18 \
--context migration-context.json --jsonFor authoritative diff/drift, use a real engine/tool selected for the project (for example Atlas, Skeema, Alembic, Flyway, Liquibase, or Prisma) and preserve its command/output. Do not claim this skill implements those engines.
Generate an ER view from a schema spec:
python scripts/er_diagram.py --in schema.yaml --strict --out schema.mmdIf Mermaid rendering is unavailable, report syntax/structure verification only.
Verify as applicable:
Record authorization binding, source-intake binding, implemented action IDs, artifact hashes, and verification entries in the package manifest, then run:
python scripts/architecture_lifecycle.py verify-package \
--package package-manifest.json --jsonDeliver only when the package distinguishes VERIFIED, PLANNED, UNKNOWN,
and UNAVAILABLE; every VERIFIED entry is evidence-backed; the manifest
binds the copied authorization file, option digest, approved action IDs, and
implemented action IDs; and existing-system packages bind the read-only
intake-integrity.json hash. Artifact and verification locators in the
manifest are resolved relative to the manifest's directory and must stay inside
that package directory; ../, absolute paths to outside evidence, or
current-working-directory-dependent locators are not a portable delivery
package.
system-design: system boundaries, runtime interfaces, operational schema,
system migration, reliability choices, ADRs.project-structure: visible file tree and authorized file moves. Borrow its
protection discipline; never send schema migration back to it.data-engineering: research-data quality, lineage, transformations, splits,
and data release. A service database is not a research dataset pipeline.frontend-design: interaction and interface implementation. This skill owns
backend/API boundaries, not UI.research-ethics: final ethics/privacy judgment. This skill proposes design
controls and review items only.orchestrator: may consume delivered state; it receives no invented gate.Run every script self-test:
python scripts/architecture_lifecycle.py --selftest
python scripts/schema_lint.py --selftest
python scripts/er_diagram.py --selftest
python scripts/contract_validate.py --selftest
python scripts/design_readiness.py --selftestBefore delivery, verify:
current_state=none).VERIFIED item has command, return code, locator, and SHA-256.© Light0305, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 15 other files (scripts, references) in skills/light-system-design of Light0305/Light-skills.
Open the folder on GitHubat commit 6b44f57
Light System Design 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Light System Design this skillLight0305/Light-skills | 641 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Architecture Decisions and ADRsfirst-fluke/oh-my-agent | 1.3k | — | ~2.6k | Automated safety check: Pass | MIT | |
| System Designopenxlings/xlings | 615 | 1 repos | ~328 | Automated safety check: Pass | Apache-2.0 | |
| Free Willsyahiidkamil/Software-Engineer-AI-Agent-Atlas | 401 | — | ~3.4k | Automated safety check: Pass | None | |
| Friction ReviewThibautBaissac/rails_ai_agents | 665 | — | ~1.7k | Automated safety check: Notes | MIT | |
| API Architectcuriositech/some_claude_skills | 243 | 1 repos | ~1.4k | Automated safety check: Pass | MIT |
first-fluke/oh-my-agent
Evaluates system boundaries and tradeoffs and writes architecture recommendations, option comparisons or ADRs, with a Mermaid diagram when structure changes.
openxlings/xlings
Design systems, services, and architectures. An agent skill from openxlings/xlings.
syahiidkamil/Software-Engineer-AI-Agent-Atlas
Deliberate-choice procedure for a medium-to-high-stakes engineering fork — when the first plausible solution (the instinct, the default next-token pull) would be costly to get wrong.
ThibautBaissac/rails_ai_agents
Multi-axis adversarial review using friction engineering. An agent skill from ThibautBaissac/rails_ai_agents.
curiositech/some_claude_skills
Expert API designer for REST, GraphQL, gRPC architectures. An agent skill from curiositech/some_claude_skills.
langgenius/dify
Reviews backend code under api/ for concrete, reproducible defects, routes to rule packs for architecture, schema, repositories and SQLAlchemy, and ranks findings from P0 to P3.
Light0305/Light-skills
Verifies that every reference in a manuscript is real, correctly identified and actually supports its claim, and produces a citation registry for typesetting.
Light0305/Light-skills
Coordinates and recovers multi-stage Light research projects from a single passport file, with checkpoints, stale-work tracking and rerouting only when you approve.
Light0305/Light-skills
Builds an evidence-backed invention disclosure packet from a project or research result for attorney or patent-agent review, without giving legal advice.
Light0305/Light-skills
Audits, scaffolds and safely migrates research project folder structures, keeping existing repositories read-only until you approve exact moves from a plan.
Light0305/Light-skills
Prepares draft materials for a China software copyright registration from a real project: application worksheet, source deposit plan, operation manual and consistency checks.
Light0305/Light-skills
Build and preflight submission-ready LaTeX/PDF artifacts for Light stage 11.
Works with
Categories
Evidence-based workflow for designing or modernizing a software system: current-state inventory, options, API and schema contracts, migration plans, ADRs and verification. The skill owns system boundaries, runtime interfaces, operational data stores, migrations and architecture decisions, and insists that a diagram, SQL file or OpenAPI document is not proof of a working system. Existing systems are treated as read-only until you pick an option and authorize exact changes.
Light System Design fits situations like: designing a new system or choosing between architecture options with explicit trade-offs; planning a monolith modernization with compatibility and rollback steps; reviewing a schema migration or API contract change before anyone applies it.
Run `npx skills add Light0305/Light-skills --skill light-system-design -a claude-code`. Or copy the skill folder (skills/light-system-design in Light0305/Light-skills) into .claude/skills/light-system-design in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Light0305/Light-skills --skill light-system-design -a codex`. Or copy the skill folder (skills/light-system-design in Light0305/Light-skills) into .agents/skills/light-system-design in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Light0305/Light-skills --skill light-system-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/light-system-design, .gemini/skills/light-system-design, .github/skills/light-system-design and .opencode/skills/light-system-design in your project.
Going by SKILL.md and its folder, Light System Design needs Python for the scripts in its folder. Our summary lists: Python to run the bundled helper scripts; Read access to the repository, schema and API specs of an existing system.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Light System Design is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Light System Design: Architecture Decisions and ADRs (first-fluke/oh-my-agent, 1.3k stars), System Design (openxlings/xlings, 615 stars), Free Will (syahiidkamil/Software-Engineer-AI-Agent-Atlas, 401 stars) and Friction Review (ThibautBaissac/rails_ai_agents, 665 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Light0305 (a GitHub user) maintains it in Light0305/Light-skills, which has 641 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on July 6, 2026.
Source: Light0305/Light-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.