Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,20 @@ Edit the relevant `SKILL.md` or data file. Test by running the skill locally wit

## Testing

There is no automated test harness for skills — they are instruction sets interpreted by Claude Code, not code with unit tests. The validation steps are:
The repo ships a three-tier test suite. See [`tests/README.md`](tests/README.md) for the full breakdown. Before opening a PR, run the fast tiers at minimum:

```bash
./tests/run-tests.sh # tier 1 + tier 2 (~4–5 min)
./tests/run-tests.sh --verbose # with per-assertion output
```

| Tier | What it tests | Speed |
|---|---|---|
| 2 | `test-invariants.sh` — grep/filesystem invariants; no Claude invocation | <1s |
| 1 | `test-*.sh` — Claude headless invocations that verify each skill's instructions are coherent | ~4–5 min total |
| 3 | `test-e2e*.sh` — real pipeline runs against the live playground; run manually before releases | 5–35 min |

Additional manual checks:

1. **Load the plugin**: `claude --plugin-dir .` — confirm no startup errors.
2. **Run the skill manually**: invoke `/discover-workflows` or `/install-workflow` and walk through the flow.
Expand All @@ -85,7 +98,7 @@ Never test by committing untested changes to `main`. The installed workflows run

## Workflow files

The `.github/workflows/` directory contains seven dogfooded workflows. These are managed by `gh aw` — do not edit `.lock.yml` files by hand except to apply the OAuth tweak described in [skills/install-workflow/auth.md](skills/install-workflow/auth.md).
The `.github/workflows/` directory contains six workflows. Three are agentic workflows managed by `gh aw` (`daily-repo-status`, `update-docs`, `weekly-research`) — do not edit their `.lock.yml` files by hand except to apply the OAuth tweak described in [skills/install-workflow/auth.md](skills/install-workflow/auth.md). The other three (`agentics-maintenance`, `ci-tests`, `copilot-setup-steps`) are standard GitHub Actions YAML.

If a workflow `.md` source needs changing:

Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,14 @@ catalog/
`.lock.yml` files are marked `linguist-generated` and `merge=ours` in `.gitattributes` to prevent spurious merge conflicts.
</details>

## Publishing (maintainers only)

1. Bump `version` in `.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json` (semver).
2. Commit, push, and tag: `git tag v<version> && git push origin v<version>`.
3. Create a GitHub release from the tag: `gh release create v<version> --generate-notes`.
4. The self-hosted marketplace listing at `https://raw.githubusercontent.com/verkyyi/github-agent-runner/main/.claude-plugin/marketplace.json` updates automatically on push — no extra step needed for users who pin to `main`.
5. Submit to the plugin registries where the plugin is listed ([claude-plugins.dev](https://claude-plugins.dev), [ClaudePluginHub](https://claudepluginhub.com)) per each registry's update/submission flow.

## Credits

Built on two open-source projects from the [GitHub Next](https://githubnext.com) team:
Expand Down