用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jeremylongshore/tons-of-skills-marketplace --skill lucidchart-cost-tuning命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Deploy a LangChain 1.0 / LangGraph 1.0 app to Cloud Run, Vercel, or LangServe correctly — with timeouts sized for chain length, cold-start mitigation, SSE anti-buffering headers, and Secret Manager over .env. Use when prepping a first production deploy, debugging a stream that hangs behind a proxy, or diagnosing p99 latency spikes. Trigger with "langchain deploy", "langchain cloud run", "langchain vercel python", "langchain langserve", or "langchain docker".
Build a correct LangGraph 1.0 ReAct agent with create_react_agent — typed tools, error propagation, recursion caps, and stop conditions that actually stop. Use when writing a first tool-calling agent, migrating from AgentExecutor or initialize_agent, or diagnosing an agent that loops on vague prompts. Trigger with "langgraph agent", "create_react_agent", "langgraph tool calling", "AgentExecutor migration", or "agent loop cost".
Build LangGraph 1.0 human-in-the-loop approval flows with interrupt_before / interrupt_after and Command(resume=...) — JSON-serializable state, clean resume semantics, and UI wiring for approval decisions. Use when adding an approval gate before an expensive tool call, wiring a Slack/web UI for agent approvals, or debugging a graph that crashes on interrupt. Trigger with "langgraph human in loop", "langgraph interrupt_before", "langgraph approval flow", "Command resume", "langgraph HITL".
正在显示 SKILL.md
| name | lucidchart-cost-tuning |
| description | Cost Tuning for Lucidchart. Trigger: "lucidchart cost tuning". |
| allowed-tools | Read, Write, Edit, Grep |
| version | 1.7.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","lucidchart","diagramming"] |
| compatibility | Designed for Claude Code |
Lucidchart pricing is per-seat with costs driven by document export volume and real-time collaboration event frequency. Each diagram export (PNG, PDF, SVG), embedded preview refresh, and collaborative editing session generates API activity. Organizations with large teams producing architectural diagrams, flowcharts, and wireframes at scale accumulate significant costs from redundant exports of unchanged diagrams and excessive collaboration event polling. Caching exports, batching operations, and right-sizing seat allocation are the primary optimization levers.
| Component | Cost Driver | Optimization |
|---|---|---|
| Seat licenses | Per-user/month (Individual $7.95, Team $9, Enterprise custom) | Audit active editors; move view-only users to free tier |
| Document exports | Per-export for PNG/PDF/SVG generation | Cache exported images; re-export only on document change |
| Collaboration events | Real-time sync events during editing | Debounce polling; aggregate change events |
| Embedded previews | API calls for diagram embeds in other tools | Cache embedded image URLs with 1-hour TTL |
| Template operations | Creating/cloning from template library | Clone once locally; avoid repeated API template fetches |
class LucidchartExportCache {
private exportCache = new Map<string, { url: string; docVersion: number; expiry: number }>();
async getExport(docId: string, currentVersion: number, exportFn: () => Promise<string>): Promise<string> {
const cached = this.exportCache.get(docId);
if (cached && cached.docVersion === currentVersion && Date.now() < cached.expiry) {
return cached.url; // Diagram unchanged — serve cached export
}
const url = await exportFn();
this.exportCache.set(docId, {
url,
docVersion: currentVersion,
expiry: Date.now() + 3_600_000 // 1-hour TTL
});
return url;
}
async batchExport(: <{ : ; : }>, : <>): <<, >> {
results = <, >();
( doc docs) {
cached = ..(doc.);
(cached && cached. === doc.) {
results.(doc., cached.);
} {
results.(doc., (doc.));
}
}
results;
}
}
class LucidchartCostMonitor {
private daily = { exports: 0, collabEvents: 0, embeds: 0 };
private budgets = { exports: 500, collabEvents: 10_000, embeds: 2000 };
record(type: 'exports' | 'collabEvents' | 'embeds'): void {
this.daily[type]++;
const pct = (this.daily[type] / this.budgets[type]) * 100;
if (pct > 80) {
console.warn(`Lucidchart ${type} at ${pct.toFixed(0)}%: ${this.daily[type]}/${this.budgets[type]}`);
}
}
resetDaily(): void { this.daily = { exports: 0, collabEvents: , : }; }
}
| Issue | Cause | Fix |
|---|---|---|
| Export costs spiking | Re-exporting unchanged diagrams on every page load | Version-check before export; serve cached image |
| Collaboration event floods | Polling collab status every second | Debounce to 5-second intervals; use websocket if available |
| Stale embedded previews | Cache TTL too long after diagram update | Invalidate embed cache on document save event |
| Seat costs exceeding budget | Inactive users on paid editor tier | Quarterly seat audit; deprovision after 60 days inactive |
| Rate limit on batch exports | Exporting entire workspace at once | Throttle to 10 concurrent exports with queue |
See lucidchart-performance-tuning.