Style Guide
This is the working style guide for Stack Quarterly. It reads like an AP-style entry for a developer publication. Contributors and editors use it to keep the voice consistent across pieces and across issues. We update it when a question comes up twice.
Voice
Stack Quarterly’s voice is the voice of a working senior engineer talking to a working peer. Specifically:
- Declarative, not breathless. “MCP is the protocol most teams asked us about” — not “MCP is the protocol that everyone is talking about right now!” We do not use exclamation marks as emphasis. We use sentence rhythm.
- Specific, not general. “We saw four teams pull LangGraph back out of their production path in the last quarter” — not “LangGraph is having a tough year.”
- Honest about uncertainty. “We do not have a clean number for this” — not “industry data suggests.”
- First-person plural for the publication, first-person singular for the writer. “We publish four issues a year” (the publication). “I have been writing tools for agents since 2023” (Reza, in a practitioner essay).
- Past tense for what happened, present tense for what is true now. Avoid the “as we approach 2027” futurology cadence. Write what is in front of you.
We do not use the phrases:
- “World’s best,” “industry-leading,” “the only,” “the first ever,” “the #1.” Quoted-context (where we are reporting that a vendor claimed to be world’s best) is fine and often interesting. Marketing-claim use is not.
- “Game-changer,” “next-gen,” “paradigm shift.” If a thing actually is one of these, the piece can show it instead of claiming it.
- “Revolutionize,” “disrupt,” “transform” used as transitive verbs. Talk about what specifically changes.
- “Cutting-edge” as a self-applied descriptor.
We do use, freely:
- Em dashes — for parenthetical asides. Set off with spaces on both sides in body copy.
- Inline
codefor tool names where the tool name is also a CLI or library identifier (langgraph,crewai,mcp-python). Tools that are products with brand names (LangGraph, CrewAI, AutoGen) get title-case in prose. - Footnotes when a sidebar would interrupt the flow.
Capitalization
| Term | Style |
|---|---|
| AI, AGI, LLM, MCP, A2A | All caps. |
| Agentic, agent, agents | Lowercase always, even at the start of a sentence (recast the sentence). |
| Web4Guru | One word, no space, capital W and G. |
| Web4OS | One word, no space, capital W and OS. |
| Black Box | Two words, both capitalized. The product is “Black Box AI” only when the context requires the disambiguation. |
| ROGA | All caps. The artist name. |
| Stack Quarterly | Title case. Never STACK QUARTERLY in body copy. |
| Lumenwhite Media Holdings Pte Ltd | Exact form on first reference. “Lumenwhite” on subsequent references. |
| Andrew Rollins | Full name on first reference. “Rollins” on subsequent references. |
| Aspire Education | Title case. Located in Vermont; named in the bio. |
| Quarter labels | Q1 2026, Q2 2026, Q3 2026, Q4 2026 — no space around the digit. |
| Issue labels | “Issue 1,” “Issue 2.” Roman numerals reserved for the print archive. |
Datelines and dates
- Body-copy dates: “March 4, 2026.” Comma-separated, full month name.
- Meta-strip dates: “Jan 2, 2026” or “Mar 4, 2026” — three-letter month abbreviation, no period.
- ISO dates in metadata only:
2026-03-04. - Date ranges: “Q1 2026,” “March 4–9, 2026.” Use an en dash, not a hyphen, in ranges.
- “Last quarter” / “this quarter”: avoid as a stand-alone reference. Always name the quarter.
Numbers
- Spell out one through nine. Use figures for 10 and above. Exceptions: percentages, money, version numbers, and code identifiers always use figures.
- Percentages: “12 percent” in body copy. “12%” in tables and inline-tight contexts.
- Money: “$2 million,” not “$2M” in body copy. “$2M” is acceptable in tables and meta strips.
- Versions: “LangGraph 0.2.31” — no v prefix in body copy unless the vendor’s own docs use the v.
- Approximate counts: “around twelve teams,” not “~12 teams” in body copy. Tildes are acceptable in code.
Citations and inline links
- Inline links go on the words that name the thing being linked. “We covered this pattern last quarter” — not “we covered this pattern last quarter (read here).”
- External links open in the same window unless the link is to a downloadable resource. We do not use
target="_blank"as a default. - Repository links go to the canonical repo URL, not the org page.
https://github.com/{org}/{repo}only. - Twitter / X handles are written as
@handlein body copy. We do not link to X profiles inline (rate of link rot is too high). Citation-format references use the X URL. - Personal blogs and project pages are linked freely.
Citation format (for republication and for clipboard copy)
The clipboard “copy citation” button on every article emits the following format:
Mokhtari, R. (2026). “MCP in Anger: One Year of Building With the Protocol.” Stack Quarterly. https://stackquarterly.com/posts/mcp-in-anger-one-year/
For pieces with the Editorial Team byline:
Editorial Team. (2026). “The 2026 Agentic Stack Survey: What Teams Are Actually Running.” Stack Quarterly. https://stackquarterly.com/posts/2026-agentic-stack-survey/
Republication of full pieces follows the rules at /press/.
Quotes and attribution
- Direct quotes go in straight double quotes (the typographic quotes are fine but the ASCII version is the canonical form in source files). Em dashes, en dashes, and quotation marks should be the typographic characters in the rendered piece.
- Attribution comes after the quote in the standard form: “…” said Mokhtari. We do not use “Mokhtari said,” “Mokhtari noted,” or any of the said-bookisms unless the alternative verb is doing work in the sentence.
- Anonymous attributions follow the form: “…” said an engineer who shipped the rollout — a description tight to what the source did, not a vague “industry observer.”
- Pull-quotes (the visually emphasized quotes inside long pieces) are set in Iowan Old Style italic at 1.25x the body size. They are not interactive.
Tooling names
- We render tool names exactly as the vendor does: LangGraph, CrewAI, AutoGen, Cursor, Claude Code, Pagefind, Hugo, Eleventy, Next.js, Astro, Tailwind.
- We do not invent abbreviations the vendor does not use. “LG” for LangGraph, “CG” for CrewAI — do not.
- When a tool has a CLI binary or a package identifier that differs from the brand name, the package identifier gets backticks:
langgraph,pip install langgraph.
Code samples
- Code blocks include the language identifier in the fence:
python,go, ```typescript. - Code samples should run against the dependency versions stated in the piece. Pinned versions go in a small “tested against” line below the first code block.
- Pseudocode is marked explicitly as
[pseudocode]and never lacks the marker. - Do not paste API keys, customer data, or internal-only identifiers into code samples, even in test contexts. Use the placeholder convention:
sk-xxxx-REDACTED.
Coverage of subjects close to the publication
When Stack Quarterly covers Web4Guru, Web4OS, ROGA, or Andrew Rollins, the piece includes an inline disclosure paragraph high in the body — typically the second or third paragraph — flagging that the subject is the publication’s parent. The form is:
Disclosure: Stack Quarterly is operated by Lumenwhite Media Holdings Pte Ltd, a media-holding subsidiary of Web4Guru. The publication’s editorial control sits with the named bylines.
We do not soften coverage of subjects close to the publication. We do not run pieces on these subjects more often than the broader market would justify. We do not assign these pieces to a single contributor as a beat (that creates a relationship-management risk we would rather avoid).
What to do when in doubt
- Read the piece aloud. If a sentence sounds like a press release, rewrite it.
- Ask: does the reader actually need this paragraph? If the answer is no, cut it.
- Default to specificity over rhetorical sweep.
- When you are uncertain about a fact, write
[TKTK: ...]in the draft. The editor will catch it before publication. - When you are uncertain about style, write the version that is shortest and most concrete. That is usually the right answer.