算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
design【设计与创意】Use for standard or complex new work before coding or planning. Also handles vague goals — clarifies before designing.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
<gate> No code until user approves the spec. </gate>
Goal too vague to name what to build, for whom, or what success looks like? Ask one question per turn until it's concrete. Don't propose solutions until then. Working notes can hold hypotheses, experiments, ruled-out directions (spike code → temporary worktree).
Clarify in dependency order. Resolve facts from the repo/tools; ask only the current decision frontier requiring user judgment. Don't ask downstream questions before prerequisite decisions or map the full dependency tree. Stop when implementation-affecting contract, data, failure, and test decisions are decided or deferred.
Goal clear? Propose 2-3 approaches with trade-offs; recommend one. Then write the spec.
If topology=multi-module (triage announcement or coordinator spec/plan declaration), read ../references/multi-module.md before designing. Create the coordinator spec with the declaration block (topology: multi-module, change-set, coordinator, repos) - this declaration is the on-disk mode marker downstream skills rely on.
A spec answers the open questions for THIS change. Typical:
Do spec idiomatically. Record convention — stack best practices + project conventions for this change (see ../references/quality.md); tdd/review verify against it.
No question → no section. Don't fill "Risks" / "Non-goals" if empty.
Use declarations, not narrative:
contract: <interface>
invariant: <what must hold>
test: <how we'll know>
convention: <stack best practices + project conventions — see ../references/quality.md>
deferred: <not deciding now>
Reference code by path; never paste it.
Before handoff, close only decisions that affect implementation: contract, data, failure, test. Unresolved Working notes in those areas become decisions, deferred, or questions.
docs/staging/specs/YYYY-MM-DD-<topic>.md## Working notes: scratch, open questions, hypotheses, ruled-out directions (stripped at ship).docs/ROADMAP.md already exists?
docs/ROADMAP.md.docs/ROADMAP.md does not exist?
docs/ROADMAP.md:
- [ ] M1: <one-line goal>
- [ ] M2: <one-line goal>
- [ ] M3: <one-line goal>
Stubs are intent, not commitment; update before expanding.
If roadmap exists or was created, reference the current milestone in staging spec:
milestone: M1 (see docs/ROADMAP.md)
After spec is written to disk and before handing off to plan, inspect the spec to decide how many reviewers to dispatch. Read ../references/reviewers.md for the trigger table and reviewer charters.
Count the triggers that match the spec. If only trigger 1 fires (the baseline), dispatch a single spec-compliance reviewer — this is the default behavior, same cost as today. If multiple triggers fire, dispatch each reviewer as an independent subagent in parallel.
All reviewers receive the spec path (not the spec content — let them read it). Collect findings, then synthesize: evaluate each finding critically, resolve conflicts between reviewers, spot what was missed, judge severity, and patch the spec once. Present to user: what was found, fixed, deferred — and why.
Report to user: which triggers fired, which reviewers ran, what was found and fixed.
If the user decides not to proceed after clarification, stop here. No spec, no plan, no ship. Record reason briefly in working notes. If exploration produced a knowledge artifact (protocol spec, RE findings, data structure map), save it to docs/decisions/ via archive.
<gate>
docs/staging/specs/YYYY-MM-DD-<topic>.md must exist on disk before handing off to plan. For multi-module work, the coordinator spec and every affected module spec must exist in their owning repositories.</gate>