Skip to content
Back to skills

Template Verbalizer Design

ASecurity

"Design, load, validate, and troubleshoot OpenPrompt templates,

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
toolspythonbashapi

Works with

  • api

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill template-verbalizer-design --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Template Verbalizer Design?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Template Verbalizer Design
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-template-verbalizer-design/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-template-verbalizer-design)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: template-verbalizer-design
description: "Design, load, validate, and troubleshoot OpenPrompt templates,
  verbalizers, calibration, LM-BFF generators, and bundled prompt assets without
  depending on the original repository checkout."
disable-model-invocation: true
metadata:
  disco-role: operating
  repo: OpenPrompt
  package: openprompt
  source-version: "1.0.1"
  source-commit: f6fb080ef755c37c01b7959e7560d007049510e8
license: Apache 2.0
---

# OpenPrompt Template and Verbalizer Design

Use this sub-skill when a task asks you to write or debug OpenPrompt prompt components: template grammar, hard/mixed/soft/prefix/P-tuning/PTR templates, manual/one2one/knowledgeable/automatic/generation/soft/proto/PTR verbalizers, LM-BFF template or label-word generation, calibration, or prompt asset files.

Do **not** use this sub-skill for full training loops, dataset acquisition, runner selection, or benchmark reproduction. Route those to the OpenPrompt data/config and training/generation sub-skills when available.

## Required mental model

OpenPrompt separates prompt design into two cooperating objects:

1. A `Template` wraps each `InputExample` into pieces containing literal text, placeholders from `text_a`/`text_b` or `meta`, soft tokens, special tokens, and one or more mask positions.
2. A `Verbalizer` maps language-model outputs at mask positions into task labels, usually through label words.

The most common failure mode is treating template text, class order, and label-word files as independent. They are coupled:

- every ordinary classification template needs at least one `{"mask"}`;
- each verbalizer file must match the dataset class order or class names;
- multi-mask templates need a multi-mask-aware verbalizer such as `PTRVerbalizer` or generation logic;
- label words that tokenize into multiple tokens are model/tokenizer-dependent and should be checked before training.

## Fast operating procedure

1. **Choose the prompt family.**
   - Hard textual prompt: `ManualTemplate` + `ManualVerbalizer`.
   - Hard + learned soft tokens: `MixedTemplate` or `PtuningTemplate`.
   - Prefix-tuning for supported T5/GPT2-style models: `PrefixTuningTemplate`.
   - Appended soft prompt: `SoftTemplate`; learned head verbalizer: `SoftVerbalizer`.
   - Relation extraction with several masks: `PTRTemplate` + `PTRVerbalizer`.
   - Text-generation labels or dynamic target text: `GenerationVerbalizer`.
   - Search/auto prompt design: `T5TemplateGenerator`, `RobertaVerbalizerGenerator`, or `AutomaticVerbalizer`.
2. **Write the template string.** Use OpenPrompt's Python-dict-like grammar: `{"placeholder": "text_a"}`, `{"placeholder": "text_b"}`, `{"meta": "field"}`, `{"mask"}`, `{"text": "literal"}`, `{"special": "<sep>"}`, `{"soft"}`, `{"soft": "seed text"}`, and optional `shortenable`, `post_processing`, `soft_id`, `duplicate`, or `same` attributes.
3. **Choose class mapping.** For dict verbalizers, pass `classes=[...]` matching dataset labels exactly. For list/text verbalizers, ensure the file line order matches label ids.
4. **Load from code or assets.** Use `from_file(path, choice=...)` for one-line-per-template files and OpenPrompt verbalizer files. Use the bundled assets under `references/prompt-assets/scripts/` when you need repo-maintained examples without the original checkout.
5. **Validate before model work.** Run the bundled static validator:

   ```bash
   python scripts/validate_prompt_assets.py
   # or, from this sub-skill directory:
   python scripts/validate_prompt_assets.py --assets-dir references/prompt-assets/scripts
   ```

   Add `--tokenizer /path-or-name --allow-remote-tokenizer` only if the user permits downloads; otherwise it uses local tokenizer files only.
