Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/celigo/ai/managing-stacksnpx skills add celigo/ai --skill managing-stacksgit clone --depth 1 https://github.com/celigo/aiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/celigo/ai/managing-stacks)<a href="https://agentmods.dev/skills/celigo/ai/managing-stacks"><img src="https://agentmods.dev/badge/skills/celigo/ai/managing-stacks.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00107 | $0.03698 |
| Opus 5 | $0.00053 | $0.01849 |
| Sonnet 5 | $0.00021 | $0.00740 |
| Haiku 4.5 | $0.00011 | $0.00370 |
Grade A, and why
managing-stacks scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 227 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Managing Stacks
A stack is a pointer to your own compute environment where Celigo runs extension code -- the script hooks and connector wrappers that would otherwise run on Celigo's hosted JavaScript runtime. A stack holds the address and credentials of that environment, not the logic. At runtime, when a hook or wrapper is configured to use a stack, Celigo dispatches that function's execution to the stack instead of running it on its own managed runtime.
Concerns when managing stacks:
- Necessity -- most accounts never need a stack; the hosted runtime handles the vast majority of extension logic. A stack is for a real trigger (see the decision matrix).
- Type and config --
server(a self-hosted HTTP endpoint) orlambda(an AWS Lambda function), each with its own config block. - Credentials -- a server carries an auto-generated
systemToken; a lambda carries AWS keys. Both are masked in responses and demand credential discipline. - References -- a stack does nothing on its own. It matters only once a hook (via
_stackIdon an export/import) or a wrapper connection (via_stackId) points at it.
Stacks are a resource type in their own right. They are referenced by script hooks and by wrapper connections.
The Stack Is the Runtime, Not the Code
The distinction the whole domain hangs on:
- The code is the logic: a hook (a JavaScript function on an export/import --
preMap,postSubmit, etc.) or a connector wrapper (the server-side JavaScript that implements a custom adaptor). Hook logic is a script resource; wrapper logic belongs to the wrapper connection. - The stack is where that code runs. A hook or wrapper points at a stack via
_stackId. When set, Celigo dispatches that function's execution to the stack instead of its managed runtime.
So "edit what the hook does" is script work; "change where the hook runs" (managed runtime <-> a stack, or one stack <-> another) is what touches _stackId. A stack is bring-your-own-compute: it supplies the environment, not the behavior.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 227 lines · 107 tokens per session scan A 4c0c75cd188a
managing-stacks is a skill published in the GitHub repository celigo/ai (3 stars, last pushed yesterday), licensed MIT. It adds 107 tokens to every session and 3,698 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
modal
Serverless GPU cloud for ML jobs and model APIs.
cloudflare-temporary-deploy
Deploy a Worker live, no account, via wrangler --temporary.
publish-site
Versioned site deploys to GitHub/Cloudflare/Netlify Pages.
tensorrt-llm
High-throughput LLM inference on NVIDIA GPUs.
stripe-projects
Provision SaaS services + sync creds via Stripe Projects.
langbot-deploy
Deploy and configure a LangBot instance — Docker / Docker Compose, Kubernetes, the config.yaml model, the Box sandbox runtime, the plugin runtime, and the global API key. Use when installing, deploying, upgrading, or configuring LangBot in production or self-hosted environments. Triggers on "deploy langbot", "langbot…