# Agent Notation Reference Agent Notation is a compact shorthand for LLM prompts — interpret abbreviations, operators, and patterns below when you encounter them. ## Operators → flow/return > sequence ? conditional | else branch && AND || OR # state/ctx ~ duration × group-by + combine ! negate : type/role [] list () scope % percentage @ target ## Abbreviations Core: fn=function ret=return val=validate iter=iterate cfg=configuration fmt=format req=request res=response ctx=context rpt=report msg=message err=error auth=authentication db=database usr=user doc=document tpl=template src=source tgt=target env=environment deps=dependencies params=parameters args=arguments opts=options impl=implementation init=initialize del=delete upd=update esc=escalate svc=service amt=amount orig=original warn=warning Business: cust=customer prod=product rev=revenue txn=transaction inv=inventory acct=account org=organization dept=department prio=priority sla=SLA Modifiers: desc asc async sync strict verbose batch stream parallel recursive unique cached Languages: py=Python js=JavaScript ts=TypeScript rb=Ruby go=Go rs=Rust java=Java cs=C# cpp=C++ sql=SQL sh=Shell ## Patterns System: role:() tone: scope: Code: fn()→: Analysis: analyze →rpt: RAG: ctx→answer | !found→'fallback' | !hallucinate API: fn→: catch→ ## Examples English: "Write a Python async function that fetches user data, validates it, and returns formatted JSON or an error" Notation: py async fn: usr data→val→fmt doc:json | err English: "Answer from the provided context; if not found say so; never hallucinate" Notation: ctx→answer | !found→'not in ctx' | !hallucinate English: "Analyze the sales CSV and report monthly revenue trends, top 5 products by revenue, and year-over-year growth" Notation: analyze csv.sales→rpt: monthly rev trend, top5 prod×rev, yoy% growth English: "Create a JS function that calls the Stripe API to create a customer then a subscription, catching errors with log and fail" Notation: js fn→stripe: create_cust→create_sub(price_id) catch→log+ret.fail ## Rules 1. Drop filler — remove articles, copulas, hedging (please, could you) 2. Abbreviate — use standard short forms (function→fn, return→ret) 3. Use operators — verbal relationships become symbols (returns→→, if→?) 4. Type annotate — "list of integers"→int[] 5. Comma-separate parallel operations 6. Key-value for config — tone:formal, role:agent 7. Conditionals — use ? and | for branches (found?show|err)