# When Does the Humanizer CI Validator Run? A Complete Guide to the Check Package Workflow

> Discover when the humanizer CI validator runs. Learn about the "Check package" GitHub Actions workflow that triggers on every pull request and push to main.

- Repository: [Siqi Chen/humanizer](https://github.com/blader/humanizer)
- Tags: how-to-guide
- Published: 2026-09-11

---

**The humanizer CI validator runs automatically on every pull request and every push to the `main` branch via the "Check package" GitHub Actions workflow defined in [`.github/workflows/validate.yml`](https://github.com/blader/humanizer/blob/main/.github/workflows/validate.yml).**

The **blader/humanizer** repository employs a continuous integration pipeline to ensure code quality and marketplace compatibility. The **humanizer CI validator**, implemented as a GitHub Actions workflow named "Check package," executes a three-stage validation suite whenever contributions are proposed or merged. Understanding when this validator triggers and what it checks helps contributors ensure their changes meet repository standards before submission.

## When the Humanizer CI Validator Triggers

The workflow defined in [`.github/workflows/validate.yml`](https://github.com/blader/humanizer/blob/main/.github/workflows/validate.yml) responds to two specific GitHub events:

- **pull_request**: Executes when any pull request is opened, synchronized (updated with new commits), or reopened. This ensures proposed changes pass all checks before merging.
- **push**: Executes on any commit pushed directly to the `main` branch, protecting the stability of the primary development line.

This configuration means the validator runs continuously—both during code review phases and after integration—to prevent broken builds from reaching production.

## Validation Steps Performed by the CI Workflow

When triggered, the "Check package" workflow performs three distinct validation checks in sequence.

### Package File Validation

First, the workflow runs `python3 scripts/validate-package.py` to verify the skill's metadata, file structure, and versioning. This script ensures that core files like [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) and [`README.md`](https://github.com/blader/humanizer/blob/main/README.md) maintain proper formatting and that the package structure adheres to repository standards.

### Skill Discovery Verification

Second, the validator executes `npx --yes skills@1.5.20 add . --list` to confirm the skill can be discovered and listed by the Skills CLI. This step verifies that the skill registration and discovery mechanisms function correctly before deployment.

### Claude Marketplace Compatibility

Third, the workflow installs the Claude Code CLI (`@anthropic-ai/claude-code@2.1.237`) and runs `claude plugin validate .` to validate the plugin definition in [`.claude-plugin/plugin.json`](https://github.com/blader/humanizer/blob/main/.claude-plugin/plugin.json). This ensures compatibility with the Claude marketplace and verifies that the plugin configuration meets Anthropic's requirements.

## Running the Humanizer CI Validator Locally

Contributors can execute the same validation steps locally before committing changes. Run these commands in the repository root:

```bash

# Validate package files

python3 scripts/validate-package.py

# Verify skill discovery

npx --yes skills@1.5.20 add . --list

# Validate Claude marketplace plugin

npm install --global @anthropic-ai/claude-code@2.1.237
claude plugin validate .

```

Local execution helps identify issues early, reducing CI failure cycles during pull request reviews.

## Summary

- The **humanizer CI validator** triggers on every pull request and every push to `main` via [`.github/workflows/validate.yml`](https://github.com/blader/humanizer/blob/main/.github/workflows/validate.yml).
- The **"Check package"** workflow runs three validations: package file integrity, skill discovery, and Claude marketplace compatibility.
- **Package validation** uses [`scripts/validate-package.py`](https://github.com/blader/humanizer/blob/main/scripts/validate-package.py) to check metadata and structure.
- **Skill discovery** relies on `npx skills@1.5.20 add . --list` to verify CLI listing capability.
- **Marketplace validation** uses `claude plugin validate .` to ensure plugin compliance.
- Developers can run identical checks locally using the same commands executed in CI.

## Frequently Asked Questions

### What triggers the humanizer CI validator to run?

The validator triggers on two GitHub Actions events: any `pull_request` activity (open, synchronize, or reopen) and any `push` event to the `main` branch. This ensures both proposed changes and direct commits undergo identical validation.

### Which files does the humanizer CI validator check?

The validator examines [`SKILL.md`](https://github.com/blader/humanizer/blob/main/SKILL.md) for prompt structure, [`README.md`](https://github.com/blader/humanizer/blob/main/README.md) for documentation sync, [`.claude-plugin/plugin.json`](https://github.com/blader/humanizer/blob/main/.claude-plugin/plugin.json) for marketplace compliance, and overall package structure via [`scripts/validate-package.py`](https://github.com/blader/humanizer/blob/main/scripts/validate-package.py). It also verifies the skill can be discovered by the Skills CLI.

### Can I run the humanizer validation steps locally before pushing?

Yes. Execute `python3 scripts/validate-package.py` for package validation, `npx --yes skills@1.5.20 add . --list` for discovery checks, and `claude plugin validate .` (after installing `@anthropic-ai/claude-code@2.1.237`) to replicate the full CI validation suite locally.

### What happens if the Claude marketplace validation fails?

If `claude plugin validate .` exits with an error, the entire "Check package" workflow fails, blocking pull request merges. This prevents invalid plugin configurations from reaching the `main` branch and ensures only marketplace-compliant code gets deployed.