Skip to content

Conversation

@jobuii
Copy link

@jobuii jobuii commented Jan 7, 2026

… to the way I want to build

Summary by CodeRabbit

  • Chores

    • Version bumped to 4.0.4; author updated to Jobuii with repository URL changes.
  • Documentation

    • Revised skill documentation across multiple guides with updated methodology and testing approaches.
    • Clarified SessionStart hook configuration and usage patterns.
    • Enhanced writing-plans and writing-skills documentation with refined guidance.
  • Bug Fixes

    • Updated hook execution environment configuration.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 7, 2026

📝 Walkthrough

Walkthrough

This pull request updates the plugin metadata (version, author, fork information), removes all Test-Driven Development (TDD) references throughout the documentation, and replaces TDD conceptual frameworks with a "Write-Test-Refine" cycle. It also removes the dedicated TDD skill files and updates hook configuration.

Changes

Cohort / File(s) Summary
Plugin Configuration
.claude-plugin/plugin.json
Bumped version to 4.0.4, updated author to "Jobuii", added fork metadata (forkedFrom, originalAuthor), updated repository URLs, removed "tdd" from keywords, added top-level fields for skills, hooks, commands, and agents paths.
Hook Configuration
hooks/hooks.json
Removed the matcher property from SessionStart hook entry, eliminating explicit event filtering for that hook.
Hook Documentation & Execution
docs/windows/polyglot-hooks.md, hooks/run-hook.cmd
Added clarifying notes that SessionStart hooks do not use the matcher field. Changed Bash invocation from -l flag to --norc --noprofile flags in hook runner.
TDD Skill Removal
skills/test-driven-development/SKILL.md, skills/test-driven-development/testing-anti-patterns.md
Removed entire TDD skill documentation files, including the Red-Green-Refactor workflow, code examples, anti-patterns guide, and verification checklists.
Skill Documentation—TDD References Removed
skills/subagent-driven-development/SKILL.md, skills/subagent-driven-development/implementer-prompt.md, skills/systematic-debugging/SKILL.md, skills/using-superpowers/SKILL.md, skills/verification-before-completion/SKILL.md, skills/writing-plans/SKILL.md, skills/writing-skills/persuasion-principles.md
Removed or updated TDD references and examples; replaced with testing/verification-focused language or alternative examples (e.g., "TDD" → "testing", "Red-Green cycle" → "Test fails without fix, passes with fix").
Skill Documentation—Major Conceptual Refactor
skills/writing-skills/SKILL.md, skills/writing-skills/testing-skills-with-subagents.md
Comprehensively refactored from TDD-centric (RED-GREEN-REFACTOR) to Write-Test-Refine cycle model; restructured sections, updated examples, adjusted terminology around testing and iteration, and refined procedural workflows.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related PRs

  • Add personal superpowers overlay system #2: Modifies SessionStart hook behavior and hook configuration files (hooks/hooks.json, hook documentation), showing direct overlap in hook management changes.
  • Skills Repository Separation v2.0.0 #6: Relocates and restructures skills (adding top-level skills/ path), removes/moves SKILL.md files, and modifies hook behavior, indicating shared functional changes around skills management and session initialization.

Poem

🐰 The TDD days have hopped away,
Write, Test, Refine now leads the day!
We've trimmed the hooks, refreshed the frame,
New cycles bloom—same testing game! 🌱

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the main change: removing TDD-related content and adjusting skills for specificity, which is reflected across multiple files in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jobuii jobuii closed this Jan 7, 2026
@jobuii jobuii deleted the changes branch January 7, 2026 22:08
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/windows/polyglot-hooks.md (1)

25-25: Documentation examples inconsistent with actual run-hook.cmd implementation.

The documentation shows bash being invoked with -l flag in multiple places (lines 25, 40, 147), but the actual hooks/run-hook.cmd file now uses --norc --noprofile instead. This creates a mismatch between documentation and implementation.

The behavioral differences are significant:

  • -l loads user's bash profile/rc files and sets up full PATH
  • --norc --noprofile runs bash in a minimal environment
📝 Suggested documentation updates

Update the example on line 25 to match the new implementation:

-"C:\Program Files\Git\bin\bash.exe" -l -c "\"$(cygpath -u \"$CLAUDE_PLUGIN_ROOT\")/hooks/session-start.sh\""
+"C:\Program Files\Git\bin\bash.exe" --norc --noprofile -c "\"$(cygpath -u \"$CLAUDE_PLUGIN_ROOT\")/hooks/session-start.sh\""

Update line 40 explanation:

-   - `-l` (login shell) to get proper PATH with Unix utilities
+   - `--norc --noprofile` to skip loading user profile/rc files for consistent behavior

