promptify

Transform user requests into detailed, precise prompts for AI models. Use when users say 'promptify', 'promptify this', 'rewrite this prompt', 'make this prompt better/more specific', or explicitly request prompt engineering or improvement of their request for better AI responses.

11 stars

Best use case

promptify is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Transform user requests into detailed, precise prompts for AI models. Use when users say 'promptify', 'promptify this', 'rewrite this prompt', 'make this prompt better/more specific', or explicitly request prompt engineering or improvement of their request for better AI responses.

Teams using promptify should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/promptify/SKILL.md --create-dirs "https://raw.githubusercontent.com/ravnhq/ai-toolkit/main/.claude-plugin/plugins/promptify/skills/promptify/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/promptify/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How promptify Compares

Feature / AgentpromptifyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Transform user requests into detailed, precise prompts for AI models. Use when users say 'promptify', 'promptify this', 'rewrite this prompt', 'make this prompt better/more specific', or explicitly request prompt engineering or improvement of their request for better AI responses.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Promptify

Transform user requests into detailed, precise prompts optimised for AI model consumption.

## Core Task

Rewrite the user's request as a clear, specific, and complete prompt that guides an AI model to produce the desired output without ambiguity. Treat the output as specification language, not casual natural language.

## Workflow

### 1. Analyze

Read the user's request carefully. Identify:

- The core intent and desired outcome
- Missing context (audience, domain, environment)
- Unstated constraints (length, tone, format)
- Expected output format

### 2. Decide Output Mode

Based on the analysis, choose how to proceed:

- **Request is clear and complete** — produce direct rewritten prompt
- **1-2 minor gaps** — fill with marked `[Assumption: X]` placeholders and proceed
- **Major gaps** (audience, scope, tech stack unknown) — ask clarifying questions before rewriting
- **Multiple distinct objectives** — split into separate prompts

### 3. Structure

Apply the four-block pattern to organise the prompt. See `rules/structure-four-block-pattern.md`.

- **Context** - Background, audience, domain
- **Task** - What the AI must do
- **Constraints** - Boundaries, rules, limitations
- **Output Format** - Exact structure of the response

Not every prompt needs all four blocks. Use only what adds clarity. For common prompt types, start from the skeletons in `references/prompt-blueprints.md`.

### 4. Draft

Apply the rules in `rules/` to sharpen the prompt:

- Replace vague terms with measurable requirements
- Surface missing information as placeholders or questions (see `rules/clarity-surface-missing-info.md`)
- Include success criteria defining what a good answer must include or avoid
- Mark any assumptions explicitly
- Add examples only where the desired output is genuinely ambiguous
- Specify exact format (headings, bullet style, length)
- Break complex tasks into numbered sequential steps

### 5. Self-Check

Before delivery, verify the draft against the rule checklist (see `rules/quality-self-check.md`):

- [ ] No vague qualifiers (be-specific)
- [ ] Missing info surfaced (surface-missing-info)
- [ ] Success criteria defined (include-success-criteria)
- [ ] Assumptions marked (state-assumptions)
- [ ] Format specified (specify-format)
- [ ] Examples only if ambiguous (examples-only-when-needed)
- [ ] No filler or politeness (minimal-fluff)

If any check fails, fix the violation and re-check. Stop after the checklist passes or after two refinement passes (whichever comes first).

### 6. Output

Present the final prompt to the user as a markdown block, clearly labeled. Do not add commentary beyond the prompt itself.

### 7. Deliver

After presenting the prompt, offer the user two options:

1. **Execute now** — Treat the generated prompt as your new instruction and proceed based on the current conversation context. Use your normal judgement to decide the best next action — plan complex tasks, implement simple ones directly, or ask clarifying questions if needed.
2. **Save to file** — Write the prompt to a markdown file in the current working directory (e.g. `promptify-<timestamp>.md` where `<timestamp>` is epoch seconds). Let the user know the file path.

## Writing Guidelines

### Structure

