A machined indexing drum ringed with cylindrical billets set behind a fixed square die block topped by a bolted reference block; a diagonal cut hatches the die and turns the square bar leaving it into outline, and an indigo line runs from the drum through the die aperture along the bar into a hollow outlet ring.
Development

Prompting

Meta-prompting standard library for generating, optimizing, and composing prompts programmatically via Standards, Handlebars Templates, and Tools; output is always a prompt to use elsewhere, not final content

03
Workflows
02
Tools
02
References
07
Triggers

The Problem

Prompt engineering done ad hoc doesn't scale. Each skill, agent, and eval in a large AI system ends up with its own invented format, its own guesses about what makes a good judge prompt, and its own way of separating data from structure. The result is a system where changing a prompt means hunting across dozens of files, where agent briefings repeat the same boilerplate with minor variations, and where there's no shared standard for what a well-formed eval criterion looks like. The prompts are also fragile — written for the current model, not portable across future ones.

How This Skill Approaches It

Prompting is a standard library, not a one-off tool. Three components work together. Standards.md encodes Anthropic's Claude best practices, context engineering principles, and findings from the academic prompt optimization literature — it's the single source of truth for what good prompts look like. The Handlebars template system separates structure (templates) from content (YAML/JSON data) so the same template generates different agents, workflows, or eval frameworks by swapping the data file. RenderTemplate.ts does the rendering and validation. The template set covers the main LifeOS use cases: Briefing.hbs for agent context handoff, Structure.hbs for phased workflows, Gate.hbs for validation checklists, DynamicAgent.hbs for agent composition, and a set of eval templates (Judge, Rubric, TestCase, Comparison, Report) used by the Evals skill. The Agents and Evals skills both import from this library rather than managing their own prompt formats. That single-source-of-truth design is what cut ~35,000 tokens (65%) out of LifeOS's prompt overhead.

Not for generating final content (use the appropriate domain skill), or any eval: judge prompts, rubrics, scoring, grading or comparing outputs all run through Assay, the one eval system

In Action

What you say to your DA, and what the Prompting skill actually does.

  • You say "write me a system prompt for a skeptical security researcher agent"
    Pulls from Standards.md for Anthropic best-practice structure, renders DynamicAgent.hbs with the security + skeptical + thorough trait combination, and returns a portable, model-agnostic system prompt ready to drop into the Agents skill or a direct API call.
  • You say "create a judge prompt for evaluating whether research outputs avoid generic filler"
    Renders the Judge eval template from the Evals template set with the specific criterion as data, producing a binary LLM-as-judge prompt that Evals and Optimize can use directly — no one-off prompt writing needed.

Inside the Skill

The thinking, frameworks, and architecture that distinguish this skill from a generic version of the same task.

Ideal State

  • Every prompt this library generates or optimizes articulates the ideal state, not the procedure: WHAT done looks like as testable outcomes, the CONSTRAINTS, and the high-quality TOOLS available, with the specificity moved to the outcome so the prompt is more precise, not vaguer.
  • In every prompt this library generates or optimizes, the only HOW that survives is the four keep-classes (safety-gate, verified-gotcha, tool-contract, output-format-contract); every other procedural line failed the test of whether a smarter model would make it unnecessary. Deterministic tools (*.ts) are exempt. The full standard is Standards.md § Ideal-State Prompting.
  • A prompt composed from data keeps structure as code and content as data: a Handlebars template under Templates/ rendered with a data object, or from a .yaml or .json file, through RenderTemplate.ts.
  • A reusable prompt captures the supplied intent, constraints, and output contract; its output contract can guide the intended downstream task; and it was tested before it was declared ready.
  • When Standards.md is authored or audited (not on routine template renders), both official anchors were fetched and every place our standards diverge from the current official guidance is flagged.

Anti-criteria

  • No reasoning choreography ("first analyze, then consider, then decide") in a prompt this library generates or optimizes: it is BLE-violating scaffolding that caps a capable model and rots as models improve.
  • Meta-prompting never produces the final deliverable: it generates PROMPTS, not content.
  • No template or prompt depends on specific model quirks; templates stay model-agnostic.
  • No generated prompt is declared ready untested: a prompt that looks good may perform poorly.
  • Standards drift is reported, never auto-adopted, and an unreachable anchor URL never blocks the work.

Intent Routing

Library skill, no Intents/ directory. Requests route to the tools and reference docs:

