Add a new self-contained example agent under examples/. Use when asked to "create an example for <framework>", "add a tutorial agent", "demo integration with <LLM provider>", or when showcasing a new pattern users should copy.
76
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Examples under examples/ are the fastest way users learn Bindu. Each is a self-contained mini-project demonstrating one integration pattern. Follow existing structure — users and agents discover examples by convention, so inconsistency hurts discoverability.
<name>: kebab-case slug, e.g. pdf-research-agent, weather-research.<framework>: Python (agno, langchain, langgraph, crewai) or TypeScript (openai, langchain).<purpose>: one-sentence "what this demonstrates"..env files. Only .env.example with placeholder values and # pragma: allowlist secret to bypass pre-commit.3773 with BINDU_PORT override.bindufy() with consistent config.Find an existing example in the same framework and match its layout:
examples/<name>/
├── README.md
├── .env.example
├── main.py # or index.ts for TypeScript
├── pyproject.toml # or package.json
└── skills/ # optional, only if agent advertises skills
└── <skill>/
└── skill.yamlPython handler signature:
def handler(messages: list[dict[str, str]]) -> str | dict:
...TypeScript handler signature:
async (messages: ChatMessage[]) => Promise<string | HandlerResponse>Call bindufy(config, handler) at the bottom of the entry file. Follow the config shape from the template example — don't invent new keys.
Four sections, in this order:
cp .env.example .env, fill-in list, install command.uv run python main.py or npx tsx index.ts, plus one example curl against localhost:3773.# Python
cd examples/<name>
uv venv --python 3.12.9
source .venv/bin/activate
uv pip install -e .
python main.py &
sleep 3
curl -X POST http://localhost:3773/ -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"message/send","id":"test","params":{"message":{"role":"user","kind":"message","parts":[{"kind":"text","text":"Hello"}],"messageId":"1","contextId":"1","taskId":"1"}}}'If response arrives and the DID signature is present in metadata, the example is good.
One commit covering the whole example. Conventional commit:
feat(examples): add <name> — <one-line purpose>.env.example. Each example lists its own required vars.7b1ff75
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.