ooligo
claude-skill

Auto-fill SIG/CAIQ vendor diligence with Claude

Difficulty
intermediate
Setup time
30min
For
legal-ops · contract-manager
Legal Ops

Stack

A Claude Skill that takes an inbound security questionnaire — SIG, SIG-Lite, CAIQ, HECVAT, or a custom spreadsheet format — and your firm’s mapped control library, then drafts as many answers as it can while flagging novel, forward-looking, or low-confidence questions for security-team review. The skill produces the original .xlsx with answer cells populated plus a markdown summary that lists every flag, every citation, and every confidence score. Drop the control library in once; run it on every inbound questionnaire from then on. Cuts the typical 4-8 hours of analyst time per vendor due diligence response down to a 30-45 minute review pass.

When to use

Use this skill when a customer or prospect sends an inbound security questionnaire and you want the mechanical 70-80% of answers pre-populated, cited to your control library and supporting evidence, before a security analyst takes over. The economics work when questionnaire volume is high enough that the per-response time saving compounds — typically a GRC team handling 8+ inbound questionnaires per month, where the analyst’s time is the binding constraint and the control library is already documented.

The skill assumes you already have a mapped control library — every control indexed by SOC 2 section, ISO Annex A clause, CCM control ID, and NIST CSF function, with the canonical answer reviewed by security and legal. If you do not have that library yet, build it first. The skill amplifies a documented control posture; it does not invent one. Below roughly 8 questionnaires a month, the library-maintenance overhead exceeds the saving and the analyst should keep drafting by hand.

When NOT to use

  • Final submission to the customer. The skill drafts; a named security analyst reviews every answer and the deal owner signs off before the questionnaire goes back. Auto-fill plus auto-send is the failure mode this rule guards against — every questionnaire answer is a contractual representation.
  • Anything routed through a non-Tier-A AI vendor. Questionnaire content often quotes the customer’s own architecture and procurement metadata. If the configured model is not on the firm’s approved vendor list with a signed DPA covering security-program work, escalate to security instead of running. The skill enforces this as a precondition by reading the allowed-vendors list at the top of references/3-novel-question-escalation.md.
  • Novel control frameworks the firm has not mapped. FedRAMP Moderate, IRAP, BSI C5 — if the framework is not in the library, the skill will pattern-match incorrectly and produce confidently-wrong answers. Map the framework into the library first, then run.
  • Questionnaires tied to an active incident or open audit finding. Those are not drafting exercises. Security and legal handle them directly.
  • Any customer that has explicitly asked for non-AI-assisted responses. Honor the request. Some procurement teams require human-only authorship on the questionnaire and check for it.
  • Heavily customized free-text questionnaires that quote the customer’s own MSA back at you. “Confirm your deployment matches Schedule 3” is a deal-team question, not a control question. The skill flags these by default rather than guessing at customer-specific contract language.

Setup

  1. Drop the bundle. Place the contents of apps/web/public/artifacts/vendor-dd-questionnaire-skill/ into your Claude Code skills directory (~/.claude/skills/vendor-dd-questionnaire/) or upload the folder to a Claude.ai project. The skill exposes one entry point: pass it the inbound questionnaire and it returns the populated .xlsx plus a markdown summary.
  2. Replace the templates. The bundle ships with three template files in references/. Replace each with your firm’s actual content before the first run:
    • references/1-control-library-template.md — your mapped control library, indexed by framework, with canonical answers and supporting evidence IDs. This is the file the skill matches every question against; without your real controls, every answer is generic.
    • references/2-answer-format-reference.md — the literal answer formats per response type (Yes/No, Yes/No-with-description, descriptive, document-upload, certification-reference, N/A). Replace example phrasings with your house style.
    • references/3-novel-question-escalation.md — the rules that decide when a question routes to a security analyst instead of getting a drafted answer. Critically, this is also where you list the AI vendors authorized for security-program work — the skill refuses to run otherwise.
  3. Build the evidence index. Maintain a list of supporting evidence documents (SOC 2 report, ISO certificate, pen test summary, BCP, IR plan, sub-processor list) with an ID per document and an effective_through date. The skill cites IDs in answers; the analyst handles actual document delivery through the firm’s NDA-gated trust center, never by attaching docs to the questionnaire file.
  4. Test on a known questionnaire. Run the skill on a SIG-Lite or CAIQ you have already completed manually. Diff the auto-filled answers against your manual answers. Tune the control library where the skill misses obvious matches; tune the answer-format reference where the wording feels stilted. Two or three iterations gets to a stable baseline.
  5. Wire to intake. When a new questionnaire arrives, the assigned analyst drops the .xlsx into the skill and gets the populated file plus the markdown summary back in roughly 60 seconds. The analyst opens the summary first, reviews flagged questions, then walks the populated .xlsx (each cell carries a comment with the control ID, evidence ID, and confidence) before sending back to the customer.

