Annotating Effect Agents and Methods
SkillDocs & knowledgeAdds descriptions and prompt hints to Effect-based Golem agents so AI models and humans can understand what each agent and method does.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Annotating Effect Agents and Methods skill
About this capability
Adding prompt hints and descriptions to Effect-based Golem agents and methods. Use when an @golemcloud/effect-golem agent needs AI/LLM discovery metadata or human-readable method documentation.
What this skill tells your AI
The instructions your AI receives, as published by golemcloud/golem in golem-skills/skills/effect/golem-annotate-agent-effect/SKILL.md and read by ahel’s review.
Effect Golem agents declare AI/LLM discovery metadata as fields in their defineAgent(...) and
method(...) specs. Do not translate decorator syntax from another SDK: Effect agents do not use
annotation decorators.
Metadata Fields
- Top-level
descriptiondescribes the agent type and its overall purpose. - Top-level
promptHint, when needed, tells an LLM when to construct or select an agent instance. - Method-level
promptHinttells an LLM when to invoke that method. - Method-level
descriptiondocuments the method's behavior, inputs, outputs, and edge cases.
The method name exposed by Golem is the key in the methods record, so use TypeScript camelCase
there. A request for a method's “prompt” annotation maps to the Effect SDK's promptHint field.
Agent and Method Metadata
Set agent metadata directly on the defineAgent spec and method metadata directly inside
method(...):
import { Effect, Schema } from "effect";
import { defineAgent, method } from "@golemcloud/effect-golem";
export const CounterAgent = defineAgent({
name: "CounterAgent",
description: "A test counter agent for tracking numeric values",
mode: "durable",
id: {
count: Schema.Number,
},
methods: {
getDouble: method({
input: {},
success: Schema.Number,
promptHint: "Get the doubled value of the counter",
description:
"Returns the current count multiplied by two. Useful for scaling operations.",
}),
},
}).implement({
init: ({ count }) => Effect.succeed(count),
methods: (count) => ({
getDouble: () => Effect.succeed(count * 2),
}),
});
When editing an existing stateful agent, preserve its snapshot and implementation structure. Add
the method spec under methods, then add a matching Effect-returning handler to the object returned
by methods. Metadata belongs only on the specs; it does not change handler behavior.
Key Constraints
- Import
defineAgentandmethodfrom@golemcloud/effect-golem, andEffectandSchemafromeffect. - Use
descriptionandpromptHint, notprompt, decorator syntax, or helpers from@golemcloud/golem-ts-sdk. - Keep method
input,success, and optionalerrorschemas unchanged when adding metadata. - Both metadata fields are optional; omit them for methods that should not carry discovery hints.
- Keep the top-level
.implement({ ... })registration and the implementation module's side-effect import fromsrc/main.ts. - Run
golem buildand redeploy after changing metadata so discovery reports the new values.
Signals
- GitHub stars
- 2k
- Forks
- 211
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
golem-annotate-agent-effect- Source
- github.com/golemcloud/golem