google-agents-cli-scaffold
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
graphiti-mcp-usage
Workflow for using Graphiti MCP tools to capture preferences, procedures, and facts consistently.
Full skill instructions
This skill explains how to use the Graphiti knowledge graph effectively. Follow it whenever you need to look up or store ScreenGraph preferences, procedures, or factual relationships.
search_nodes to look for Preferences or Procedures tied to your task.search_facts to explore relationships and factual context."Preference", "Procedure") to narrow the results.add_episode right away.| Core Principle | Quick Action |
|---|---|
| Know Your Context | Run search_nodes for Preferences & Procedures before starting. |
| Know the Relationships | Use search_facts to surface supporting data. |
| Be Efficient | Filter nodes immediately by specifying "Preference" or "Procedure". |
| Be Thorough | Review all matches to avoid redundant knowledge. |
| Don’t Lose Context | Use add_episode immediately for new or updated requirements. |
| Define the “How” | Record workflows as Procedures. |
| Define the “What” | Record entity relationships as Facts. |
| Tag Everything | Use clear categories for every Preference and Procedure. |
add_episode.Remember: the Graphiti knowledge graph is your memory. Use it consistently to deliver personalized, context-aware assistance.
ALWAYS use group_id="screengraph" for ALL Graphiti operations.
group_id provides project isolationepisode_body to categorize content (e.g., [Tags: backend, agent, appium])"screengraph" alwaysCommon Tags for Organization:
backend - Backend/API patternsfrontend - UI components, Svelte patternstesting - E2E tests, integration testsdebugging - Bug fixes, workaroundsarchitecture - Design decisionsdevops - CI/CD, automationappium - Device connections, WebDriver// Step 1: Search for existing patterns
const nodes = await search_memory_nodes({
query: "agent recovery after device disconnect",
group_ids: ["screengraph"],
max_nodes: 10
});
// Step 2: Search for specific facts
const facts = await search_memory_facts({
query: "WebDriver session timeout handling",
group_ids: ["screengraph"],
max_facts: 10
});
// Step 3: Review results → Implement → Document
// Document the solution immediately
await add_memory({
name: "Agent Stalls on Privacy Consent Dialog",
episode_body: `
[Tags: backend, agent, appium, debugging]
**Problem**: Agent hangs when app shows privacy consent modal
**Root Cause**: Policy engine doesn't handle modal overlays
**Solution**:
- Added pre-flight dialog detection in device-check.ts
- Prompt user to handle consent before starting
- Added check in EnsureDevice node
**Gotchas**:
- Must check BEFORE starting policy execution
- Different apps have different consent flows
- Some consent dialogs block UI hierarchy
**Files Modified**:
- backend/agent/nodes/setup/EnsureDevice/device-check.ts
- backend/agent/nodes/setup/EnsureDevice/node.ts
**Related Issues**: BUG-015
**Lessons**: Always assume first-run experience needs human intervention
`,
group_id: "screengraph",
source: "text"
});
// Search for similar UI patterns
const uiPatterns = await search_memory_nodes({
query: "Svelte 5 component with real-time updates",
group_ids: ["screengraph"],
max_nodes: 5
});
// Check for specific gotchas
const gotchas = await search_memory_facts({
query: "Svelte 5 runes reactivity issues",
group_ids: ["screengraph"],
max_facts: 5
});
// After major refactoring or design decision
await add_memory({
name: "Agent State Machine: Single Sink Pattern",
episode_body: `
[Tags: backend, agent, architecture]
**Decision**: Use single terminal state ("completed") instead of multiple end states
**Rationale**:
- Simplifies state transitions
- Easier to track run completion
- Aligns with database schema
**Alternatives Considered**:
- Multiple terminal states (success/failure/canceled)
- Rejected: Added complexity without clear benefit
**Implementation**:
- State machine has 1 terminal: "completed"
- stopReason field captures why (success/error/canceled)
- Frontend uses stopReason for UI decisions
**References**:
- backend/agent/machine/AgentMachine.ts
- agent_single_sink_design.md
**Date**: 2025-11-05
`,
group_id: "screengraph",
source: "text"
});
Search by topic:
search_memory_nodes({
query: "topic",
group_ids: ["screengraph"],
max_nodes: 10
})
Search for specific facts:
search_memory_facts({
query: "question",
group_ids: ["screengraph"],
max_facts: 10
})
Document solution:
add_memory({
name: "Short Title",
episode_body: "[Tags: category1, category2]\n\nProblem:\nSolution:\nGotchas:\nFiles:",
group_id: "screengraph",
source: "text"
})
Retrieve recent episodes:
get_episodes({
group_id: "screengraph",
last_n: 10
})
After running important Task commands, document learnings:
// After task founder:workflows:db-reset
add_memory({
name: "Database Reset Procedure",
episode_body: "[Tags: devops, database]\n\nRun 'task founder:workflows:db-reset' to wipe DB. Automatically runs migrations after. Safe for dev, dangerous for prod.",
group_id: "screengraph",
source: "text"
})
Before using complex skills (backend-debugging, e2e-testing), search Graphiti for related past issues to inform your approach.
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.
Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.
Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.
Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.
Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.
Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.
Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Opus.ai: Revolutionize Your Web Experience
Build a no-code AI app in minutes.
An IDE for code migration from legacy to modern frameworks through coding agents.
Automate CGI animation in live-action scenes
Branded artistic QR-code concepts
Launch a website in seconds with AI.
Streamline Your Coding Experience with AI Code Helper
Convert any screenshot or design to clean code.