算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
light-system-design【设计与创意】Design or modernize a software system from an evidence-backed current-state inventory through quality attributes, architecture options, API and schema contracts, migration/rollback plans, ADRs, and verification. Use for greenfield or existing monoliths, modular monoliths, services, system/API/ database design, schema migration review, data-flow relia…
独立 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-05
In 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 --json
VALIDATED 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 --json
For 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.mmd
If 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 --json
Deliver 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 --selftest
Before delivery, verify:
current_state=none).VERIFIED item has command, return code, locator, and SHA-256.