Agent skill
cc-check
Runs systematic tests on Claude Code customizations. Use when testing whether a customization works correctly, running functional and regression tests, smoke testing a skill, or validating that a skill or hook behaves as expected. Executes sample queries and validates responses against expected behavior.
Install this agent skill to your Project
npx add-skill https://github.com/philoserf/claude-code-setup/tree/main/skills/cc-check
SKILL.md
Reference Files
- test-strategies.md - Type-specific test execution strategies
- report-template.md - Complete output format template
- examples.md - Concrete test cases; reference when creating tests
- common-failures.md - Failure patterns and fixes; reference when debugging
Focus Areas
- Sample Query Generation - Creating realistic test queries based on descriptions
- Expected Behavior Validation - Verifying outputs match specifications
- Regression Testing - Ensuring changes don't break existing functionality
- Edge Case Identification - Finding unusual scenarios and boundary conditions
- Integration Testing - Validating customizations work together
- Performance Assessment - Analyzing context usage and efficiency
Test Framework
Test Types
| Type | Purpose |
|---|---|
| Functional | Verify core functionality works as specified |
| Integration | Ensure customizations work together |
| Usability | Assess user experience quality |
Test Execution Strategy
Type-specific strategies in test-strategies.md.
| Type | Tests |
|---|---|
| Skills | Discovery → Invocation → Output → Frontmatter → Reference |
| Agents | Frontmatter → Invocation → Tool → Output → Context |
| Hooks | Input → Exit Code → Error Handling → Performance → Integration |
Test Process
Step 1: Identify Customization Type
Determine what to test:
- Agent (in agents/)
- Skill (in skills/)
- Hook (in hooks/)
Step 2: Read Documentation
Use Read tool to examine:
- Primary file content
- Frontmatter/configuration
- Usage instructions
- Examples (if provided)
Step 3: Generate Test Cases
Based on description and documentation:
For Skills: Extract trigger phrases, create 5-10 sample queries that should trigger, 3-5 that should NOT trigger
For Agents: Create prompts based on focus areas, scenarios inside and outside scope
For Hooks: Create inputs that should pass, block, and malformed inputs
Step 4: Execute Tests
Choose testing mode based on what you need to verify:
| Use read-only when | Use active when |
|---|---|
| Validating frontmatter/structure | Verifying trigger phrases |
| Checking reference links resolve | Testing actual output format |
| Reviewing documentation accuracy | Integration testing |
| Quick structural assessment | Confirming edge case handling |
Read-Only Testing (default): Analyze configurations and documentation to assess expected behavior
Active Testing (when appropriate): Actually invoke skills with sample queries or trigger hooks
Test priority: Always run discovery + frontmatter + functional tests. Add integration tests only when the target references or interacts with other customizations.
Step 5: Compare Results
For each test:
- Expected: What should happen (from docs/description)
- Actual: What did happen (from testing)
- Status: PASS (matched) / FAIL (didn't match) / EDGE CASE (unexpected)
Step 6: Generate Test Report
Create structured report following report-template.md.
Output Format
Test reports follow a structured format. See report-template.md for the complete template.
Key sections: Summary, Test Results, Functional Tests, Integration Tests, Usability Assessment, Edge Cases, Recommendations
Best Practices for Testing
- Test Both Paths: Success cases AND failure cases
- Edge Cases Matter: Test boundaries and unusual inputs
- Clear Expected Behavior: Document what should happen
- Realistic Queries: Use natural language users would actually type
- Integration Testing: Don't just test in isolation
- Performance Aware: Note if tests are slow or heavy
- Regression Testing: Re-test after changes
- Document Failures: Explain why tests failed, not just that they did
- Actionable Recommendations: Provide specific fixes
- Version Testing: Note which version was tested
Common Test Failures
For failure patterns and fixes by customization type, see common-failures.md.
Tools Used
- Read - Examine customization files
- Write - Generate and save test reports
- Grep - Search for patterns and configurations
- Glob - Find files and customizations
- Bash - Execute read-only commands for analysis
- Skill - Invoke skills for active testing
Test reports are output inline by default. To persist, write to ~/.claude/logs/evaluations/tests/ (create the directory if needed with mkdir -p).
Related Skills
| Skill | Use |
|---|---|
| cc-lint | Run before cc-check to validate structure |
| skill-quality | Run after cc-check for quality scoring |
| skill-improve | Get prioritized improvement recommendations |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
pre-release
Validates a project is ready to tag and ship. Use when tagging a release, cutting a version, shipping a package, or asking "are we ready to release?" Checks repo hygiene, CI status, docs, version sync, and build verification. Optimized for Obsidian plugins with fallback detection for other project types.
local-issues
Reviews a codebase for bugs, design issues, and code cleanliness problems with specific file paths and line numbers. Use when auditing code quality, finding bugs, doing a code review, finding problems, or reviewing a project for issues. Creates issue files in `.issues/` directory.
skill-improve
Generates prioritized improvement recommendations for Claude Code skills. Use when improving skills, enhancing customizations, or wanting actionable feedback on how to make a skill better. Provides impact/effort prioritization with specific fix suggestions.
release
Executes the final release workflow for Obsidian plugins after pre-release checks pass. Use when tagging a release, publishing a version, or shipping an Obsidian plugin. Bumps version via bun run script, creates git tag, pushes to trigger GitHub Actions, and updates GitHub release notes from CHANGELOG.md.
skill-quality
Scores Claude Code skills (1-5) across 6 weighted quality dimensions aligned with official Anthropic docs. Use when evaluating skill quality, rating skills, scoring customizations, comparing skill effectiveness, or checking if a skill follows best practices. Produces per-dimension scores with evidence, weighted totals, quality tier classification, and actionable improvement recommendations.
obsidian-cli
Interacts with Obsidian vaults using the Obsidian CLI to read, create, and manage notes, tasks, properties, tags, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, add to daily note, find notes about a topic, check tasks, append to a note, query the vault, list tags, list files, manage bookmarks, check sync status, view file history, use templates, query bases, run QuickAdd, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
Didn't find tool you were looking for?