besimple-tiny-broccoli
Small-change wrapper: implement → run repo checks → atomic commit → run dedup (BASE_SHA..HEAD).
DeepseekModel
官方收录技能
质量 优秀 · 78
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=besimple-oss-broccoli-prompt-templates-skills-besimple-tiny-broccoli-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name besimple-tiny-broccoli description Small-change wrapper: implement → run repo checks → atomic commit → run dedup (BASE_SHA..HEAD). Tiny Broccoli: Implement → Check → Commit → Dedup Use this when the user request is already clear and you can safely implement directly (no plan docs), but you still want: repo checks to be green, and a dedupe pass over the resulting diff. Not for Big/ambiguous work that needs research, design decisions, or a multi-phase plan. “Refactor the whole repo” style requests. Preconditions (hard stop if missing) Confirm you are in the intended repo: git rev-parse --show-toplevel Start from a clean working tree: git status --porcelain is empty Ensure git can create commits ( user.name / user.email configured) Ensure required CLIs exist (dedup requires distinct vendors): codex , claude Required subskills dedup Workflow 0) Record BASE_SHA (required) Capture the base ref before any changes (used later for dedup ): BASE_SHA= " $(git rev-parse HEAD) " 1) Choose the repo check command(s) once (required) Do a one-time tooling detection + configuration so the per-step “build/lint” commands match the target repo. Detect languages and entrypoints Node/TS : look for package.json in repo root and common subprojects (for example functions/package.json ). Python : look for pyproject.toml , uv.lock , poetry.lock , requirements.txt . Pick build/lint/typecheck commands (prefer repo-native scripts) Prefer existing package scripts when present (e.g. npm run build , npm run lint , npm test ). Prefer the repo’s configured Python toolchain: If uv is clearly in use: use uv -based commands. If Poetry is clearly in use: use poetry run ... . If neither: use the repo’s documented commands (README/CONTRIBUTING) if available. If multiple options exist or it’s unclear, ask the user once for the canonical build/lint/typecheck commands, then reuse them for every step. Write down a “Tooling config” block and reuse it for every step Example format (adapt to the repo): Root (Node) : build= ... , lint= ... functions/ (Node) : build= ... , lint= ... Root (Python) : build= ... , typecheck= ... , lint/format= ... From now on, only run the commands from this block after each step (instead of hard-coded defaults). If the repo has no build/lint tooling Explicitly record “No build/lint configured” and skip build/lint steps (do not invent tooling). Call this out in the final summary. 2) Implement the requested change (required) Make the smallest correct change that satisfies the request. Prefer reusing existing patterns/utilities over creating new ones. Keep the change set small and reviewable. 3) Run repo checks and fix only what you broke (required) Run the commands from your Tooling config . If checks fail due to changes you introduced, fix and re-run until green. If checks fail for clearly pre-existing/unrelated reasons, stop and report: the exact command(s) you ran, and the first actionable error output. 4) Commit once checks are green (required) git add -A Make a single atomic commit for the user-requested change: git commit -m "<imperative summary>" (example: Fix flaky upload retry ). Do not create empty/no-op commits ( --allow-empty is prohibited). 5) Run dedup against BASE_SHA (required) Ensure the working tree is clean, then run the dedupe loop: if [ -n " $(git status --porcelain) " ]; then echo "Working tree is not clean; commit or stash before running dedup." >&2 exit 1 fi resolve_skill_dir () { local name= " $1 " local repo_root= "" repo_root= " $(git rev-parse --show-toplevel 2>/dev/null || pwd) " local candidates=( " $repo_root /.agents/skills/ $name " " $repo_root /.claude/skills/ $name " " $HOME /.agents/skills/ $name " " $HOME /.codex/skills/ $name " " $HOME /.claude/skills/ $name " ) for d in " ${candidates[@]} " ; do if [[ -d " $d " ]]; then echo " $d " return 0 fi done echo "Error: skill ' $name ' not found in repo-scoped or user-scoped skill dirs." >&2 return 1 } DEDUP_SKILL_DIR= " $(resolve_skill_dir dedup) " python3 " $DEDUP_SKILL_DIR /scripts/run_dedup_loop.py" " ${BASE_SHA} " If dedup creates additional commits, re-run the Tooling config checks once at the end and fix only issues introduced by dedupe changes. Do not interrupt/restart the dedup loop if it looks quiet; the loop script owns timeouts and retries. Guardrails Keep changes tightly scoped to the user request + required dedupe. Avoid drive-by refactors, renames, formatting-only churn, or dependency upgrades unless required. End state must be: checks green (or explicitly “no checks configured”), clean working tree, and at least one meaningful commit.
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |