Technical Spec logo

Technical Spec

Community
shinpr
technical-spec

定义环境变量、架构设计以及构建/测试命令。在配置环境或设计架构时使用。

Overview

Publishershinpr
Repositoryai-coding-project-boilerplate
Skill nametechnical-spec
Stars
234
Forks
28
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by shinpr on GitHub. Read the source before you install it.

Installation

Install the Technical Spec AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/skills-zh-CN/technical-spec
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/shinpr/ai-coding-project-boilerplate.git /tmp/ai-coding-project-boilerplate
mkdir -p .claude/skills
cp -r /tmp/ai-coding-project-boilerplate/.claude/skills-zh-CN/technical-spec .claude/skills/technical-spec
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Technical Spec in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Technical Spec on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Technical Spec is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

技术设计规则

前置条件检测

在应用与技术或命令相关的具体规则之前,先检查清单文件、锁文件、构建/测试配置、CI 定义以及具有代表性的源文件。只有当仓库中的证据明确指出某个工具、脚本、路径别名或运行时,才将其视为已观察到。将从周边模式推断出的结论标注为推断。当某个缺失的决策会影响架构、兼容性、安全性或验证时,停下来明确指出所需的具体配置或用户决策。

基础技术栈方针

当仓库配置确认使用 TypeScript 应用栈时,以下规则适用。通过将当前需求与已接受的约束映射到明确的模块职责、依赖方向、数据流和验证边界来选择架构。

环境变量管理与安全

环境变量管理

  • 集中管理环境变量,以及用于保证其类型安全的构建时校验机制
  • 通过一个带类型的配置边界读取环境变量;应用代码只使用经过校验的配置值
  • 仅当需求中定义了缺省情况下的有效行为时,才为变量设置默认值;否则应在配置校验阶段失败,并给出该变量名称和期望格式

安全

  • 将本地 .env 文件排除在版本控制之外,并为所需的变量名提供不含机密信息的示例文件
  • 从已配置的密钥存储或运行时环境边界加载 API 密钥和机密信息
  • 仅记录并返回当前信任边界所批准的字段;在跨越不可信边界返回数据前,屏蔽凭据、令牌、个人数据和内部诊断信息

架构设计

架构设计原则

使用以下可观测的决策来选择架构:

  • 职责:每个模块/层要明确说明自己拥有的行为以及委托出去的行为
  • 依赖方向:导入和运行时调用应遵循在配置或具有代表性的实现中观察到的项目边界规则
  • 状态/数据所有权:每个持久化或可变的值都应有唯一的权威所有者
  • 验证边界:每个公开契约都应有能够观测到它的单元测试、集成测试或 E2E 检查

统一数据流原则

基本原则
  1. 单一数据源:同一信息只存放在一个地方
  2. 结构化数据优先:使用解析后的对象而非 JSON 字符串
  3. 职责分离:每一层要明确说明自己拥有的数据或行为,以及其他层使用它的边界
数据流最佳实践
  • 输入端校验:在输入层校验数据,并以类型安全的形式在内部传递
  • 集中式转换:将数据转换逻辑集中到专门的工具函数中
  • 结构化日志:在数据流的每个阶段输出结构化日志

构建与测试

按以下优先顺序从 packageManager 字段、锁文件或既有的 CI 命令中选择包管理器。只执行所选清单文件中存在的脚本。

构建命令

  • build - TypeScript 构建
  • type-check - 类型检查(不生成产物)

测试命令

  • test - 运行测试

质量保障机制的识别

在执行质量检查之前,先识别变更所涉及区域存在哪些质量机制:

  • 主要检测方式:检查变更区域的文件类型、项目清单和配置,识别适用的质量工具
    • 检查 CI 流水线定义中是否有覆盖受影响路径的检查
    • 检查是否存在特定领域的 linter 或校验器配置(例如 schema 校验器、API 规范校验器、配置文件 linter)
    • 检查项目配置中是否存在特定领域的约束(命名规则、长度限制、格式要求)
  • 当任务文件提供了 Operation Verification Methods 时,将其作为任务专属检查项运行
  • 将发现的特定领域检查项与下述标准阶段一并纳入

质量检查要求

实现完成后必须进行质量检查:

阶段 1-3:代码质量检查

  • 从 package.json 的 scripts 中自动检测并执行以下内容:
    • lint + 格式检查
    • 检测未使用的导出
    • 检测循环依赖
    • TypeScript 构建

过渡依据:所有适用的静态/领域检查均成功退出。缺失的必需脚本应连同其清单/配置路径一并报告,其余检查仍照常运行;该缺失的检查是否导致所需证明不可得,由 quality-fixer 的结果判定。

阶段 4:测试

  • test - 执行测试

过渡依据:所有适用的已配置测试套件均通过,或依赖特定环境的套件被记录为受阻,并附带其确切的前置条件。

阶段 5:代码质量复验

  • check:code - 复验代码质量(清理阶段 4 测试修复产生的副作用)

完成依据:测试相关修复之后静态/领域检查仍然通过,构建成功,且所有必需测试均已通过或被明确标记为受阻。

辅助命令

  • check:all - 整体综合检查(check:code + test)*用于人工批量验证
  • format - 格式修复
  • lint:fix - Lint 修复

故障排查

  • 依赖错误:首先记录失败的解析器输出、所选的包管理器、清单文件和锁文件状态。只有在保留锁文件和生成产物的前提下,才使用仓库既有的干净安装命令;在执行会移除或重新生成依赖状态的操作之前,先请求批准

Frequently asked questions

What does the Technical Spec AI skill do?

定义环境变量、架构设计以及构建/测试命令。在配置环境或设计架构时使用。

Why use Technical Spec on TypingMind?

Because you install it once and use it with any model. Technical Spec is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Technical Spec in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/skills-zh-CN/technical-spec. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Technical Spec?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Technical Spec?

As many as you like. As long as a model supports skills, you can use Technical Spec with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Technical Spec AI skill free?

Yes. It is published on GitHub by shinpr under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