Source profileQuality 86/100

gethouston/houston/store/agents/legal/.agents/skills/answer-a-security-questionnaire/SKILL.md

answer-a-security-questionnaire

A big customer sent you a security questionnaire? I read it, fill in everything I already know about your company, and group the rest by topic so you can knock out many in one sitting. Every answer I save reuses next time, so the second one is much faster than the first.

Source repository stars
91
Declared platforms
0
Static risk flags
0
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

A big customer sent you a security questionnaire? I read it, fill in everything I already know about your company, and group the rest by topic so you can knock out many in one sitting.

Best for

  • Explicit: "help me with this security questionnaire", "fill out vendor security assessment", "triage this SIG / CAIQ", "what can you answer on this questionnaire", "enterprise prospect sent me this security doc".
  • Implicit: sort-my-legal-inbox classified inbound as "other → vendor security questionnaire" and founder wants action.
  • One questionnaire per invocation. Multiple → call once each.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/gethouston/houston --skill "store/agents/legal/.agents/skills/answer-a-security-questionnaire"
Safe inspection promptEditorial

Inspect the Agent Skill "answer-a-security-questionnaire" from https://github.com/gethouston/houston/blob/10d9551da3a639803421a9004117f9e5633ce3a1/store/agents/legal/.agents/skills/answer-a-security-questionnaire/SKILL.md at commit 10d9551da3a639803421a9004117f9e5633ce3a1. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    When to use

    Explicit: "help me with this security questionnaire", "fill out vendor security assessment", "triage this SIG / CAIQ", "what can you answer on this questionnaire", "enterprise prospect sent me this security doc".

    Explicit: "help me with this security questionnaire", "fill out vendor security assessment", "triage this SIG / CAIQ", "what can you answer on this questionnaire", "enterprise prospect sent me this security doc".Implicit: sort-my-legal-inbox classified inbound as "other → vendor security questionnaire" and founder wants action.One questionnaire per invocation. Multiple → call once each.
  2. 02

    What this is (and isn't)

    Triage + draft - fast question-set extraction, auto-fill from founder's persisted answers library, grouped "still-need-from-you" list so one sit-down resolves many. Not full security program audit, not final sign-off. Every output closes with "this is summary, not legal advice;…

    Triage + draft - fast question-set extraction, auto-fill from founder's persisted answers library, grouped "still-need-from-you" list so one sit-down resolves many. Not full security program audit, not final sign-off. E…
  3. 03

    The answers library

    config/security-answers.md = founder's persistent, growing security-program answers library. Accumulates over time - every new questionnaire potentially adds answers. Flat markdown, topic headers + Q/A pairs:

    config/security-answers.md = founder's persistent, growing security-program answers library. Accumulates over time - every new questionnaire potentially adds answers. Flat markdown, topic headers + Q/A pairs:
  4. 04

    Access control

    Q: Do you enforce MFA on all admin accounts? A: Yes - MFA required on all production infrastructure (AWS, {password-manager}, {git-host}) via {provider}. Enforced since {YYYY-MM}.

    Q: Do you enforce MFA on all admin accounts? A: Yes - MFA required on all production infrastructure (AWS, {password-manager}, {git-host}) via {provider}. Enforced since {YYYY-MM}.
  5. 05

    Data at rest

    Q: Is customer data encrypted at rest? A: Yes - AES-256 at rest via {provider}'s managed encryption on all customer data stores.

    Q: Is customer data encrypted at rest? A: Yes - AES-256 at rest via {provider}'s managed encryption on all customer data stores.Topic buckets (customize if questionnaire deviates): access control, authentication, data at rest, data in transit, data residency, subprocessors, backups + DR, incident response, secure SDLC, vulnerability management,…

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score86/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars91SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
gethouston/houston
Skill path
store/agents/legal/.agents/skills/answer-a-security-questionnaire/SKILL.md
Commit
10d9551da3a639803421a9004117f9e5633ce3a1
License
MIT
Collected
2026-08-04
Default branch
main
View the original SKILL.md

Answer a Security Questionnaire

When to use

  • Explicit: "help me with this security questionnaire", "fill out vendor security assessment", "triage this SIG / CAIQ", "what can you answer on this questionnaire", "enterprise prospect sent me this security doc".
  • Implicit: sort-my-legal-inbox classified inbound as "other → vendor security questionnaire" and founder wants action.
  • One questionnaire per invocation. Multiple → call once each.

What this is (and isn't)

Triage + draft - fast question-set extraction, auto-fill from founder's persisted answers library, grouped "still-need-from-you" list so one sit-down resolves many. Not full security program audit, not final sign-off. Every output closes with "this is summary, not legal advice; enterprise security questionnaires sometimes imply contractual commitments - escalate anything with commercial impact to outside counsel."

The answers library

config/security-answers.md = founder's persistent, growing security-program answers library. Accumulates over time - every new questionnaire potentially adds answers. Flat markdown, topic headers + Q/A pairs:

## Access control
**Q: Do you enforce MFA on all admin accounts?**
A: Yes  -  MFA required on all production infrastructure (AWS,
   {password-manager}, {git-host}) via {provider}. Enforced since
   {YYYY-MM}.

## Data at rest
**Q: Is customer data encrypted at rest?**
A: Yes  -  AES-256 at rest via {provider}'s managed encryption on all
   customer data stores.

...

Topic buckets (customize if questionnaire deviates): access control, authentication, data at rest, data in transit, data residency, subprocessors, backups + DR, incident response, secure SDLC, vulnerability management, logging + monitoring, employee security (hiring / offboarding / training), physical security (usually "N/A - remote, hosted on {cloud}"), compliance certifications (SOC 2, ISO, HIPAA, GDPR), AI / model training, customer support data access, data retention + deletion.

Steps

  1. Read shared context: context/legal-context.md. If missing/empty, ask user in plain language: "I need a few basics about your company first to answer this well. Want to set those up now?" Then run set-up-my-legal-info if yes. Stop until that's done. Extract entity name, data geography, standing enterprise customer agreements that might constrain answers.
  2. Read answers library: config/security-answers.md. If missing, first questionnaire - fine, library seeds from answers captured here. Note in output how many prior answers on hand.
  3. Locate questionnaire. Accept: (a) pasted text, (b) file path (PDF, DOCX, XLSX, CSV), (c) URL or pointer into connected document storage, (d) Google Sheets / Airtable link. If document storage or sheet tool connected, discover via any Composio-connected document-storage or spreadsheet category, fetch. If none provided, ask ONE question: "Paste questionnaire, upload file, or point me to it in your document storage."
  4. Parse. Extract question set into structured array: { id, section, question, expectedFormat? }. id = stable hash of section + question text so re-runs don't renumber. expectedFormat captures answer shape if evident ("Yes/No", "Free text", "Yes/No + comment", "Document attachment"). Parsing fails (scanned PDF, locked PDF, image-only) → tell user, ask for text-extractable version. Don't guess.
  5. Auto-fill from answers library. For each question, match against config/security-answers.md:
    • Exact match - prior Q/A with ≥ 90% token overlap, same topic → pre-fill, mark source "library-exact".
    • Near match - prior Q/A same topic, semantically equivalent → pre-fill, mark "library-near", flag for founder spot-check.
    • No match - leave blank, mark "needs-founder".
  6. Group unanswered by topic. Use topic bucket list above. Goal: one sit-down answers as many needs-founder as possible. Within topic, simpler Yes/No first → quick wins.
  7. Draft response doc. Write to security-questionnaires/{counterparty-slug}-{YYYY-MM-DD}.md atomically (*.tmp → rename). Structure:
    • Header: counterparty, questionnaire type (SIG-lite / CAIQ / custom / etc.), total question count, pre-filled count, needs-founder count, near-matches needing spot-check.
    • Pre-filled answers - grouped by topic, each shows Q, A, source tag (library-exact / library-near). Near-matches get one-line "verify this still holds" prompt.
    • Still need from you - grouped by topic, numbered for easy chat answering. Include suggested answer shape (Yes/No, short paragraph, attach policy doc).
    • Footer: "This is a summary, not legal advice. Some answers in security questionnaires create real contractual commitments. If anything has serious commercial impact, ask me to prepare a brief for outside counsel."
  8. Write short list. Also produce short (≤ 10 item) "needs-you-now" list - minimal set unblocking draft-back. Inline at top of response doc + in user summary.
  9. Capture new answers as founder responds. After founder answers in chat, append/update config/security-answers.md atomically:
    • New topic + Q/A → append under topic header.
    • Existing Q/A founder updated → replace A, note (updated {YYYY-MM-DD}) inline.
    • Never drop prior answers without founder's explicit OK. Refresh response doc with newly-captured answers, re-classify as library-exact going forward.
  10. Append to outputs.json - read existing array, add { id, type: "security-questionnaire", title, summary, path, status: "draft", createdAt, updatedAt, attorneyReviewRequired }. Set attorneyReviewRequired: true if the questionnaire contains any question implying contractual commitment (breach notification SLAs, uptime SLAs, data residency commitments, audit rights, indemnities, insurance minimums) - these shouldn't be answered without outside-counsel review.
  11. Summarize to user. Plain language. One short paragraph: "{Counterparty}'s questionnaire has {total} questions. I filled in {N} from what I already know about your company ({M} need a quick spot-check). {K} questions need you. Want to knock out the {topic} section first?" Never name files or paths.

Never invent

  • Never fabricate security control founder hasn't confirmed. "No" or "Not yet" right answer until founder implements - fake "Yes" = how founders breach contracts they didn't realize they signed.
  • Never normalize sensitive answers. Founder says "Postgres on RDS, encrypted" → answer doc says "Postgres on RDS, encrypted" - not "industry-standard managed database with encryption-at-rest." Specificity matters for enterprise buyers + later audits.
  • Never hedge with "probably" or "likely." State answer or mark needs-founder.

Hard nos

  • Never sends, shares, returns questionnaire to counterparty. Every draft for founder review + send.
  • Never provides legal advice not clearly marked summary. Footer line non-negotiable.
  • Never commits founder to timeline, SLA, uptime figure, insurance coverage, certification status without founder's explicit confirmation.
  • Never hardcodes tool names. Questionnaire fetches flow through any Composio-connected document-storage or spreadsheet category.
  • Never hardcodes topic bucket list as exhaustive - novel topic in questionnaire → add to grouping, note in output so library grows.

Outputs

  • security-questionnaires/{counterparty-slug}-{YYYY-MM-DD}.md - draft response + needs-you list.
  • Appends / updates config/security-answers.md - persistent answers library.
  • Appends to outputs.json with type security-questionnaire.