Skip to main content
Compendium / Specs & Documents / Atoms / Spec Author Handle
#283

Spec Author Handle

Authorship chip — handle and role — naming the human accountable for a spec without slipping into vanity.

STABLE DO
#badge #real-content #dark-mode-tested #responsive
Live
A
@author
PLATFORM ARCHITECT
spec author SPEC-014
Spec

Intent

Every spec has one accountable author. This chip pairs a mono @handle with their role so reviewers know whether they are reading a platform spec or a product spec at a glance.

Acceptance Criteria

  • [ ] Renders @handle in mono, bold
  • [ ] Renders role on a secondary line, smaller, opacity-reduced
  • [ ] Includes a square avatar block filled with a pillar token
  • [ ] Negative: does NOT include real-name fields

Constraints

  • Pure markup, no JS
  • Theme-aware via tokens
  • Self-contained — no shared imports
// spec-author-handle.astro
---
import type { CompendiumMeta } from '../../../data/types';

export const meta: CompendiumMeta = {
  id: 283,
  slug: 'spec-author-handle',
  name: 'Spec Author Handle',
  category: 'specs-documents',
  subcategory: 'atoms',
  pillar: 'do',
  description: 'Authorship chip — handle and role — naming the human accountable for a spec without slipping into vanity.',
  spec: `## Intent
Every spec has one accountable author. This chip pairs a mono @handle with their role so reviewers know whether they are reading a platform spec or a product spec at a glance.

## Acceptance Criteria
- [ ] Renders @handle in mono, bold
- [ ] Renders role on a secondary line, smaller, opacity-reduced
- [ ] Includes a square avatar block filled with a pillar token
- [ ] Negative: does NOT include real-name fields

## Constraints
- Pure markup, no JS
- Theme-aware via tokens
- Self-contained — no shared imports`,
  tags: ['badge', 'real-content', 'dark-mode-tested', 'responsive'],
  status: 'stable',
  health: { ics: 90, a11y: 'aa', themed: true, animated: false },
};

const handle = '@author';
const role = 'PLATFORM ARCHITECT';
---

<div data-this-component class="w-full bg-paper text-black border-4 border-black p-4 overflow-hidden">
  <div class="flex items-center gap-3">
    <div class="w-12 h-12 border-4 border-black bg-do flex items-center justify-center font-black text-lg uppercase">A</div>
    <div class="min-w-0">
      <div class="font-mono text-[14px] font-black tracking-tight truncate">{handle}</div>
      <div class="font-mono text-[9px] uppercase tracking-widest opacity-60 truncate">{role}</div>
    </div>
  </div>
  <div class="mt-3 pt-2 border-t-2 border-black flex items-baseline justify-between font-mono text-[9px] uppercase tracking-widest">
    <span class="opacity-60">spec author</span>
    <span class="font-black">SPEC-014</span>
  </div>
</div>