Skip to content

Prompt Linting

The prompt linter analyzes your skill's body for common prompt engineering issues and suggests improvements. It runs 8 rule-based checks that catch vague instructions, conflicting directives, and structural problems.

Using the Lint Tab

In the Skill Editor, click the Lint tab in the right panel. Click Run Lint to analyze the current skill body. Results appear as color-coded cards:

  • Yellow cards -- Warnings that likely affect prompt quality
  • Blue cards -- Suggestions for potential improvements

Each card shows the rule name, a description of the issue, a suggestion for how to fix it, and the line number (when applicable).

The 8 Lint Rules

1. Vague Instructions

Severity: Warning

Detects hedge words and imprecise language that gives the model too much latitude:

  • "do your best"
  • "try to"
  • "if possible"
  • "when appropriate"
  • "as needed"
  • "feel free to"
  • "maybe"
  • "somehow"

Fix: Replace vague phrases with specific, actionable directives.

markdown
<!-- Bad -->
Try to keep responses concise if possible.

<!-- Good -->
Keep responses under 200 words. Use bullet points for lists of 3+ items.

2. Weak Constraints

Severity: Suggestion

Flags "you should" as weaker than "you must" for critical requirements. The model treats "should" as optional guidance.

Fix: Use "You must" or "Always" for non-negotiable rules.

3. Conflicting Directives

Severity: Warning

Detects contradictory instructions in the same skill:

  • Asking to be both concise and detailed
  • Contradictory code output rules
  • Conflicting output format requirements (e.g., "respond only in JSON" and "use markdown")

Fix: Choose one approach or add conditions that clarify when each applies.

4. Missing Output Format

Severity: Suggestion

Flags generation-oriented skills (those using words like "generate", "create", "write") that do not specify an output format.

Fix: Add a section like "Format your response as..." with explicit structure.

5. Excessive Length

Severity: Warning (over 5,000 tokens) or Suggestion (over 2,000 tokens)

Very long prompts can dilute the model's focus. Token count is estimated at approximately 1 token per 4 characters.

Fix: Split into smaller skills and use the includes system to compose them.

6. Role Confusion

Severity: Warning

Flags skills that define more than 2 different roles (e.g., "You are a ..." appearing 3+ times). Multiple role assignments can confuse the model about which persona to adopt.

Fix: Focus on a single role per skill, or use clearly separated sections.

7. Missing Examples

Severity: Suggestion

Flags skills that mention complexity (words like "complex", "nuanced", "edge case", "ambiguous", "multi-step") but do not include any examples.

Fix: Add few-shot examples to clarify expected behavior.

8. Redundancy

Severity: Suggestion

Detects lines that are more than 85% similar to other lines in the same skill. Repeated instructions waste tokens without adding value.

Fix: Remove the duplicate instruction.

Linting via API

You can lint a skill programmatically:

GET /api/skills/{id}/lint

Returns an array of issues:

json
[
  {
    "severity": "warning",
    "rule": "vague_instruction",
    "message": "Vague instruction detected.",
    "suggestion": "Replace \"try to\" with a direct instruction.",
    "line": 5
  }
]

Released under the MIT License.