Intent Trigger File
RenderTemplate (tool) render a template, compose a prompt from data, Handlebars template Tools/RenderTemplate.ts
ValidateTemplate (tool) validate a template Tools/ValidateTemplate.ts
Standards (reference) prompt engineering standards, best practices, prompt optimization Standards.md
File Read when
Standards.md writing, optimizing or auditing any prompt: the ideal-state standard, the keep-classes, signal-to-noise, Anthropic and research-backed practice
References/WritingGreatSkills.md the prompt is a skill or intent: invocation load, information hierarchy, completion criteria, pruning
Templates/ composing a prompt from data: Primitives (Briefing, Structure, Gate, Roster, Voice) (evals and judges are not composed here; they run through Assay, LIFEOS/DOCUMENTATION/Assay/AssaySystem.md § One eval system), Data/ presets, and Templates/README.md for the template system
Setup.md first-time setup: the one package the template tools need (handlebars) and a read-only check

Data & Config

Before executing, check for user customizations at: <configRoot>/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Prompting/ configRoot is $CLAUDE_CONFIG_DIR when set, else ~/.claude.

If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.

First-time setup for the template tools is in Setup.md.

Gotchas

  • Tools/ is the only tool directory. A byte-identical stale copy under Templates/Tools/ was removed on 2026-10-14 (LOSIntegrity cruft sweep); edit and import Tools/, which Tools/RenderTemplate.test.ts covers.

Examples

Example 1: Using Briefing Template (compose an agent brief)

renderTemplate(templatePath, data) takes a path under Templates/ and a data object and returns the text. renderTemplate({ templatePath, dataPath }) renders from a .yaml or .json file instead.

// Render a structured agent brief from data before launching general-purpose
import { renderTemplate } from '${LIFEOS_SKILL_DIR}/Tools/RenderTemplate.ts';

const prompt = renderTemplate('Primitives/Briefing.hbs', {
  briefing: { type: 'research' },
  agent: { id: 'EN-1', name: 'Skeptical Thinker', personality: {...} },
  task: { description: 'Analyze security architecture', questions: [...] },
  output_format: { type: 'markdown' }
});

Example 2: Ideal-state brief from a data file (outcomes, constraints, tools)

The data states what done looks like, the limits, and the tools; it carries no steps.

# Data: attack-surface-brief.yaml
briefing: { type: analysis }
agent: { id: SEC-1, name: Attack Surface Reviewer }
context:
  summary: Review the public API of the billing service before launch.
  background: "Tools available: the repo checkout, rg, and read-only staging credentials."
  constraints:
    - Read-only; no writes to staging or production.
    - Findings cite file:line or a reproducible request.
task:
  description: Report the external attack surface of the billing service.
  deliverables:
    - Every external entry point is listed with its auth requirement.
    - Each finding carries a severity and a reproducible request or file:line.
    - Entry points that could not be checked are named, with the reason.
output_format: { type: markdown }
# Relative paths are looked up under Templates/ first, then the current directory (so attack-surface-brief.yaml can sit where you run this).
bun run ${LIFEOS_SKILL_DIR}/Tools/RenderTemplate.ts \
  --template Primitives/Briefing.hbs \
  --data attack-surface-brief.yaml --preview

References

  • LIFEOS/DOCUMENTATION/Agents/AgentSystem.md — agent briefs are the general-purpose agent plus a brief rendered from Templates/Primitives/Briefing.hbs.

Official anchors (drift check): the two authoritative Anthropic sources this skill's standards derive from. They change with each model family, which is why Standards.md is checked against them when it is authored or audited:

Research foundation: every source behind the standards, with links, is listed once in Standards.md § References and § Prompt Templating System › References.

Workflows & Routing · 3

Each workflow is one job the skill runs. The trigger phrases route your request to the right one — this is the skill's routing table.

  1. 01
    RenderTemplate (tool) Tools/RenderTemplate.ts

    render a template, compose a prompt from data, Handlebars template

  2. 02
    ValidateTemplate (tool) Tools/ValidateTemplate.ts

    validate a template

  3. 03
    Standards (reference) Standards.md

    prompt engineering standards, best practices, prompt optimization

Tools · 2

Deterministic executables the workflows call — the code that does the real work, not prompt scaffolding.

  • RenderTemplate.ts
  • ValidateTemplate.ts

How to Invoke

Say any of these to your DA and LifeOS activates the Prompting skill automatically:

  • "meta-prompting"
  • "template generation"
  • "prompt optimization"
  • "prompt engineering"
  • "write a prompt"
  • "create system prompt"
  • "Handlebars template"

Or invoke explicitly:

Skill("Prompting")

References · 2

Auxiliary files the skill loads at runtime — frameworks, guides, configs.

  • Setup
  • Standards

References & Credits

The thinkers, books, frameworks, and research this skill is built on. The ideas belong to them — the integration belongs to LifeOS.

Want LifeOS to do this for you?

Install LifeOS on your machine — your DA gets the Prompting skill plus 96 others, all hooked into one Life OS.