From grasp
Use when the user wants to add, populate, enrich, fill, estimate, compute, classify, segment, or evaluate data on an existing Grasp table: financials, employees/headcount, current ownership, locations, LinkedIn data, buyer metadata, deal values, transaction details, research columns, computed fields, company-level phone/email/website fields, or fit notes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grasp:table-enrichmentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Enrich only after inspecting the table. Prefer structured Grasp data before research questions, and distinguish table columns from separate contact lookup results.
Enrich only after inspecting the table. Prefer structured Grasp data before research questions, and distinguish table columns from separate contact lookup results.
This is an evidence-building skill. If enrichment is needed to narrow, qualify, shortlist, prioritize, or rank a universe, use the screening-and-shortlisting skill as the orchestrator and return there after inspecting enrichment results.
Existing-table enrichment uses UUID table_id values and does not take conversation_id. Do not pass table_slug as a tool handle. If enrichment requires creating helper/source tables that may later be composed, use the creating-tables skill first so those new tables share one setup conversation_id.
grasp_get_table tool.grasp_describe_table or grasp_query_table tool to understand coverage.Do not make enrichment coverage claims from a grasp_get_table preview alone; use rows, describe, or query to inspect the affected columns.
When research is needed, plan one grasp_add_research_column step, inspect coverage/results, then decide whether another is needed.
When several related qualitative criteria support one decision, prefer one decision-evidence research column over several separate upfront research columns.
grasp_add_research_column tool.grasp_update_table tool.grasp_run_table_outputs tool.finding-contacts skill and keep contact lookup results separate from table fields in the answer.grasp_read_docs tool.Always include a short version_summary for table updates.
Use source columns for fields Grasp already stores: financials, employees, locations, LinkedIn, buyer metadata, deal values, transaction details, company-level phone, website, generic email, or company LinkedIn fields. The structured current Ownership result is a deferred workflow output, not a source/data column.
grasp_read_docs tool before adding unfamiliar fields.grasp_update_table tool with workflow.data_columns.add when adding columns to a persisted table.Current ownership has one route:
ownership workflow output. Inspect the table first. New company tables already contain the deferred output, so populate its missing cells with grasp_run_table_outputs; never add a duplicate step. Add { "type": "ownership", "config": { "output_column": "ownership" } } only when a legacy company table genuinely lacks that output.Narrow the current view with cheap structured filters before population when the user only needs a subset. After the job succeeds, check coverage: NULL means not researched; the unknown companion code means researched but unresolved. Then filter or analyze the structured result. Use primary_ownership_type and primary_ownership_subtype for company-level categories, and query ownership.owners[] or use an owner_matches view filter for names, stakes, dates, relationships, joint ownership, and holding paths.
Never add generic research merely to parse fields already present in ownership. Targeted research is appropriate for facts outside its schema, such as previous owners, pending transactions, exact fund/vintage, owner domicile, platform/add-on status, external portfolio companies, or exit likelihood.
Label estimates; check coverage before filtering.
grasp_read_docs tool with the relevant topic when exact data-column names are uncertain.Research questions answer evidence questions for companies in a table and add one column per question. Use them for evidence that is not already structured and affects a decision.
Good question shapes:
Guidelines:
where to limit research to eligible rows when possible.Use only when the user wants contact-like information persisted as table columns. For person-level outreach contacts, stop and use the finding-contacts skill.
Do not treat a ranking, shortlist, PE add-on, acquisition-target, or buyer-universe request as a contact request unless the user explicitly asks for outreach contacts.
finding-contacts skill.npx claudepluginhub grasp-ai/grasp-mcp-plugin --plugin graspCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.