skills/codex/agentspace/SKILL.md
<!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT --> --- name: agentspace description: Google Agentspace patterns for enterprise AI search and agents. Use when building unified search across 100+ enterprise connectors (SharePoint, Confluence, Jira, Salesforce, ServiceNow), identity-aware access, or custom Agentspace agents. --- # Google Agentspace Build enterprise AI search and agent experiences across 100+ third-party data sources using Google Agentspace. ## When to Use - Building unif
npx skillsauth add frank-luongt/faos-skills-marketplace skills/codex/agentspaceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Build enterprise AI search and agent experiences across 100+ third-party data sources using Google Agentspace.
| Category | Connectors | |---|---| | Microsoft | SharePoint Online, OneDrive, Outlook/Exchange, Teams, Dynamics 365 | | Atlassian | Confluence, Jira | | CRM | Salesforce (Knowledge, Cases, custom objects) | | ITSM | ServiceNow (Incidents, Changes, Knowledge) | | Google | Workspace (Drive, Gmail, Calendar, Sites, Groups) | | Dev Tools | GitHub, GitLab | | Storage | Box, Dropbox, Cloud Storage, Amazon S3, Azure Blob | | Databases | BigQuery, Cloud SQL, AlloyDB, Spanner | | Collaboration | Slack, Notion | | Custom | REST API connector, JDBC connector, web crawlers |
from google.cloud import discoveryengine_v1 as discoveryengine
def create_confluence_data_store(
project_id: str, location: str, data_store_id: str,
confluence_url: str, space_keys: list[str],
):
"""Create a data store connected to Confluence."""
client = discoveryengine.DataStoreServiceClient()
data_store = discoveryengine.DataStore(
display_name="Confluence Knowledge Base",
industry_vertical=discoveryengine.IndustryVertical.GENERIC,
solution_types=[discoveryengine.SolutionType.SOLUTION_TYPE_SEARCH],
content_config=discoveryengine.DataStore.ContentConfig.CONTENT_REQUIRED,
)
operation = client.create_data_store(
parent=f"projects/{project_id}/locations/{location}/collections/default_collection",
data_store=data_store,
data_store_id=data_store_id,
)
return operation.result()
from google.cloud import discoveryengine_v1 as discoveryengine
def search_enterprise(project_id: str, location: str, engine_id: str, query: str) -> list[dict]:
"""Search across all connected enterprise sources."""
client = discoveryengine.SearchServiceClient()
request = discoveryengine.SearchRequest(
serving_config=f"projects/{project_id}/locations/{location}/collections/default_collection/engines/{engine_id}/servingConfigs/default_search",
query=query,
page_size=10,
content_search_spec=discoveryengine.SearchRequest.ContentSearchSpec(
snippet_spec=discoveryengine.SearchRequest.ContentSearchSpec.SnippetSpec(
return_snippet=True,
),
summary_spec=discoveryengine.SearchRequest.ContentSearchSpec.SummarySpec(
summary_result_count=5,
include_citations=True,
model_spec=discoveryengine.SearchRequest.ContentSearchSpec.SummarySpec.ModelSpec(
version="gemini-1.5-flash-002/answer_gen/v2",
),
),
),
)
response = client.search(request)
results = []
for result in response.results:
doc = result.document
results.append({
"title": doc.derived_struct_data.get("title", ""),
"snippet": doc.derived_struct_data.get("snippets", [{}])[0].get("snippet", ""),
"link": doc.derived_struct_data.get("link", ""),
"source": doc.derived_struct_data.get("source_type", ""),
})
return results
Agentspace allows creating domain-specific agents that combine search + actions:
IT Help Desk Agent:
Data Sources: ServiceNow KB, Confluence IT docs, Jira known issues
Actions: Create ServiceNow ticket, Escalate to on-call
Identity: Uses Google Workspace SSO, respects ServiceNow ACLs
HR Benefits Agent:
Data Sources: SharePoint HR policies, Workday benefits docs
Actions: Open HR case, Schedule benefits consultation
Identity: Uses Google Workspace SSO, scoped to HR data only
Agentspace automatically respects source system permissions:
No additional configuration needed -- the connector framework handles ACL passthrough.
development
<!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT --> --- name: grpo-rl-training description: GRPO reinforcement learning training with TRL. Use when applying Group Relative Policy Optimization for reasoning and task-specific model training. --- # GRPO/RL Training with TRL Expert-level guidance for implementing Group Relative Policy Optimization (GRPO) using the Transformer Reinforcement Learning (TRL) library. This skill provides battle-tested patterns, critical insights, and production-r
tools
<!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT --> --- name: graphql-architect description: Master modern GraphQL with federation, performance optimization, --- ## Use this skill when - Working on graphql architect tasks or workflows - Needing guidance, best practices, or checklists for graphql architect ## Do not use this skill when - The task is unrelated to graphql architect - You need a different domain or tool outside this scope ## Instructions - Clarify goals, constraints, and
development
<!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT --> --- name: grafana-dashboards description: Create and manage production Grafana dashboards for real-time visualization of system and application metrics. Use when building monitoring dashboards, visualizing metrics, or creating operational observability interfaces. --- # Grafana Dashboards Create and manage production-ready Grafana dashboards for comprehensive system observability. ## Do not use this skill when - The task is unrelated
development
<!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT --> --- name: gptq description: GPTQ post-training quantization for generative models. Use when quantizing large models to 4-bit with calibration-based weight compression. --- # GPTQ (Generative Pre-trained Transformer Quantization) Post-training quantization method that compresses LLMs to 4-bit with minimal accuracy loss using group-wise quantization. ## When to use GPTQ **Use GPTQ when:** - Need to fit large models (70B+) on limited GPU