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 commands/mentilead/shopify-app-skill/add-proxy-pagegit clone --depth 1 https://github.com/mentilead/shopify-app-skillWrote 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/commands/mentilead/shopify-app-skill/add-proxy-page)<a href="https://agentmods.dev/commands/mentilead/shopify-app-skill/add-proxy-page"><img src="https://agentmods.dev/badge/commands/mentilead/shopify-app-skill/add-proxy-page.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.00000 | $0.00561 |
| Opus 5 | $0.00000 | $0.00280 |
| Sonnet 5 | $0.00000 | $0.00112 |
| Haiku 4.5 | $0.00000 | $0.00056 |
Grade A, and why
add-proxy-page 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 — 36 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Add App Proxy Page
Scaffold a new App Proxy page with HMAC verification, inline CSS, and server-rendered HTML.
Arguments
$ARGUMENTS = page description (e.g., "application form for job applicants", "order status lookup")
Instructions
- Parse the page purpose from
$ARGUMENTS. If empty, ask the user what the proxy page should display. - Read
.claude/skills/shopify-app/references/app-proxy-patterns.mdfor constraints, HMAC verification, and CSS inlining patterns. - Read
.claude/skills/shopify-app/SKILL.mdgotcha #6 (App Proxy: GET only, no external CSS/JS). - Determine the route filename:
- If this is a new proxy layout:
app/routes/proxy.tsx(layout) +app/routes/proxy.<page>.tsx - If extending existing proxy:
app/routes/proxy.<page>.tsx
- If this is a new proxy layout:
- Review proxy constraints before writing code:
- GET only — the proxy only forwards GET requests. POST submissions must target the direct app URL (
/api/*route). - No external CSS/JS — all CSS must be inline
<style>tags. No<link>or<script src>. - No Tailwind
?inline— Tailwind 4's Vite plugin doesn't process?inlineimports. - No client-side hydration — React Router JS bundles don't load. Server-render only.
- GET only — the proxy only forwards GET requests. POST submissions must target the direct app URL (
- Create the route file with:
loaderthat callsverifyProxySignature(searchParams)for HMAC verification- Server-rendered HTML with all CSS inline in
<style>tags - Proper
Content-Type: text/htmlresponse (or use Shopify's Liquid layout viaapplication_liquidcontent type) - Data fetched from service functions, scoped by the shop from the HMAC-verified params
- If the page needs form submissions:
- Create a separate
app/routes/api.<form-name>.tsxaction route for POST handling - The proxy page form's
actionattribute must point to the direct app URL, not the proxy URL - Read
.claude/skills/shopify-app/references/react-router-patterns.mdfor API route patterns
- Create a separate
- Create or update service functions as needed, always with
shopDomainas first parameter. - Remind the user to:
- Configure the App Proxy in the Shopify Partner Dashboard (URL prefix + subpath)
- Test HMAC verification with a real storefront request
- Verify no external CSS/JS references leaked into the HTML
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 · 36 lines · 0 tokens per session scan A 5b036b15d646
add-proxy-page is a command published in the GitHub repository mentilead/shopify-app-skill (5 stars, last pushed 6mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 561 tokens. 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 commands, from other repositories
dev
Runs Vendure in development mode. By default it starts three processes: the GraphQL server (ts-node ./src/index.ts), the worker (ts-node ./src/index-worker.ts), and the dashboard (a Vite dev server).
eval-merge
Use the Read tool to load .skill-compass/{skill-name}/manifest.json. Verify.
cti-report
Render case deliverables — relationship graph (PNG/SVG/Mermaid) and a polished PDF/DOCX assessment. Usage: /cti-report [--graph|--pdf].
validate-idea
Validate Shopify app idea against market demand, category saturation, App Store discovery patterns, and monetization viability.
enum-udp
UDP scan + service follow-up — top ports first, full sweep only when justified.
kerberos
Kerberos attacks — AS-REP roasting and Kerberoasting.