Skip to content
Back to skills

Foreman Grill Docs

ASecurity

Headless grilling pass that challenges an approved implementation plan against the existing codebase and domain model, then writes an ADR draft and a PRD draft into the Foreman feature directory. Self-answers every question it can from the code/docs and surfaces the rest as an "Open questions for reviewer" block instead of interviewing a live user.

  • 448 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added August 30, 2026
ai-agentstestingsecurityperformancedocumentation

Security analysis

A100/100

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

Scanned August 30, 2026

npx -y skills add VisionForge-OU/foreman --skill foreman-grill-docs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Foreman Grill Docs?

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

Security grade badge for Foreman Grill Docs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/visionforge-ou-foreman-grill-docs/badge)](https://www.skillsdirectory.com/skills/visionforge-ou-foreman-grill-docs)

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: foreman-grill-docs
description: Headless grilling pass that challenges an approved implementation plan against the existing codebase and domain model, then writes an ADR draft and a PRD draft into the Foreman feature directory. Self-answers every question it can from the code/docs and surfaces the rest as an "Open questions for reviewer" block instead of interviewing a live user.
foreman_skill_version: 2
---

<what-to-do>

You are running **headless, with no live human in the loop.** Your job is to grill
the approved implementation plan as hard as a senior engineer would in a live
design review — but instead of asking the human questions one at a time, you
**self-answer everything you can** and **defer only what you genuinely cannot
resolve** to a written review gate.

Walk the full design decision tree. For each branch:

1. **Try to answer it yourself first** by exploring the target codebase, its
   `CONTEXT.md` / `CONTEXT-MAP.md` glossary, and its `docs/adr/` log. If the code
   or the docs settle the question, record the answer in the draft and move on.
2. **Only if it is genuinely unresolvable** from available evidence — because it
   needs a product call, a priority trade-off, or knowledge that lives only in the
   reviewer's head — add it to the `## Open questions for reviewer` block at the
   very top of the relevant draft.

Do NOT ask the user anything interactively. Do NOT wait for input. Produce the
drafts and stop.

</what-to-do>

<inputs>

Foreman injects, in the prompt:

- The path to the approved `plan.md`.
- The feature directory `.foreman/features/<slug>/` where you must write `adr.md`
  and `prd.md`.
- On a **revision pass**, the previous `adr.md`/`prd.md` and the reviewer's
  comments (which double as answers to the previous open questions).

</inputs>

<process>

### 1. Explore before you challenge

Read the plan. Then explore the target repo to ground every claim:

- Domain language: read `CONTEXT.md` (or follow `CONTEXT-MAP.md` to the right
  context). Use the project's canonical terms throughout both drafts. If the plan
  uses a term that conflicts with the glossary, flag the conflict and prefer the
  glossary term.
- Prior decisions: read `docs/adr/`. Respect accepted ADRs; if the plan
  contradicts one, that is a finding — either the plan is wrong or a new ADR
  supersedes the old one. Say which.
- The code itself: verify the plan's assumptions about how things currently work.
  When the plan says "X works like Y", check whether the code agrees. Surface
  every contradiction.

### 2. Grill across every dimension

Challenge the plan on: domain-model fit, data/schema shape, failure modes and
partial failure, concurrency, idempotency, security and authorization, migration
and backfill, observability, testability and seams, performance envelope,
backward compatibility, and rollout/rollback. For each dimension, either resolve
it in the draft or raise an open question.

Stress-test relationships with concrete scenarios. Invent specific edge-case
scenarios and force the boundaries between concepts to be precise.

### 3. Update the target repo's living docs inline

As decisions crystallise, update the target repo's own documentation **right
there**, not in a batch:

- Sharpen or add glossary terms in `CONTEXT.md` using `CONTEXT-FORMAT.md`. Create
  `CONTEXT.md` lazily (only once the first term is worth recording). It is a
  glossary only — never implementation detail.
- Record genuinely architectural, hard-to-reverse, trade-off decisions as ADRs in
  `docs/adr/` using `ADR-FORMAT.md`. Offer ADRs sparingly (all three tests in
  ADR-FORMAT must hold). Create `docs/adr/` lazily.

### 4. Write the two Foreman drafts

Write `adr.md` and `prd.md` into the feature directory. Each begins with the open
questions block (see format below). Immediately after the open-questions block in
**both drafts**, emit a `## Decisions made on your behalf` section: **≤10 bullets**,
each a single audit-judgment call you settled autonomously that the reviewer should
be able to sanity-check **without re-reading the prose** (e.g. "Chose optimistic
locking over a mutex because the contention window is sub-millisecond"). These are
decisions you *made* and resolved — distinct from the open questions you *deferred*.
Keep each bullet to one line; if you genuinely made no non-obvious calls, write a
single line: `_None — no judgment calls beyond the plan._`.

The ADR draft captures the architectural decision narrative for this feature; the
PRD draft follows the PRD template in the `foreman-to-prd` skill (problem,
solution, user stories, implementation decisions, testing decisions, out of scope,
further notes).

### 5. On a revision pass

When Foreman re-runs you with reviewer comments:

- Treat each reviewer comment as the answer to an open question (or as new
  guidance). Resolve that branch of the decision tree and fold the resolution into
  the body.
- Remove every question the comments answered from the open-questions block.
- Surface any **newly uncovered** questions that the answers expose.
- Append a short `## Changelog` entry at the bottom of each revised draft noting
  what changed in this version and which comments drove it.

</process>

<open-questions-format>

At the very top of BOTH `adr.md` and `prd.md`, immediately after the title:

```md
## Open questions for reviewer

- <a question you genuinely could not resolve from code/docs>
- <another>
```

Rules:

- This block is the **only** way you communicate with the reviewer. Put nothing
  here you could have answered yourself.
- If you resolved everything, write the block with a single line:
  `_None — all questions resolved from the codebase and prior decisions._`
- Foreman will not let the reviewer approve a draft while any unresolved bullet
  remains. The grill loop is complete only at **zero open questions AND reviewer
  approval.**
- A question the reviewer has answered (via a comment) must be **removed**, not
  left struck through, on the next pass.

</open-questions-format>

<supporting-info>

- ADR format: [ADR-FORMAT.md](./ADR-FORMAT.md)
- CONTEXT.md format: [CONTEXT-FORMAT.md](./CONTEXT-FORMAT.md)
- PRD template authority: the `foreman-to-prd` skill.

</supporting-info>

Files in this skill

  • ADR-FORMAT.md2.2 KB
  • CONTEXT-FORMAT.md1.4 KB
  • SKILL.md6.1 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.