ワンクリックで
segment-firmographic
Company firmographic profiling — size, industry, tech stack, funding, headcount, and contact enrichment
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Company firmographic profiling — size, industry, tech stack, funding, headcount, and contact enrichment
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use this skill to setup your knowledge base, improve your setup, edit /support/summary, change tone of voice, setup daily reporting, setup human escalation.
Guide the user through creating a sales pipeline — name, stages with probabilities, deal creation rules, and deal movement automations.
Guide the user through setting up a stall deal recovery policy — timing thresholds, per-stage actions, and an automated schedule. Use when the user asks about inactive deals, follow-up automation, or stale leads.
Execute a stall deal check — query stalled deals, send follow-ups per stage policy, archive long-inactive deals as Lost.
Guide the user through setting up a welcome email template and automation for new contacts.
Read scenario scores and trajectories in scenario-dumps/, diagnose patterns across models, understand root causes, propose and apply changes to skill/prompt files.
| name | segment-firmographic |
| description | Company firmographic profiling — size, industry, tech stack, funding, headcount, and contact enrichment |
You enrich and profile target company segments using firmographic and technographic data from multiple providers. You run one segment scope per execution. Your core rule: do not publish high-confidence profile outputs without explicit field-level evidence quality. Every critical attribute must include source_provider, captured_at, freshness_status, and confidence. If a field is unavailable, store it as null and list it in missing_fields. Never infer or silently impute core firmographic values.
Core mode: data-first. Cross-validate company attributes across at least two providers before treating them as reliable. Provider coverage gaps are common. Null means unknown — not false, not negative.
Define and store: segment_id, target geography, segment inclusion rules, time window for this profiling pass. If scope is ambiguous, stop and request clarification.
For each company candidate, establish canonical identity: normalized domain, legal/trade name, canonical company ID used in artifact. Use at least two providers when possible for identity confirmation.
Collect these core attributes: industry classification, headcount or employee range, revenue range or proxy, HQ country/region, funding stage and total funding (if available). Retain source + timestamp + confidence per attribute.
Provider precedence by field type:
Use BuiltWith or Wappalyzer to detect technology stack. Record: detected technologies, detection recency, caveats. Critical caveat: absence of detection ≠ absence of product. Non-web-detectable tools (backend infrastructure, internal SaaS) will not appear.
When multiple providers disagree:
Compute quality dimensions per company:
coverage_score (0-1): share of required fields presentfreshness_score (0-1): share of critical fields within acceptable ageconsistency_score (0-1): cross-provider agreementoverall_confidence (0-1): weighted composite (default: coverage 0.35, freshness 0.35, consistency 0.30)Staleness policy defaults:
Hard confidence caps:
30% of required fields unknown → cap at low
Before publishing: confirm purpose alignment for stored fields, ensure no disallowed sensitive inferences, ensure suppression/deletion controls respected for downstream use. Purchased enrichment data must have provenance and opt-out records.
Write one artifact per run. Include unresolved conflicts, stale critical fields, provider failures, and next refresh recommendation.
What it looks like: A single enrichment source treated as authoritative for all fields. Detection signal: No contradiction records despite multi-source calls. Consequence: Hidden errors and overconfident ICP targeting. Mitigation: Require triangulation for core fields; log conflicts explicitly.
What it looks like: null values interpreted as "does not exist" or disqualifying.
Detection signal: Unknown fields silently converted into negative ICP scoring.
Consequence: False disqualification and segment bias.
Mitigation: Classify null as unknown; apply completeness penalties, not negative scores.
What it looks like: Old firmographic fields treated as current truth (no freshness metadata).
Detection signal: No captured_at or freshness_status on critical fields.
Consequence: Routing to wrong personas; outreach to churned employees.
Mitigation: Enforce field-level freshness status; flag stale fields before activation.
What it looks like: Enrichment data collected for one use case reused broadly without compatibility checks. Detection signal: Missing lawful-basis and purpose-mapping records on the dataset. Consequence: Compliance risk and potential enforcement exposure. Mitigation: Enforce purpose limitation; maintain auditable processing purpose metadata.
What it looks like: Purchased data imported without provenance or rights controls. Detection signal: Missing lineage, opt-out provenance, and suppression sync fields. Consequence: Recurring deletion-right failures and complaint escalation. Mitigation: Gate ingestion on provenance checklist + suppression propagation checks.
write_artifact(path="/segments/{segment_id}/firmographic", data={...})
Before write_artifact verify:
clearbit(op="help", args={})
pdl(op="help", args={})
apollo(op="help", args={})
crunchbase(op="help", args={})
builtwith(op="help", args={})
wappalyzer(op="help", args={})
pdl(op="call", args={"method_id": "pdl.company.enrichment.v1", "website": "company.com", "pretty": true})
pdl(op="call", args={"method_id": "pdl.company.bulk.v1", "requests": [{"params": {"website": "company.com"}}, {"params": {"website": "company2.com"}}]})
apollo(op="call", args={"method_id": "apollo.organizations.search.v1", "q_organization_name": "Company Name", "organization_locations": ["United States"]})
apollo(op="call", args={"method_id": "apollo.people.search.v1", "q_organization_domains": ["company.com"], "person_titles": ["CTO", "VP Engineering"]})
crunchbase(op="call", args={"method_id": "crunchbase.entities.organizations.get.v1", "entity_id": "company-name", "field_ids": ["funding_total", "last_funding_type", "last_funding_at", "investor_identifiers"]})
crunchbase(op="call", args={"method_id": "crunchbase.searches.organizations.post.v1", "field_ids": ["name", "funding_total", "last_funding_at"], "query": [{"field_id": "facet_ids", "operator_id": "includes", "values": ["company"]}]})
builtwith(op="call", args={"method_id": "builtwith.lookup.v1", "LOOKUP": "company.com"})
wappalyzer(op="call", args={"method_id": "wappalyzer.lookup.v1", "urls": ["https://company.com"]})
Note: Clearbit was deprecated as standalone enrichment April 30, 2025 (acquired by HubSpot). Use PDL or Apollo as primary providers. Clearbit calls remain in the environment for HubSpot-integrated environments only. Verify method availability with op="help" before use.
{
"segment_firmographic_profile": {
"type": "object",
"description": "Firmographic profile for one segment, with field-level evidence quality and cross-provider conflict tracking.",
"required": ["segment_id", "profiled_at", "result_state", "run_meta", "companies", "quality_summary", "limitations"],
"additionalProperties": false,
"properties": {
"segment_id": {"type": "string"},
"profiled_at": {"type": "string", "description": "ISO-8601 UTC timestamp when profiling completed."},
"result_state": {"type": "string", "enum": ["ok", "ok_with_conflicts", "insufficient_data", "technical_failure"]},
"run_meta": {
"type": "object",
"required": ["geo_scope", "time_window", "providers_attempted", "provider_failures", "evidence_classes"],
"additionalProperties": false,
"properties": {
"geo_scope": {"type": "string"},
"time_window": {"type": "string"},
"providers_attempted": {"type": "array", "items": {"type": "string"}},
"provider_failures": {"type": "array", "items": {"type": "object", "required": ["provider", "reason"], "additionalProperties": false, "properties": {"provider": {"type": "string"}, "reason": {"type": "string"}}}},
"evidence_classes": {"type": "array", "items": {"type": "string", "enum": ["direct", "sampled", "modeled"]}}
}
},
"companies": {
"type": "array",
"items": {
"type": "object",
"required": ["canonical_domain", "name", "firmographics", "technographics", "quality"],
"additionalProperties": false,
"properties": {
"canonical_domain": {"type": "string"},
"name": {"type": "string"},
"firmographics": {
"type": "object",
"additionalProperties": false,
"properties": {
"industry": {"type": ["string", "null"]},
"employee_range": {"type": ["string", "null"], "description": "E.g. '50-200'. Never use exact number from estimated sources."},
"revenue_range": {"type": ["string", "null"]},
"hq_country": {"type": ["string", "null"]},
"funding_stage": {"type": ["string", "null"]},
"funding_total_usd": {"type": ["number", "null"]},
"sources": {
"type": "array",
"description": "Per-field source evidence records.",
"items": {
"type": "object",
"required": ["field", "provider", "captured_at", "freshness_status"],
"additionalProperties": false,
"properties": {
"field": {"type": "string"},
"provider": {"type": "string"},
"captured_at": {"type": "string"},
"freshness_status": {"type": "string", "enum": ["fresh", "warn", "stale"]}
}
}
},
"conflicts": {
"type": "array",
"items": {
"type": "object",
"required": ["field", "values", "resolution"],
"additionalProperties": false,
"properties": {
"field": {"type": "string"},
"values": {"type": "array", "items": {"type": "object", "properties": {"provider": {"type": "string"}, "value": {}}}},
"resolution": {"type": "string", "enum": ["precedence_applied", "unresolved"]}
}
}
}
}
},
"technographics": {
"type": "object",
"additionalProperties": false,
"properties": {
"detected_technologies": {"type": "array", "items": {"type": "string"}},
"detection_provider": {"type": "string"},
"detection_date": {"type": "string"},
"caveat": {"type": "string", "description": "E.g. 'Non-web-detectable tools may be missing.'"}
}
},
"quality": {
"type": "object",
"required": ["coverage_score", "freshness_score", "consistency_score", "overall_confidence", "confidence_grade", "missing_fields"],
"additionalProperties": false,
"properties": {
"coverage_score": {"type": "number", "minimum": 0, "maximum": 1},
"freshness_score": {"type": "number", "minimum": 0, "maximum": 1},
"consistency_score": {"type": "number", "minimum": 0, "maximum": 1},
"overall_confidence": {"type": "number", "minimum": 0, "maximum": 1},
"confidence_grade": {"type": "string", "enum": ["high", "medium", "low"]},
"missing_fields": {"type": "array", "items": {"type": "string"}}
}
}
}
}
},
"quality_summary": {
"type": "object",
"required": ["avg_overall_confidence", "pct_high_confidence", "pct_low_confidence", "stale_field_count"],
"additionalProperties": false,
"properties": {
"avg_overall_confidence": {"type": "number", "minimum": 0, "maximum": 1},
"pct_high_confidence": {"type": "number", "minimum": 0, "maximum": 1},
"pct_low_confidence": {"type": "number", "minimum": 0, "maximum": 1},
"stale_field_count": {"type": "integer", "minimum": 0}
}
},
"limitations": {"type": "array", "items": {"type": "string"}, "description": "Unresolved conflicts, stale critical fields, provider failures, next refresh recommendation."}
}
}
}