masthead-project-page-template
AGENTS.md7 starsChanged 19 days agoMITView on GitHub
Instructions for AI coding agents working on a Masthead project page. Read this before editing. A static project page for one research paper. Plain HTML, CSS and JavaScript with no build step and no dependencies. GitHub Pages serves index.html from the repo root. Ask the user for the PDF or LaTeX source, the BibTeX, the final author list with links, the venue and the figures. Then work top to bottom through index.html: Never invent results, numbers, authors, venues or links.…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
16 rules. About 0 are common, 10 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Ask the user for the PDF or LaTeX source, the BibTeX, the final author list with links, the venue and the figures.
- Very specific: line 30
Sections: Keep the modules the paper has material for and delete the rest.
- Distinctive: line 35
Never invent results, numbers, authors, venues or links.
- Very specific: line 41
Results table: Put data-sort="num" or data-sort="text" on each sortable <th>.
- Distinctive: line 48
Follow these rules in everything you write: visible copy, alt text, captions, HTML, CSS and JS comments, the README and text inside images.
- Distinctive: line 51
No middle dots (·): Use a comma or a colon, or rephrase.
- Distinctive: line 53
Ranges in words: Write "1 to 4", not "1–4".
- Distinctive: line 55
Plain, specific sentences: Prefer the paper's own numbers and terms over adjectives.
- Distinctive: line 59
Check before you finish:
- Distinctive: line 69
No frameworks, build tools, package managers or CDN scripts.
- Very specific: line 70
Every color comes from a variable in tokens.css, so dark mode keeps working.
- Distinctive: line 71
Keep the page readable without JavaScript and keep the reduced motion handling.
- Distinctive: line 72
Keep images reasonably small.
- Very specific: line 78
Make sure no placeholder text is left: search for Project Name, Paper Title, your-username, First Author, example.com and 0000.00000.
- Distinctive: line 79
Run the text style check above.
- Very specific: line 80
If this repo has skills/masthead/scripts/check_page.py, run python3 skills/masthead/scripts/check_page.py index.html and fix what it …
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
Instructions for AI coding agents working on a Masthead project page. Read this before editing.
What this repo is
A static project page for one research paper. Plain HTML, CSS and JavaScript with no build step and no dependencies. GitHub Pages serves index.html from the repo root.
Files
| File | Edit it to |
index.html | Write the page. Every block is marked with a MODULE comment. |
assets/css/tokens.css | Change colors, fonts and page width, for light and dark mode. |
assets/css/themes/*.css | Optional presets. Link one after tokens.css to use it. |
assets/css/masthead.css | Component styles. Leave it alone unless a layout truly needs a change. |
assets/js/masthead.js | Behavior (theme toggle, sorting, reveals). Rarely needs edits. |
assets/media/ | Figures, video, poster frame and social-preview.png. |
assets/logo.svg | Logo in the top bar, hero and favicon. |
Filling the page from a paper
Ask the user for the PDF or LaTeX source, the BibTeX, the final author list with links, the venue and the figures. Then work top to bottom through index.html:
- Meta block. Replace every placeholder in
<head>: title, description, canonical URL, Open Graph and Twitter tags,citation_*tags and the JSON-LD block. Onecitation_authorper author, written "Last, First".og:imageandtwitter:imagemust be absolute URLs to a 1200 by 630 PNG or JPG. - Top bar. Project name, plus one nav link per section that stays on the page. Each link
hrefmust match a sectionid. - Hero. Venue in the eyebrow, with the badge for Oral, Spotlight or similar (delete the badge otherwise). Title, with at most one word wrapped in
<span class="hl">. A two or three sentence pitch. Resource buttons for Paper, Code, Data, Video and so on. Use<span class="btn soon">for anything not released yet. Authors, affiliations and the equal contribution note. - Abstract. A one-line hook in
.lede, then the abstract in two or three short paragraphs. - Stats strip. Three to six numbers from the paper. Keep each short (12K, not 12000).
data-nis the final value anddata-decits decimal places. Mark the most important one with classkey. - Sections. Keep the modules the paper has material for and delete the rest. Renumber the
.snspans so they run 01, 02, 03 in order. - Cite. Paste the BibTeX inside
<pre>as is. - Footer. Project name, institution, venue and links. Keep the Masthead credit line unless the user asks to remove it.
- Social preview. Make
assets/media/social-preview.png(1200 by 630) show the paper title, or ask the user for one.
Never invent results, numbers, authors, venues or links. If the paper does not provide something a module needs, delete the module or ask the user.
Module notes
- Figures.
<figure class="fig">with an<img class="frame">, realwidthandheightattributes,loading="lazy"and descriptivealttext. Captions start with<b>Figure N.</b>. - Video. Self-hosted clips use
<video ... data-autoplay loop muted playsinline>, which plays only while on screen. YouTube goes in the commented.embedblock. The Video button in the hero links to#video, so keep thatidon the video subheading. - Results table. Put
data-sort="num"ordata-sort="text"on each sortable<th>. Bold the best value per column with<b>. Usen/afor missing values and give that celldata-v="". A formatted cell like5.2 hneeds a rawdata-vvalue so it sorts correctly. - Bar chart. Set
--ymaxon.plot,--von each.barand--ias a running index for the stagger. Series colors are classess1tos4. Keep the legend chips in the same order as the bars, and label each group in.xl. - Comparison cards. Two
.cardelements around a.delta. Add classhito the card that should stand out. The delta text names the single change between the two. - Case study. One
.laneper method with classgood,warnorbad. Mark the step where a method went wrong with.ts.crit. In the outcome bar, the flex values are counts.
Text style
Follow these rules in everything you write: visible copy, alt text, captions, HTML, CSS and JS comments, the README and text inside images.
- No em dashes or en dashes. Rewrite with a period, comma, colon or parentheses.
- No middle dots (·). Use a comma or a colon, or rephrase.
- No semicolons. Split into two sentences or join with "and", "but" or "while".
- Ranges in words. Write "1 to 4", not "1–4".
- Missing values are
n/a. - Plain, specific sentences. Prefer the paper's own numbers and terms over adjectives.
Code syntax is exempt. Semicolons in JavaScript and CSS and en dashes inside URLs are fine.
Check before you finish:
grep -nE '—|–|·|—|–|·' index.html README.md assets/css/*.css assets/js/*.jsAny hit in prose or comments needs a rewrite. Also read your new sentences for semicolons.
Constraints
- No frameworks, build tools, package managers or CDN scripts. Google Fonts is the only external request.
- Every color comes from a variable in
tokens.css, so dark mode keeps working. Do not hardcode colors inindex.html. - Keep the page readable without JavaScript and keep the reduced motion handling.
- Keep images reasonably small. Compress PNG and JPG, and prefer SVG for diagrams.
Before you finish
- Serve the folder (
python3 -m http.server) and open the page in light mode, dark mode and at phone width (about 375 px). Nothing should scroll sideways except tables and charts. - Click every nav link, resource button and the BibTeX copy button.
- Make sure no placeholder text is left: search for
Project Name,Paper Title,your-username,First Author,example.comand0000.00000. - Run the text style check above.
- If this repo has
skills/masthead/scripts/check_page.py, runpython3 skills/masthead/scripts/check_page.py index.htmland fix what it reports.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

