Files
bitvid/docs/agents/STYLE_GUIDE.md
T
Claude 843f1a8c2d docs(agents): add prompt library supporting docs
Add three supporting documents for prompt library maintenance:

- PROMPT_LIBRARY_STATUS.md: current health, inventory of all 36
  prompts, changes this run, known remaining issues
- STYLE_GUIDE.md: canonical prompt template, naming conventions,
  voice/tone guidance, anti-patterns to avoid
- RESEARCH_LOG.md: web research on prompt-engineering best practices
  from Anthropic and OpenAI (2025-2026), with library impact analysis

https://claude.ai/code/session_01Nz6FJopPp2YHEscJrRAFNv
2026-02-12 20:42:41 +00:00

5.2 KiB

Agent Prompt Style Guide

This guide defines the canonical structure, naming conventions, and quality standards for agent prompts in /docs/agents/prompts/.

Authority: This guide is subordinate to AGENTS.md and CLAUDE.md. If this guide conflicts with either, follow the higher-level document.


Canonical Prompt Template

Every agent prompt should include these sections in order:

1. Identity & Mission

  • First line: You are: **bitvid-<agent-name>**, a <role> working inside the \PR0M3TH3AN/bitvid` repo.`
  • One-sentence mission statement.
  • The agent name in the identity line must match the filename (minus .md extension).

2. Authority Hierarchy

  • Numbered list, highest authority first:
    1. AGENTS.md
    2. CLAUDE.md
    3. Domain-specific docs (varies by agent)
    4. This agent prompt (always lowest)

3. Scope

  • In scope: explicit list of files, directories, and systems.
  • Out of scope: explicit boundaries to prevent mission drift.

4. Goals & Success Criteria

  • Numbered, measurable outcomes.
  • Avoid vague criteria like "improve quality" — specify what "good" looks like.

5. Hard Constraints

  • Non-negotiable rules in imperative voice.
  • Must include: "Inspect first", "Minimal changes", "No mission drift".
  • Security-sensitive guardrails per AGENTS.md.

6. Workflow

  • Ordered steps with specific commands, file paths, and checks.
  • Standard flow: preflight -> inspect -> plan -> implement -> verify -> document -> PR.
  • Each step should name exact commands to run.

7. Verification

  • Exact commands to run (e.g., npm run lint, npm run test:unit).
  • Expected outputs or pass criteria.
  • Artifacts to capture.

8. Failure Modes

  • What to do when blocked, uncertain, or facing risky changes.
  • Default: stop, log, open issue.
  • Specific triggers for opening issues vs. attempting fixes.

9. PR & Commit Conventions

  • Defer to AGENTS.md / CLAUDE.md for branch naming and conventions.
  • Provide commit message examples with appropriate prefixes.
  • PR body requirements (what must be included).

10. Outputs

  • What the agent produces per run (PRs, docs, issues, reports).
  • Distinguish between daily and weekly run outputs if applicable.

Specialized sections (search patterns, metrics, taxonomies, etc.) may be added after section 10.


Naming Conventions

Agent Identity

  • Format: bitvid-<descriptive-name>-agent
  • The identity in the prompt must match the filename.
  • Example: file bitvid-style-agent.md -> identity bitvid-style-agent

Filenames

  • Pattern: bitvid-<name>-agent.md
  • Lowercase, hyphen-separated.
  • No abbreviations unless well-established in the repo.

Branch Names

  • Follow AGENTS.md / CLAUDE.md conventions.
  • Do not invent separate naming schemes for prompt work.

Commit Messages

  • Use conventional-commit-style prefixes:
    • docs(agents): <description> for prompt changes
    • fix(ai): <description> for agent-discovered fixes
    • chore(ai): <description> for mechanical changes
  • Do not use emoji in commit messages.

PR Titles

  • Follow repo conventions. Do not use emoji.
  • Keep under 70 characters.

Voice & Tone

  • Imperative for constraints and instructions: "Do not modify crypto logic."
  • Declarative for descriptions: "This agent audits test coverage."
  • Concise — cut filler words. Prefer active voice.
  • Specific — name files, commands, and paths. Avoid "the relevant file" when you can say js/constants.js.

Common Patterns to Follow

Good: Specific Commands

Run: `npm run test:unit`

Bad: Vague Instructions

Run the tests.

Good: Explicit Failure Mode

If lint fails with non-autofixable errors, stop and open an issue
including the exact failing command and error output.

Bad: Implicit Failure Mode

Handle errors appropriately.

Good: Verified Path Reference

Check `js/nostrEventSchemas.js` for existing builder functions.

Bad: Assumed Path Reference

Check the event schemas file.

Anti-Patterns to Avoid

  1. AI generation artifacts — Remove :contentReference, oaicite, or similar metadata left by AI tools.
  2. Emoji in PR titles/commit messages — CLAUDE.md says to avoid emoji unless explicitly requested.
  3. require() syntax — The project uses ES modules ("type": "module"). Always use import/export in examples.
  4. Referencing nonexistent scripts — Verify a file exists before referencing it. If suggesting a script to create, say so explicitly.
  5. Identity/filename mismatch — The agent name in the first line must match the filename.
  6. Truncated files — Every prompt must have complete sections. If a section is missing, the prompt is incomplete.

Section Heading Style

Use either Unicode box-drawing separators or markdown --- consistently within a single prompt. Prefer the style already established in the file being edited.

Current conventions observed in the library:

  • Daily prompts: mix of ═══ and ───
  • Weekly prompts: mostly ───
  • Schedulers: ───

Standardization of heading style is P3 priority — functional correctness and policy alignment take precedence.