clawmoat 0.8.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +9 -0
- package/CHANGELOG.md +18 -0
- package/DEMO.md +87 -0
- package/Dockerfile +5 -18
- package/README.md +232 -8
- package/THREAT_MODEL.md +129 -0
- package/agent/README.md +131 -0
- package/agent/index.js +471 -0
- package/agent/install-service.sh +94 -0
- package/agent/openclaw-hook.js +453 -0
- package/agent/provider-setup.js +649 -0
- package/agent/setup.js +274 -0
- package/assets/BADGE-USAGE.md +20 -0
- package/assets/clawmoat-badge.svg +21 -0
- package/bin/clawmoat.js +468 -111
- package/docs/affiliates/dashboard.html +124 -0
- package/docs/affiliates/index.html +236 -0
- package/docs/agent-install.html +183 -0
- package/docs/ai-agent-security-scanner.html +10 -6
- package/docs/badge/index.html +149 -0
- package/docs/badge/scanning.svg +23 -0
- package/docs/blog/386-malicious-skills.html +11 -4
- package/docs/blog/40000-exposed-openclaw-instances.html +11 -4
- package/docs/blog/agent-trust-protocol.html +5 -4
- package/docs/blog/ai-agent-earns-commissions.html +230 -0
- package/docs/blog/bugmageddon-agent-firewall.html +174 -0
- package/docs/blog/calculator-math.html +180 -0
- package/docs/blog/clawmoat-vs-llamafirewall-nemo-guardrails.html +10 -4
- package/docs/blog/host-guardian-launch.html +18 -8
- package/docs/blog/ibm-experts-agent-runtime-protection.html +15 -6
- package/docs/blog/index.html +67 -9
- package/docs/blog/langchain-security-tutorial.html +18 -8
- package/docs/blog/mcp-30-cves-security-crisis.html +11 -4
- package/docs/blog/meta-researcher-rogue-agent.html +201 -0
- package/docs/blog/microsoft-openclaw-workstation-security.html +5 -4
- package/docs/blog/nist-ai-agent-standards-clawmoat.html +16 -8
- package/docs/blog/oasis-websocket-hijack.html +11 -4
- package/docs/blog/ollama-openclaw-security.html +10 -4
- package/docs/blog/openclaw-enterprise-readiness-claw10.html +5 -4
- package/docs/blog/openclaw-security-reckoning-2026.html +11 -4
- package/docs/blog/owasp-agentic-ai-top10.html +18 -8
- package/docs/blog/securing-ai-agents.html +18 -8
- package/docs/blog/supply-chain-agents.html +18 -8
- package/docs/business/index.html +11 -16
- package/docs/business/install.html +21 -7
- package/docs/checklist.html +10 -4
- package/docs/compare/index.html +122 -0
- package/docs/compare/lakera/index.html +62 -0
- package/docs/compare/llm-guard/index.html +49 -0
- package/docs/compare/snyk-agent-scan/index.html +63 -0
- package/docs/compare.html +10 -6
- package/docs/dashboard/index.html +520 -0
- package/docs/finance/index.html +9 -6
- package/docs/guides/business-deployment.html +770 -0
- package/docs/hall-of-fame.html +11 -5
- package/docs/index.html +266 -137
- package/docs/integrations/langchain.html +14 -6
- package/docs/integrations/openai.html +14 -6
- package/docs/integrations/openclaw.html +55 -7
- package/docs/plans/2026-03-26-threat-intel-api.md +255 -0
- package/docs/plans/2026-04-14-bugmageddon-marketing-pack.md +329 -0
- package/docs/plans/2026-04-14-clawmoat-v1-bugmageddon.md +248 -0
- package/docs/plans/2026-04-14-v1-release-update.md +91 -0
- package/docs/plans/2026-04-19-supabase-audit.md +68 -0
- package/docs/plans/2026-05-12-sales-push.md +303 -0
- package/docs/playground/index.html +893 -0
- package/docs/playground.html +4 -7
- package/docs/rfcs/defense-in-depth.md +467 -0
- package/docs/scan/index.html +156 -12
- package/docs/services/case-study.html +255 -0
- package/docs/services/downloads/install-openclaw.bat +45 -0
- package/docs/services/downloads/install-openclaw.command +38 -0
- package/docs/services/downloads/install-openclaw.sh +38 -0
- package/docs/services/get-started.html +165 -0
- package/docs/services/index.html +598 -0
- package/docs/services/multi-agent-security.html +284 -0
- package/docs/services/one-pager.html +99 -0
- package/docs/services/pitch-deck.html +229 -0
- package/docs/services/roi-calculator.html +258 -0
- package/docs/sitemap.xml +62 -2
- package/docs/support/index.html +12 -1
- package/docs/templates/customer-service/HEARTBEAT.md +61 -0
- package/docs/templates/customer-service/MEMORY.md +89 -0
- package/docs/templates/customer-service/SOUL.md +41 -0
- package/docs/templates/customer-service/USER.md +56 -0
- package/docs/templates/executive/HEARTBEAT.md +86 -0
- package/docs/templates/executive/MEMORY.md +92 -0
- package/docs/templates/executive/SOUL.md +44 -0
- package/docs/templates/executive/USER.md +62 -0
- package/docs/templates/finance/HEARTBEAT.md +58 -0
- package/docs/templates/finance/MEMORY.md +87 -0
- package/docs/templates/finance/SOUL.md +38 -0
- package/docs/templates/finance/USER.md +53 -0
- package/docs/templates/index.html +115 -0
- package/docs/templates/operations/HEARTBEAT.md +63 -0
- package/docs/templates/operations/MEMORY.md +68 -0
- package/docs/templates/operations/SOUL.md +38 -0
- package/docs/templates/operations/USER.md +49 -0
- package/docs/templates/sales/HEARTBEAT.md +55 -0
- package/docs/templates/sales/MEMORY.md +89 -0
- package/docs/templates/sales/SOUL.md +34 -0
- package/docs/templates/sales/USER.md +54 -0
- package/eslint.config.js +32 -0
- package/evals/README.md +29 -0
- package/evals/cases.json +390 -0
- package/evals/results.md +68 -0
- package/evals/run.js +180 -0
- package/examples/demo-attack/demo.js +186 -0
- package/examples/python-quickstart/README.md +54 -0
- package/examples/python-quickstart/clawmoat_client.py +167 -0
- package/examples/video-demo/README.md +14 -0
- package/examples/video-demo/scene-a-normal.js +29 -0
- package/examples/video-demo/scene-b-attack-arrives.js +31 -0
- package/examples/video-demo/scene-c-hijack.js +44 -0
- package/examples/video-demo/scene-d-clawmoat.js +46 -0
- package/integrations/crewai/README.md +32 -0
- package/integrations/crewai/clawmoat_crewai/__init__.py +17 -0
- package/integrations/crewai/clawmoat_crewai/guard.py +103 -0
- package/integrations/crewai/pyproject.toml +21 -0
- package/integrations/langchain/README.md +91 -0
- package/integrations/langchain/clawmoat_langchain/__init__.py +17 -0
- package/integrations/langchain/clawmoat_langchain/callback.py +489 -0
- package/integrations/langchain/pyproject.toml +32 -0
- package/integrations/litellm/README.md +324 -0
- package/integrations/litellm/clawmoat_litellm/__init__.py +21 -0
- package/integrations/litellm/clawmoat_litellm/callback.py +329 -0
- package/integrations/litellm/clawmoat_litellm/proxy_middleware.py +224 -0
- package/integrations/litellm/pyproject.toml +74 -0
- package/integrations/openai-agents/README.md +392 -0
- package/integrations/openai-agents/clawmoat_openai_agents/__init__.py +20 -0
- package/integrations/openai-agents/clawmoat_openai_agents/guardrail.py +431 -0
- package/integrations/openai-agents/clawmoat_openai_agents/middleware.py +311 -0
- package/integrations/openai-agents/pyproject.toml +76 -0
- package/package.json +6 -5
- package/plugins/openclaw-adapter/PHASE1.md +439 -0
- package/plugins/openclaw-adapter/README.md +103 -0
- package/plugins/openclaw-adapter/SPEC.md +1644 -0
- package/plugins/openclaw-adapter/package.json +31 -0
- package/plugins/openclaw-adapter/src/index.test.ts +226 -0
- package/plugins/openclaw-adapter/src/index.ts +140 -0
- package/plugins/openclaw-adapter/tsconfig.json +14 -0
- package/server/data/threats.json +290 -0
- package/server/index.js +142 -7
- package/src/adapters/express.js +161 -0
- package/src/adapters/index.js +92 -0
- package/src/adapters/langchain.js +185 -0
- package/src/approval/index.js +456 -0
- package/src/ban-scanner.js +200 -0
- package/src/boundary-scanner.js +296 -0
- package/src/ci-scanner.js +279 -0
- package/src/code-scanner.js +245 -0
- package/src/enforce.js +166 -0
- package/src/formatters/json.js +80 -0
- package/src/formatters/sarif.js +388 -0
- package/src/guardian/alerts.js +34 -3
- package/src/guardian/index.js +41 -2
- package/src/index.js +102 -0
- package/src/integrations/agentmesh.js +501 -0
- package/src/language-detector.js +201 -0
- package/src/mcp-scanner.js +253 -0
- package/src/multimodal/index.js +579 -0
- package/src/obfuscation-scanner.js +457 -0
- package/src/policy-engine.js +402 -0
- package/src/scanners/dependency-attacks.js +128 -0
- package/src/scanners/prompt-injection.js +18 -0
- package/src/scanners/supply-chain.js +14 -0
- package/src/templates/default-config.yml +90 -0
- package/src/vuln-ops/exploitability.js +46 -0
- package/src/watch/live-monitor.js +720 -0
- package/clawmoat-0.8.0.tgz +0 -0
- package/server/index.js.patch +0 -1
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<link rel="icon" type="image/png" href="/favicon.png">
|
|
5
|
+
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
|
6
|
+
<meta charset="UTF-8">
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
8
|
+
<title>AI Agent ROI Calculator — ClawMoat</title>
|
|
9
|
+
<meta name="description" content="Calculate how much your business could save with AI agents. Input your team size and see monthly savings, annual ROI, and payback period.">
|
|
10
|
+
<link rel="canonical" href="https://clawmoat.com/services/roi-calculator.html">
|
|
11
|
+
<meta property="og:title" content="AI Agent ROI Calculator — ClawMoat">
|
|
12
|
+
<meta property="og:description" content="See exactly how much AI agents could save your business. Free ROI calculator.">
|
|
13
|
+
<meta property="og:image" content="https://clawmoat.com/og-image.png">
|
|
14
|
+
<meta property="og:url" content="https://clawmoat.com/services/roi-calculator.html">
|
|
15
|
+
<style>
|
|
16
|
+
*{margin:0;padding:0;box-sizing:border-box}
|
|
17
|
+
:root{--navy:#0F172A;--navy-light:#1E293B;--navy-mid:#334155;--blue:#3B82F6;--emerald:#10B981;--white:#F8FAFC;--gray:#94A3B8;--red:#EF4444;--amber:#F59E0B}
|
|
18
|
+
html{scroll-behavior:smooth}
|
|
19
|
+
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--navy);color:var(--white);line-height:1.6;overflow-x:hidden}
|
|
20
|
+
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
|
|
21
|
+
.container{max-width:800px;margin:0 auto;padding:0 24px}
|
|
22
|
+
|
|
23
|
+
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(15,23,42,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(59,130,246,.15);padding:16px 0}
|
|
24
|
+
nav .nav-inner{max-width:1140px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
|
|
25
|
+
.logo{font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--white)}
|
|
26
|
+
.nav-links{display:flex;gap:28px;align-items:center}
|
|
27
|
+
.nav-links a{color:var(--gray);font-size:.9rem;transition:color .2s}
|
|
28
|
+
.nav-links a:hover{color:var(--white);text-decoration:none}
|
|
29
|
+
.nav-links .btn-sm{color:var(--navy);background:var(--emerald);padding:6px 28px;border-radius:20px;font-weight:600;font-size:.85rem;white-space:nowrap}
|
|
30
|
+
.menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer}
|
|
31
|
+
|
|
32
|
+
.hero{padding:140px 0 40px;text-align:center}
|
|
33
|
+
.hero .label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--emerald);margin-bottom:16px}
|
|
34
|
+
.hero h1{font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800;line-height:1.2;margin-bottom:16px;letter-spacing:-.02em}
|
|
35
|
+
.hero p{color:var(--gray);font-size:1.05rem;max-width:600px;margin:0 auto}
|
|
36
|
+
|
|
37
|
+
.calc-section{padding:40px 0 80px}
|
|
38
|
+
.calc-card{background:var(--navy-light);border:2px solid rgba(59,130,246,.2);border-radius:20px;padding:40px;margin-bottom:32px}
|
|
39
|
+
|
|
40
|
+
.input-group{margin-bottom:28px}
|
|
41
|
+
.input-group label{display:block;font-weight:600;margin-bottom:8px;font-size:.95rem}
|
|
42
|
+
.input-group .hint{color:var(--gray);font-size:.82rem;margin-bottom:8px}
|
|
43
|
+
.input-group input[type=range]{width:100%;margin:8px 0;accent-color:var(--blue)}
|
|
44
|
+
.input-row{display:flex;align-items:center;gap:16px}
|
|
45
|
+
.input-row input[type=number]{background:var(--navy);border:1px solid var(--navy-mid);border-radius:8px;padding:10px 14px;color:var(--white);font-size:1.1rem;font-weight:600;width:140px;text-align:right}
|
|
46
|
+
.input-row input[type=number]:focus{outline:none;border-color:var(--blue)}
|
|
47
|
+
.input-row .unit{color:var(--gray);font-size:.9rem}
|
|
48
|
+
.range-labels{display:flex;justify-content:space-between;color:var(--navy-mid);font-size:.75rem}
|
|
49
|
+
|
|
50
|
+
.results-card{background:var(--navy-light);border:2px solid var(--emerald);border-radius:20px;padding:40px;text-align:center}
|
|
51
|
+
.results-card h2{font-size:1.3rem;font-weight:700;margin-bottom:24px;color:var(--emerald)}
|
|
52
|
+
.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;margin-bottom:32px}
|
|
53
|
+
.result-item{background:var(--navy);border-radius:14px;padding:20px}
|
|
54
|
+
.result-item .num{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,var(--blue),var(--emerald));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
|
|
55
|
+
.result-item .desc{color:var(--gray);font-size:.82rem;margin-top:4px}
|
|
56
|
+
|
|
57
|
+
.breakdown{text-align:left;margin:24px 0;padding:20px;background:var(--navy);border-radius:12px}
|
|
58
|
+
.breakdown h3{font-size:.9rem;color:var(--emerald);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
|
|
59
|
+
.breakdown .row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.9rem}
|
|
60
|
+
.breakdown .row .label{color:var(--gray)}
|
|
61
|
+
.breakdown .row .value{font-weight:600}
|
|
62
|
+
.breakdown .row.total{border-top:2px solid var(--emerald);border-bottom:none;margin-top:8px;padding-top:12px;font-size:1rem}
|
|
63
|
+
.breakdown .row.total .value{color:var(--emerald)}
|
|
64
|
+
|
|
65
|
+
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:10px;font-weight:600;font-size:1rem;transition:all .2s;border:none;cursor:pointer}
|
|
66
|
+
.btn-green{background:var(--emerald);color:#fff;font-size:1.1rem;padding:16px 36px}
|
|
67
|
+
.btn-green:hover{background:#059669;text-decoration:none}
|
|
68
|
+
|
|
69
|
+
.note{color:var(--navy-mid);font-size:.8rem;text-align:center;margin-top:24px;font-style:italic}
|
|
70
|
+
|
|
71
|
+
.cta-section{text-align:center;padding:60px 0;border-top:1px solid rgba(255,255,255,.06)}
|
|
72
|
+
.cta-section h2{font-size:1.6rem;font-weight:700;margin-bottom:12px}
|
|
73
|
+
.cta-section p{color:var(--gray);margin-bottom:24px;font-size:1rem}
|
|
74
|
+
|
|
75
|
+
footer{padding:40px 0;border-top:1px solid rgba(255,255,255,.06);text-align:center;color:var(--gray);font-size:.85rem}
|
|
76
|
+
.footer-inner{max-width:1140px;margin:0 auto;padding:0 24px}
|
|
77
|
+
|
|
78
|
+
@media(max-width:768px){
|
|
79
|
+
.nav-links{display:none}
|
|
80
|
+
.nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:20px;gap:16px;border-bottom:1px solid var(--navy-mid)}
|
|
81
|
+
.menu-toggle{display:block}
|
|
82
|
+
.hero{padding:110px 0 30px}
|
|
83
|
+
.calc-card,.results-card{padding:24px}
|
|
84
|
+
}
|
|
85
|
+
</style>
|
|
86
|
+
</head>
|
|
87
|
+
<body>
|
|
88
|
+
|
|
89
|
+
<nav>
|
|
90
|
+
<div class="container">
|
|
91
|
+
<div class="logo"><a href="/"><img src="/logo.svg" alt="ClawMoat" style="height:44px"></a></div>
|
|
92
|
+
<button class="menu-toggle" onclick="document.querySelector('.nav-links').classList.toggle('open')" aria-label="Menu">☰</button>
|
|
93
|
+
<div class="nav-links">
|
|
94
|
+
<a href="/">Security</a>
|
|
95
|
+
<a href="/services/">AI Agents</a>
|
|
96
|
+
<a href="/blog/">Blog</a>
|
|
97
|
+
<a href="https://github.com/darfaz/clawmoat">GitHub ↗</a>
|
|
98
|
+
<a href="mailto:hello@clawmoat.com?subject=15-Min%20Discovery%20Call" class="btn-sm">Get Started</a>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</nav>
|
|
102
|
+
|
|
103
|
+
<section class="hero">
|
|
104
|
+
<div class="container">
|
|
105
|
+
<div class="label">ROI Calculator</div>
|
|
106
|
+
<h1>How Much Could AI Agents Save Your Business?</h1>
|
|
107
|
+
<p>Enter your numbers below. See your potential savings in 30 seconds.</p>
|
|
108
|
+
</div>
|
|
109
|
+
</section>
|
|
110
|
+
|
|
111
|
+
<div class="calc-section">
|
|
112
|
+
<div class="container">
|
|
113
|
+
|
|
114
|
+
<div class="calc-card">
|
|
115
|
+
<div class="input-group">
|
|
116
|
+
<label>Number of Employees Doing Repetitive Tasks</label>
|
|
117
|
+
<div class="hint">Count people who spend significant time on data entry, follow-ups, reporting, or coordination.</div>
|
|
118
|
+
<div class="input-row">
|
|
119
|
+
<input type="number" id="employees" value="10" min="1" max="500" onchange="calculate()">
|
|
120
|
+
<span class="unit">employees</span>
|
|
121
|
+
</div>
|
|
122
|
+
<input type="range" min="1" max="100" value="10" oninput="document.getElementById('employees').value=this.value;calculate()">
|
|
123
|
+
<div class="range-labels"><span>1</span><span>25</span><span>50</span><span>75</span><span>100</span></div>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<div class="input-group">
|
|
127
|
+
<label>Average Fully-Loaded Annual Salary</label>
|
|
128
|
+
<div class="hint">Include benefits, taxes, overhead. U.S. average for admin/ops roles: $55K–$85K.</div>
|
|
129
|
+
<div class="input-row">
|
|
130
|
+
<span class="unit">$</span>
|
|
131
|
+
<input type="number" id="salary" value="65000" min="20000" max="250000" step="5000" onchange="calculate()">
|
|
132
|
+
<span class="unit">/year</span>
|
|
133
|
+
</div>
|
|
134
|
+
<input type="range" min="20000" max="200000" step="5000" value="65000" oninput="document.getElementById('salary').value=this.value;calculate()">
|
|
135
|
+
<div class="range-labels"><span>$20K</span><span>$60K</span><span>$100K</span><span>$150K</span><span>$200K</span></div>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<div class="input-group">
|
|
139
|
+
<label>% of Time Spent on Repetitive, Automatable Tasks</label>
|
|
140
|
+
<div class="hint">Industry research suggests 40–60% for most operations and finance roles.</div>
|
|
141
|
+
<div class="input-row">
|
|
142
|
+
<input type="number" id="pct" value="50" min="10" max="90" onchange="calculate()">
|
|
143
|
+
<span class="unit">%</span>
|
|
144
|
+
</div>
|
|
145
|
+
<input type="range" min="10" max="90" value="50" oninput="document.getElementById('pct').value=this.value;calculate()">
|
|
146
|
+
<div class="range-labels"><span>10%</span><span>30%</span><span>50%</span><span>70%</span><span>90%</span></div>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
<div class="results-card" id="results">
|
|
151
|
+
<h2>Your Estimated Savings</h2>
|
|
152
|
+
<div class="results-grid">
|
|
153
|
+
<div class="result-item">
|
|
154
|
+
<div class="num" id="r-monthly">$27,083</div>
|
|
155
|
+
<div class="desc">Monthly Savings</div>
|
|
156
|
+
</div>
|
|
157
|
+
<div class="result-item">
|
|
158
|
+
<div class="num" id="r-annual">$325,000</div>
|
|
159
|
+
<div class="desc">Annual Savings</div>
|
|
160
|
+
</div>
|
|
161
|
+
<div class="result-item">
|
|
162
|
+
<div class="num" id="r-roi">10.8x</div>
|
|
163
|
+
<div class="desc">Return on Investment</div>
|
|
164
|
+
</div>
|
|
165
|
+
<div class="result-item">
|
|
166
|
+
<div class="num" id="r-payback">< 1 mo</div>
|
|
167
|
+
<div class="desc">Payback Period</div>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
|
|
171
|
+
<div class="breakdown">
|
|
172
|
+
<h3>Breakdown</h3>
|
|
173
|
+
<div class="row"><span class="label">Salary cost of automatable work</span><span class="value" id="b-waste">$325,000/yr</span></div>
|
|
174
|
+
<div class="row"><span class="label">Estimated agents needed</span><span class="value" id="b-agents">5 agents</span></div>
|
|
175
|
+
<div class="row"><span class="label">Agent cost ($2,500/agent/month)</span><span class="value" id="b-cost">$150,000/yr</span></div>
|
|
176
|
+
<div class="row total"><span class="label">Net Annual Savings</span><span class="value" id="b-net">$175,000/yr</span></div>
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
<div style="margin-top:28px">
|
|
180
|
+
<a href="mailto:hello@clawmoat.com?subject=15-Min%20Discovery%20Call%20—%20ROI%20Calculator" class="btn btn-green">See These Savings in Action — Schedule a Call →</a>
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
<p class="note">Estimates based on industry averages. Agent cost of $2,500/month vs. industry average of $3,350/month. Actual results vary by business. One agent typically handles work equivalent to 1–2 FTEs on repetitive tasks.</p>
|
|
185
|
+
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
|
|
189
|
+
<section class="cta-section">
|
|
190
|
+
<div class="container">
|
|
191
|
+
<h2>Want a Custom Analysis for Your Business?</h2>
|
|
192
|
+
<p>Our 15-minute discovery call goes deeper — we'll map your specific processes and give you a precise ROI estimate.</p>
|
|
193
|
+
<a href="mailto:hello@clawmoat.com?subject=15-Min%20Discovery%20Call" class="btn btn-green">Schedule a 15-Minute Discovery Call →</a>
|
|
194
|
+
</div>
|
|
195
|
+
</section>
|
|
196
|
+
|
|
197
|
+
<footer>
|
|
198
|
+
<div class="container">
|
|
199
|
+
<div style="display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-bottom:16px">
|
|
200
|
+
<a href="https://github.com/darfaz/clawmoat" style="color:var(--gray)">GitHub</a>
|
|
201
|
+
<a href="https://www.npmjs.com/package/clawmoat" style="color:var(--gray)">npm</a>
|
|
202
|
+
<a href="/blog/" style="color:var(--gray)">Blog</a>
|
|
203
|
+
<a href="mailto:hello@clawmoat.com" style="color:var(--gray)">hello@clawmoat.com</a>
|
|
204
|
+
</div>
|
|
205
|
+
<p style="text-align:center;color:var(--gray);font-size:.85rem">© 2026 ClawMoat</p>
|
|
206
|
+
</div>
|
|
207
|
+
</footer>
|
|
208
|
+
|
|
209
|
+
<script>
|
|
210
|
+
function calculate() {
|
|
211
|
+
const emp = Math.max(1, parseInt(document.getElementById('employees').value) || 10);
|
|
212
|
+
const sal = Math.max(20000, parseInt(document.getElementById('salary').value) || 65000);
|
|
213
|
+
const pct = Math.max(10, Math.min(90, parseInt(document.getElementById('pct').value) || 50));
|
|
214
|
+
|
|
215
|
+
// Cost of automatable work
|
|
216
|
+
const wasteAnnual = emp * sal * (pct / 100);
|
|
217
|
+
const wasteMonthly = wasteAnnual / 12;
|
|
218
|
+
|
|
219
|
+
// Agents needed: roughly 1 agent per 2 employees' repetitive work
|
|
220
|
+
const agents = Math.max(1, Math.ceil(emp * (pct / 100) / 2));
|
|
221
|
+
const agentCostMonthly = agents * 2500;
|
|
222
|
+
const agentCostAnnual = agentCostMonthly * 12;
|
|
223
|
+
|
|
224
|
+
// Savings (assume agents capture 60% of the automatable work value)
|
|
225
|
+
const captureRate = 0.6;
|
|
226
|
+
const savingsAnnual = (wasteAnnual * captureRate) - agentCostAnnual;
|
|
227
|
+
const savingsMonthly = savingsAnnual / 12;
|
|
228
|
+
|
|
229
|
+
// ROI
|
|
230
|
+
const roi = agentCostAnnual > 0 ? ((wasteAnnual * captureRate) / agentCostAnnual) : 0;
|
|
231
|
+
|
|
232
|
+
// Payback period in months
|
|
233
|
+
const monthlyGross = (wasteAnnual * captureRate) / 12;
|
|
234
|
+
const paybackMonths = agentCostMonthly > 0 && monthlyGross > agentCostMonthly
|
|
235
|
+
? agentCostMonthly / (monthlyGross - agentCostMonthly) : 99;
|
|
236
|
+
|
|
237
|
+
const fmt = (n) => {
|
|
238
|
+
if (Math.abs(n) >= 1000000) return '$' + (n / 1000000).toFixed(1) + 'M';
|
|
239
|
+
if (Math.abs(n) >= 1000) return '$' + Math.round(n).toLocaleString();
|
|
240
|
+
return '$' + Math.round(n);
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
document.getElementById('r-monthly').textContent = savingsMonthly > 0 ? fmt(savingsMonthly) : '$0';
|
|
244
|
+
document.getElementById('r-annual').textContent = savingsAnnual > 0 ? fmt(savingsAnnual) : '$0';
|
|
245
|
+
document.getElementById('r-roi').textContent = roi > 0 ? roi.toFixed(1) + 'x' : '—';
|
|
246
|
+
document.getElementById('r-payback').textContent = paybackMonths < 1 ? '< 1 mo' : paybackMonths < 12 ? Math.ceil(paybackMonths) + ' mo' : '12+ mo';
|
|
247
|
+
|
|
248
|
+
document.getElementById('b-waste').textContent = fmt(wasteAnnual) + '/yr';
|
|
249
|
+
document.getElementById('b-agents').textContent = agents + ' agent' + (agents !== 1 ? 's' : '');
|
|
250
|
+
document.getElementById('b-cost').textContent = fmt(agentCostAnnual) + '/yr';
|
|
251
|
+
document.getElementById('b-net').textContent = (savingsAnnual > 0 ? fmt(savingsAnnual) : '-' + fmt(Math.abs(savingsAnnual))) + '/yr';
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
calculate();
|
|
255
|
+
</script>
|
|
256
|
+
|
|
257
|
+
</body>
|
|
258
|
+
</html>
|
package/docs/sitemap.xml
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
3
|
+
<url>
|
|
4
|
+
<loc>https://clawmoat.com/blog/bugmageddon-agent-firewall.html</loc>
|
|
5
|
+
<lastmod>2026-04-14</lastmod>
|
|
6
|
+
<priority>0.9</priority>
|
|
7
|
+
</url>
|
|
8
|
+
<url>
|
|
9
|
+
<loc>https://clawmoat.com/blog/ai-agent-earns-commissions.html</loc>
|
|
10
|
+
<lastmod>2026-03-02</lastmod>
|
|
11
|
+
<priority>0.8</priority>
|
|
12
|
+
</url>
|
|
13
|
+
<url>
|
|
14
|
+
<loc>https://clawmoat.com/blog/meta-researcher-rogue-agent.html</loc>
|
|
15
|
+
<lastmod>2026-03-01</lastmod>
|
|
16
|
+
<priority>0.8</priority>
|
|
17
|
+
</url>
|
|
18
|
+
<url>
|
|
19
|
+
<loc>https://clawmoat.com/dashboard/</loc>
|
|
20
|
+
<lastmod>2026-03-01</lastmod>
|
|
21
|
+
<priority>0.8</priority>
|
|
22
|
+
</url>
|
|
23
|
+
<url>
|
|
24
|
+
<loc>https://clawmoat.com/badge/</loc>
|
|
25
|
+
<lastmod>2026-03-01</lastmod>
|
|
26
|
+
<priority>0.7</priority>
|
|
27
|
+
</url>
|
|
3
28
|
<url>
|
|
4
29
|
<loc>https://clawmoat.com/</loc>
|
|
5
|
-
<lastmod>2026-
|
|
30
|
+
<lastmod>2026-04-14</lastmod>
|
|
6
31
|
<priority>1.0</priority>
|
|
7
32
|
</url>
|
|
33
|
+
<url>
|
|
34
|
+
<loc>https://clawmoat.com/guides/business-deployment.html</loc>
|
|
35
|
+
<lastmod>2026-02-28</lastmod>
|
|
36
|
+
<priority>0.9</priority>
|
|
37
|
+
</url>
|
|
8
38
|
<url>
|
|
9
39
|
<loc>https://clawmoat.com/blog/nist-ai-agent-standards-clawmoat.html</loc>
|
|
10
40
|
<lastmod>2026-02-28</lastmod>
|
|
@@ -52,7 +82,7 @@
|
|
|
52
82
|
</url>
|
|
53
83
|
<url>
|
|
54
84
|
<loc>https://clawmoat.com/blog/</loc>
|
|
55
|
-
<lastmod>2026-
|
|
85
|
+
<lastmod>2026-04-14</lastmod>
|
|
56
86
|
<priority>0.8</priority>
|
|
57
87
|
</url>
|
|
58
88
|
<url>
|
|
@@ -150,9 +180,39 @@
|
|
|
150
180
|
<lastmod>2026-02-26</lastmod>
|
|
151
181
|
<priority>0.6</priority>
|
|
152
182
|
</url>
|
|
183
|
+
<url>
|
|
184
|
+
<loc>https://clawmoat.com/services/</loc>
|
|
185
|
+
<lastmod>2026-02-28</lastmod>
|
|
186
|
+
<priority>0.9</priority>
|
|
187
|
+
</url>
|
|
188
|
+
<url>
|
|
189
|
+
<loc>https://clawmoat.com/services/pitch-deck.html</loc>
|
|
190
|
+
<lastmod>2026-02-28</lastmod>
|
|
191
|
+
<priority>0.7</priority>
|
|
192
|
+
</url>
|
|
193
|
+
<url>
|
|
194
|
+
<loc>https://clawmoat.com/services/case-study.html</loc>
|
|
195
|
+
<lastmod>2026-02-28</lastmod>
|
|
196
|
+
<priority>0.8</priority>
|
|
197
|
+
</url>
|
|
198
|
+
<url>
|
|
199
|
+
<loc>https://clawmoat.com/services/roi-calculator.html</loc>
|
|
200
|
+
<lastmod>2026-02-28</lastmod>
|
|
201
|
+
<priority>0.8</priority>
|
|
202
|
+
</url>
|
|
203
|
+
<url>
|
|
204
|
+
<loc>https://clawmoat.com/blog/calculator-math.html</loc>
|
|
205
|
+
<lastmod>2026-03-01</lastmod>
|
|
206
|
+
<priority>0.8</priority>
|
|
207
|
+
</url>
|
|
153
208
|
<url>
|
|
154
209
|
<loc>https://clawmoat.com/thanks</loc>
|
|
155
210
|
<lastmod>2026-02-13</lastmod>
|
|
156
211
|
<priority>0.3</priority>
|
|
157
212
|
</url>
|
|
213
|
+
<url>
|
|
214
|
+
<loc>https://clawmoat.com/affiliates/</loc>
|
|
215
|
+
<lastmod>2026-03-02</lastmod>
|
|
216
|
+
<priority>0.7</priority>
|
|
217
|
+
</url>
|
|
158
218
|
</urlset>
|
package/docs/support/index.html
CHANGED
|
@@ -40,7 +40,18 @@ p{color:var(--gray);font-size:.95rem;margin-bottom:16px}
|
|
|
40
40
|
</style>
|
|
41
41
|
</head>
|
|
42
42
|
<body>
|
|
43
|
-
<nav
|
|
43
|
+
<nav>
|
|
44
|
+
<div class="container">
|
|
45
|
+
<a href="/" class="logo">🏰 Claw<span>Moat</span></a>
|
|
46
|
+
<button class="menu-toggle" onclick="document.querySelector('.nav-links').classList.toggle('open')" aria-label="Menu">☰</button>
|
|
47
|
+
<div class="nav-links">
|
|
48
|
+
<a href="/">Security</a>
|
|
49
|
+
<a href="/services/">AI Agents</a>
|
|
50
|
+
<a href="/blog/">Blog</a>
|
|
51
|
+
<a href="https://github.com/darfaz/clawmoat">GitHub ↗</a>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</nav>
|
|
44
55
|
|
|
45
56
|
<div class="container">
|
|
46
57
|
<div class="hero">
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# HEARTBEAT.md — Customer Service Agent
|
|
2
|
+
|
|
3
|
+
## 🔄 Inbox Check (Every 30 min)
|
|
4
|
+
|
|
5
|
+
- [ ] **New Tickets:** Triage incoming emails/tickets. Categorize and prioritize.
|
|
6
|
+
- 🔴 Urgent: Service down, data issue, billing error → respond within 1 hour
|
|
7
|
+
- 🟡 Standard: Feature questions, how-to, general inquiries → respond within 4 hours
|
|
8
|
+
- 🟢 Low: Feedback, feature requests, FYI → respond within 24 hours
|
|
9
|
+
- ⭐ VIP: Any ticket from VIP customer list → respond within 30 minutes
|
|
10
|
+
- [ ] **Pending Replies:** Check for customer responses to open tickets
|
|
11
|
+
- [ ] **SLA Watch:** Flag any ticket approaching SLA breach
|
|
12
|
+
|
|
13
|
+
## 📅 Morning Review (First heartbeat after 8:00 AM)
|
|
14
|
+
|
|
15
|
+
- [ ] **Overnight Queue:** How many new tickets came in overnight? Any urgent?
|
|
16
|
+
- [ ] **Open Ticket Count:** Total open, by priority, by age
|
|
17
|
+
- [ ] **SLA Status:** Any breached or at-risk tickets
|
|
18
|
+
- [ ] **Escalated Items:** Status of tickets escalated to engineering/management
|
|
19
|
+
- [ ] **CSAT/Feedback:** Any new reviews or feedback scores to note
|
|
20
|
+
|
|
21
|
+
## 📊 Daily Summary (Last heartbeat after 5:00 PM)
|
|
22
|
+
|
|
23
|
+
- [ ] **Today's Stats:**
|
|
24
|
+
- New tickets: [X]
|
|
25
|
+
- Resolved: [X]
|
|
26
|
+
- Average response time: [X]
|
|
27
|
+
- Average resolution time: [X]
|
|
28
|
+
- CSAT score: [X]
|
|
29
|
+
- [ ] **Unresolved Carry-Over:** List open tickets with age and status
|
|
30
|
+
- [ ] **Recurring Issues:** Any pattern in today's tickets? (Same bug, same question, same confusion)
|
|
31
|
+
- [ ] **Tomorrow's Priority:** What needs attention first thing
|
|
32
|
+
|
|
33
|
+
## 📋 Weekly Review (Monday morning)
|
|
34
|
+
|
|
35
|
+
- [ ] **Week Stats:** Volume trends, SLA compliance %, CSAT trend, resolution rate
|
|
36
|
+
- [ ] **Top Issues This Week:** Most common ticket categories
|
|
37
|
+
- [ ] **Escalation Summary:** What went to engineering? What was resolved?
|
|
38
|
+
- [ ] **Knowledge Base Gaps:** Questions that don't have good FAQ answers yet
|
|
39
|
+
- [ ] **Customer Sentiment:** Any notable positive or negative trends
|
|
40
|
+
|
|
41
|
+
## 📦 Monthly Review (1st business day)
|
|
42
|
+
|
|
43
|
+
- [ ] **Monthly Report:** Full metrics dashboard
|
|
44
|
+
- [ ] **Trending Issues:** What's getting worse? What's improving?
|
|
45
|
+
- [ ] **FAQ/KB Updates Needed:** New articles to write based on common questions
|
|
46
|
+
- [ ] **Process Improvements:** What could be automated or streamlined?
|
|
47
|
+
- [ ] **Top Customer Complaints:** Aggregate for product team feedback
|
|
48
|
+
|
|
49
|
+
## 🚨 Immediate Alerts
|
|
50
|
+
|
|
51
|
+
- Service outage or widespread issue reported: ALERT + begin tracking
|
|
52
|
+
- VIP customer complaint: ALERT
|
|
53
|
+
- Customer mentions legal action, social media, or press: ESCALATE IMMEDIATELY
|
|
54
|
+
- Data breach or privacy concern: ESCALATE IMMEDIATELY
|
|
55
|
+
- Same issue reported by 3+ customers in 1 hour: ALERT (possible systemic issue)
|
|
56
|
+
|
|
57
|
+
## 💤 After Hours
|
|
58
|
+
|
|
59
|
+
- Check inbox every 2 hours for urgent-only items
|
|
60
|
+
- Auto-acknowledge: "We've received your message and will respond during business hours"
|
|
61
|
+
- True emergencies only get escalated to on-call
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# MEMORY.md — Customer Service Agent
|
|
2
|
+
|
|
3
|
+
## FAQ — Top Questions & Answers
|
|
4
|
+
|
|
5
|
+
<!-- Your agent's quick-reference knowledge base. Keep answers concise and accurate. -->
|
|
6
|
+
|
|
7
|
+
### Getting Started
|
|
8
|
+
| Question | Answer |
|
|
9
|
+
|----------|--------|
|
|
10
|
+
| [How do I reset my password?] | [Go to Settings → Security → Reset Password, or use the "Forgot Password" link on login] |
|
|
11
|
+
| [How do I invite team members?] | [Settings → Team → Invite, enter email, select role] |
|
|
12
|
+
| [What browsers do you support?] | [Chrome, Firefox, Safari, Edge — latest 2 versions] |
|
|
13
|
+
|
|
14
|
+
### Billing & Account
|
|
15
|
+
| Question | Answer |
|
|
16
|
+
|----------|--------|
|
|
17
|
+
| [How do I upgrade my plan?] | [Settings → Billing → Change Plan] |
|
|
18
|
+
| [Can I get a refund?] | [Within 30 days, full refund. After 30 days, prorated credit.] |
|
|
19
|
+
| [Where's my invoice?] | [Settings → Billing → Invoice History, or check email] |
|
|
20
|
+
|
|
21
|
+
### Common Issues
|
|
22
|
+
| Issue | Solution | Escalate If |
|
|
23
|
+
|-------|----------|-------------|
|
|
24
|
+
| [Login failures] | [Clear cache, try incognito, reset password] | [Still failing after reset] |
|
|
25
|
+
| [Slow performance] | [Check browser extensions, try different browser] | [Multiple users affected] |
|
|
26
|
+
| [Data not syncing] | [Force refresh, check API status page] | [Data loss suspected] |
|
|
27
|
+
|
|
28
|
+
## Product Info
|
|
29
|
+
|
|
30
|
+
- **Current Version:** [X.Y.Z]
|
|
31
|
+
- **Status Page:** [URL]
|
|
32
|
+
- **API Documentation:** [URL]
|
|
33
|
+
- **Release Notes:** [URL]
|
|
34
|
+
- **Known Issues:** [URL or list below]
|
|
35
|
+
|
|
36
|
+
### Known Issues (Active)
|
|
37
|
+
| Issue | Affected Users | Workaround | ETA |
|
|
38
|
+
|-------|---------------|------------|-----|
|
|
39
|
+
| [Bug description] | [Who's affected] | [Workaround steps] | [Expected fix date] |
|
|
40
|
+
|
|
41
|
+
## Escalation Matrix
|
|
42
|
+
|
|
43
|
+
| Issue Type | L1 Action | Escalate To | Contact | SLA |
|
|
44
|
+
|-----------|-----------|-------------|---------|-----|
|
|
45
|
+
| [Billing dispute] | [Review account, explain charges] | [Billing team] | [#billing-escalations] | [4h] |
|
|
46
|
+
| [Technical bug] | [Reproduce, document steps] | [Engineering] | [#eng-support] | [8h] |
|
|
47
|
+
| [Account access] | [Verify identity, attempt reset] | [Security team] | [security@company.com] | [2h] |
|
|
48
|
+
| [Feature request] | [Log in tracker, thank customer] | [Product team] | [#product-feedback] | [N/A] |
|
|
49
|
+
| [Legal/Compliance] | [Do NOT respond] | [Legal] | [legal@company.com] | [Immediate] |
|
|
50
|
+
|
|
51
|
+
## VIP Customers
|
|
52
|
+
|
|
53
|
+
<!-- Customers who get priority treatment -->
|
|
54
|
+
|
|
55
|
+
| Customer | Account Value | Contact | Special Notes |
|
|
56
|
+
|----------|-------------|---------|---------------|
|
|
57
|
+
| [Customer 1] | $[X]K ARR | [Contact name] | [Their CSM is X, they have custom SLA] |
|
|
58
|
+
| [Customer 2] | $[X]K ARR | [Contact name] | [Enterprise plan, dedicated support] |
|
|
59
|
+
|
|
60
|
+
## Response Templates
|
|
61
|
+
|
|
62
|
+
### Acknowledgment
|
|
63
|
+
> Hi [Name], thanks for reaching out! I see you're experiencing [issue]. Let me look into this for you right away.
|
|
64
|
+
|
|
65
|
+
### Resolution
|
|
66
|
+
> Great news — I've [resolved the issue / found the solution]. Here's what happened: [explanation]. To prevent this in the future: [tip]. Let me know if you need anything else!
|
|
67
|
+
|
|
68
|
+
### Escalation Notice
|
|
69
|
+
> I want to make sure this gets the attention it deserves, so I've escalated this to our [team]. You'll hear back within [timeframe]. I'll stay on this to make sure it's resolved.
|
|
70
|
+
|
|
71
|
+
### Can't Reproduce
|
|
72
|
+
> I wasn't able to reproduce this on my end. Could you help me with a few details? [Browser/OS, steps to reproduce, screenshot if possible]. This will help our team track it down faster.
|
|
73
|
+
|
|
74
|
+
## Common Issue Patterns
|
|
75
|
+
|
|
76
|
+
<!-- Track recurring issues to report to product team -->
|
|
77
|
+
|
|
78
|
+
| Pattern | Frequency | Last Reported | Product Team Aware? |
|
|
79
|
+
|---------|-----------|---------------|-------------------|
|
|
80
|
+
| [Onboarding confusion at step X] | [5/week] | [Date] | [Yes — fix in v2.3] |
|
|
81
|
+
| [Export fails for large datasets] | [3/week] | [Date] | [No — needs report] |
|
|
82
|
+
|
|
83
|
+
## Notes
|
|
84
|
+
|
|
85
|
+
<!--
|
|
86
|
+
- "Customers from [Company X] acquisition may have legacy pricing — check before quoting"
|
|
87
|
+
- "Holiday season (Nov-Jan) sees 2x ticket volume"
|
|
88
|
+
- "New feature [X] launching [date] — expect confusion, prep FAQ"
|
|
89
|
+
-->
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# SOUL.md — Customer Service Agent
|
|
2
|
+
|
|
3
|
+
You are a patient, empathetic, and thorough customer service specialist. Every interaction is a chance to turn a frustrated customer into a loyal advocate. You solve problems completely — no half-answers, no passing the buck.
|
|
4
|
+
|
|
5
|
+
## Personality
|
|
6
|
+
|
|
7
|
+
- **Patient above all.** Customers repeat themselves, get emotional, and sometimes aren't clear. That's okay. Meet them where they are.
|
|
8
|
+
- **Empathetic but efficient.** Acknowledge feelings, then move to solutions. Don't dwell in sympathy — customers want resolution.
|
|
9
|
+
- **Thorough.** Answer the question they asked AND the one they'll ask next. Anticipate follow-ups.
|
|
10
|
+
- **Honest.** If you don't know, say so. If there's a delay, set expectations. Never promise what you can't deliver.
|
|
11
|
+
|
|
12
|
+
## Core Competencies
|
|
13
|
+
|
|
14
|
+
- **Email Triage:** Categorize, prioritize, and route incoming tickets. Identify urgency and VIP customers.
|
|
15
|
+
- **FAQ & Knowledge Base:** Know the product inside out. Answer common questions accurately and completely.
|
|
16
|
+
- **Escalation Management:** Know when to escalate, who to escalate to, and how to do it without making the customer feel abandoned.
|
|
17
|
+
- **Issue Tracking:** Document everything. Track recurring issues. Identify patterns that indicate product problems.
|
|
18
|
+
- **SLA Compliance:** Monitor response and resolution times. Flag tickets approaching SLA breach.
|
|
19
|
+
- **Customer Communication:** Draft professional, warm, and clear responses. Match the customer's tone (formal or casual).
|
|
20
|
+
|
|
21
|
+
## Communication Style
|
|
22
|
+
|
|
23
|
+
- Start responses by acknowledging the customer's issue: "I understand you're having trouble with [X]."
|
|
24
|
+
- Provide step-by-step solutions with clear formatting
|
|
25
|
+
- End with a clear next step and invitation to follow up
|
|
26
|
+
- Use priority tags: 🔴 Urgent | 🟡 Standard | 🟢 Low | ⭐ VIP
|
|
27
|
+
- Internal notes should be concise: issue, steps taken, resolution or next step
|
|
28
|
+
|
|
29
|
+
## Escalation Rules
|
|
30
|
+
|
|
31
|
+
1. **Immediate Escalation:** Safety issues, data breaches, legal threats, executive complaints
|
|
32
|
+
2. **Manager Escalation:** Customer requests refund > $[X], third contact about same issue, threatens to leave
|
|
33
|
+
3. **Technical Escalation:** Bug confirmed, requires engineering, infrastructure issues
|
|
34
|
+
4. **Billing Escalation:** Disputes > $[X], subscription errors, payment failures
|
|
35
|
+
|
|
36
|
+
## Boundaries
|
|
37
|
+
|
|
38
|
+
- Never share internal processes, pricing strategies, or roadmap with customers
|
|
39
|
+
- Never make promises about features, timelines, or outcomes you can't guarantee
|
|
40
|
+
- Always get approval before issuing refunds, credits, or exceptions above your authority
|
|
41
|
+
- If a customer is abusive, remain professional but flag for manager review
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# USER.md — Customer Service Agent
|
|
2
|
+
|
|
3
|
+
## About You
|
|
4
|
+
|
|
5
|
+
- **Name:** [Your Name]
|
|
6
|
+
- **Role:** [CS Manager / Support Lead / Head of Customer Experience]
|
|
7
|
+
- **Pronouns:** [e.g., she/her, he/him, they/them]
|
|
8
|
+
- **Timezone:** [e.g., America/Los_Angeles]
|
|
9
|
+
- **Support hours:** [e.g., 8 AM - 6 PM Mon-Fri, limited weekends]
|
|
10
|
+
|
|
11
|
+
## Company & Product
|
|
12
|
+
|
|
13
|
+
- **Company Name:** [Company Name]
|
|
14
|
+
- **Product/Service:** [What you offer — brief description]
|
|
15
|
+
- **Customer base:** [e.g., 500 active accounts, B2B SaaS, SMB focused]
|
|
16
|
+
- **Support channels:** [e.g., Email, live chat, phone, social media]
|
|
17
|
+
- **Average ticket volume:** [e.g., 50/day, 300/week]
|
|
18
|
+
|
|
19
|
+
## Support Stack
|
|
20
|
+
|
|
21
|
+
- **Help Desk:** [e.g., Zendesk, Freshdesk, Intercom, Help Scout]
|
|
22
|
+
- **Knowledge Base:** [e.g., Zendesk Guide, Notion, Confluence, GitBook]
|
|
23
|
+
- **Live Chat:** [e.g., Intercom, Drift, Crisp, LiveChat]
|
|
24
|
+
- **CRM:** [e.g., Salesforce, HubSpot — for customer context]
|
|
25
|
+
- **Internal Communication:** [e.g., Slack #support channel, Teams]
|
|
26
|
+
- **Bug Tracking:** [e.g., Jira, Linear, GitHub Issues]
|
|
27
|
+
|
|
28
|
+
## SLA Targets
|
|
29
|
+
|
|
30
|
+
- **First Response:** [e.g., 1 hour for urgent, 4 hours for standard]
|
|
31
|
+
- **Resolution Time:** [e.g., 4 hours urgent, 24 hours standard, 72 hours low]
|
|
32
|
+
- **CSAT Target:** [e.g., 4.5/5 or 90%+]
|
|
33
|
+
- **First Contact Resolution Target:** [e.g., 70%+]
|
|
34
|
+
|
|
35
|
+
## Team & Escalation
|
|
36
|
+
|
|
37
|
+
- **Team size:** [e.g., 3 agents + 1 lead]
|
|
38
|
+
- **Escalation path:** [Agent → Lead → Manager → VP/CTO]
|
|
39
|
+
- **Engineering contact:** [Name/channel for bug escalations]
|
|
40
|
+
- **Billing contact:** [Name/channel for billing issues]
|
|
41
|
+
|
|
42
|
+
## Communication Preferences
|
|
43
|
+
|
|
44
|
+
- **Tone:** [Professional and warm / Casual and friendly / Formal]
|
|
45
|
+
- **Response drafting:** [Agent drafts, I review / Agent can send routine / Agent handles L1 autonomously]
|
|
46
|
+
- **Refund authority:** [Up to $X without approval / Always ask first]
|
|
47
|
+
- **Alert me when:** [VIP complaint / SLA breach / Systemic issue / All escalations]
|
|
48
|
+
|
|
49
|
+
## Notes
|
|
50
|
+
|
|
51
|
+
<!--
|
|
52
|
+
- "Our biggest pain point is onboarding confusion — FAQ needs work"
|
|
53
|
+
- "Enterprise customers on the VIP list should always get priority"
|
|
54
|
+
- "We have a known bug with [feature] — workaround is [steps]"
|
|
55
|
+
- "Never say 'it's a known issue' — say 'our team is actively working on this'"
|
|
56
|
+
-->
|