Skip to content

Contributing

Source-of-truth files, generated artifacts, validation gates, and external skill safety.

Use this page when you are changing skills, agents, MCP configuration, generated docs, external skill metadata, distribution files, or validation behavior.

SurfaceSourceValidation
Skillsskills/<name>/SKILL.md plus optional references, scripts, templates, evals, and datauv run wagents validate
Agentsagents/<name>.mduv run wagents validate
MCPconfig/mcp-registry.json, mcp.json, mcp/uv run python scripts/sync_agent_stack.py --targets repo --check
Docs pages and indexeswagents/docs.py, wagents/rendering.py, wagents/site_model.py, docs/src/content/docs/uv run pytest tests/test_site_model.py tests/test_docs.py
READMEwagents/cli.py and catalog inputsuv run wagents readme --check
External skillsconfig/external-skills.md, wagents/external_skills.pyuv run wagents skills sync --dry-run
Distributionagent-bundle.json, plugin manifests, opencode.json, harness config sourcesuv run pytest tests/test_distribution_metadata.py
Non-trivial workflow changesopenspec/changes/<change>/uv run wagents openspec validate
  1. Check the current branch and dirty state.

    Terminal window
    git status --short --branch
  2. Create or update OpenSpec state for non-trivial public formats, downstream tooling, docs generation, validation behavior, sync behavior, or multi-surface distribution changes.

    Terminal window
    uv run wagents openspec validate
  3. Edit source files, not generated output.

  4. Regenerate only the affected public surfaces.

    Terminal window
    uv run wagents docs generate --no-installed
    uv run wagents readme
  5. Run focused tests and the relevant validation commands.

Before installing or promoting an external skill:

  • Inspect source-list output and the skill body.
  • Check hooks, scripts, command substitutions, allowed tools, credential behavior, network access, destructive commands, and license/provenance.
  • Record curated commands or avoid notes in config/external-skills.md.
  • Preview with uv run wagents skills sync --dry-run.
  • Regenerate docs so external skill indexes and install scripts stay synchronized.

Do not bulk-import external repositories by default. Do not run live installs or wagents skills sync --apply without explicit maintainer intent.

Generated public surfaces include README.md, docs pages under generated catalog directories, docs/src/generated-site-data.mjs, docs/src/generated-skill-indexes.mjs, docs/src/generated-sidebar.mjs, and docs/public/generated-skill-indexes/*.json.

Keep local-only installed inventory labeled as local inventory. Public docs and generated indexes should not expose user-specific absolute local paths as source labels.

Some repo-managed harness config and instruction projection files are local operational surfaces for this maintainer environment. External users should start from the public bundle paths, plugin manifests, and npx skills add github:wyattowalsh/agents ... commands instead of copying machine-local absolute paths from generated harness projections. When changing those projections, document whether a path is public, repo-relative, or a maintainer-local target.