Sheffield/Harbor House drafting exposed two gaps: the template let a historical stratum be anchored by a single celebrated/architect-authored building (Park Hill) instead of a genuine building culture, and let modern structural materials (reinforced concrete) into the vocabulary without requiring a structural-necessity justification. Tightens the HISTORICAL_STRATA placeholder guidance, the vocabulary/negative-constraint instructions, and the Appendix instruction to close both gaps. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
303 lines
19 KiB
Markdown
303 lines
19 KiB
Markdown
# Form-Language Prompt Template
|
||
|
||
*A reusable prompt for generating a project-specific architectural
|
||
form-language grammar module.*
|
||
|
||
## Provenance
|
||
|
||
This template is self-contained — everything needed to run it is in the
|
||
"Placeholders" and "The prompt" sections below. This section and "Usage
|
||
notes" are background only, safe to skip.
|
||
|
||
The template generalizes a two-step prompting process Nikos Salingaros
|
||
used to produce a form-language grammar for a National Museum of Ecuador
|
||
project (his initial exploratory prompt, then a follow-up narrowing
|
||
scope), collapsed here into a single one-shot prompt with placeholders for
|
||
region, climate, site, and building typology. That original worked
|
||
example and his raw two-step prompts are project-specific files from the
|
||
originating repository and aren't included with this template; §0–§11 +
|
||
appendix below is this template's own self-sufficient output shape, not
|
||
dependent on that example.
|
||
|
||
The theoretical basis is Salingaros' *pattern language + form language =
|
||
adaptive design method*, set out in Chapter 11, "Two Languages for
|
||
Architecture," of his book *A Theory of Architecture* (2006; revised
|
||
2014): a pattern language alone cannot connect to built form without a
|
||
complementary form language of geometric/tectonic rules. This template
|
||
generates that second, complementary document. It is meant to be paired
|
||
with a pattern-language module such as Christopher Alexander, Sara
|
||
Ishikawa, and Murray Silverstein's *A Pattern Language* (1977), from which
|
||
a project-specific subset of patterns is typically curated.
|
||
|
||
## What this produces
|
||
|
||
A structured **grammar document**, not images and not a narrative — a
|
||
module meant to be handed, alongside a pattern-language module, a project
|
||
brief, and a spatial-chassis module, into a *later* prompt that asks an
|
||
LLM to write the experiential design narrative (see Section 4.2 of Postle,
|
||
B.; Salingaros, N.A. "LLM and Pattern Language Synthesis: A Hybrid Tool
|
||
for Human-Centered Architectural Design." *Buildings* 2025, 15, 2400).
|
||
Color and ornament are left as a menu of selectable registers/packages
|
||
rather than a single fixed choice, so that later narrative/image
|
||
generation can sample distinct combinations and a human can select among
|
||
them.
|
||
|
||
## Placeholders
|
||
|
||
Fill these in before sending the prompt. If a field is left as `(let the
|
||
model propose)`, say so explicitly rather than deleting the line — an
|
||
LLM asked to research and propose is different from one given no
|
||
instruction at all.
|
||
|
||
| Placeholder | Meaning | Ecuador worked example |
|
||
|---|---|---|
|
||
| `{TYPOLOGY}` | The building program/typology | a national museum |
|
||
| `{WIDE_REGION}` | The broad cultural/geographic region to draw form vocabulary from — narrow enough that its history is genuinely coherent (so the strata actually relate to one another), broad enough to give real stylistic range; usually a country or a historically-linked macro-region, not a continent | Ecuador (and neighboring Latin America for the "neighbor techniques" package) |
|
||
| `{FIXED_SITE}` | The specific city/site the climate script must be fixed to | Quito, Ecuadorian sierra |
|
||
| `{CLIMATE_SEED_FACTS}` | Known climate facts to ground the research (latitude, altitude, temperature range, rainfall pattern, sun/UV character, seasonality or lack of it) — prevents hallucinated climate data | ≈0.2° S / ≈2,850 m; 9–22 °C year-round; ~1,000–1,250 mm/yr rain, two peaks; near-zenith sun, high UV; no seasons |
|
||
| `{HISTORICAL_STRATA}` | The historical/cultural strata to synthesize across, oldest to newest (or `(let the model propose)`). Not every region has an indigenous or pre-colonial stratum in the sense the Ecuador example does — for a region without one, list whatever historical building cultures it does have instead (e.g. vernacular farmhouse, Roman, medieval, renaissance, industrial-era) rather than forcing an indigenous/colonial framing onto it. Each stratum must name a **building culture** — an ordinary construction tradition recurring across many buildings — not a single celebrated or architect-authored structure: a region's industrial-era stratum, for instance, usually means its ordinary workshop-houses, mill housing, and tenement factories, where industrial and residential use routinely overlapped in the same buildings, not one landmark 20th-century showpiece | indigenous wooden/conical-roof structures; pre-Columbian stone monumental; early colonial wood/earth; later colonial baroque |
|
||
| `{SCALE_NOTES}` | Programmatic/scale notes that affect massing (approx. size, public vs. civic character, number of principal volumes) | ~25,000 m² minimum, high-visitation civic building |
|
||
| `{DOWNSTREAM_MODULES}` | What other prompt modules this will be combined with later (fixed boilerplate unless the project's pipeline differs) | brief constraints, spatial chassis |
|
||
|
||
## The prompt
|
||
|
||
Copy everything below the line, substitute the placeholders, and send it
|
||
to an LLM as a single message.
|
||
|
||
---
|
||
|
||
I need to develop an architectural form language for {TYPOLOGY} in
|
||
{FIXED_SITE}, drawing on the broader architectural traditions of
|
||
{WIDE_REGION}.
|
||
|
||
**Research and synthesize, don't copy.** Locate and study open-source
|
||
descriptions and images of traditional buildings and urban spaces across
|
||
{WIDE_REGION}, spanning its full historical range: {HISTORICAL_STRATA}.
|
||
Synthesize what you find into a design *grammar* — a vocabulary of
|
||
elements plus rules for how they combine — not a style to be reproduced.
|
||
No historical facade should be copied whole; decompose elements,
|
||
understand their climate and structural function, and recombine them.
|
||
Treat any images only as references for the grammar you derive, not as
|
||
material to reproduce or publish. You most likely cannot actually browse
|
||
the internet or verify images within this conversation — unless you have
|
||
a real, working search or browsing tool available, treat any specific
|
||
building, site, or tradition you name as drawn from your training-data
|
||
familiarity, not from verified research, and say so plainly rather than
|
||
presenting recollection as verified fact.
|
||
|
||
**Default to natural, traditional materials.** The vocabulary (§3) should
|
||
default to natural, traditional materials — stone, brick, timber, earth,
|
||
tile — drawn from {WIDE_REGION}'s own building cultures. Modern
|
||
structural materials (reinforced concrete, steel) belong in the
|
||
vocabulary only where {TYPOLOGY} genuinely cannot achieve its required
|
||
spans, loads, or heights without them, not as an independent aesthetic
|
||
stratum or a source of decorative expression in their own right. Where
|
||
they are included, express them honestly as structure — an honestly
|
||
exposed frame, not concrete dressed up to imitate a natural material, and
|
||
not hidden behind an applied natural-material skin either — and justify
|
||
each such element in §3 by the specific structural need, not by
|
||
stylistic preference.
|
||
|
||
**Fix the climate and site, but not the vocabulary.** The building itself
|
||
is fixed at {FIXED_SITE}: {CLIMATE_SEED_FACTS}. Derive from this a set of
|
||
climate facts and the mandatory design responses they imply (roof form,
|
||
eaves, plinth/ground relationship, thermal mass placement, courtyard
|
||
proportion, orientation, ventilation, water management, and — if the
|
||
climate truly has no seasons — an explicit rule against inventing
|
||
seasonal mechanisms). These climate rules are invariant: if a form drawn
|
||
from elsewhere in {WIDE_REGION} conflicts with them, reinterpret the form
|
||
until it complies rather than dropping the climate rule. The *vocabulary*,
|
||
by contrast, should still be drawn from the whole of {WIDE_REGION}, not
|
||
narrowed to the immediate site.
|
||
|
||
**Give special attention to color and ornament traditions** across
|
||
{WIDE_REGION} and its historical strata. Do not settle on a single color
|
||
or ornament choice for the project. Instead produce a menu: several
|
||
distinct, named color registers and several distinct, named ornament
|
||
systems, each historically grounded, each internally consistent, each
|
||
usable on its own. A later step will generate several project variants,
|
||
each committing to exactly one register and one ornament system, so a
|
||
human reviewer can compare a genuine spread of options — do not
|
||
pre-select a "best" one.
|
||
|
||
**This document is a prompt module, not an image request.** It will be
|
||
combined later with other modules — {DOWNSTREAM_MODULES} — inside a
|
||
further prompt that asks an LLM to write a verbal design narrative
|
||
(images, if any, come after that, generated from the narrative). Write
|
||
for that downstream reader: precise, structured, unambiguous, using
|
||
consistent short codes for anything a later step must reference (color
|
||
registers, ornament packages, individual vocabulary elements) so a batch
|
||
of generated projects stays traceable and comparable.
|
||
|
||
**Produce the grammar in this structure, in this order:**
|
||
|
||
0. **Role of this document** — state that it is one module of a larger
|
||
prompt (brief and spatial chassis supplied elsewhere), list what this
|
||
module supplies (climate script, form vocabulary, syntax, color
|
||
system, ornament system, variation protocol), and state the precedence
|
||
order when instructions conflict (brief/chassis govern program; the
|
||
climate script is invariant and always wins; syntax governs
|
||
composition; color/ornament are the free variables chosen per
|
||
project). State that every generated description must name its chosen
|
||
color register and ornament package(s) explicitly, and must use the
|
||
glossary terms (§11) exactly as defined. State explicitly that this
|
||
document describes a formal and tectonic *vocabulary* for descriptive
|
||
and illustrative use, not a structural, seismic, fire, or
|
||
building-code specification — literal historical materials and
|
||
assemblies it names (e.g. rammed earth, masonry vaulting) may need
|
||
re-engineering or reinterpretation with modern materials/methods to
|
||
be actually buildable and code-compliant, and that determination is a
|
||
separate engineering exercise outside this document's scope.
|
||
|
||
1. **Design thesis** — one paragraph stating the stratified-fusion logic:
|
||
how the historical strata you're drawing on relate to each other
|
||
vertically or conceptually (e.g. ground/ancient logic, body/mid-period
|
||
logic, roof/vernacular logic, ornament/late-period logic, or whatever
|
||
ordering genuinely fits {HISTORICAL_STRATA} and {WIDE_REGION} — do not
|
||
force Ecuador's bottom-to-top stratification onto a region where it
|
||
doesn't apply).
|
||
|
||
2. **Invariant climate script for {FIXED_SITE} (FIXED)** — a table of
|
||
climate facts and their design consequences, then a numbered list of
|
||
mandatory climate-response rules (roof, eaves/shading, ground
|
||
relationship, thermal mass, courtyard/opening proportion, orientation,
|
||
ventilation, water management, plus a rule forbidding invented
|
||
seasonal mechanisms if the climate has none).
|
||
|
||
3. **Form vocabulary (lexicon)** — elements grouped by tectonic family
|
||
(ground/platform, wall, roof/sky, threshold/in-between, interior, or
|
||
whatever families fit this typology), each tagged with its origin
|
||
stratum and region, each given a short reusable code. Each element
|
||
should be natural/traditional material by default; if any element
|
||
uses a modern structural material instead, tag it as such and state
|
||
the specific structural necessity that justifies it.
|
||
|
||
4. **Syntax — combination rules** — numbered, always-apply rules for how
|
||
the vocabulary combines: stratification/ordering logic, relationship
|
||
of program to void/courtyard/street, threshold gradation from public
|
||
to private, treatment of the roof or fifth facade if relevant, growth/
|
||
modularity logic, ornament concentration logic (dense at few episodes,
|
||
calm elsewhere), proportional habits.
|
||
|
||
5. **Color system — one register selected per project** — placement
|
||
rules that apply regardless of register (where saturation is allowed,
|
||
where fields must stay calm, how base/trim/roof are differentiated,
|
||
material honesty of the color), then several named, coded color
|
||
registers, each historically grounded in a specific place/tradition
|
||
within {WIDE_REGION}, each with a one-line mood description.
|
||
|
||
6. **Ornament system — selected per project** — placement rules that
|
||
apply regardless of package (zoning of ornament to base/threshold/
|
||
crown or equivalent, density gradient toward the principal entrance,
|
||
structural rather than applied ornament where possible, translation
|
||
not replica), then several named, coded ornament packages (geometric
|
||
and episodic/figurative), each grounded in a specific tradition within
|
||
{WIDE_REGION}. If any stratum in {HISTORICAL_STRATA} carries motifs
|
||
with sacred, ceremonial, or otherwise living cultural significance —
|
||
as distinct from motifs that are purely decorative or historical —
|
||
say so explicitly, and mark those motifs as needing consultation with
|
||
the communities they belong to before real-world use, rather than
|
||
folding them into the ornament menu as free decorative material. This
|
||
is about protecting living meaning, not a judgment on any tradition's
|
||
aesthetic value; skip this note where no stratum carries that kind of
|
||
significance.
|
||
|
||
7. **Composition procedure (for the describing LLM)** — a numbered
|
||
procedure for how a later prompt should use this module: restate the
|
||
chassis in grammar terms, apply the climate script as non-negotiable,
|
||
assign vocabulary by stratum, check the syntax rules, select one color
|
||
register and apply its placement rules, select ornament package(s) and
|
||
apply their placement rules, check against the negative constraints
|
||
(§10), then write the description per the template (§8).
|
||
|
||
8. **Output description template** — the fixed section order a later
|
||
narrative/description must follow (concept, site/massing, climate
|
||
compliance, structure/materials by element code, color application
|
||
naming the register, ornament placement naming the package(s), and a
|
||
short camera-ready visual summary with suggested viewpoints for a
|
||
downstream image-generation step).
|
||
|
||
9. **Variation protocol** — what stays invariant across a batch of
|
||
generated project variants (climate script, syntax, placement rules)
|
||
versus what varies (chassis × one color register × one ornament
|
||
package), any recommended register/package affinities, and a coverage
|
||
target so a batch spans the historical/regional spectrum rather than
|
||
converging on one look.
|
||
|
||
10. **Negative constraints** — a numbered list of forbidden moves,
|
||
derived directly from whatever climate rules and syntax rules you
|
||
proposed above (e.g. if you required pitched roofs, forbid flat
|
||
primary roofs here; if you required a plinth, forbid meeting grade
|
||
without one; always forbid mixing two color registers in one
|
||
project, more than one figurative ornament episode, evenly
|
||
distributed ornament, literal uncredited copying of a named
|
||
historical building, applying any motif flagged in §6 as
|
||
sacred/ceremonial without the noted consultation caveat, and using a
|
||
modern structural material where §3 recorded no genuine structural
|
||
necessity for it, or disguising one material as another instead of
|
||
expressing it honestly).
|
||
|
||
11. **Glossary** — every non-English or specialist term used above,
|
||
defined in one line, to be used verbatim (not paraphrased) by any
|
||
later prompt.
|
||
|
||
**Appendix — canonical precedents by stratum.** For each stratum in
|
||
{HISTORICAL_STRATA}, list two or three named real buildings, sites, or
|
||
artifact traditions from {WIDE_REGION} that anchor it, as reference
|
||
points — not to be copied, but so a later reader can verify the grammar
|
||
is genuinely grounded in something real. Each precedent should be
|
||
representative of that stratum's wider building culture, not the sole
|
||
reason the stratum exists — if a stratum can only be anchored by one
|
||
celebrated landmark with no supporting ordinary/vernacular examples, that
|
||
is a sign it isn't really a building culture (see the {HISTORICAL_STRATA}
|
||
placeholder note) and should be broadened, merged, or dropped rather than
|
||
listed as-is. For each precedent, note briefly whether it's a
|
||
well-documented example you're confident about or a plausible-but-unverified
|
||
recollection — don't present both with equal certainty.
|
||
|
||
Scale notes for the project this grammar will serve: {SCALE_NOTES}.
|
||
|
||
---
|
||
|
||
## Usage notes
|
||
|
||
- Aim for a comparable level of precision and traceability throughout: a
|
||
short, consistent code per element/rule/register/package (e.g. a
|
||
letter-plus-number scheme such as `G1`, `G2` for ground-family
|
||
elements, `W1`, `W2` for wall elements, `R#` for roof, `CR#` for color
|
||
registers, `OP#` for ornament packages — the exact letters don't
|
||
matter, only that every reusable item gets one and later prompts can
|
||
cite it unambiguously). Every rule and vocabulary element should be
|
||
traceable to a named stratum/tradition within {WIDE_REGION}, not
|
||
presented as free invention.
|
||
- The two-step process this template collapses into one shot was: an
|
||
open exploratory first pass, then a follow-up narrowing scope (fix
|
||
climate to the specific site, keep vocabulary regional, drop a single
|
||
color/ornament choice in favor of a menu, and reframe the output as a
|
||
prompt module rather than an image request). This template
|
||
front-loads that narrowing into one prompt; if the first response
|
||
still drifts (e.g. proposes a single color and ornament choice, or
|
||
narrows vocabulary to only the immediate site), send a follow-up
|
||
correcting just that point rather than re-running the whole prompt.
|
||
- Check the output for fidelity: any climate rule, vocabulary element, or
|
||
precedent that isn't grounded in something real for
|
||
{WIDE_REGION}/{FIXED_SITE} is a hallucination to catch and regenerate
|
||
away, the same way a pattern-language narrative generated downstream
|
||
should be checked against its selected pattern subset.
|
||
- Salingaros described his original prompt as asking the LLM to "locate
|
||
open-source images of traditional buildings" and synthesize from them.
|
||
It's unclear whether that literally happened, as opposed to the model
|
||
drawing on general training-data familiarity with named buildings and
|
||
presenting it in the language of research — locating and verifying
|
||
images is a materially harder task than an LLM can reliably do without
|
||
a real, working search/browsing tool. Treat the Appendix precedents as
|
||
indicative, not verified, unless the model you're using actually has
|
||
that capability and you've confirmed it used it.
|
||
- This document is a formal/tectonic vocabulary for description and
|
||
illustration, not a construction specification: literal historical
|
||
materials it names (rammed earth, adobe, stone vaulting) are
|
||
references, not proof the resulting building is code-buildable.
|
||
Seismic, fire, and code compliance are a separate engineering exercise
|
||
— worth stating plainly, since {FIXED_SITE} may be in a seismically
|
||
active region where this matters (Quito, this project's own case,
|
||
among them).
|