Ky Markdown Rebuilder
KyrieCheungYep/ky-markdown-rebuilder
Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.
Guides architectural programming work: space needs, adjacency matrices, area schedules and net-to-gross checks for project briefs across common building types.
$ npx skills add Abhinavbwj/Skills-Architects --skill building-programming -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Abhinavbwj/Skills-Architects building-programming --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Abhinavbwj/Skills-Architects.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/building-programming .claude/skills/building-programming && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "building-programming" agent skill from https://github.com/Abhinavbwj/Skills-Architects/tree/main/skills/building-programming into .claude/skills/building-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "building-programming", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Abhinavbwj/Skills-Architects/tree/main/skills/building-programmingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Abhinavbwj/Skills-Architects --skill building-programming -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Abhinavbwj/Skills-Architects building-programming --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Abhinavbwj/Skills-Architects.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/building-programming .agents/skills/building-programming && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "building-programming" agent skill from https://github.com/Abhinavbwj/Skills-Architects/tree/main/skills/building-programming into .agents/skills/building-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "building-programming", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Abhinavbwj/Skills-Architects --skill building-programming -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Abhinavbwj/Skills-Architects building-programming --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Abhinavbwj/Skills-Architects.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/building-programming .cursor/skills/building-programming && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "building-programming" agent skill from https://github.com/Abhinavbwj/Skills-Architects/tree/main/skills/building-programming into .cursor/skills/building-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "building-programming", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Abhinavbwj/Skills-Architects.git --path skills/building-programming--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Abhinavbwj/Skills-Architects --skill building-programming -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Abhinavbwj/Skills-Architects building-programming --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Abhinavbwj/Skills-Architects.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/building-programming .gemini/skills/building-programming && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "building-programming" agent skill from https://github.com/Abhinavbwj/Skills-Architects/tree/main/skills/building-programming into .gemini/skills/building-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "building-programming", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Abhinavbwj/Skills-Architects building-programmingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Abhinavbwj/Skills-Architects --skill building-programming -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Abhinavbwj/Skills-Architects.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/building-programming .github/skills/building-programming && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "building-programming" agent skill from https://github.com/Abhinavbwj/Skills-Architects/tree/main/skills/building-programming into .github/skills/building-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "building-programming", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Abhinavbwj/Skills-Architects --skill building-programming -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Abhinavbwj/Skills-Architects building-programming --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Abhinavbwj/Skills-Architects.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/building-programming .opencode/skills/building-programming && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "building-programming" agent skill from https://github.com/Abhinavbwj/Skills-Architects/tree/main/skills/building-programming into .opencode/skills/building-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "building-programming", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
building-programmingGuides architectural programming work: space needs, adjacency matrices, area schedules and net-to-gross checks for project briefs across common building types.
Architectural programming defines and quantifies a building's spatial requirements before any design starts. The skill casts the agent as a practitioner following the Problem Seeking method of Pena and Parshall, with five steps (goals, facts, concepts, needs, problem statement) applied across five information categories, and it insists that every number traces to a published source.
It covers area tables for residential, office, healthcare, education, hospitality, retail and cultural buildings, adjacency matrices and stacking diagrams, and checks of a program against site capacity and budget. Standards named include NDSS, Neufert, NHS HBN, BB103 and ASHRAE. Reference files hold adjacency methods and area standards, and a program brief template is included. The excerpt is truncated, so later sections are not described here.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 30a0845. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Building Programming loads about 7.4k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 176 tokens; SKILL.md has 3,613 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Abhinavbwj/Skills-Architects at commit 30a0845, republished under its MIT licence (© Abhinavbwj). 3,613 words, ~7,365 tokens.
.claude/skills/building-programming/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.You are an expert in architectural programming -- the systematic process of defining, quantifying, and organizing the spatial requirements of a building before design begins. You work with the rigour of Pena & Parshall's Problem Seeking methodology, the area benchmarks of Neufert Architects' Data, and the space standards of national codes. Every number you produce is traceable to a published source.
Architectural programming is the research and decision-making process that identifies the client's needs and translates them into a quantified spatial brief. It precedes design: no sketch, no massing, no plan should be drawn until the program is validated. Programming answers "what and how much" so that design can answer "how."
The program document becomes the contract between client and architect -- a measurable standard against which every design iteration can be evaluated.
William Pena and Steven Parshall (Problem Seeking: An Architectural Programming Primer, 5th ed., Wiley, 2012) established the dominant methodology used in North American and international practice. The framework has five steps and five information categories.
Five Steps:
| Step | Action | Output |
|---|---|---|
| 1. Establish Goals | Define the client's mission, aspirations, and priorities | Goal statements ranked by importance |
| 2. Collect Facts | Gather quantitative data: user counts, existing areas, equipment lists, growth projections | Fact sheets, user surveys, existing-condition plans |
| 3. Uncover Concepts | Identify the organizational ideas, relationships, and performance criteria that will govern the design | Concept diagrams, adjacency priorities, circulation concepts |
| 4. Determine Needs | Quantify every space: area, occupancy, environmental requirements, special conditions | Area schedule, room data sheets, equipment lists |
| 5. State the Problem | Synthesize goals, facts, concepts, and needs into a clear problem statement that guides design | Program summary document, design directives |
Five Information Categories (The Information Index):
Every piece of programming data is classified into one of five categories. Each step is applied to each category, creating a 5x5 matrix:
| Category | What It Addresses | Typical Data |
|---|---|---|
| Function | Activities, relationships, user groups | Number of staff, patients, students; adjacency needs; workflow diagrams |
| Form | Site, environment, physical context, quality | Site area, orientation, views, urban context, image aspirations |
| Economy | Budget, life-cycle cost, operations | Construction budget per m2, O&M costs, value engineering targets |
| Time | Schedule, phasing, growth, change | Project timeline, phased delivery, expansion capacity, flexibility needs |
| Energy | Sustainability, environmental performance, resources | Energy use intensity targets, carbon budget, water targets, renewables |
Phase 1: Kickoff and Data Gathering (1-3 weeks)
Phase 2: Analysis and Synthesis (2-4 weeks)
Phase 3: Validation and Documentation (1-2 weeks)
| Metric | Definition | Typical Range |
|---|---|---|
| Net-to-Gross Ratio (NTG) | Net Usable Area / Gross Floor Area | 0.55 - 0.85 depending on building type |
| Circulation Factor | Circulation Area / Net Usable Area | 0.20 - 0.40 |
| Space per Person | Total program area / peak occupancy | Varies by type (see Section 2) |
| Support Ratio | Support area / primary function area | 0.15 - 0.35 |
| Parking Ratio | Parking spaces / 1000 m2 GFA or per unit | Code-dependent |
All areas are Net Internal Area (NIA) per space unless noted. Sources abbreviated: NEU = Neufert Architects' Data (5th ed.); NDSS = Nationally Described Space Standard (UK MHCLG, 2015); HBN = NHS Health Building Notes; BB = Building Bulletin (DfE, UK); ASHRAE = ASHRAE Handbook; ADA = Americans with Disabilities Act; BCIS = Building Cost Information Service; IBC = International Building Code.
Unit Sizes (Net Internal Area):
| Unit Type | Min NIA (m2) | Recommended NIA (m2) | NDSS Min (m2) | Source |
|---|---|---|---|---|
| Studio (1p) | 30 | 37 | 37 | NDSS Table 1 |
| Studio (2p) | 35 | 50 | 50 | NDSS Table 1 |
| 1-Bed (2p) | 45 | 50-55 | 50 | NDSS Table 1 |
| 2-Bed 3p | 58 | 65 | 61 | NDSS Table 1 |
| 2-Bed 4p | 65 | 70-80 | 70 | NDSS Table 1 |
| 3-Bed 4p | 74 | 85-95 | 74 | NDSS Table 1 |
| 3-Bed 5p | 85 | 90-100 | 86 | NDSS Table 1 |
| 3-Bed 6p | 95 | 100-110 | 95 | NDSS Table 1 |
| 4-Bed 5p | 90 | 110-120 | 90 | NDSS Table 1 |
| 4-Bed 6p | 99 | 120-130 | 99 | NDSS Table 1 |
| 4-Bed 7p | 108 | 130-140 | 108 | NDSS Table 1 |
Individual Room Standards (NDSS):
| Room | Min Area (m2) | Min Dimension | Notes |
|---|---|---|---|
| Single Bedroom | 7.5 | 2.15m width | Must accommodate single bed (2000x900mm) |
| Double/Twin Bedroom | 11.5 | 2.75m width | Must accommodate double bed (2000x1500mm) |
| Living/Kitchen/Dining (studio) | 23 | -- | Combined space for 1-person studio |
| Storage (1-2 person) | 1.5 | -- | Built-in, dedicated, accessible |
| Storage (3 person) | 2.0 | -- | Scales with occupancy |
| Storage (4 person) | 2.5 | -- | |
| Storage (5 person) | 3.0 | -- | |
| Storage (6+ person) | 3.5 | -- |
Amenity and Common Spaces:
| Space | Area per Unit | Notes |
|---|---|---|
| Private Balcony/Terrace | 5 - 8 m2 | London Plan min 5m2 for 1-2 person, +1m2 per additional person |
| Communal Amenity | 2 - 5 m2/unit | Lobby, lounge, co-working, gym, rooftop |
| Cycle Storage | 1.0 - 1.5 m2/space | 1 space per 1-bed, 2 spaces per 2-bed+ (London Plan) |
| Bin Store | 0.3 - 0.5 m2/unit | Sized to local authority waste collection |
| Pram/Mobility Scooter | 0.8 - 1.2 m2/unit | Ground floor, accessible |
Workspace Standards:
| Workspace Type | Area per Person (NIA) | Notes | Source |
|---|---|---|---|
| Open Plan (hot-desking) | 6 - 8 m2 | Desk sharing ratio 0.6-0.8:1 | BCO Guide 2019 |
| Open Plan (assigned) | 8 - 12 m2 | Including primary circulation | BCO Guide 2019 |
| Team Neighbourhood | 10 - 14 m2 | Activity-based working | BCO Guide 2019 |
| Private Office (small) | 12 - 15 m2 | 1 person | NEU |
| Private Office (large) | 15 - 20 m2 | Director / partner | NEU |
| Executive Suite | 25 - 40 m2 | CEO / Chairman | Practice benchmarks |
| Touchdown / Hot Desk | 4 - 6 m2 | Short-duration unassigned | BCO Guide 2019 |
Support Spaces:
| Space | Sizing Basis | Typical Area | Source |
|---|---|---|---|
| Meeting Room (small, 4-6p) | 2.0 - 2.5 m2/seat | 10 - 15 m2 | BCO |
| Meeting Room (medium, 8-12p) | 2.0 - 2.5 m2/seat | 18 - 30 m2 | BCO |
| Boardroom (14-20p) | 2.5 - 3.0 m2/seat | 40 - 60 m2 | BCO |
| Meeting rooms total | 1 room per 20-25 staff | -- | BCO benchmark |
| Breakout / Informal | 5% - 10% of workspace NIA | Varies | BCO |
| Kitchen / Tea Point | 1 per 40-60 staff | 8 - 15 m2 | Practice benchmarks |
| Staff Restaurant | 1.2 - 1.5 m2/seat | Varies | NEU |
| Print/Copy | 1 per floor or zone | 6 - 10 m2 | -- |
| Server/Comms Room | 1 per 2-3 floors | 10 - 20 m2 | -- |
| Reception / Lobby | 0.3 - 0.5 m2 per 100 m2 NLA | 30 - 80 m2 typical | BCO |
| WC Provision | IBC: 1 per 25 (M), 1 per 20 (F) | Per code | IBC Table 2902.1 |
Patient Accommodation:
| Space | Min Area (m2) | Recommended (m2) | Source |
|---|---|---|---|
| Single Patient Room (standard) | 20 | 22-25 | HBN 04-01 |
| Single Patient Room (en-suite) | 22 | 26 | HBN 04-01 |
| Double Patient Room | 28 | 30-32 | HBN 04-01 |
| ICU / Critical Care Bay | 22 | 24-26 | HBN 04-02 |
| ICU Single Room (isolation) | 26 | 28-30 | HBN 04-02 |
| Operating Theatre (standard) | 36 | 42-50 | HBN 26 |
| Operating Theatre (orthopaedic/cardiac) | 50 | 55 | HBN 26 |
| Anaesthetic Room | 17 | 20 | HBN 26 |
| Recovery Bay | 9 | 10-12 | HBN 26 |
| Consultation Room | 12 | 14-16 | HBN 00-03 |
| Examination Room | 14 | 16 | HBN 00-03 |
| Treatment Room | 16 | 18-20 | HBN 00-03 |
| Nurse Station | -- | 12-16 per station | HBN 04-01 |
| Clean Utility | -- | 10-14 per ward | HBN 04-01 |
| Dirty Utility | -- | 10-12 per ward | HBN 04-01 |
Departmental Benchmarks (m2/bed for an entire department):
| Department | m2 per Bed | Notes |
|---|---|---|
| Inpatient Ward | 50 - 65 | Including en-suites, nursing, support |
| ICU/HDU | 35 - 45 | Per ICU bed, higher acuity = more space |
| Emergency Department | 50 - 70 | Per treatment space |
| Operating Suite | 80 - 120 | Per operating room, including prep/recovery |
| Outpatient Clinic | 25 - 35 | Per consulting room |
Primary and Secondary Schools (BB103 / BB104 Guidance):
| Space | Area | Notes | Source |
|---|---|---|---|
| General Teaching Classroom | 50 - 56 m2 | 25-30 pupils, 2.0 m2/pupil min | BB103 |
| Secondary Classroom | 55 - 65 m2 | 30 pupils, specialist furniture | BB103 |
| Science Laboratory | 80 - 90 m2 | 30 students, fume cupboard, services | BB103 |
| Art/DT Workshop | 80 - 100 m2 | Wet and dry areas, tool storage | BB103 |
| Music Room | 55 - 65 m2 | Acoustic isolation required | BB103 |
| Drama Studio | 80 - 100 m2 | Flexible, blackout, sprung floor | BB103 |
| School Library (primary) | 40 - 60 m2 | 1 class + browsers | BB103 |
| School Library (secondary) | 80 - 120 m2 | 40+ readers | BB103 |
| Sports Hall (4 court) | 594 m2 (33x18m) | Standard 4-badminton court | Sport England |
| Assembly/Dining Hall | 1.0 - 1.2 m2/seated pupil | Dual-use with PE in primary | BB103 |
Higher Education:
| Space | Area | Notes | Source |
|---|---|---|---|
| Lecture Hall | 1.2 - 1.5 m2/seat | Tiered, fixed seats, AV provision | NEU / AUDE |
| Seminar Room (20 seats) | 35 - 45 m2 | 1.8 - 2.2 m2/seat | AUDE |
| Teaching Laboratory | 2.5 - 3.5 m2/student | Wet science, benches, fume hoods | AUDE |
| Research Laboratory | 10 - 20 m2/researcher | Equipment-dependent | AUDE |
| Library Reading Space | 4 - 5 m2/reader | Shelving at 5-7 m2 per 1000 volumes | NEU |
| Student Commons | 0.5 - 1.0 m2/FTE student | Social learning, informal | AUDE |
| Office (academic) | 10 - 14 m2/person | Shared increasingly common | AUDE |
Hotel Room Sizes:
| Category | Room NIA (m2) | Bathroom (m2) | Total (m2) | Source |
|---|---|---|---|---|
| Budget / Economy | 14 - 18 | 3 - 4 | 16 - 20 | NEU / operator standards |
| Standard (3-star) | 18 - 24 | 4 - 5 | 22 - 28 | NEU / operator standards |
| Superior (4-star) | 24 - 32 | 5 - 7 | 28 - 38 | NEU / operator standards |
| Deluxe (5-star) | 32 - 38 | 7 - 10 | 38 - 48 | NEU / operator standards |
| Junior Suite | 38 - 50 | 8 - 12 | 46 - 62 | Operator standards |
| Suite | 50 - 75 | 10 - 15 | 60 - 80 | Operator standards |
| Presidential Suite | 80 - 200+ | 15 - 30 | 100 - 250+ | Operator standards |
Hotel Back-of-House Ratios:
| Component | Ratio to Total Room Count | Notes |
|---|---|---|
| Lobby / Reception | 1.0 - 2.0 m2/room | Higher for luxury |
| Restaurant Seating | 0.7 - 1.2 seats/room | Full-service hotel |
| Kitchen | 50 - 70% of dining area | Full production kitchen |
| Ballroom/Conference | 0.5 - 1.5 m2/room | Convention hotels higher |
| BOH (total) | 50 - 70% of FOH area | Includes housekeeping, laundry, MEP |
| Fitness/Spa | 0.5 - 2.0 m2/room | Budget: none; 5-star: full spa |
| Space | Sizing Basis | Area | Source |
|---|---|---|---|
| Convenience Store | Per unit | 200 - 500 m2 | Practice benchmarks |
| Supermarket (small) | Per unit | 1,000 - 2,500 m2 | NEU |
| Supermarket (large) | Per unit | 2,500 - 6,000 m2 | NEU |
| Hypermarket | Per unit | 6,000 - 15,000+ m2 | NEU |
| Back of House / Storage | % of sales floor | 15 - 25% | NEU |
| Staff Facilities | Per unit | 20 - 60 m2 | Practice benchmarks |
| Loading / Receiving | Per unit | 30 - 80 m2 | Practice benchmarks |
| Retail Shell (spec) | Floor depth | 12 - 18m preferred, 20m max | NEU |
| Floor-to-ceiling (retail) | Clear height | 3.5 - 5.0m ground floor | NEU |
| Space | Sizing Basis | Area | Source |
|---|---|---|---|
| Gallery (major works) | Per major piece | 30 - 50 m2 | Museum planning literature |
| Gallery (general) | Linear wall | 4 - 6 m per work, 3m hanging height | Best practice |
| Temporary Exhibition | Per gallery | 200 - 800 m2 | Flexible, column-free |
| Auditorium Seating | Per seat | 0.7 - 1.0 m2 | NEU |
| Auditorium (with stage) | Per seat total | 1.5 - 2.5 m2 | Including stage, wings |
| BOH (museum) | % of public area | 40 - 60% | Conservation, storage, workshops |
| Library Stack Area | Per 1000 volumes | 5 - 7 m2 | Open shelving, 2.1m high |
| Library Study Carrels | Per reader | 2.5 - 3.5 m2 | Individual, wired |
| Performance Venue BOH | % of auditorium | 70 - 100% | Dressing rooms, workshops, storage |
The adjacency matrix is the fundamental tool for translating functional relationships into spatial organization. It answers: which spaces must be near each other, which should be separated, and which have no strong relationship?
Step 1: List all departments or major space groups. Typically 8-20 for a building-level matrix. Too few loses resolution; too many becomes unworkable.
Step 2: Assign relationship scores between every pair.
| Score | Relationship | Meaning |
|---|---|---|
| 4 | Essential | Must be directly adjacent or connected (shared wall, direct door) |
| 3 | Desirable | Should be nearby (same floor, short corridor) |
| 2 | Neutral | No strong preference |
| 1 | Undesirable | Should be separated (noise, odour, security, incompatible use) |
Some practitioners add a fifth level (0 = must not be adjacent) for hard separations like sterile vs. dirty zones.
Step 3: Score based on specific criteria:
Step 4: Populate the half-matrix. The matrix is symmetric (A-to-B = B-to-A), so only the upper or lower triangle is needed.
Bubble Diagram: Translate scores into a spatial diagram:
Stacking Diagram: For multi-storey buildings, overlay the adjacency logic onto a vertical section showing which departments go on which floors. Ground floor adjacencies (public entry, loading, emergency) drive the stacking.
Affinity Mapping: Group spaces into clusters based on shared characteristics (public/private, clean/dirty, quiet/noisy, served/servant). These clusters become zones in the plan.
Departments: Emergency (ED), Surgery, Inpatient Wards, Outpatient Clinics, Diagnostic Imaging
Adjacency Matrix:
| ED | Surgery | Inpatient | Outpatient | Imaging | |
|---|---|---|---|---|---|
| ED | -- | 4 | 3 | 2 | 4 |
| Surgery | -- | -- | 4 | 2 | 3 |
| Inpatient | -- | -- | -- | 2 | 3 |
| Outpatient | -- | -- | -- | -- | 4 |
| Imaging | -- | -- | -- | -- | -- |
Reading the Matrix:
Resulting Stacking Logic:
Office Building:
School:
Mixed-Use:
| Term | Definition | Measurement Standard |
|---|---|---|
| Gross External Area (GEA) | Total area measured to outer face of external walls | RICS Code of Measuring Practice |
| Gross Internal Area (GIA) | Total area measured to inner face of external walls | RICS |
| Net Internal Area (NIA) | Usable floor area excluding structure, core, risers, plant, primary circulation | RICS |
| Net Usable Area (NUA) | NIA minus secondary circulation within tenancies | BOMA / IFMA |
| Construction Area | Area taken by structure (columns, walls, shear walls) | Typically 5-10% of GIA |
| Core Area | Lifts, stairs, lobbies, risers, WCs | Typically 15-25% of GIA |
| Primary Circulation | Corridors, lobbies connecting departments | Typically 10-20% of GIA |
| Secondary Circulation | Circulation within departments/tenancies | Part of NIA allocation |
| Plant/Services Area | Mechanical rooms, electrical rooms, risers | Typically 5-10% of GIA |
| Building Type | Typical NTG Ratio | Notes |
|---|---|---|
| Office (speculative) | 0.80 - 0.85 | BCO target: 82.5% |
| Office (owner-occupied) | 0.75 - 0.82 | More generous circulation |
| Residential (apartments) | 0.75 - 0.82 | Core-dependent; point tower lower |
| Hotel | 0.62 - 0.72 | Long double-loaded corridors |
| Hospital | 0.55 - 0.65 | Complex servicing, wide corridors, interstitial floors |
| School | 0.70 - 0.78 | Wide corridors for circulation/social |
| University | 0.60 - 0.72 | Lab buildings lower than teaching |
| Retail (department store) | 0.80 - 0.88 | Minimal core, open floor plates |
| Museum/Gallery | 0.55 - 0.65 | Massive BOH, environmental plant |
| Performing Arts | 0.45 - 0.55 | Stage house, fly tower, BOH dominant |
Every program should produce an area schedule in this format:
| # | Space Name | Qty | Unit NIA (m2) | Total NIA (m2) | Occupants | Special Requirements |
|---|---|---|---|---|---|---|
| 1.0 | DEPARTMENT A | |||||
| 1.1 | Space Type 1 | 4 | 25 | 100 | 6 each | Daylight required, acoustic STC 45 |
| 1.2 | Space Type 2 | 2 | 40 | 80 | 12 each | AV provision, blackout blinds |
| 1.3 | Support Space | 1 | 15 | 15 | -- | Adjacent to 1.1 |
| Dept A Subtotal | 195 | |||||
| 2.0 | DEPARTMENT B | |||||
| ... | ... | ... | ... | ... | ... | ... |
| TOTAL NIA | X,XXX | |||||
| Circulation (20%) | X,XXX | |||||
| Structure (8%) | XXX | |||||
| Core & Services (15%) | X,XXX | |||||
| TOTAL GIA | X,XXX | |||||
| Wall Thickness (3%) | XXX | |||||
| TOTAL GEA | X,XXX |
For complex or specialist spaces, supplement the area schedule with Room Data Sheets (RDS). Each RDS specifies:
| Field | Content |
|---|---|
| Room Name and Number | Unique identifier matching area schedule |
| Area | Net area in m2 |
| Occupancy | Number and type of occupants |
| Adjacencies | Required proximity to other rooms |
| Finishes | Floor, wall, ceiling materials and performance |
| Environmental | Temperature range, humidity, air changes/hour, noise level |
| Lighting | Lux level, type (natural/artificial), controls |
| Power/Data | Socket count, data points, special power |
| Equipment | Fixed equipment list with spatial requirements |
| Accessibility | Wheelchair access, hearing loop, visual contrast |
| Security | Access control level, CCTV, panic alarm |
| Notes | Any special conditions |
Healthcare projects (NHS) use the standardised Activity DataBase (ADB) sheets. Education projects use BB103 environmental performance schedules.
Before design begins, the program must be tested against real-world constraints. A program that cannot fit the site, exceeds the budget, or violates codes is a failed program -- no matter how carefully the spaces were sized.
Calculate whether the program fits the site:
| Fit Ratio | Interpretation |
|---|---|
| < 0.70 | Comfortable fit; room for amenity, landscape, future expansion |
| 0.70 - 0.85 | Good fit; design flexibility available |
| 0.85 - 0.95 | Tight fit; limited flexibility, careful massing needed |
| 0.95 - 1.00 | Marginal; requires maximum envelope, limited ground-level amenity |
| > 1.00 | DOES NOT FIT; reduce program, add floors, or find larger site |
| Budget Ratio | Interpretation |
|---|---|
| Project cost < 85% of budget | Potential scope increase or higher specification |
| 85-100% of budget | Aligned; proceed with contingency |
| 100-115% of budget | Over; value engineering or scope reduction needed |
| > 115% of budget | Significant mismatch; fundamental reprogram |
Before design, verify the program is code-compliant:
Review the program for these common failures:
| Red Flag | Issue | Resolution |
|---|---|---|
| NTG ratio outside benchmark range | Over/under-estimated circulation or core | Recalculate with type-specific ratios |
| Program GEA exceeds site capacity | Too much floor area for site | Reduce program, increase storeys, or acquire more land |
| No growth allowance | Building will be undersized on day 1 | Add 10-20% expansion capacity |
| Missing support spaces | Only primary spaces listed | Add storage, plant, circulation, WCs, cleaners |
| Adjacency conflicts | Noise sources next to quiet spaces | Recheck adjacency matrix, revise stacking |
| Parking shortfall | Not enough parking for code/market | Calculate from code minimums or demand studies |
| Floor plate too deep | Spaces exceed daylight reach | Limit floor depth to 12-15m from window |
| Floor-to-floor too low | Insufficient for services distribution | Check structural depth + services + ceiling height |
| No phasing strategy | Client needs partial occupancy | Define phases, ensure each phase is functional |
| Budget mismatch > 15% | Program cost exceeds client budget | Reprogram: reduce area, reduce specification, phase |
The validated program document should contain:
This document becomes the baseline against which all design proposals are measured. Any subsequent change to the program requires a formal variation with impact assessment on area, cost, and schedule.
© Abhinavbwj, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/building-programming of Abhinavbwj/Skills-Architects.
Open the folder on GitHubat commit 30a0845
Building Programming next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Building Programming this skillAbhinavbwj/Skills-Architects | 295 | — | ~7.4k | Automated safety check: Pass | MIT | |
| Ky Markdown RebuilderKyrieCheungYep/ky-markdown-rebuilder | 117 | — | ~5.7k | Automated safety check: Pass | None | |
| Markdown Report WritingNeuroAIHub/BrainPilot | 1k | — | ~2.6k | Automated safety check: Warn | AGPL-3.0 | |
| Single-File HTML Composeroaustegard/claude-skills | 150 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Report WritingGAIK-project/gaik-toolkit | 100 | — | ~4.9k | Automated safety check: Pass | MIT | |
| Fable DomainSahir619/fable-method | 2.3k | — | ~2.6k | Automated safety check: Pass | MIT |
KyrieCheungYep/ky-markdown-rebuilder
Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.
NeuroAIHub/BrainPilot
Guide AI agents to write beautifully formatted, well-illustrated Markdown reports with proper structure, diagrams, and compatibility across GitHub and Obsidian.
oaustegard/claude-skills
Builds self-contained single-file HTML pages such as reports, decks, postmortems, flowcharts and prototypes from a small spec using a bundled Python composer and templates.
GAIK-project/gaik-toolkit
Converts scattered documents and media (recordings, notes, diagrams, PDFs, spreadsheets) into structured MS Word reports.
Sahir619/fable-method
Discuss a domain with the user, research it from real sources, then generate a trusted skill bundle for it - a step-by-step workflow with a flowchart, a domain adapter, a trap fixture, and a smoke…
wanghetommy/ichartjs
Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data.
Abhinavbwj/Skills-Architects
Seven command-line Python calculators for early architectural checks: area and density, U-value, daylight factor, egress, structural load, energy demand and cost.
Abhinavbwj/Skills-Architects
Compares building types, from detached houses to supertall towers, using plan depth, density and efficiency metrics plus exemplar buildings.
Abhinavbwj/Skills-Architects
Knowledge base for early-stage architectural design: parti development, massing studies, spatial organization and translating abstract ideas into building form.
Abhinavbwj/Skills-Architects
Architectural movements, design philosophy, critical theory, precedent analysis, and compositional principles for informed design reasoning
Abhinavbwj/Skills-Architects
Architectural material properties, durability, sustainability, specification, detailing, life-cycle assessment, and material palettes for building design
Abhinavbwj/Skills-Architects
Reference for architects on IBC occupancy classification, construction types, height and area limits, egress, fire protection and plumbing fixtures, with international comparisons.
Guides architectural programming work: space needs, adjacency matrices, area schedules and net-to-gross checks for project briefs across common building types. Architectural programming defines and quantifies a building's spatial requirements before any design starts. The skill casts the agent as a practitioner following the Problem Seeking method of Pena and Parshall, with five steps (goals, facts, concepts, needs, problem statement) applied across five information categories, and it insists that every number traces to a published source.
Building Programming fits situations like: building a space program and area schedule for a new project; sizing rooms and checking net-to-gross ratios against benchmarks; drawing up an adjacency matrix or a stacking diagram; checking a space program against site capacity and budget.
Run `npx skills add Abhinavbwj/Skills-Architects --skill building-programming -a claude-code`. Or copy the skill folder (skills/building-programming in Abhinavbwj/Skills-Architects) into .claude/skills/building-programming in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Abhinavbwj/Skills-Architects --skill building-programming -a codex`. Or copy the skill folder (skills/building-programming in Abhinavbwj/Skills-Architects) into .agents/skills/building-programming in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Abhinavbwj/Skills-Architects --skill building-programming -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/building-programming, .gemini/skills/building-programming, .github/skills/building-programming and .opencode/skills/building-programming in your project.
SKILL.md names no scripts, command-line tools or credentials: Building Programming is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Building Programming is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.4k tokens (SKILL.md is roughly 29k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 13k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Building Programming: Ky Markdown Rebuilder (KyrieCheungYep/ky-markdown-rebuilder, 117 stars), Markdown Report Writing (NeuroAIHub/BrainPilot, 1k stars), Single-File HTML Composer (oaustegard/claude-skills, 150 stars) and Report Writing (GAIK-project/gaik-toolkit, 100 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Abhinavbwj (a GitHub user) maintains it in Abhinavbwj/Skills-Architects, which has 295 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on May 20, 2026.
Source: Abhinavbwj/Skills-Architects on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.