6. **Only then connect training.** `PromptForClassification` extracts model outputs at `loss_ids > 0`, then the verbalizer processes them. `PromptForGeneration` and `GenerationVerbalizer` use generation-style targets instead of fixed class label words.

## Runtime references

- `references/api-reference.md` — class signatures, loader keys, base method behavior, and file format contracts.
- `references/workflows.md` — tested design workflows for manual/mixed/soft/PTR/generation/LM-BFF/calibration usage.
- `references/troubleshooting.md` — common grammar, mask, prefix-space, class-order, tokenizer, calibration, and file-format failures.
- `references/prompt-assets.md` — bundled asset corpus layout, adaptation notes, and validation policy.
- `references/prompt-assets/scripts/` — self-contained copy/adaptation of the repo `scripts/**/*.txt|json|jsonl` prompt assets.
- `scripts/validate_prompt_assets.py` — static checker for bundled or user-supplied prompt assets.

## Evidence provenance

This sub-skill was distilled from OpenPrompt commit `f6fb080ef755c37c01b7959e7560d007049510e8` using `openprompt/prompt_base.py`, `openprompt/prompts/*.py`, `openprompt/utils/calibrate.py`, `docs/source/notes/template.rst`, `docs/source/notes/verbalizer.rst`, tutorials `1.*`, `3.1_LMBFF.py`, `4.1_all_tasks_are_generation.py`, and the repository `scripts/` prompt assets.

## Acceptance checklist before handing work to another agent

- Template strings parse with balanced dict/set tokens and contain expected masks.
- Verbalizer assets parse as OpenPrompt `.txt`, `.json`, or `.jsonl` formats.
- Class names/order and number of label groups are documented.
- Multi-mask designs name the matching verbalizer strategy.
- Multi-token label words are checked statically and, when model choice matters, with the target tokenizer.
- Any generated/edited assets are copied into the self-contained prompt-asset subtree or supplied explicitly by the user.

Files in this skill

  • SKILL.md5.6 KB
  • references/api-reference.md9.7 KB
  • references/prompt-assets.md6.2 KB
  • references/prompt-assets/ADAPTATIONS.md1.1 KB
  • references/prompt-assets/MANIFEST.json13.3 KB
  • references/prompt-assets/scripts/CoT/csqa.txt2.1 KB
  • references/prompt-assets/scripts/CondGen/webnlg_2017/manual_template.txt50 B
  • references/prompt-assets/scripts/FewGLUE/BoolQ/manual_template.txt86 B
  • references/prompt-assets/scripts/FewGLUE/BoolQ/manual_verbalizer.txt7 B
  • references/prompt-assets/scripts/FewGLUE/BoolQ/ptuning_template.txt100 B
  • references/prompt-assets/scripts/FewGLUE/BoolQ/soft_manual_template.txt104 B
  • references/prompt-assets/scripts/FewGLUE/CB/manual_template.txt76 B
  • references/prompt-assets/scripts/FewGLUE/CB/manual_verbalizer.txt13 B
  • references/prompt-assets/scripts/FewGLUE/CB/ptuning_template.txt80 B
  • references/prompt-assets/scripts/FewGLUE/RTE/manual_template.txt86 B
  • references/prompt-assets/scripts/FewGLUE/RTE/manual_verbalizer.txt7 B
  • references/prompt-assets/scripts/FewGLUE/RTE/ptuning_template.txt91 B
  • references/prompt-assets/scripts/FewGLUE/RTE/soft_manual_template.txt104 B
  • references/prompt-assets/scripts/FewGLUE/WiC/manual_template.txt87 B
  • references/prompt-assets/scripts/FewGLUE/WiC/manual_verbalizer.txt7 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.