Skip to content

feat: Add CoVe commands, template sync, and Python SOLID checklist#24

Merged
stranma merged 4 commits intomasterfrom
feat/adopt-starter-kit-features
Mar 9, 2026
Merged

feat: Add CoVe commands, template sync, and Python SOLID checklist#24
stranma merged 4 commits intomasterfrom
feat/adopt-starter-kit-features

Conversation

@stranma
Copy link
Owner

@stranma stranma commented Mar 9, 2026

Summary

Adopts three features inspired by serpro69/claude-starter-kit:

  • Chain-of-Verification (CoVe) commands (/cove, /cove-isolated) -- 4-step self-verification process based on Meta's CoVe paper for reducing hallucinations. The isolated variant runs step 3 in a separate agent to prevent confirmation bias.
  • Template sync workflow (.github/workflows/template-sync.yml) -- weekly or manual workflow that syncs template-managed files from upstream into downstream projects via PR, preserving project-specific code.
  • Python SOLID checklist in refactoring-specialist agent -- adds checks for mutable default arguments, ABC/Protocol misuse, missing dependency injection, god classes, @property overuse, and circular imports.

Attribution added to README Credits section.

Test plan

  • python -m pytest tests/test_commands.py -v -- all 35 tests pass (5 new CoVe tests)
  • python -m pytest tests/test_agents.py -v -- all 114 tests pass
  • python -m pytest tests/ -v -- 400 passed, 7 pre-existing Windows-only failures
  • python -m ruff check tests/test_commands.py -- clean
  • python -m ruff format --check tests/test_commands.py -- clean
  • Template sync workflow: review YAML syntax and logic manually (runs in downstream repos only)

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • New Features

    • Added Chain-of-Verification (/cove) and Isolated Chain-of-Verification (/cove-isolated) commands for improved answer accuracy through a 4-step verification process.
    • Added template synchronization workflow to automatically sync upstream project templates.
  • Documentation

    • Enhanced Python-specific SOLID checks to detect mutable defaults, ABC/Protocol misuse, dependency injection issues, and circular imports.
    • Expanded code smell detection guidelines.

Inspired by serpro69/claude-starter-kit: adds Chain-of-Verification
commands (/cove, /cove-isolated) for high-stakes accuracy, a template
sync workflow for downstream projects, and Python-specific SOLID
checklist items in the refactoring-specialist agent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Mar 9, 2026

Warning

Rate limit exceeded

@stranma has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 8 minutes and 47 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1f65cff3-bd61-4ef7-97d4-c5f2de5cc570

📥 Commits

Reviewing files that changed from the base of the PR and between 3a90875 and 5615fd1.

📒 Files selected for processing (3)
  • .github/workflows/template-sync.yml
  • tests/test_hooks.py
  • tests/test_skills.py
📝 Walkthrough

Walkthrough

This PR introduces Chain-of-Verification (CoVe) commands for multi-step answer verification, adds a GitHub Actions workflow for automated upstream template synchronization, enhances the refactoring-specialist agent with Python-specific SOLID checks, and provides corresponding documentation and test coverage.

Changes

Cohort / File(s) Summary
Chain-of-Verification Commands
.claude/commands/cove.md, .claude/commands/cove-isolated.md
New command files implementing a 4-step verification workflow (baseline response, verification questions, isolated verification, final response) to reduce hallucinations. The isolated variant runs verification through a separate agent without access to baseline.
Refactoring Specialist Enhancement
.claude/agents/refactoring-specialist.md
Adds Python-specific SOLID checks section covering mutable defaults, ABC/Protocol misuse, dependency injection gaps, god classes, excessive @property usage, and circular imports. Extends code smells detection with detailed Size Smells bullets.
Template Synchronization Automation
.github/workflows/template-sync.yml
New GitHub Actions workflow that synchronizes upstream project templates to downstream repositories on schedule or manual trigger. Detects changes across template-managed paths, creates sync branches, and opens PRs with change summaries.
Documentation & Configuration Updates
README.md, docs/DEVELOPMENT_PROCESS.md, docs/CHANGELOG.md
Updates command documentation to include /cove and /cove-isolated, records new features in changelog, and documents commands in development process guide.
Command Tests
tests/test_commands.py
Adds validation for new CoVe command files ensuring proper step structure and verification sections, and expands security-audit tests with additional pattern documentation.