Update line 147:

-"C:\Program Files\Git\bin\bash.exe" -l -c "cd \"$(cygpath -u \"%SCRIPT_DIR%\")\" && \"./%SCRIPT_NAME%\""
+"C:\Program Files\Git\bin\bash.exe" --norc --noprofile -c "cd \"$(cygpath -u \"%SCRIPT_DIR%\")\" && \"./%SCRIPT_NAME%\""

Also applies to: 40-40, 147-147

🧹 Nitpick comments (4)
skills/verification-before-completion/SKILL.md (1)

85-85: Consider specifying language for fenced code block.

The fenced code block on line 85 could specify a language identifier (e.g., bash or text) for better syntax highlighting and rendering.

Based on static analysis hint from markdownlint.

♻️ Proposed fix
-```
+```bash
 ✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
 ❌ "I've written a regression test" (without verifying it fails when bug is present)
</details>

</blockquote></details>
<details>
<summary>skills/writing-plans/SKILL.md (1)</summary><blockquote>

`12-12`: **Unexplained jargon conflicts with beginner audience framing.**

The document states it targets "a beginner who can read and write basic code" (line 12) but uses unexplained technical jargon:
- **DRY** (Don't Repeat Yourself) - mentioned twice (lines 10, 95) without definition
- **YAGNI** (You Aren't Gonna Need It) - mentioned twice without definition

For a beginner audience, either expand these acronyms with brief explanations, or reconsider whether they're necessary in a beginner-focused guide.



<details>
<summary>📚 Suggested improvements for beginner clarity</summary>

Option 1: Expand acronyms inline:

```diff
-Write comprehensive implementation plans assuming the user has zero context for our codebase. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. Frequent commits.
+Write comprehensive implementation plans assuming the user has zero context for our codebase. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. Follow these principles: DRY (Don't Repeat Yourself), YAGNI (You Aren't Gonna Need It - don't build features before you need them), and make frequent commits.

Option 2: Add a principles section:

## Core Principles

- **DRY (Don't Repeat Yourself):** Avoid duplicating code or logic
- **YAGNI (You Aren't Gonna Need It):** Only build what's needed now, not what might be needed later
- **Frequent commits:** Commit after each small working change

Also applies to: 95-95

skills/writing-skills/testing-skills-with-subagents.md (1)

1-339: LGTM! Systematic and consistent terminology update.

The transformation from TDD-centric language to the Write-Test-Refine cycle is well-executed and consistent throughout the document. The core testing methodology and examples remain intact while the conceptual framing has been successfully updated to align with your preferred approach.

The documentation quality and structure are maintained, and all examples have been appropriately updated to reflect the new terminology.

Minor: Add language specifier to code block

Line 168 has a code block without a language specifier. Consider adding it for better rendering:

📝 Suggested fix
 </After>
 
+```markdown
-### 2. Add Common Mistakes Section
+### 2. Add Common Mistakes Section
+```
skills/writing-skills/SKILL.md (1)

1-638: LGTM! Comprehensive and well-executed terminology transformation.

This file demonstrates an excellent systematic update from TDD-centric language to the Write-Test-Refine cycle. Key strengths:

  • Consistent terminology throughout all sections (overview, CSO guidance, checklists, examples)
  • Preserved core concepts while improving accessibility of the framework
  • Updated checklists properly reorganized into Write/Test/Refine phases
  • Maintained quality standards including anti-rationalization guidance and testing emphasis
  • Updated examples in CSO section to reflect new terminology while preserving optimization principles

The documentation remains rigorous and practical while using more straightforward terminology.

Minor: Add language specifier to code block

Line 370 has a code block without a language specifier (same issue as in the other file):

📝 Suggested fix
+```markdown
 ALWAYS TEST YOUR SKILL BEFORE DEPLOYING
+```
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b9e1649 and e13a36b.

📒 Files selected for processing (15)
  • .claude-plugin/plugin.json
  • docs/windows/polyglot-hooks.md
  • hooks/hooks.json
  • hooks/run-hook.cmd
  • skills/subagent-driven-development/SKILL.md
  • skills/subagent-driven-development/implementer-prompt.md
  • skills/systematic-debugging/SKILL.md
  • skills/test-driven-development/SKILL.md
  • skills/test-driven-development/testing-anti-patterns.md
  • skills/using-superpowers/SKILL.md
  • skills/verification-before-completion/SKILL.md
  • skills/writing-plans/SKILL.md
  • skills/writing-skills/SKILL.md
  • skills/writing-skills/persuasion-principles.md
  • skills/writing-skills/testing-skills-with-subagents.md
💤 Files with no reviewable changes (4)
  • hooks/hooks.json
  • skills/test-driven-development/testing-anti-patterns.md
  • skills/systematic-debugging/SKILL.md
  • skills/test-driven-development/SKILL.md
🧰 Additional context used
🪛 LanguageTool
skills/writing-skills/testing-skills-with-subagents.md

[style] ~147-~147: Consider using a different verb for a more formal wording.
Context: ...s.** These guide your refinements. ### Fixing Each Issue For each problem found, con...

(FIX_RESOLVE)

🪛 markdownlint-cli2 (0.18.1)
skills/writing-skills/SKILL.md

370-370: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

skills/verification-before-completion/SKILL.md

85-85: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

skills/writing-skills/testing-skills-with-subagents.md

168-168: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (9)
skills/using-superpowers/SKILL.md (1)

79-79: Terminology update is clean and well-aligned.

The change from "(TDD, debugging)" to "(debugging, verification)" appropriately removes TDD terminology while maintaining the intent—Rigid skills still enforce strict discipline. The substitution is accurate and consistent with the PR objective.

skills/subagent-driven-development/SKILL.md (1)

170-170: Terminology updated while preserving testing discipline emphasis.

The change from TDD-focused language to "Subagents work methodically with tests" maintains the core message—rigorous testing discipline—without TDD framing. The related removal of the "superpowers:test-driven-development" skill reference is appropriate since that skill is no longer available.

skills/writing-skills/persuasion-principles.md (1)

20-20: Clean terminology substitution preserving intent.

The change from "TDD" to "debugging methodology" appropriately generalizes the discipline-enforcing skill category while maintaining the core message about authority-based persuasion. This substitution aligns consistently with the broader terminology shift across the updated documentation.

skills/subagent-driven-development/implementer-prompt.md (1)

33-33: LGTM! Clear shift from conditional to unconditional testing guidance.

The changes effectively remove TDD-specific language while maintaining the requirement for test coverage. Making test writing unconditional (rather than "if task says to") improves the default quality bar.

Also applies to: 65-65

skills/verification-before-completion/SKILL.md (1)

48-48: LGTM! More explicit verification language improves clarity.

The updated terminology removes TDD-specific jargon while making the verification requirement clearer: explicitly verify the test fails without the fix and passes with it. This is more actionable than "Red-green cycle verified."

Also applies to: 84-87

docs/windows/polyglot-hooks.md (1)

82-83: Good clarification on matcher usage.

These notes effectively prevent confusion about when to use the matcher field, making it clear that SessionStart hooks don't need it.

Also applies to: 187-188

skills/writing-plans/SKILL.md (1)

10-10: The workflow still follows TDD pattern despite removing the label.

While "TDD" has been removed from the principles list, the actual task structure still prescribes a test-first workflow:

  1. "Write the failing test" (line 23, 57)
  2. "Run it to make sure it fails" (line 24, 65-68)
  3. "Implement the minimal code to make the test pass" (line 25, 70-75)
  4. "Run the tests and make sure they pass" (line 26, 77-80)

This is the classic TDD red-green-refactor cycle, just without the "TDD" label. If the goal is to truly move away from TDD methodology (not just the terminology), the task structure should be reordered to allow test-after or test-during approaches. If the goal is just to remove the label while keeping the practice, this is fine—but it may confuse readers familiar with TDD who will recognize this pattern.

Clarify the intent: Is the goal to remove TDD as a practice or just as a label?

Also applies to: 22-27, 57-87, 95-95

hooks/run-hook.cmd (1)

11-11: This review comment is based on an incorrect assumption about the change.

The hooks/run-hook.cmd file is a new file created without a prior version, so there was no removal of -l flag. The original code was added with --norc --noprofile from the start (commit 94e9e25). Additionally, the hook script (session-start.sh) uses only standard POSIX utilities (dirname, pwd, cat) that are available in Git Bash's minimal PATH regardless of login shell status or rc file loading. These core utilities don't depend on user's .bashrc or .bash_profile. The configuration is appropriate and the hook script will work correctly as-is.

Likely an incorrect or invalid review comment.

.claude-plugin/plugin.json (1)

1-18: LGTM! Proper fork metadata and appropriate updates.

The plugin metadata has been correctly updated for a fork:

  • Fork attribution properly documented with forkedFrom and originalAuthor fields
  • Author information updated appropriately
  • Version bumped (4.0.3 → 4.0.4) for documentation changes
  • TDD references removed from description and keywords, aligning with PR objectives
  • Repository URLs updated to the new fork location
  • New plugin structure fields added (skills, hooks, commands, agents)

All changes are consistent with best practices for forking and align with the stated goal of removing TDD-centric content.

@jobuii jobuii restored the changes branch January 7, 2026 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant