Prompt file imported from othonhugo/vulnerability-explorer (
.github/prompts/new-concept.prompt.md). Copyright stays with the author.
Prompt: Create a New Concept File
Prerequisites
Before starting, you need:
- The category slug (from
docs/contributing/references/taxonomy.md) - The mechanism slug (kebab-case, e.g.
sql-injection) - Confirmation that
data/catalog/<category>/<mechanism>/README.mddoes not already exist
Procedure
Step 1 — Verify the category exists
Check docs/contributing/references/controlled-vocabularies.yaml to confirm the category slug is registered. If it's a new category, follow the extension process in docs/contributing/references/taxonomy.md.
Step 2 — Create the directory
data/catalog/<category>/<mechanism>/
Step 3 — Derive the ID
The id is <category>.<mechanism>. Example: injection.sql-injection. See docs/contributing/guides/naming-and-ids.md for the full derivation rules.
Step 4 — Write the file
Copy docs/contributing/templates/concept.md and fill in every section.
Frontmatter fields:
| Field | Value |
|---|---|
schema_version |
1 |
type |
concept |
id |
<category>.<mechanism> |
title |
Human-readable mechanism name |
category |
category slug |
mechanism |
mechanism slug |
status |
draft |
tags |
kebab-case list, relevant to this mechanism |
aliases |
common alternate names |
external_refs |
CWE/CAPEC/OWASP if useful, never structural |
Body sections (in order):
- Summary — 2-4 sentences. Dense technical prose.
- Root Cause — The mechanical reason this class of bug exists.
- Common Manifestations — Use
###sub-headings for each axis of variation. The axes are FLEXIBLE — choose the ones that matter for THIS mechanism. Examples: By Visibility, By Technique, By Timing, By Sink API. - Related Concepts — List format (
-). Each item: concept name + one-sentence distinction. - References — List format (
-). Markdown links.
Step 5 — Validate
Run make lint and fix any errors before finalizing.
Depth Requirement
Write with the depth of a professional security audit report:
- Explain the mechanical why, not just the what
- In Root Cause, trace the exact trust boundary or runtime behavior
- In Common Manifestations, describe each axis with enough detail that a reader understands the shape of the tree without seeing individual files
- In Related Concepts, explain the precise boundary that distinguishes this mechanism from each related one