Skip to content
Back to skills

Plan Intake

ASecurity

Interview the user in their language (and read what already exists) to write a product's context in docs/context — problem, users, domain, constraints, environments, and every open gap with owner and question. Use when the user says "entrevistame", "intake", "relevamiento", "contexto del proyecto", "tengo una idea", "armá el contexto", "gather requirements", when project-new reaches gate 1, or when a new feature needs context the project doesn't have. Only asks what the house harness doesn't ...

  • 2 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 29, 2026
developmentpythongobashtestingapidatabasesecurity

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add leosimini/keelokit --skill plan-intake --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Plan Intake?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Plan Intake
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/leosimini-plan-intake/badge)](https://www.skillsdirectory.com/skills/leosimini-plan-intake)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: plan-intake
description: Interview the user in their language (and read what already exists) to write a product's context in docs/context — problem, users, domain, constraints, environments, and every open gap with owner and question. Use when the user says "entrevistame", "intake", "relevamiento", "contexto del proyecto", "tengo una idea", "armá el contexto", "gather requirements", when project-new reaches gate 1, or when a new feature needs context the project doesn't have. Only asks what the house harness doesn't already answer.
---

# Intake — only what this product needs, never invented

The house harness (stack, coding, testing, security, CI, agent protocol) is already decided and
inherited. This interview covers **only the product**: why it exists, who uses it, its domain,
its hard limits and its environments. Target: 15–25 questions, fewer when documents exist.

Read before starting: `references/question-bank.md` and `references/context-format.md`.

## 1. Harvest before asking

1. Ask once what already exists in writing and where (briefs, notes, decks, screenshots, a
   repo, links). List what you found and confirm the list before reading.
2. Read each source against the question bank. Pre-fill every question it answers, citing the
   source id (`S1`, `S2`…). A document that is undated, a draft, or contradicts another source
   is **to confirm**, not answered.
3. Existing repo: read the README, manifests, CI and top-level folders (structure and commands,
   not logic). What you derive is **inferred** until the user confirms it.
4. Show the delta before any question:
   ```
   Sources: 3 (S1–S3) · Answered by documents: 11/26 · To confirm: 4 · To ask: 11
   ```

## 2. Interview the delta

- At most 4 questions per turn, with the multiple-choice tool when the answer space is known,
  always with a free-text path and an "I don't know yet" option that records a gap.
- Accept only measurable answers: a number, a name, a date, a regulation, a concrete example.
  Re-probe a vague one once — "how would we know it holds?", "what number?", "what happens if
  it doesn't?" — then record a gap instead of writing the vague version.
- High-signal probes: the last time this problem hurt (a concrete story), what they use today
  and why it fails, what would make them abandon the product, the rule that must never break.
- Separate wish from requirement: "is it required to launch, or where you want to get to?"
  Wishes go to the PRD's later scope, not to constraints.
- Three unanswered in a row in one block → stop the block, record gaps with the right owner,
  move on.

## 3. Write docs/context

Write the five files exactly as `references/context-format.md` shows:
`product.md`, `domain.md`, `constraints.md`, `environments.md`, `gaps.md`.

- **Never invent.** No source, no fact: write `[GAP-nnn]` inline and add the row to `gaps.md`
  (file, what's missing, owner, exact question, blocking yes/no).
- Every fact carries its source id; inferred facts are marked `(inferred, S3)`.
- Constraints are written as `[MUST]` / `[MUST NOT]` with something measurable; if breaking it
  has no named consequence, it is not a constraint — move it to the PRD.
- Rules that must never break (D03–D03d) become invariants in `domain.md`: `[INV-nnn]`, the rule,
  `class: <class>` and the source. Ask how it breaks to pick the class; two ways → two
  invariants. Ids never change or get reused. Money, one-time side effects, limits and other
  people's data are where the worst bugs live: don't close the domain block without asking.
- No vague phrases ("robust", "user-friendly", "best practices"…) — `python3 .keelokit/bin/doctor.py` rejects them.
- No secrets, no personal data of real people; accounts are named by owner, never with values.

## 4. Keep the profile true

If the project has `.keelokit/profile.toml`, update its `traits` from what the context now says:
`personal-data` when it stores anything that identifies a person, `payments` when money moves,
`i18n` for more than one language, `developer-facing` when its users are developers. A new
feature that needs something new (an API, a database, a mobile app, hosting) adds it too — and
say so to the user: it changes which rules apply and what the bug bash hunts.

## 5. Check and hand back

1. If the project has `.keelokit/bin/doctor.py`, run it and fix every `docs/context` error.
2. For a deep review, delegate to the `context-auditor` agent (it didn't write the context, so it
   catches invention and vagueness the author misses).
3. Report: sources used, questions asked, gaps open by owner (blocking first), and the questions
   to ask next.

Resumable: the files on disk are the state. On a new session, read `docs/context/` and
`gaps.md`, say what is covered and continue with the open gaps.

Files in this skill

  • SKILL.md4.7 KB
  • references/context-format.md3 KB
  • references/question-bank.md3.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.