NeuralRelay grows through community contributions — new agents, pipeline templates, and schema improvements. Here's how to contribute.
-
Create the agent file at
agents/your-agent.mdfollowing this structure:--- model: sonnet # or opus for high-reasoning tasks tools: - Read - Glob - Grep - Bash maxTurns: 20 skills: - handoff-protocol --- You are the {Role} agent in the NeuralRelay pipeline. {2-3 sentence role definition.} ## Responsibilities ## Input ## Output ## Workflow ## Quality Standards ## Edge Cases ## When You're Stuck
-
Define which handoff your agent reads and produces. Every agent must:
- Specify the input handoff schema and file path
- Specify the output handoff schema and file path
- Write output to
.neuralrelay/handoffs/{chain-id}/{NN}-{stage-name}.json
-
Add your agent to a pipeline config. Either modify
neuralrelay.yamlor create a new template inexamples/templates/:pipeline: - name: your-stage-name agent: your-agent model_preference: sonnet
-
Test your agent by running a pipeline with it:
/neuralrelay start "a task that exercises your agent" -
Quality requirements:
- Agent file must be under 200 lines
- Must include Edge Cases and When You're Stuck sections
- Must use imperative language ("Do X", "Never Y")
-
Create a YAML file in
examples/templates/with a descriptive name (e.g.,api-development.yaml). -
Include a comment header explaining:
- What the template is for
- When to use it vs other templates
- What trade-offs it makes
-
Only reference agents that exist in
agents/. If your template needs a new agent, create it first. -
Test the template by copying it to
neuralrelay.yamland running a pipeline.
Adding a new field to a schema has a high bar. Every field must justify its existence:
- Which downstream agent uses this field? If no agent reads it, it's dead weight.
- What tokens does it save? A field that saves the test agent from re-exploring code is valuable. A field that's "nice to have" is not.
- Is it always available? Fields that are empty or "N/A" most of the time add noise.
To propose a schema change:
- Open an issue describing: the field, which agent produces it, which agent consumes it, and the token savings estimate.
- If accepted, update the schema, all example handoffs, and any agent definitions that read or write the field.
- Ensure all example handoffs still validate against the updated schema.
When filing an issue, include:
- The task description you used with
/neuralrelay start - The handoff chain — run
/neuralrelay chainand paste the output - Which agent failed and how (crash, invalid handoff, wrong output)
- Your pipeline config — paste your
neuralrelay.yaml - Environment — OS, Claude Code version
The handoff chain is the most useful diagnostic. It shows exactly what each agent produced and where the chain broke.
- Be constructive. If something doesn't work, describe what happened and what you expected.
- Share real examples. Concrete handoff chains are more useful than abstract descriptions.
- Respect everyone's time. Keep issues focused and PRs small.
- Test your contributions. Every schema change needs updated examples. Every agent needs a pipeline run.