What the skill actually does

The skill runs four sub-tasks in order; they are not parallelized because each step depends on context from the previous one. The full method, with engineering rationale, lives in apps/web/public/artifacts/vendor-dd-questionnaire-skill/SKILL.md. Briefly:

  1. Question classification. For each row, identify the response type expected (Yes/No, Yes/No-with-description, descriptive, document-upload, certification-reference, N/A), the topic (access control, encryption, IR, BCP, sub-processors, etc.), and the framework hint if the question cites one (CC6.1, A.9.4.2, CCM IAM-09). Why classification first: question type controls answer format, and topic plus framework hint together drive the control-library lookup. Skipping this and letting the model free-draft is the most common reason auto-fill produces inconsistent or miscategorized answers.
  2. Control-library matching. Look up the matching control with priority: exact framework section match → topic plus sub-topic within the same framework → cross-framework topic match → no match (flag for escalation, do not improvise). Why control-library-first instead of improvising from documentation: library entries have already been reviewed by security and legal. Improvised answers reintroduce that review burden every run, defeat the time saving, and create contractual-representation risk.
  3. Answer drafting with citations. Emit the canonical answer in the format the question expects, carrying the control ID, the supporting evidence ID, the library entry’s last_reviewed date, and a confidence score (high / medium / low). Pattern-match against prior_responses as a tie-breaker on borderline matches only — never let a prior answer override the current library, because policies change and 18-month-old answers can be flatly wrong.
  4. Review-flag decision. Replace the drafted answer with a “needs security review” block for any question matching the rules in references/3-novel-question-escalation.md: framework not mapped, forward-looking commitment, incident-specific question, customer-specific architecture or contract reference, low-confidence match, or divergence from a recent prior response.

Cost reality

Token cost per questionnaire and the analyst-time saving per response, with concrete numbers:

  • Typical SIG-Lite (~150 questions, ~20k tokens of question text). Input ~30k tokens (questionnaire + control library + answer-format reference + escalation criteria), output ~15k tokens (drafted answers with citations + summary). At Claude Sonnet 4.5 pricing ($3 / MTok input, $15 / MTok output), that’s roughly $0.32 per questionnaire.
  • Typical full SIG (~800 questions, ~80k tokens). Input ~95k tokens, output ~60k tokens. Roughly $1.20 per questionnaire.
  • Typical CAIQ v4 (~260 questions, ~30k tokens). Input ~42k tokens, output ~22k tokens. Roughly $0.45 per questionnaire.
  • Monthly run rate at 20 questionnaires (10 SIG-Lite + 8 CAIQ + 2 full SIG). Roughly $9 in token cost. The analyst-time saving dwarfs it: a baseline of 4-8 hours per questionnaire dropping to 30-45 minutes of review is a recovered 70-90 hours of analyst time per month at that volume. One analyst hour at $120/hr fully loaded covers ~370 questionnaires of skill cost.

The real cost is library maintenance. Security needs to keep references/1-control-library-template.md current and the evidence index current. Budget two hours of senior security-engineer time per quarter to refresh the library, plus an hour per quarter to triage escalation patterns and fold recurring out-of-library questions back into the library. Library staleness is the failure mode that quietly destroys output quality — the skill happily emits stale answers with high confidence if the library lies about being current.

Success metric

Two metrics, watched together, tell you whether the skill is earning its keep:

  • Cycle-time reduction on questionnaire response. Baseline: median time from questionnaire intake to “ready for deal-owner sign-off.” Target: reduce the median by 70-85%. A team baselined at 6 hours per questionnaire should land at 45-90 minutes (the skill produces in ~60 seconds; analyst review takes the rest).
  • Flag rate per questionnaire. Target band: 15-30% of questions flagged for analyst review. Below 10% means the library is too permissive — the skill is rubber-stamping low-confidence matches as high-confidence answers. Above 40% means the library does not cover enough ground and the skill is mostly producing flags. Either tune the library or drop the skill on that questionnaire type until coverage improves.

A third leading indicator worth watching: customer follow-up rate per question. If specific question types consistently draw a customer’s “please clarify” follow-up, the canonical answer in the library is unclear or under-cited. Track which questions draw follow-ups and rewrite those library entries first.

