Skip to content
← THE LENS
THE LENS 101

Prompting and skills, plainly.

Most readers landing on a playbook hit a code block titled "SYSTEM" and either get it or close the tab. This page is for the second group, and for the first group who want a sharper mental model. What a prompt is, what makes one good, what an agent skill is, and how the two relate.

Read time 7 minutes

1 · What a prompt is

A prompt is the instruction you give a language model, the same way you'd brief a junior on a task. The model reads the prompt, runs it through its training, and writes a reply. The prompt is the only thing you control. The reply is what comes back.

Most teams use prompts the way people use Google, with a few words and hope for the best. That works for low-stakes tasks ("summarise this email") and falls apart for anything that needs to ship. The playbooks in The Lens use prompts the way you'd brief a senior colleague, with clear context, explicit constraints, a specific output format, and the rules for what counts as good.

The Lens shows real prompts inside the playbooks as fenced code blocks. They look something like this.

SYSTEM: You are a stylometrician analysing a brand's writing.
You surface measurable, observable patterns — not adjectives,
not feelings. Every pattern must be one a human editor could
verify by counting or reading.

USER: Corpus (JSON list of {title, body}): {CORPUS}

Return JSON in this exact shape:
{
  "sentence": {
    "mean_words": <number>,
    "variance": "<high|medium|low>"
  },
  ...
}

Two parts to notice. The SYSTEM: block tells the model what role to take and what rules to follow. The USER: block is the actual request, the data, the question, the specific shape of what's wanted back. This pattern repeats across every playbook with a prompt example. Once you recognise the shape, the prompts get fast to read.

2 · What makes a prompt good

Six properties separate prompts that ship from prompts that produce slop.

Role and rules in the system block

Tell the model what kind of expert to be ("You are a brand strategist…"), what it never does ("You do not editorialise"), and what counts as success. Vague system blocks produce vague output.

Structured output, not narrative

Asking for "a list of customer pain points" gives you prose. Asking for JSON in a named schema with field types and rules gives you data you can use in the next step. The Lens prompts return JSON almost everywhere for this reason.

Examples, not adjectives

"Write in our warm, confident voice" tells the model nothing useful. "Average sentence length 14 words, no em dashes, no contractions, opener follows the pattern shown in these three examples" tells it something measurable. Adjectives are unfalsifiable, where counts and patterns aren't.

Constraints, explicitly named

Word counts. Banned phrases. Acceptable sources. What the model is allowed to invent vs what must come from supplied data. The more explicit the constraint, the more predictable the output.

Refusal conditions

Good prompts tell the model when to not do the task, when the input is too thin, when the request crosses an ethical line, or when an upstream artefact is missing. The Lens skills refuse named-athlete image generation, fabricated journalist quotes, and unsourced factual claims because the prompts tell them to.

A self-check

The best prompts ask the model to verify its own output before returning. "Spot-check your sentence-length counts against the corpus before outputting" turns a one-shot generation into a two-pass generation with built-in QA.

Every prompt in The Lens has been through this list. When you write your own, run them through it too.

3 · Anatomy of a Lens prompt

Open any playbook with a prompt and the structure repeats.

  1. SYSTEM block, with role, rules, never-does list and refusal conditions.
  2. USER block intro, naming what task is being asked.
  3. Inputs, with variables in {CURLY_BRACES}, filled at runtime.
  4. Output schema, the exact JSON or text shape to return.
  5. Rules, such as verbatim-only, counts must be plausible, no invented numbers, and so on.

That structure isn't arbitrary. It maps to how the model parses the request, with role first, rules second, task third, format fourth, constraints repeated last so they survive the model's attention window. Writing prompts in any other order produces worse output for the same effort.

4 · What an agent skill is

A skill is a prompt wearing a uniform. More precisely, a directory containing a SKILL.md file with a structured frontmatter declaring what the skill triggers on, plus the prompt body the agent runs when invoked.

Skills follow the Anthropic Agent Skills spec. They work with Claude Code, Cursor, Codex, Windsurf and any agent that loads skills. The Lens ships 14 of them, paired with the playbooks whose workflows fit cleanly as single agent tasks.

