Multi-dimension prompt quality scorer. Given an LLM prompt, returns an overall quality score plus per-dimension scores, inferred issues, and missing information.
Part of PromptForge — local-first prompt scoring and optimization.
PromptForge-Quality is a fine-tuned answerdotai/ModernBERT-base encoder with regression heads that predict prompt quality on a 0–100 scale across seven dimensions.
promptforge_quality)answerdotai/ModernBERT-base (~150M parameters)| Dimension | What it measures |
|---|---|
clarity | How clear and unambiguous the prompt is |
specificity | Level of concrete detail |
context | Background / situation provided |
goal_definition | How well the objective is defined |
constraints | Limits, requirements, must/must-not rules |
completeness | Whether enough information is present |
actionability | How easy it is for an LLM to act on |
quality_score | Aggregate overall score |
The model also surfaces issues (e.g. too_vague, missing_context) and missing_information hints.
demo/app.py)tuneprompt (recommended)pip install tuneprompt
python -m promptforge download \
--quality-repo ArjunShukla/PromptForge-Quality \
--optimizer-repo ArjunShukla/PromptForge-Optimizer
python -m promptforge analyze "Build me a website"
# or: tuneprompt analyze "Build me a website"
from promptforge import PromptForge
pf = PromptForge(quality_model_path="ArjunShukla/PromptForge-Quality")
print(pf.analyze("Make an app."))
# → quality_score, dimensions, issues, missing_information
Package:
tuneprompton PyPI · Import:promptforge· CLI:tuneprompt/promptforge· Code: https://github.com/arjun988/promptModel
from promptforge import PromptForge
pf = PromptForge(
quality_model_path="ArjunShukla/PromptForge-Quality",
optimizer_model_path="ArjunShukla/PromptForge-Optimizer",
)
result = pf.run("Make an app about social media like facebook and stuff")
print(result["before"]["quality_score"], "→", result["after"]["quality_score"])
print(result["optimized_prompt"])
quality_score + seven dimension scores (0–100)| Setting | Value |
|---|---|
| Base model | answerdotai/ModernBERT-base |
| Task | Multi-dimension regression |
| Epochs | 3 |
| Max length | 512 |
| Precision | fp16 |
| Hardware | NVIDIA RTX 5060 Laptop (8 GB) |
| Wall time | ~33 minutes |
Config: configs/quality_scorer.yaml
Held-out results (local training run):
| Split | MAE | Pearson |
|---|---|---|
| Validation | 2.73 | 0.993 |
| Test (overall) | 0.96 | 0.999 |
Test Spearman (overall): 0.959
Strong correlation with synthetic quality labels on held-out data. Real-world prompts should still be sanity-checked — the scorer is best used for ranking and diagnosing structure gaps.
ModernBERT encoder with dual / multi regression heads predicting continuous quality scores (0–100).
@software{promptforge_quality,
title = {PromptForge-Quality},
author = {PromptForge Contributors},
year = {2026},
url = {https://huggingface.co/ArjunShukla/PromptForge-Quality}
}
Open an issue on the PromptForge GitHub repository.
6 commits
Multi-dimension prompt quality scorer. Given an LLM prompt, returns an overall quality score plus per-dimension scores, inferred issues, and missing information.
Part of PromptForge — local-first prompt scoring and optimization.
PromptForge-Quality is a fine-tuned answerdotai/ModernBERT-base encoder with regression heads that predict prompt quality on a 0–100 scale across seven dimensions.
promptforge_quality)answerdotai/ModernBERT-base (~150M parameters)| Dimension | What it measures |
|---|---|
clarity | How clear and unambiguous the prompt is |
specificity | Level of concrete detail |
context | Background / situation provided |
goal_definition | How well the objective is defined |
constraints | Limits, requirements, must/must-not rules |
completeness | Whether enough information is present |
actionability | How easy it is for an LLM to act on |
quality_score | Aggregate overall score |
The model also surfaces issues (e.g. too_vague, missing_context) and missing_information hints.
demo/app.py)tuneprompt (recommended)pip install tuneprompt
python -m promptforge download \
--quality-repo ArjunShukla/PromptForge-Quality \
--optimizer-repo ArjunShukla/PromptForge-Optimizer
python -m promptforge analyze "Build me a website"
# or: tuneprompt analyze "Build me a website"
from promptforge import PromptForge
pf = PromptForge(quality_model_path="ArjunShukla/PromptForge-Quality")
print(pf.analyze("Make an app."))
# → quality_score, dimensions, issues, missing_information
Package:
tuneprompton PyPI · Import:promptforge· CLI:tuneprompt/promptforge· Code: https://github.com/arjun988/promptModel
from promptforge import PromptForge
pf = PromptForge(
quality_model_path="ArjunShukla/PromptForge-Quality",
optimizer_model_path="ArjunShukla/PromptForge-Optimizer",
)
result = pf.run("Make an app about social media like facebook and stuff")
print(result["before"]["quality_score"], "→", result["after"]["quality_score"])
print(result["optimized_prompt"])
quality_score + seven dimension scores (0–100)| Setting | Value |
|---|---|
| Base model | answerdotai/ModernBERT-base |
| Task | Multi-dimension regression |
| Epochs | 3 |
| Max length | 512 |
| Precision | fp16 |
| Hardware | NVIDIA RTX 5060 Laptop (8 GB) |
| Wall time | ~33 minutes |
Config: configs/quality_scorer.yaml
Held-out results (local training run):
| Split | MAE | Pearson |
|---|---|---|
| Validation | 2.73 | 0.993 |
| Test (overall) | 0.96 | 0.999 |
Test Spearman (overall): 0.959
Strong correlation with synthetic quality labels on held-out data. Real-world prompts should still be sanity-checked — the scorer is best used for ranking and diagnosing structure gaps.
ModernBERT encoder with dual / multi regression heads predicting continuous quality scores (0–100).
@software{promptforge_quality,
title = {PromptForge-Quality},
author = {PromptForge Contributors},
year = {2026},
url = {https://huggingface.co/ArjunShukla/PromptForge-Quality}
}
Open an issue on the PromptForge GitHub repository.
6 commits