Sequence Diagram(s)

sequenceDiagram
    participant User as User/Requester
    participant System as Claude System
    participant Agent as Verification Agent
    participant Tools as Tools (Read/Grep/Bash)

    User->>System: Request with CoVe command
    System->>System: Step 1: Generate Baseline Response
    System->>System: Step 2: Plan Verification Questions (3-8 fact-checks)
    System->>Agent: Step 3: Send verification questions<br/>(Isolated: no baseline access)
    Agent->>Tools: Query source code/docs
    Tools-->>Agent: Return evidence
    Agent-->>System: Return verification results<br/>(CONFIRMED/INCORRECT)
    System->>System: Step 4: Generate Final Response<br/>Incorporate corrections if needed
    System-->>User: Return verified response
Loading
sequenceDiagram
    participant Scheduler as GitHub Scheduler
    participant Workflow as Workflow (template-sync.yml)
    participant Git as Git Operations
    participant Upstream as Upstream Repository
    participant PR as PR Creation

    Scheduler->>Workflow: Trigger (scheduled weekly or manual)
    Workflow->>Workflow: Determine template repo & branch
    Workflow->>Git: Add upstream remote
    Git->>Upstream: Fetch upstream branch
    Upstream-->>Git: Return upstream code
    Workflow->>Workflow: Compare template-managed paths<br/>(diff against upstream)
    alt has_changes
        Workflow->>Git: Create sync branch<br/>(template-sync/YYYYMMDD)
        Git->>Workflow: Checkout upstream files
        Workflow->>Git: Stage & commit changes
        Git->>Workflow: Push branch
        Workflow->>PR: Create/update pull request<br/>with change summary
        PR-->>Workflow: PR created or already exists
    else No Changes
        Workflow->>Workflow: Mark as up-to-date
    end
    Workflow-->>Scheduler: Workflow complete
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

🚥 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 clearly and concisely summarizes the three main features added: CoVe commands, template sync workflow, and Python SOLID checklist enhancements.
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.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/adopt-starter-kit-features

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.

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: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/template-sync.yml:
- Around line 113-116: The Apply step can exit early without setting sync_branch
in GITHUB_ENV which leaves env.sync_branch empty when the "Create pull request"
step runs; add an id to the Apply step (e.g., id: apply) and set an output flag
(e.g., outputs.changed=true/false or write a flag to GITHUB_ENV) to indicate
whether a branch was created, then update the "Create pull request" step
condition to check that output (e.g., if: steps.apply.outputs.changed == 'true')
before running commands that use sync_branch or calling gh pr list --head;
ensure any path that sets sync_branch writes it to GITHUB_ENV so the PR step
only runs when sync_branch is defined.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: b2e1b0a8-e865-49d7-85fd-8a047c60dc11

📥 Commits

Reviewing files that changed from the base of the PR and between 1c49677 and 3a90875.

📒 Files selected for processing (8)
  • .claude/agents/refactoring-specialist.md
  • .claude/commands/cove-isolated.md
  • .claude/commands/cove.md
  • .github/workflows/template-sync.yml
  • README.md
  • docs/CHANGELOG.md
  • docs/DEVELOPMENT_PROCESS.md
  • tests/test_commands.py

stranma and others added 3 commits March 10, 2026 00:44
Address CodeRabbit review: if the apply step exits early (no changes
after checkout), sync_branch was never set, causing gh pr list to run
with an empty --head argument. Now uses step output flag to gate the
PR creation step.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace stat.S_IXUSR filesystem check with git ls-files -s mode
  check in test_hook_is_executable (NTFS has no Unix permission bits)
- Remove stale test_sync_does_not_classify assertion that no longer
  matches the rewritten sync skill content

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The integration tests copy the template to a non-git directory, so
git ls-files returns nothing. Fall back to stat.S_IXUSR when not in
a git repo (works on Linux CI), use git mode check otherwise (works
on Windows).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@stranma stranma merged commit 0a9f904 into master Mar 9, 2026
7 checks passed
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