본문으로 건너뛰기
cccskills
무료GitHub에 공개

architect

Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use for /architect, 'architect this', 'design this', or non-trivial work where jumping to code would lock in the wrong shape.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell스타 348(GitHub 348 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(5)

  • SKILL.md6.8 KB
  • agents/openai.yaml43 B
  • references/design-red-flags.md4.0 KB
  • references/rationale-template.md3.5 KB
  • references/runner-prompt.md4.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Architect

Sketch Haskell types, function signatures, service records, relevant typeclass or instance shapes, and module boundaries for NeoHaskell framework, language, and toolchain internals. State the semantic contract alongside the types, including evaluation or representation behavior when relevant. Mark incomplete bodies and logic explicitly in the sketch. Compare independent candidate perspectives, then fill in code against the chosen sketch within the caller's requested scope.

Start

Open a todolist with one entry per phase before starting.

  1. Ground
  2. Sketch
  3. Agree
  4. Implement
  5. Scrap

Phase A: Ground the problem

Build a real mental model of every system the new code touches. Run the how skill over the relevant subsystems. Naming a file isn't grounding. Produce the architectural explanation how prescribes. If the design redefines ownership or layering, also run the why skill on the existing shape so the rationale becomes a constraint, not a guess.

Use How's local codemap to locate relevant modules, signatures and service fields before reading their source. Its source index refreshes on lookup. Confirm evidence and coverage against the maintained implementation before making an architectural claim.

Skip Phase A only when the work is genuinely greenfield with no surrounding system to integrate.

Phase B: Sketch

Run the arena skill with the design-sketch task and the Phase A grounding artifacts. Pass references/runner-prompt.md as each runner's prompt.

Use the current environment's configured architecture runner roles through arena and its available delegation interface. Inherit supported runtime defaults when no role override is configured; report unsupported overrides rather than inventing fallback identifiers. Use only supported reasoning and speed settings. Centralized role configuration is managed separately; keep candidate investigations independent within the available delegation capacity.

Design it twice. Require at least two structurally distinct candidates before synthesis, even when the first looks sufficient. This is the exhaust-the-design-space principle skill made concrete. Whole-shape alternatives, not point fixes inside one shape.

Screen every candidate against references/design-red-flags.md before synthesis. Apply Security by Construction and Design for Throughput to each candidate: identify relevant trust/authority boundaries, safe defaults and whole-flow costs. Carry assumptions, tradeoffs and required evidence into the rationale; keep the treatment proportionate to the affected path. Assume the next contributor is an agent that sees only the files it opened, copies the nearest example, and takes the shortest path that compiles. Prefer the design where a change that looks right from one file is right for the whole repo.

Compare viable candidates on interface depth. Prefer the design that hides more complexity behind a smaller, simpler public surface. A rich interface can keep call chains short by concentrating capability instead of scattering it across layers.

Arena returns one synthesized design package. Its synthesis decision fills the rationale's "Synthesis decision" section.

Phase C: Agree (opt-in)

Default for an implementation request: proceed directly to implementation with the synthesized design. No human checkpoint. For a request limited to design or a sketch, deliver the design package and stop at that requested scope.

Opt in to a checkpoint when the invoker explicitly asks: "/architect with checkpoint," "stop and show me before implementing," or similar. Then surface the synthesized design and pause for sign-off.

The synthesis can ship as its own commit either way, as the "scaffold first" mode of the foundational-thinking principle skill. Planned and scoped breakage during fill-in is fine, per the outcome-oriented-execution principle skill. For adversarial pressure on the design before implementing, run the interrogate skill on the synthesized sketch.

If the human pushes back on the shape (in a checkpoint or after the fact), treat that as Phase A evidence. Re-ground and re-run Phase B before writing more code.

Phase D: Implement against the sketch

Replace explicitly incomplete sketch bodies and pseudocode with Haskell implementations. Keep incomplete definitions confined to sketch artifacts or the declared scaffold phase; typechecking an incomplete definition does not prove its behavior. The synthesized sketch is the contract. Deviations from it are signal to surface, not friction to absorb silently. If a function needs a parameter the sketch didn't anticipate, ask whether the sketch was wrong, the requirement was missed, or the implementation is overreaching.

Phase E: Scrap when the architecture is wrong

If implementation keeps producing friction the sketch can't absorb, throw the sketch out. Don't bolt fixes onto a wrong design, per the redesign-from-first-principles and fix-root-causes principle skills.

The signal is a pattern, not single instances. Tells:

  • The same shape of workaround appearing repeatedly across unrelated code.
  • Multiple unrelated edge cases that all need special-case branches.
  • Types that need escape hatches such as unsafeCoerce, partial functions, or Maybe fields that callers must always unwrap to satisfy an unstated invariant.
  • Synchronization appearing across callers because the sketch missed the subsystem that owns the shared-state invariant or worker lifetime.
  • Callers having to know the abstraction's internal rules to use it.
  • Two or more independent Phase D deviations of the same shape across the implementation.

Use judgment. A few edge cases don't condemn an architecture. Some problems are legitimately complex. Complexity in the data is not complexity in the design.

When you scrap:

  1. Re-run the how skill over what's been built.
  2. Redesign as if the new constraints had been day-one assumptions, per redesign-from-first-principles.
  3. Subtract before adding, per the subtract-before-you-add principle skill. The new sketch should be smaller than the old one before it grows.
  4. Return to Phase B and re-run arena.

Outputs

The caller's usage is written first and the type sketch derived from it. One file with new types and signatures for small changes. Module map plus type definitions for larger work. The rationale ships alongside, shaped per references/rationale-template.md, including the usage sketch and the synthesis decision.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

arena

무료

Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for /arena, 'arena this', 'throw it in the arena', or when one attempt at a non-trivial artifact would lock in the wrong shape.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

babysit

무료

Inspect or supervise a PR or stack through review and CI to merge-ready, using current GitHub evidence and the requested mode.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

Vet a perf measurement (limiter, tuning, limits, errors, repeatability, relevance, and whether the work happened) before you report or act on it. Use when you benchmark or report a measured speedup or regression, including complete framework flows and compilation of projects that consume the framework.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

bro

무료

Restate the last message in plain human language, with no jargon.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

Build or adapt a local harness to drive, inspect, and profile an interactive CLI or TUI without external services. Use for CLI UX checks, startup regressions, memory leaks, hangs, prompt flows, or terminal demos.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

Build or adapt a local browser/CDP harness to drive and inspect a web, IDE, or Electron UI. Use for local UI verification, screenshots, accessibility snapshots, perf profiles, visual diffs, or reproducing UI bugs.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

neohaskell/NeoHaskell3482026년 10월 26일 업데이트

neohaskell의 스킬 모두 보기

이 스킬의 문제 신고