vs alternatives

The decision is between this skill, vendor-built questionnaire automation, and the manual security-team-written status quo:

  • vs Vanta Questionnaires or Drata Trust. These are vendor SaaS products bundled with broader GRC platforms. They win when you already use Vanta or Drata for compliance monitoring (the answers and evidence are already in the platform), when you want a customer-facing trust center as part of the product, and on speed-of-deployment if your control library is already in the platform’s structured form. They lose when your control posture has unusual nuances the platform’s question bank does not cover, when you want token-level transparency on every answer (the skill cites your library section IDs; vendors cite their internal mapping), and on price (platform tiers run thousands per month vs the skill’s roughly $9/month token cost plus analyst-time amortization).
  • vs HyperComply or Conveyor. AI-native questionnaire automation as a managed service. They win on zero deployment effort and on the service-level guarantee around turnaround time. They lose on per-answer auditability (the answers come out of the vendor’s model, not your library) and on the privilege model (your control library lives in a vendor’s system, not in your repo where security and legal review it). Pick one of these if you want questionnaires entirely off the in-house team’s plate and accept the trade on auditability.
  • vs manual security-team-written responses. The status quo at most firms. Higher quality on novel questions (humans pattern-match better on weird wording), much higher cost per questionnaire, slower turnaround. The skill is not a replacement for the analyst — it shifts the analyst’s time from typing-and-looking-up to judgment-and-review.

The Claude Skill sweet spot is the mid-volume firm with a well-documented control library and a security team that wants AI to do the first pass but expects analyst review on every output and demands every answer trace to a documented control. If you cannot point at the library entry behind an answer, the answer does not ship.

Watch-outs

  • Stale control library produces confidently-wrong answers. A SOC 2 Type II report from 2024 cited as evidence in 2026 will be rejected by any sophisticated customer. Guard: every output’s summary header writes the library’s last_reviewed date and every cited evidence document’s effective date. The analyst rejects any draft where the library is older than 90 days, refreshes, and re-runs. The 90-day threshold is written explicitly into references/3-novel-question-escalation.md as a soft escalation trigger so the skill itself flags borderline-stale answers.
  • Answer-improvisation when the library does not match. A model under pressure to “fill the cell” will free-draft a plausible-sounding answer. Guard: the matching pass emits explicit no match → flag rather than degrading gracefully. The skill refuses to write a cell without a control ID; cells without a citation surface in the summary as flagged-for-review, never as drafted answers. If you see drafted answers without citations, the bundle has been edited — re-install it.
  • Certification expiration handled silently. A SOC 2 cited as current may have expired between the last library refresh and today. Guard: the evidence index carries effective_through per document. If today is past effective_through, the skill drops the evidence cite and downgrades the answer to low confidence with a “cert in renewal” note. The analyst chases the renewed cert before the questionnaire goes back.
  • Forward-looking commitments treated as facts. “Will you support customer-managed keys by Q4?” is a roadmap question, not a control question. Drafted as Yes/No, it becomes a contractual representation. Guard: references/3-novel-question-escalation.md lists the linguistic patterns (“will you”, “do you plan to”, “by what date”) that force a flag-for-review regardless of confidence. Roadmap answers always go through product and legal, never through the skill alone.
  • Pattern-match drift from prior responses. Last year’s response said “365-day key rotation”; this year’s policy says 90 days. Reusing the prior answer creates a contractual misrepresentation. Guard: prior-response matching is a tie-breaker only, never an override. When a prior answer differs from the current library entry, the skill surfaces the divergence in the summary so the analyst can see it before it goes back.
  • Privilege leakage via non-Tier-A vendors. Questionnaire content is firm-confidential and customer-confidential simultaneously. Guard: the skill refuses to run unless the configured model appears in the allowed-vendors list at the top of references/3-novel-question-escalation.md. Hard precondition; no CLI flag bypasses it.

Stack

  • Claude — Skill runtime (Claude Code or Claude.ai with custom Skills enabled).
  • The firm’s existing GRC stack (Vanta, Drata, OneTrust, Whistic, or similar) — system of record for the control library and evidence index the skill reads. The skill does not replace the GRC platform; it sits on top of the same source-of-truth data.
  • Microsoft Excel — for opening the populated .xlsx. Per-cell comments carry the control ID, evidence ID, and confidence score so the analyst can audit without flipping back to the markdown summary.
  • The firm’s NDA-gated trust center or evidence portal — for delivering evidence documents the skill cites by ID. Documents are never attached to the questionnaire file directly.

Files in this artifact

Download all (.zip)