Installs into .claude/skills of the current project.
Are you the author of Sheets?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/signalsurf-ai-sheets)
---
name: sheets
description: Use for Signalsurf Sheets, rows, fields, schemas, templates, views, charts, notes, imports, or temporary operational data.
---
# Signalsurf Sheets
Before every request using this Skill, follow [version check and automatic update](../signalsurf/references/freshness.md), then use the current guidance.
Read the [shared operating contract](../signalsurf/references/operating-contract.md) unless already loaded; a focused Skill uses the same context, actor, confirmation and result rules.
Sheets are flexible operational workspaces; they are not the durable identity-resolved CRM.
1. Use `table_query` to resolve the Sheet and inspect its schema before row or schema work.
2. Prefer `table_templates` before designing a common Sheet from scratch.
3. Use `table_manage` for the container/schema, `table_views` for views/charts, and `item_query` / `item_manage` for rows, notes, and retained results.
4. Preserve unknown fields and current view configuration. Read field history only for provenance or conflicts, not on every turn.
5. A routine row edit needs no Thread. Business Sheet/row mutations carry top-level work `projectId`, independently of File placement or Surfer ownership. Preserve lease/revision conflict handling; use `project_file_authority` only for explicitly requested Project File grants, revision history or conflicts, never automatically to make context selection succeed.
For requested lookup-based completion of supported existing columns, inspect the schema and `enrichment_query` action `list`, then prefer native Enrich over separate research and updates for each row. Reuse its exact saved field key and instruction. Use `enrichment_manage` action `enable` only for a missing binding or an approved settings change, then `enrichment_run` action `run` on the requested selection or supported Sheet scope. Preserve existing cells unless refresh was requested; automatic runs require their own request. Inspect returned confirmation and credit bounds. Queued work is not completed field data: use its returned run IDs for status and read back the requested cells. Pure research, supplied facts and deterministic edits do not require a binding; primary/protected or unsupported fields do not become eligible by changing the research method.
For collected Listening Engagers, use the existing managed Sheet. Preserve its locked source and identity fields, including Profile type (Person, Company or Unknown), the single Source column containing the matched keyword or tracked account. Keep company profiles and missing-data rows; follower captions are not headlines. Never fabricate a LinkedIn URL from an untyped numeric ID. Add custom Enrich, scoring and labels according to the user’s intended use. Research stays in the Sheet until the user explicitly selects rows for native Records import. Import resolves durable identities and preserves source links; only then can Campaign work use those Records. Do not delete low-scoring or incomplete candidates, automatically create CRM Records, or infer enrichment/outreach approval from collection.