跳到正文
cccskills
免费在 GitHub 公开

tech-spec

Produces implementation-ready technical specifications with concrete contracts, module boundaries, data flows, file changes, and test slices. Use for architecture or implementation handoffs.

中文简介正在准备中。当前显示原文说明。

iurysza/ultra星标 5(GitHub 5 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md4.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Technical Specification

A tech spec is a typed architecture handoff. Types and call stacks define what changes; prose explains why.

This workflow is design-only. Do not implement. Write durable specs to ai-artifacts/specs/YYYY-MM-DD-<topic>.md unless the user or repository explicitly requires another location.

Choose the path

  • Convert context: use when conversation, docs, and code already define the problem and constraints.
  • Set up the goal first: use the setup-goal skill when important requirements, boundaries, or acceptance criteria remain unresolved.

Answer repository questions by inspecting the repository. Ask the user only for decisions.

Build the spec

1. Establish current state

Read relevant code, tests, docs, project instructions, domain vocabulary, and architectural decisions. Trace the existing entrypoint-to-effect flow.

Capture the problem, callers, goals, non-goals, constraints, invariants, affected systems, operational concerns, risks, and open questions. Do not invent missing requirements.

2. Compare real alternatives

Offer materially different designs. They should differ in ownership, interfaces, seam placement, call stack, runtime topology, or state model—not merely names.

For each option show:

  • domain and application types
  • public interfaces
  • module and adapter ownership
  • entrypoint-to-effect call stack
  • failure and cancellation behavior
  • persistence and transaction boundaries
  • testing seams
  • costs and risks

Choose the recommendation only after comparison.

3. Define contracts

Sketch every new or changed boundary in code:

type Input = { /* parsed application values */ };
type Output = { /* caller-visible result */ };
type ExpectedFailure = FailureA | FailureB;

interface Capability {
  execute(input: Input): Promise<Result<Output, ExpectedFailure>>;
}

Cover domain values, state variants, request/response shapes, parsers, functions, ports, adapters, records, events, and public APIs as applicable. State what may cross each boundary and what must remain private.

4. Trace behavior end to end

For every affected behavior, show the call and data flow:

raw input
  -> protocol parser
  -> application/domain input
  -> service or domain operation
  -> outbound port
  -> adapter and external effect
  -> typed result or failure
  -> protocol projection

Include old versus proposed flow when changing an existing path. Add authorization, retries, cancellation, idempotency, transactions, observability, and runtime hops when reachable.

5. Map files

List files to add, change, and delete. Give each file one clear responsibility tied to a contract or call-stack step.

6. Plan vertical test slices

Use red-green cycles, one behavior at a time:

  1. agree on the public seam;
  2. add one failing behavior test;
  3. write the minimum implementation to pass;
  4. repeat with the next behavior.

Cover happy paths, important failures, parser rejection, domain invariants, adapter contracts, persistence/runtime semantics, and end-to-end high-consequence flows. Avoid a horizontal “all tests, then all code” plan.

Required outline

# Title

## Summary
## Current State
## Goals
## Non-Goals
## Invariants and Constraints
## Alternatives
## Recommendation
## Domain Model and Types
## Interfaces and APIs
## Boundaries and Adapters
## Call Stacks and Data Flow
## Files to Add, Change, or Delete
## Red-Green Test Plan
## Risks and Open Questions

Compress sections that do not apply, but never omit changed contracts, call stacks, seams, or tests merely because they are difficult to specify.

Completion criteria

  • every requirement is grounded or marked open
  • alternatives are materially different
  • each changed boundary has a concrete contract
  • each behavior has an end-to-end call stack
  • each contract maps to a file or open question
  • the test plan proceeds in vertical red-green slices
  • another engineer can implement without guessing architecture

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Transcribes local audio into Markdown with Gemini 3.5 Transcribe, including speaker labels and provider timestamps. Use for interviews, meetings, lectures, podcasts, voice notes, and similar recordings.

中文简介正在准备中。当前显示原文说明。

iurysza/ultra52026年10月22日 更新

better-ui

免费

Design engineering principles for making interfaces feel polished. Use when building UI components, reviewing frontend code, implementing animations, hover states, shadows, borders, micro-interactions, enter/exit animations, choosing or reviewing icons, or any visual detail work. Triggers on UI polish, design details, "make it feel better", "feels off", stagger animations, theme switch transitions, border radius, optical alignment, image outlines, box shadows, icons, icon stroke weight, icon states, motion restraint.

中文简介正在准备中。当前显示原文说明。

iurysza/ultra52026年10月22日 更新

Explores and validates a feature, component, workflow, or behavior change before implementation. Use when work needs clarified intent, compared approaches, and an approved direction.

中文简介正在准备中。当前显示原文说明。

iurysza/ultra52026年10月22日 更新

bro

免费

Restates the previous response in plain, concise language. Use only when the user invokes bro or explicitly asks for a simpler explanation.

中文简介正在准备中。当前显示原文说明。

iurysza/ultra52026年10月22日 更新

Generates or edits raster images through OpenAI's Image API. Use for text-to-image work, reference-based edits, masks, transparent assets, and product or editorial visuals.

中文简介正在准备中。当前显示原文说明。

iurysza/ultra52026年10月22日 更新

Applies language-neutral engineering standards when writing or reviewing code, especially around boundaries, failures, domain models, dependencies, tests, and type safety.

中文简介正在准备中。当前显示原文说明。

iurysza/ultra52026年10月22日 更新

查看 iurysza 的全部技能

报告此技能的问题