Skip to content
Back to skills

Llm

BSecurity

Build and evaluate LLM prompts. Use when crafting system prompts, comparing variants, estimating tokens, or managing prompt templates.

  • 12 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 7, 2026
developmenttypescriptpythonbashreactflasktestinggitapisecurityperformance

Works with

  • api

Security analysis

B88/100
  • criticalPipes output to a shell interpreter

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

Scanned September 7, 2026

npx -y skills add bytesagain/ai-skills --skill llm --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Llm?

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

Security grade badge for Llm
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/bytesagain-llm/badge)](https://www.skillsdirectory.com/skills/bytesagain-llm)

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: llm
description: "Build and evaluate LLM prompts. Use when crafting system prompts, comparing variants, estimating tokens, or managing prompt templates."
version: "3.4.0"
author: BytesAgain
homepage: https://bytesagain.com
source: https://github.com/bytesagain/ai-skills
tags:
  - llm
  - prompt-engineering
  - tokens
  - templates
  - evaluation
---

# llm

LLM Prompt Engineering Toolkit. Build structured prompts from role/context/task components, compare prompt variations side by side, estimate token counts, manage reusable prompt templates, chain multi-step prompts, and evaluate prompt quality with a scored breakdown. All commands run locally in bash with no API keys or network access required.

## Commands

### `prompt` — Build a Structured Prompt

Assembles a prompt from modular components: role, context, task, constraints, and output format. The `--task` flag is required; all others are optional.

**Flags:**
- `--role <text>` — Define the AI's persona (e.g., "senior developer")
- `--context <text>` — Provide background information
- `--task <text>` — **(required)** The main instruction
- `--constraints <text>` — Rules or limitations
- `--format <text>` — Desired output format

```bash
bash scripts/script.sh prompt --role "senior developer" --context "Python Flask app" --task "write unit tests"
bash scripts/script.sh prompt --task "summarize this article" --constraints "max 3 sentences" --json
```

### `compare` — Compare Prompt Variations

Compare two or more prompt files side by side. Shows each variant with word/line/char/token stats, then a `diff --side-by-side` of the first two variants, plus a summary table.

**Flags:**
- `--prompts <file1> <file2> [file3...]` — Two or more prompt text files to compare

```bash
bash scripts/script.sh compare --prompts prompt_a.txt prompt_b.txt
bash scripts/script.sh compare --prompts v1.txt v2.txt v3.txt
```

### `tokenize` — Estimate Token Count

Estimate the token count for a given text using a cl100k_base-compatible heuristic. Reports characters, words, lines, and estimated tokens.

**Input methods:**
- `--input <text>` — Inline text string
- `--file <path>` — Read from a file
- Pipe via stdin

```bash
bash scripts/script.sh tokenize --input "Your prompt text here"
bash scripts/script.sh tokenize --file prompt.txt
echo "some text" | bash scripts/script.sh tokenize
bash scripts/script.sh tokenize --file prompt.txt --json
```

### `template` — Manage Prompt Templates

Save, list, load, and delete reusable prompt templates. Templates are stored as `.txt` files in `~/.llm-skill/templates/`.

**Actions:**
- `--save <name> --file <path>` — Save a template from a file (or pipe via stdin)
- `--list` — List all saved templates with sizes
- `--load <name>` — Output the contents of a saved template
- `--delete <name>` — Remove a saved template

```bash
bash scripts/script.sh template --save my_template --file prompt.txt
bash scripts/script.sh template --list
bash scripts/script.sh template --list --json
bash scripts/script.sh template --load my_template
bash scripts/script.sh template --delete my_template
echo "Write a haiku about {{topic}}" | bash scripts/script.sh template --save haiku
```

### `chain` — Multi-Step Prompt Chains

Run a sequence of prompt steps where each step's output feeds into the next via the `{{previous_output}}` placeholder. Steps can be specified as individual files or loaded from a JSON config.

**Flags:**
- `--steps <file1> <file2> [...]` — Ordered list of step files
- `--from <config.json>` — Load steps from a JSON configuration file

```bash
bash scripts/script.sh chain --steps step1.txt step2.txt step3.txt
bash scripts/script.sh chain --from chain_config.json
bash scripts/script.sh chain --steps brainstorm.txt refine.txt format.txt --json
```

### `evaluate` — Score Prompt Quality

Score a prompt on four dimensions (0–100 each): **Clarity**, **Specificity**, **Structure**, and **Completeness**. Returns an overall score (0–100) and letter grade (A–F) with actionable suggestions.

**Scoring heuristics:**
- **Clarity** — Penalizes vague words ("something", "stuff"), rewards action verbs ("write", "create", "analyze") and structural markers
- **Specificity** — Rewards concrete numbers, quoted examples, and sufficient length
- **Structure** — Rewards headers, bullet lists, numbered steps, and paragraph breaks
- **Completeness** — Checks for role definition, output format spec, constraints, and examples

```bash
bash scripts/script.sh evaluate --input "Explain quantum computing"
bash scripts/script.sh evaluate --file my_prompt.txt
bash scripts/script.sh evaluate --file my_prompt.txt --json
```

### `help` — Show Help

```bash
bash scripts/script.sh help
```

## Global Flags

- `--json` — Output in JSON format (supported by `prompt`, `tokenize`, `template --list`, `chain`, and `evaluate`)

## Data Storage

- **Templates:** `~/.llm-skill/templates/*.txt`
- No other persistent state. All commands are stateless except `template` which manages saved files.

## Requirements

- Bash 4+ (uses arrays, `[[ ]]`, process substitution)
- Standard Unix utilities: `wc`, `grep`, `diff`, `cat`, `basename`, `tr`, `sed`, `rm`, `mkdir`
- No external dependencies, API keys, or network access required

## When to Use

1. **Crafting system prompts** — Use `prompt` to build well-structured prompts from role/context/task components instead of writing them freehand.
2. **A/B testing prompt variants** — Use `compare` to see side-by-side diffs and token counts for two or more prompt versions before committing to one.
3. **Estimating API costs** — Use `tokenize` to get token estimates before sending prompts to paid LLM APIs, helping you stay within budget.
4. **Building reusable prompt libraries** — Use `template` to save, organize, and reuse your best prompts across projects.
5. **Quality-checking prompts before use** — Use `evaluate` to score your prompts on clarity, specificity, structure, and completeness, with actionable improvement suggestions.

## Examples

```bash
# Build a structured prompt for code review
bash scripts/script.sh prompt \
  --role "senior code reviewer" \
  --context "React TypeScript project" \
  --task "review this pull request for bugs and performance issues" \
  --constraints "focus on security vulnerabilities" \
  --format "numbered list of findings"

# Estimate tokens for a long prompt
bash scripts/script.sh tokenize --file system_prompt.txt

# Save a template and reuse it
echo "You are a {{role}}. Your task: {{task}}" | bash scripts/script.sh template --save generic
bash scripts/script.sh template --load generic

# Evaluate prompt quality
bash scripts/script.sh evaluate --input "You are an expert Python developer. Write a function that sorts a list of dictionaries by a given key. Include type hints, docstring, and 3 unit tests."
```

---

Powered by BytesAgain | bytesagain.com | hello@bytesagain.com

Files in this skill

  • SKILL.md6.8 KB
  • scripts/script.sh16.9 KB

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…