About company-research
company-research is a KServe-focused company research skill for teams gathering and organizing business-development information. It specifies company verification, phased research, output checks, and report generation.
Key features
- 01Verifies company identity and address
- 02Runs research in parallel or sequential phases
- 03Checks and sanitizes research outputs
- 04Persists progress for resumable runs
- 05Generates reports from a template
Use cases
- 01Confirm the intended target company
- 02Gather company operations and market data
- 03Assess fit with KServe services
- 04Prepare a business-development research brief
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ kserve-fms/ skills --skill company-researchAfter installing, type/company-researchin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
ADD_STEP.mddependencies.yamloutput-schemas.jsonpackage.json.state/.gitkeepoutput/template.mdreferences/checker-criteria.mdorchestrator.mdresearch-principles.mdsanitizer.mdsource-priority.mdscripts/format-report.test.tsformat-report.tslint-trust-preamble.shlint-trust-preamble.test.shscore-icp.test.tsscore-icp.tsvalidate-deps.shvalidate-deps.test.shvalidate-output.test.tsvalidate-output.tsDetails
From the project README§1 KServe Context
About KServe
KServe is an AI-powered Business Process Outsourcing (BPO) company headquartered in Thane, Maharashtra, India. KServe helps businesses grow and operate more efficiently by taking over key business functions — powered by integrated AI technology that delivers faster turnaround, higher accuracy, and better outcomes than traditional BPO.
Services
| Service | What KServe does |
|---|---|
| Lead Qualification | Evaluates leads to determine fit, intent, and readiness to buy — so the client's sales team focuses only on high-value prospects |
| Customer Onboarding | Manages the end-to-end process of welcoming and activating new customers on behalf of the client |
| Staff Augmentation | Provides trained, dedicated staff who work as an extension of the client's own team — without the overhead of in-house hiring |
| Customer Service | Handles inbound and outbound customer interactions across voice, chat, email, and other channels |
| Back-Office Operations | Takes over internal processing tasks — data entry, documentation, verification, and admin workflows |
| Collection | Manages payment follow-ups, outstanding dues, and recovery processes on behalf of the client |
| Market Research | Gathers competitive intelligence, customer insights, and market data to support the client's business decisions |
AI Services
All AI services can be purchased standalone, bundled, or integrated with existing BPO services.
| Service | What KServe does |
|---|---|
| Low Code AI Integrated CRM | Deploys a lightweight, AI-integrated CRM tailored to the client's workflow — no heavy migration, no licensing overhead |
| Predictive Lead Scoring | Scores inbound leads by conversion probability using ML models — so the client's team prioritises high-intent prospects |
| Conversation VoiceAI Bot | Handles inbound and outbound voice conversations in multiple languages — reduces call-centre headcount while maintaining quality |
| Sales Enhancer / CX Enhancer | AI-assisted sales workflows (Sales Enhancer) or customer experience workflows (CX Enhancer) — label based on whether the pain is sales-driven or support-driven |
| WhatsApp Chatbot | Automates enquiries, order tracking, and support via WhatsApp Business API — reaches customers on their preferred channel |
| Custom Build | Bespoke AI tooling for niche industries or fragmented legacy stacks — built to integrate with the client's existing systems |
All services can be augmented with KServe's AI technology — enabling automation, smarter routing, predictive insights, and higher throughput at lower cost.
Target Industries
BFSI · NBFC · Banking & Securities · Insurance · eCommerce · Education / EdTech · Automobile · Energy & Utilities · Healthcare · Media & Entertainment · Real Estate · Retail · Manufacturing · Tours & Travel · Hospitality · Agriculture · Immigration · Accounting · Fintech · Food & Beverages · Supply Chain Management · Logistics
§2 Phase 1 — Verification
Search the web for the company. Present the user with:
- Company name (as found)
- Website URL
- Registered / primary address
- Brief one-line description
Stop and wait for the user to confirm this is the right company before proceeding. If the user provided a website or address, use it to narrow the search.
Example:
I found the following. Is this the company you mean?
**Name:** Reliance Retail Ltd.
**Website:** https://www.relianceretail.com
**Address:** 3rd Floor, Court House, Lokmanya Bal Gangadhar Tilak Marg, Mumbai – 400002
**About:** India's largest retail chain across grocery, fashion, and electronics.
Please confirm and I'll run the full research.
§3 Resume Detection
Read
company-research/references/orchestrator.mdnow.
Apply the resume-detection algorithm from §"State persistence and resume":
- Compute canonical name from the company verified in §2.
- Scan
company-research/.state/(if the directory does not exist or the platform lacks filesystem access, skip resume — treat as fresh run) for any cache file whosecompanyfield matches AND whosestarted_atis on the current ISO date AND whose age is under 24h. - If a match is found, emit the canonical resume prompt from §"Resume prompt UX (canonical wording)" and wait for
y/n. y→ loadsanitized_outputs, skip completed waves, continue from the next wave.n→ delete the stale cache file, generate a fresh run-id (sha1(canonical-name + current-timestamp-ISO8601)), proceed to §4 mode detection.- No match → proceed to §4.
While here, perform opportunistic garbage collection per §"Garbage collection" — delete any cache file older than 24h.
§4 Mode Detection
Test whether the platform exposes a subagent dispatch tool (Task in Claude Code, spawn_agent in OpenCode/Codex, or equivalent).
- Available → proceed to §5 PARALLEL MODE.
- Unavailable → proceed to §6 SEQUENTIAL MODE.
The decision is made ONCE and recorded. Mid-run degradation is forbidden — see HARD-FAIL block at the bottom of this file.
§5 PARALLEL MODE DISPATCH
Read
company-research/references/research-principles.mdnow. Readcompany-research/references/source-priority.mdnow.
Spawn Wave 1:
Read
company-research/wave1/SKILL.mdnow.
Wait for Wave 1 to return all 15 envelopes (terminal status). Apply error-budget check.
Spawn Wave 2 (thread depended-on envelopes from Wave 1):
Read
company-research/wave2/SKILL.mdnow.
Wait for Wave 2 to return all 2 envelopes. Apply error-budget check.
Sanitizer gate #1 (covers ALL Wave 1 + Wave 2 envelopes):
Read
company-research/references/sanitizer.mdnow.
Persist sanitized outputs to a <run-id>.json file under company-research/.state/ (cache file shape per references/orchestrator.md).
Spawn Wave 3 (thread depended-on envelopes from Waves 1+2):
Read
company-research/wave3/SKILL.mdnow.
Wave 3 internally invokes Sanitizer gate #2 on its own outputs before handoff (see wave3/SKILL.md §"Post-wave sanitization").
Apply error-budget check across all waves. If RETRY_EXHAUSTED total > 5, HARD-FAIL with PRELIMINARY banner per §"Error budget".
Render the final report:
Read
company-research/references/orchestrator.mdnow. Readcompany-research/output/template.mdnow.
Invoke bun run company-research/scripts/format-report.ts <company> <envelopes.json> company-research/output/template.md [website] [research-date] [verification.json] — the last 3 args are optional and resolve {{company_website}}, {{research_date}}, and {{verification.*}} placeholders.
§6 SEQUENTIAL MODE
Three phases with explicit checkpoints. The main agent itself plays Worker + Checker + Sanitizer + Orchestrator roles inline. No subagents. Estimated runtime: 20–35 min depending on search complexity (≈1 min per step + synthesis). Progress updates at each CHECKPOINT (A, B, C) and after every chunk within Phase B.
Phase A — Setup (2 reads)
Read
company-research/references/research-principles.mdnow. Readcompany-research/references/source-priority.mdnow.
CHECKPOINT A: Confirm both files loaded before continuing.
Phase B — Research (17 research steps in 3 chunks of ≤7 reads each; 3 synthesis steps follow in Phase C)
Read
company-research/references/checker-criteria.mdnow.
For each step, in order: (1) read the step file; (2) execute the step instructions, producing an envelope; (3) run the Worker self-sanitize checklist from references/sanitizer.md §Self-sanitize on the envelope; (4) apply the inline Checker (criteria from references/checker-criteria.md); (5) if 2 retries fail, mark RETRY_EXHAUSTED and continue.
Chunk B1 (7 step files — Wave 1 part 1):
Read
company-research/wave1/step2-line-of-business/SKILL.mdnow. Readcompany-research/wave1/step3-turnover/SKILL.mdnow. Readcompany-research/wave1/step4-head-office/SKILL.mdnow. Readcompany-research/wave1/step5-years/SKILL.mdnow. Readcompany-research/wave1/step6-directors/SKILL.mdnow. Readcompany-research/wave1/step7-branches/SKILL.mdnow. Readcompany-research/wave1/step7b-job-postings/SKILL.mdnow.
Chunk B2 (7 step files — Wave 1 part 2 + Wave 2):
Read
company-research/wave1/step7c-tech-stack/SKILL.mdnow. Readcompany-research/wave1/step8-reviews/SKILL.mdnow. Readcompany-research/wave1/step11-customer-care/SKILL.mdnow. Readcompany-research/wave1/step12-social-media/SKILL.mdnow. Readcompany-research/wave1/step13-tracxn/SKILL.mdnow. Readcompany-research/wave1/step14-ma-funding-legal/SKILL.mdnow. Readcompany-research/wave2/step6b-decision-maker-dossiers/SKILL.mdnow.
Chunk B3 (3 step files — Wave 1 tail + Wave 2 tail):
Read
company-research/wave1/step16-outsourcing-vendors/SKILL.mdnow. Readcompany-research/wave1/step17-competitive-landscape/SKILL.mdnow. Readcompany-research/wave2/step9-overall-business-rating/SKILL.mdnow.
CHECKPOINT B: All 17 research envelopes collected (3 synthesis steps remain in Phase C — 20 total); running error budget recorded.
Phase C — Sanitize, synthesize, assemble (≤7 reads)
Sanitizer gate #1 on all 17 Phase-B envelopes:
Read
company-research/references/sanitizer.mdnow.
Synthesize Wave 3 inline:
Read
company-research/wave3/step10-kserve-services-fit/SKILL.mdnow. Readcompany-research/wave3/step10b-icp-score/SKILL.mdnow. Readcompany-research/wave3/step15-bd-intelligence-briefing/SKILL.mdnow.
Sanitizer gate #2 on the 3 synthesis envelopes (re-read sanitizer.md is fine; treat it as the gate-#2 trigger):
Read
company-research/references/sanitizer.mdnow.
Apply error-budget check. If RETRY_EXHAUSTED total > 5, HARD-FAIL with PRELIMINARY banner.
Assemble final report:
Read
company-research/references/orchestrator.mdnow. Readcompany-research/output/template.mdnow.
Render inline (or invoke bun run company-research/scripts/format-report.ts ... if Bun is available).
CHECKPOINT C: All sections populated; report rendered.
Hard-Fail Behavior (both modes)
Mode is chosen ONCE at §4. NEVER silently degrade.
| Failure | Parallel response | Sequential response |
|---|---|---|
| Subagent tool missing at §4 detection | Goto §6 (documented fallback) | N/A — already there |
| Subagent spawn returns error mid-run | Retry up to 3× with 10s backoff. If all 3 fail: HARD-FAIL: "Parallel mode aborted. Subagent tool failed mid-execution. Do NOT degrade to sequential — partial report would be misleading. Re-run when subagent capability is restored." | N/A |
| Wave coordinator does not return within wall-clock backstop | HARD-FAIL (same message) | N/A |
| Worker exceeds per-Worker no-progress (2 min) OR total wall-clock (8 min) | Kill Worker, mark RETRY_EXHAUSTED | N/A |
| Worker output malformed after 2 Checker retries | RETRY_EXHAUSTED, run continues, footer notes gap | Same |
| Web search returns 0 results | "Not publicly available", continue | Same |
| Source priority all 3 tiers exhausted | RETRY_EXHAUSTED, continue | Same |
| File read fails (typo, missing file) | HARD-FAIL — skill installation is broken. Exception: filesystem error during §3 Resume Detection → skip resume and proceed as fresh run. | Same |
| Sanitizer detects injection | Strip + log in DATA QUALITY footer, continue | Same |
| Error budget RETRY_EXHAUSTED > 5 | HARD-FAIL with PRELIMINARY banner: "Preliminary Report — too many data gaps (N steps exhausted retries). Do not use for BD outreach without manual review." | Same |