Integration E2E Testing
shinpr/ai-coding-project-boilerplate
Selects and designs the smallest integration/E2E test set that proves accepted behavior at an observable boundary.
使用 9 种内容模式和 10 条编辑原则评估并优化技能文件质量。适用于创建技能、完善技能内容或审计技能质量的场景. An agent skill from shinpr/ai-coding-project-boilerplate.
$ npx skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install shinpr/ai-coding-project-boilerplate skill-optimization --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/shinpr/ai-coding-project-boilerplate.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills-zh-CN/skill-optimization .claude/skills/skill-optimization && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "skill-optimization" agent skill from https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/skills-zh-CN/skill-optimization into .claude/skills/skill-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-optimization", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/skills-zh-CN/skill-optimizationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install shinpr/ai-coding-project-boilerplate skill-optimization --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shinpr/ai-coding-project-boilerplate.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills-zh-CN/skill-optimization .agents/skills/skill-optimization && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skill-optimization" agent skill from https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/skills-zh-CN/skill-optimization into .agents/skills/skill-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-optimization", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install shinpr/ai-coding-project-boilerplate skill-optimization --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shinpr/ai-coding-project-boilerplate.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills-zh-CN/skill-optimization .cursor/skills/skill-optimization && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "skill-optimization" agent skill from https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/skills-zh-CN/skill-optimization into .cursor/skills/skill-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-optimization", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/shinpr/ai-coding-project-boilerplate.git --path .claude/skills-zh-CN/skill-optimization--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install shinpr/ai-coding-project-boilerplate skill-optimization --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shinpr/ai-coding-project-boilerplate.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills-zh-CN/skill-optimization .gemini/skills/skill-optimization && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "skill-optimization" agent skill from https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/skills-zh-CN/skill-optimization into .gemini/skills/skill-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-optimization", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install shinpr/ai-coding-project-boilerplate skill-optimizationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/shinpr/ai-coding-project-boilerplate.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills-zh-CN/skill-optimization .github/skills/skill-optimization && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "skill-optimization" agent skill from https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/skills-zh-CN/skill-optimization into .github/skills/skill-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-optimization", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install shinpr/ai-coding-project-boilerplate skill-optimization --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shinpr/ai-coding-project-boilerplate.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills-zh-CN/skill-optimization .opencode/skills/skill-optimization && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "skill-optimization" agent skill from https://github.com/shinpr/ai-coding-project-boilerplate/tree/main/.claude/skills-zh-CN/skill-optimization into .opencode/skills/skill-optimization/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-optimization", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skill-optimization使用 9 种内容模式和 10 条编辑原则评估并优化技能文件质量。适用于创建技能、完善技能内容或审计技能质量的场景. An agent skill from shinpr/ai-coding-project-boilerplate.
Skill Optimization is an agent skill from shinpr/ai-coding-project-boilerplate. 使用 9 种内容模式和 10 条编辑原则评估并优化技能文件质量。适用于创建技能、完善技能内容或审计技能质量的场景。
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/creation-guide.md` and `references/review-criteria.md`).
The repository describes itself as: Agentic coding TypeScript boilerplate for Claude Code: sub-agent workflows with built-in quality checks and context engineering. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 56913a2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Skill Optimization loads about 1.4k tokens when it runs, and up to ~3.8k if it reads all its reference files. Until then it costs about 19 tokens; SKILL.md has 289 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from shinpr/ai-coding-project-boilerplate at commit 56913a2, republished under its MIT licence (© shinpr). 289 words, ~1,412 tokens.
.claude/skills/skill-optimization/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.会直接降低 LLM 使用该技能时执行准确性的问题。
| 检测 | 转换 |
|---|---|
| 技能指令中出现“不要”、“禁止”、“永远不要”、“避免” | 首先陈述期望的动作或允许的状态。仅当违反行为是不可逆的操作性动作、调用方通常无法恢复、且纯正向改写会模糊边界时,才保留明确的禁止性表述。将禁止性表述与安全替代方案以及允许跨越该边界的条件配对。可评审的质量策略应改写为正向形式。 |
例外边界示例:
质量策略、角色边界、评分标准和一般工作规则始终使用正向表达。调用方会校验、覆盖或丢弃的输出永远不是不可逆的。
技能示例:
userId 而非 x)”为何对技能而言是关键问题:仅有禁止性表述,会使可执行的目标状态无从确定。
| 检测 | 转换 |
|---|---|
| 模糊用词(“恰当”、“良好”、“合适”、“最佳”、“应当清晰”)遗留了一个预期成果所需的决策,且不同的合理解读会实质性改变执行或验证方式 | 按照下面的解决步骤,用限制最少但足够充分的标准来解决 |
| 未指定的格式、长度、范围、语气或成功标准,只要不同的合理解读同样能满足预期结果 | 视为可接受的灵活性;仅当只有一种解读符合要求时才添加约束(如下游使用方需要特定格式,参见 BP-003) |
解决步骤(针对第一行的发现):
技能例外:LLM 能从输入上下文中明确解决的表述(例如“用户遗留的空白之处”,当用户的提示词可供比对时)不算模糊——它描述的是确定性操作,而非主观判断。
技能示例:
为何对技能而言是关键问题:模糊指令会迫使模型在没有给定标准的情况下,选择一个影响结果的行为。
| 检测 | 转换 |
|---|---|
| 技能描述了要做什么,但未说明预期的交付物格式 | 添加输出章节,定义输出使用方(解析、路由、比对、验证)所需的结构、字段和顺序,而非按惯例随意选择格式 |
对于技能评审,输出契约包含 BP-001 至 BP-009 的覆盖情况、稳定的发现 ID、严重程度、位置、引用依据、有依据的拒绝项、需保留的要求、未解决的输入,以及最终评级。对于技能创建,输出是完整的 SKILL.md 内容,加上任何所需的同目录引用文件或脚本。
技能示例:
## Issues Found 作为报告渲染器可解析的表格:| 严重程度 | 位置 | 描述 | 建议修复方案 |”为何对技能而言是关键问题:结构化输出约束能减少幻觉,并使技能结果保持一致。
| 检测 | 转换 |
|---|---|
| 一个发现、可能性或技术上有效的改进,在不改变结果、必需边界、真实使用方或必要证明的情况下变成了强制项 | 将其视为候选项;保留必需的工作,并允许无变更、复用以及有依据支持的拒绝 |
| 研究广度决定了实现或产物的范围 | 一旦预期结果可被观察到即停止;单纯的发现本身不应扩大工作范围 |
为何对技能而言是关键问题:能力强的模型会执行隐含的义务,因此缺乏支撑依据的可能性会凭空制造出并不能改善结果的工作。
处理后能提升技能有效性的问题。
| 检测 | 转换 |
|---|---|
| 一大段文字没有标题分隔 | 应用标准章节顺序(见下文) |
| 一个章节中混杂了多个主题 | 拆分为各自独立的带标题章节 |
| 参考数据未使用表格呈现 | 将标准/模式列表转换为表格 |
标准技能章节顺序:
条件性:如果技能文件少于 30 行且只涉及单一主题,可跳过重新结构化。
| 检测 | 转换 |
|---|---|
| 技能假设了未言明的已知知识 | 添加“前置条件”章节,列出所需上下文 |
| 使用了领域术语但未加以定义 | 内联添加定义,或放入术语表。技能例外:属于 LLM 基础知识范围内的术语(广泛使用的技术术语、标准领域词汇)无需定义。只有项目专属术语、内部命名约定或常见 LLM 训练数据之外的领域行话才需要明确定义。 |
| 没有“何时使用”的指引 | 添加带具体场景的触发条件 |
| 对下游没有影响,且内容重复、会分散注意力或不可执行的上下文 | 将重复的事实浓缩为一条可操作的陈述;只有在需要提取出的事实时,才把原始背景信息保留在路径或引用之后;为项目专属事实标注来源 |
技能示例:
| 检测 | 转换 |
|---|---|
| 若缺少前置依据,后续动作将失效 | 添加检查点,指明所需依据和转换条件 |
| 权限、不可逆动作、机器读取的契约或完成证明是隐含的 | 将该边界明确化 |
| 一个可逆的选择被规定为强制路径 | 陈述目的、依据和选择标准;让模型自行选择路径 |
| 某检查点要求特定标签或产物,尽管存在语义等价的依据 | 除非机器读取方要求确切形式,否则应接受等价的依据 |
关键洞察:控制的是边界和所需依据,而非在两者之间预设的路径。
对于技能创建,依次使用三个检查点:
对于评审驱动的修复,以当前评审作为分析依据,并将优化检查点和平衡检查点应用于已接受的修复范围。
针对特定场景的渐进式改进。
| 检测 | 转换 |
|---|---|
| 示例只是复述了 LLM 已知的行为 | 替换为简洁的规则或使用方所需的输出形态,并移除这些示例 |
| 示例编码了领域、产品或组织专属的映射关系、非显而易见的例外情况,或规则无法表达的边界 | 保留能覆盖这些映射关系的最小集合;将每个示例对应到它所消除的歧义 |
| 多个示例消除了相同的歧义,或所有示例都具有相同的表层模式 | 缩减为能覆盖所有情况的最小集合;仅当能消除不同的歧义时才添加新的示例 |
| 检测 | 转换 |
|---|---|
| 技能要求始终给出确定性答案 | 将断言分类为已观察、已推断或未知;为模糊情况添加上报标准 |
| 没有“何时停止”的指引 | 当某个未知因素阻碍下一步时,在当前检查点停止,并指明继续所需的确切依据或用户决策 |
技能示例:
针对技能内容的可衡量质量标准。每条原则都包含一个通过/未通过的测试。
| # | 原则 | 通过标准 | 未通过示例 |
|---|---|---|---|
| 1 | 上下文效率 | 每句话都提供非基础性知识、决策规则、必需边界或执行依据 | 复述基础行为,却没有给出对应的失败案例、评审发现或能体现执行影响的项目需求 |
| 2 | 去重 | 同一技能内,同一抽象层级的概念不应被解释两次。当每份副本都是独立执行所必需时,跨多个独立加载的纯技能之间的重复是合理的;应评估这些副本之间的语义一致性,而非将其替换为对同级技能的引用 | 同一条规则在同一技能中出现两次,却没有增加不同的执行作用 |
| 3 | 归类 | 相关标准集中在单一章节中(减少查阅次数) | 错误处理规则分散在 4 个章节中 |
| 4 | 可衡量性 | 标准指明了可观测的依据、确定性决策规则或有依据支撑的阈值 | “编写整洁的代码”,却没有可观测的判定条件 |
| 5 | 正向表达 | 指令陈述应当做什么(应用了 BP-001) | 将“只使用 X”写成“不要使用 any” |
| 6 | 记法一致 | 标题层级、列表样式、表格格式统一 | 同一上下文中混用 -、*、1. |
| 7 | 前置条件明确 | 项目专属及非基础性的前置条件均已陈述或提供链接;基础技术知识保持简洁 | 使用 "DI" 却未定义 Dependency Injection(依赖注入) |
| 8 | 优先级排序 | 最重要的条目在前,例外情况在后 | 边界情况排在常见模式之前 |
| 9 | 范围边界 | 明确说明该技能覆盖的范围,以及激活条件性内容的条件。一个纯技能应包含独立执行所需的全部上下文。跨技能引用仅保留给承担编排或技能选择角色的技能使用 | 某个纯技能因为另一个独立加载的技能中也包含某条可执行规则,就省略了该规则 |
| 10 | 工作量相称性 | 每一项必需的产物、测试、检查点或决策都应改变结果、边界、使用方结果或必要证明 | 要求实现所有发现或所有技术上有效的改进 |
© shinpr, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in .claude/skills-zh-CN/skill-optimization of shinpr/ai-coding-project-boilerplate.
Open the folder on GitHubat commit 56913a2
shinpr/ai-coding-project-boilerplate
Selects and designs the smallest integration/E2E test set that proves accepted behavior at an observable boundary.
shinpr/ai-coding-project-boilerplate
Evaluates and optimizes skill file quality using 9 content patterns and 10 editing principles.
shinpr/ai-coding-project-boilerplate
Defines React environment, component architecture, state/data flow, build verification, and frontend non-functional criteria from repository evidence.
shinpr/ai-coding-project-boilerplate
Applies React/TypeScript type safety, component design, and state management rules.
shinpr/ai-coding-project-boilerplate
Selects implementation strategy (vertical slice, horizontal, or hybrid) with risk assessment.
shinpr/ai-coding-project-boilerplate
Coordinates subagents through scale-based planning, approval, implementation, verification, and escalation flows.
使用 9 种内容模式和 10 条编辑原则评估并优化技能文件质量。适用于创建技能、完善技能内容或审计技能质量的场景. An agent skill from shinpr/ai-coding-project-boilerplate. Skill Optimization is an agent skill from shinpr/ai-coding-project-boilerplate.
Run `npx skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization -a claude-code`. Or copy the skill folder (.claude/skills-zh-CN/skill-optimization in shinpr/ai-coding-project-boilerplate) into .claude/skills/skill-optimization in your project. Claude Code loads it when a task matches its description.
Run `npx skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization -a codex`. Or copy the skill folder (.claude/skills-zh-CN/skill-optimization in shinpr/ai-coding-project-boilerplate) into .agents/skills/skill-optimization in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-optimization, .gemini/skills/skill-optimization, .github/skills/skill-optimization and .opencode/skills/skill-optimization in your project.
SKILL.md names no scripts, command-line tools or credentials: Skill Optimization is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Skill Optimization is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.
shinpr (a GitHub user) maintains it in shinpr/ai-coding-project-boilerplate, which has 232 GitHub stars. The repository holds 42 skills in this directory. The repository was last updated on October 4, 2026.
Source: shinpr/ai-coding-project-boilerplate on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.