A minimal SKILL.md looks like this.

---
name: positioning-audit
description: "When the user wants to audit a brand's positioning,
sharpen a positioning brief, or run a contradiction-surfacing
pass on a brand's surface. Also triggers on 'review our position',
'is our positioning clear', or pasting a brand URL with 'audit this'."
metadata:
  version: 0.2.0
---

# Positioning audit

You are a brand strategist running a six-pass positioning audit...

## Inputs to gather first

1. Brand URL...

## The pipeline (six passes)

### Pass 1 — Surface extraction

...

The frontmatter is the discoverability layer, where the description is what the agent reads to decide whether to offer this skill for a given task. The body is the playbook the agent then runs.

5 · Installing the Lens skills

Two commands in any Claude Code session.

/plugin marketplace add Scylark/manual-focus
/plugin install the-lens@manual-focus

After install, asking Claude "run a positioning audit on [brand]" surfaces the positioning-audit skill. Asking "draft a recap of the race that just finished" surfaces the race-result-content-engine. The agent picks from the descriptions, and you just describe the task.

6 · Three kinds of playbook

Not every playbook is a prompt. The Lens has three flavours, worth knowing about so you don't expect a SYSTEM block where none belongs.

Pipeline playbooks

Workflows mediated primarily by an LLM. These have full prompt examples and a paired skill. positioning-audit, brand-voice-extraction, seo-cluster-generator, eval-gated-drafting, earned-media-pitch, race-result-content-engine, ai-studio-news-pipeline and others. Sixteen of the thirty-six playbooks sit here.

Hybrid playbooks

Workflows where LLM work is a step but the bulk of the work is analytical (running models, calling APIs) or operational (running a process). These have partial prompt examples and sometimes a skill. channel-mix-simulator, attribution-teardown, paid-search-bidding-agent, category-entry-points, lifecycle-journey-builder.

System playbooks

Operational programmes, calendars, rituals. AI helps inside them, but the playbook itself is a tier menu, a contract template, a calendar shape. brief-to-ship-pipeline, retail-partner-programme, gear-launch-sequence, ambassador-programme, quarterly-planning-ritual, customer-content-rights. These don't ship as skills because they aren't single agent tasks. They're functions you build inside the team.

The library index doesn't tag these explicitly yet, but the shape becomes obvious once you've read 2-3 of each. Pipeline playbooks have prompts. System playbooks have rituals.

7 · Prompt or skill or pipeline?

A practical rule for your own work.

  • One-off task, paste the prompt into ChatGPT or Claude.ai. No need for a skill.
  • Recurring task you do alone, save the prompt as a Notion or text snippet. Still no skill needed.
  • Recurring task you do across projects, write a skill. The agent learns when to offer it, and you stop pasting prompts.
  • Recurring task that has multiple steps and evals, this is a pipeline. The skill orchestrates, and the steps within can call sub-models, scripts, or APIs.

Most readers can ignore skills entirely if they're using the Lens for occasional reference. Skills are the unlock when the workflow becomes part of how you work week to week.

8 · Common stumbles

The model invents things

It will, unless you tell it not to. Every prompt that touches factual claims should include "every claim must be sourced or flagged for human verification" or equivalent. The Lens prompts all do this, and your own prompts should too.

The model is too verbose

Add a word-count cap. Models honour them more reliably than you'd expect, especially when the cap is named in the rules section, not buried in narrative.

The model "agrees" with everything

Default model behaviour leans agreeable. To push back on a weak input, include "If the input is too thin to produce a useful output, say so and name what's missing." This pattern appears in most Lens prompts.

The output isn't parseable

If you need to use the output downstream (e.g. feed it into a script), demand JSON in the exact schema. Prose output is for humans, and structured output is for everything else.

The skill doesn't trigger

Skills trigger on the description field in their frontmatter. If the agent isn't offering the skill you expect, the description doesn't match your phrasing. Either rephrase your request or open the SKILL.md and improve the description.

NEXT

Now pick a playbook.

The 101 is the pattern, and the playbooks are the work. Skim one in your stack of choice, look at the prompt block, and notice the structure you just read about. Once you can see it, you can write it.