- Begin with a single short paragraph summarising the overall task
- Use headings (##, ###, ####) for sections only where appropriate (no first-level title)
- Use **bold**, _italics_, bullet points (`-`), and numbered lists (1., 2.) liberally for organisation
- Never use emojis
- Never use `*` for bullet points, always use `-`

### Language

- Use plain, straightforward, precise language
- Avoid embellishments, niceties, or creative flourishes
- Think of language as specification/code, not natural language
- Be clear and specific in all instructions

### Content

- Keep the prompt concise: 0.75X to 1.5X the length of the original request
- Do not add or invent information not present in the input
- Do not include unnecessary complexity or verbosity

## Examples

### Positive Trigger

User: "Promptify this: audit all skills against our findings doc."

Expected behavior: Use `promptify` guidance, follow its workflow, and return actionable output.

### Non-Trigger

User: "Generate mock customer data in JSON format."

Expected behavior: Do not prioritize `promptify`; choose a more relevant skill or proceed without it.

## Troubleshooting

### Skill Does Not Trigger

- Error: The skill is not selected when expected.
- Cause: Request wording does not clearly match the description trigger conditions.
- Solution: Rephrase with explicit domain/task keywords from the description and retry.

### Guidance Conflicts With Another Skill

- Error: Instructions from multiple skills conflict in one task.
- Cause: Overlapping scope across loaded skills.
- Solution: State which skill is authoritative for the current step and apply that workflow first.

### Output Is Too Generic

- Error: Result lacks concrete, actionable detail.
- Cause: Task input omitted context, constraints, or target format.
- Solution: Add specific constraints (environment, scope, format, success criteria) and rerun.

Related Skills

agent-skills-manager

11
from ravnhq/ai-toolkit

Manage AI skills from the Ravn AI Toolkit via corvus CLI — install, update, remove, search, and configure skills for any project. Use when: (1) Installing AI skills into a project, (2) Updating installed skills to latest versions, (3) Browsing or searching available skills, (4) Configuring global or per-project skill sets, (5) Troubleshooting corvus setup. Triggers on: "install skills", "add skills", "update skills", "corvus", "skill manager", "browse skills", "set up AI rules".

type-system-audit

11
from ravnhq/ai-toolkit

Audit a repository for type-system weaknesses using recent bug-fix commits as hard evidence. Produces prioritized findings tied to specific commits showing which types allowed real bugs. Use when: reviewing type safety, auditing types, analyzing type bugs. Triggers on: type audit, type system review, audit types, type safety audit.

ts-linter

11
from ravnhq/ai-toolkit

Set up and enforce a strict, production-grade ESLint configuration for TypeScript projects, then systematically fix all linting issues. Use this skill whenever the user asks to add a linter or ESLint, enforce code quality rules, fix linting errors, clean up code style, or add type-aware linting. Trigger on: "lint", "eslint", "code quality", "static analysis", "strict linting", "make it stricter", "make the code stricter", "add better rules", "clean up the codebase", "enforce standards", "fix all the warnings", or "ShadCN lint errors". Handles detection, config generation, dependency installation, auto-fix, and manual remediation. Do NOT use for Biome or Rome projects, Prettier-only formatting, non-TypeScript/JavaScript projects, writing custom ESLint rules or plugins, husky/lint-staged/pre-commit hook setup, or when the user just wants to run an existing linter without changing its configuration.

transcript-notes

11
from ravnhq/ai-toolkit

Convert meeting transcript .txt files into structured .md notes with metadata, TL;DR, key topics, action items, and quotes. Use when processing raw transcripts into formatted notes. Triggers on: "process transcript", "generate notes from transcript", "transcript to notes", "/transcript-notes".

test-plan-gen

11
from ravnhq/ai-toolkit

Generate professional QA Test Plan documents (.docx or .pdf) from a structured interview. Trigger on "create/write a test plan", "I need a test plan", "prepare QA documentation", /testplan, or when a user uploads a PRD/requirements and wants a test plan generated.

test-case-gen

11
from ravnhq/ai-toolkit

Generate, evaluate, audit, and normalize QA test cases to RAVN standards. Trigger on "generate/write/create test cases", "evaluate/score my test cases", "audit my test suite", "review test coverage", "normalize/reformat test cases", or when a user wants test design help. Also triggered by /testcases.

tech-react

11
from ravnhq/ai-toolkit

React 19 patterns for components, hooks, Server Components, and data fetching. Use when writing React components, managing state with hooks, implementing Suspense boundaries, optimizing renders with proper memoization, or building Server/Client component hierarchies.

tech-drizzle

11
from ravnhq/ai-toolkit

Drizzle ORM typesafe schema design, relational queries, prepared statements, migrations, and transactions. Use when working with Drizzle ORM, writing database queries, managing migrations, or optimizing query performance with prepared statements.

tech-android

11
from ravnhq/ai-toolkit

Android and Kotlin development patterns — Compose, architecture, coroutines, Room, navigation, Hilt. Use when building Android apps, writing Jetpack Compose UI, or reviewing Android-specific code.

swift-concurrency

11
from ravnhq/ai-toolkit

Swift Concurrency patterns — async/await, actors, tasks, Sendable conformance. Use when writing async/await code, implementing actors, working with structured concurrency, or ensuring data race safety.

rewrite-commit-history

11
from ravnhq/ai-toolkit

Rewrite a feature branch's commit history into clean conventional commits that tell a progressive, linear story. Handles backup, soft reset, and atomic recommit. Use when: (1) Cleaning up messy WIP commits before PR, (2) Reorganizing commits into logical units, (3) Converting commits to conventional commit format. Triggers on: "rewrite history", "clean up commits", "rewrite commits", "conventional commits", "squash and rewrite", "reorganize commits".

qa-personality-builder

11
from ravnhq/ai-toolkit

Create custom QA agent personalities for project-specific testing needs. Guided builder that asks about the specialty, tools, and test scenarios, then generates a personality file and registers it in the QA config. Trigger on "create a QA personality", "add a custom test agent", "build a webhook tester", or when the user needs a project-specific QA agent. Also triggered by /qa-create-personality.