From dfa85ee9f65ae0b6a1a113764f8b386bafde37ff Mon Sep 17 00:00:00 2001 From: Yogesh Rao Date: Tue, 12 May 2026 11:59:18 +0530 Subject: [PATCH] =?UTF-8?q?feat:=20improve=20tdd-init=20skill=20score=20(7?= =?UTF-8?q?7%=20=E2=86=92=2096%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hey @kelp 👋 I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the full before/after: | Skill | Before | After | Change | |-------|--------|-------|--------| | tdd-init | 77% | 96% | +19% | The other skills scored well out of the box — `kb-research-policy` at 96%, `kb-capture` at 90%, `tdd-orchestrate` at 87%, and `cross-review` at 80%. **Note on zig-claude-kit skills:** `zig-patterns`, `zig-check`, and `zig-init` scored 17–18% due to a missing `name` field in their frontmatter, which causes validation to fail before the content is even evaluated. After adding `name: zig-patterns` etc., they jump to 92–100% — the content itself is excellent. Similarly, `kb-ingest` scored 17% because of `` XML-style tags in the description field. Figured I'd flag that in case it's useful.
Changes to tdd-init - **Expanded frontmatter description** — listed the specific configuration elements the template inserts (test commands, path patterns, build integration, verify gates, language context) and added an explicit "Use when..." clause with trigger terms like "test-driven development", "red-green-refactor", and "TDD workflow" - **Converted description format** — switched from YAML block scalar (`>`) to a quoted string for standard frontmatter compatibility - **Added executable bash snippets** — replaced prose descriptions of file operations with concrete `cat`, `grep`, and conditional bash commands so the agent can copy-paste the workflow - **Concrete placeholder examples** — replaced generic "fill in the template values" with specific placeholder names and example values (e.g. `` → `pytest tests/test_{module}.py`) - **Tightened intro** — connected `tdd-init` to `tdd-orchestrate` so the purpose is immediately clear
I also stress-tested your `tdd-orchestrate` skill against a few real-world task evals and it held up really well on dispatching the full 7-stage pipeline with proper gate enforcement between red and green phases. Kudos for that. Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch — just saw room for improvement and wanted to contribute. Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at [this Tessl guide](https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me — [@yogesh-tessl](https://github.com/yogesh-tessl) — if you hit any snags. Thanks in advance 🙏 --- plugins/tdd-pipeline/skills/tdd-init/SKILL.md | 71 +++++++++++-------- 1 file changed, 42 insertions(+), 29 deletions(-) diff --git a/plugins/tdd-pipeline/skills/tdd-init/SKILL.md b/plugins/tdd-pipeline/skills/tdd-init/SKILL.md index 696b62a..1d7c0ed 100644 --- a/plugins/tdd-pipeline/skills/tdd-init/SKILL.md +++ b/plugins/tdd-pipeline/skills/tdd-init/SKILL.md @@ -1,51 +1,64 @@ --- name: tdd-init -description: > - Add TDD pipeline configuration template to this - project's CLAUDE.md. Run this to set up the pipeline - for a new project. +description: "Add TDD pipeline configuration to a project's CLAUDE.md — inserts test command templates, source and test file path patterns, build integration steps, verify gate checks, and language-specific agent context. Use when setting up test-driven development, initializing a TDD workflow, configuring red-green-refactor for a new project, or preparing a codebase for the tdd-orchestrate pipeline." user-invocable: true --- # /tdd-init -Add TDD pipeline configuration to this project's -CLAUDE.md. +Add TDD pipeline configuration to this project's CLAUDE.md so +`tdd-orchestrate` knows how to run tests, locate source files, +and validate implementations. ## Procedure ### 1. Read the configuration fragment -Read the file at -`${CLAUDE_PLUGIN_ROOT}/docs/claude-md-fragment.md`. -This contains the TDD pipeline configuration template -formatted as a CLAUDE.md section. +```bash +cat "${CLAUDE_PLUGIN_ROOT}/docs/claude-md-fragment.md" +``` + +This file contains a CLAUDE.md section with placeholder values for: +- **Test command** — how to run tests for a single module +- **Source layout** — source and test file path patterns +- **Build integration** — post-approval steps, full test suite, linter +- **Verify gate checks** — test pass, no stubs, lint clean +- **Language-specific context** — optional corrections or plugin references ### 2. Check current CLAUDE.md -- If no `CLAUDE.md` exists in the project root, create - one with just a `# CLAUDE.md` header followed by the - fragment content. -- If `CLAUDE.md` exists, check if it already contains - "TDD Pipeline Configuration". If so, report "TDD - pipeline configuration already present" and stop. -- If `CLAUDE.md` exists but lacks the configuration, - append the fragment content to the end of the file. +```bash +if [[ -f CLAUDE.md ]]; then + grep -q "TDD Pipeline Configuration" CLAUDE.md && echo "ALREADY_PRESENT" +fi +``` + +- **No CLAUDE.md exists**: + ```bash + echo "# CLAUDE.md" > CLAUDE.md + cat "${CLAUDE_PLUGIN_ROOT}/docs/claude-md-fragment.md" >> CLAUDE.md + ``` +- **Already contains "TDD Pipeline Configuration"** — report + "TDD pipeline configuration already present" and stop. +- **CLAUDE.md exists without configuration**: + ```bash + printf '\n' >> CLAUDE.md + cat "${CLAUDE_PLUGIN_ROOT}/docs/claude-md-fragment.md" >> CLAUDE.md + ``` ### 3. Report result -Tell the user what you did: +Tell the user exactly what happened: - "Created CLAUDE.md with TDD pipeline configuration" -- "Added TDD pipeline configuration to existing - CLAUDE.md" -- "TDD pipeline configuration already present in - CLAUDE.md" +- "Added TDD pipeline configuration to existing CLAUDE.md" +- "TDD pipeline configuration already present in CLAUDE.md" ### 4. Next steps -Tell the user to fill in the template values: -- Test command for individual modules -- Source and test file path patterns -- Build integration steps -- Full test and lint commands -- Any language-specific agent context +Tell the user to replace the template placeholders: +- `` — e.g. `pytest tests/test_{module}.py` +- `` — e.g. `src/{module}.py` +- `` — e.g. `tests/test_{module}.py` +- `` — e.g. `pytest` +- `` — e.g. `ruff check .` +- Language-specific agent context (optional)