install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/hive-endpoint" ~/.claude/skills/diegosouzapw-awesome-omni-skill-hive-endpoint && rm -rf "$T"
manifest:
skills/development/hive-endpoint/SKILL.mdsource content
Creating Endpoints
Location:
/src/resources/{name}/endpoints/{action}.js
Template (4 Required Exports)
import { z } from 'zod'; import db from 'db'; const myService = db.services.myResource; export const handler = async (ctx) => { const { param } = ctx.validatedData; // Logic here return { result: 'data' }; }; export const middlewares = []; export const endpoint = { url: '/', method: 'get', }; export const requestSchema = z.object({ param: z.coerce.string().nullable().optional(), });
Handler Context (ctx)
ctx.validatedData // Validated input (body + query + params) ctx.state.user // Authenticated user ctx.params // URL params ctx.throw(404, 'msg') // Throw error ctx.assert(cond, 400) // Assert or throw
Common Patterns
List:
export const handler = async (ctx) => { const { page, perPage } = ctx.validatedData; const { results, count } = await service.find( { 'user._id': ctx.state.user._id }, { page, perPage, sort: '-createdOn' } ); return { results, count }; }; export const endpoint = { url: '/', method: 'get' };
Create:
export const handler = async (ctx) => { const doc = await service.create({ ...ctx.validatedData, user: ctx.state.user, }); return doc; }; export const endpoint = { url: '/', method: 'post' };
Update:
export const handler = async (ctx) => { const { id, title } = ctx.validatedData; return await service.updateOne({ _id: id }, (doc) => ({ ...doc, title })); }; export const endpoint = { url: '/:id', method: 'put' };
Middlewares
// By name export const middlewares = ['allowNoAuth']; // With args export const middlewares = [{ name: 'shouldExist', args: ['projects'] }]; // Direct function import canEditProject from 'middlewares/canEditProject'; export const middlewares = [canEditProject((ctx) => ctx.params.projectId)];
Public Endpoint (No Auth)
export const middlewares = ['allowNoAuth'];