PromptPlus
Interactive command-line toolkit for .Net core with powerful controls and commands to create professional console applications.
Install / Use
npx skills add FRACerqueira/PromptPlusInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of PromptPlus
PromptPlus scores 88/100 on our quality scale, 1796th of 4,617 Development & Engineering skills we index (top 39%).
Its SKILL.md is 19 KB long, well organised into 23 sections with 10 code examples: a thorough specification that gives an agent plenty to work with.
It has 68 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated about 2 months ago, so PromptPlus is actively maintained.
- Our last check on 2026-10-18 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
PromptPlus compared with similar skills
All 4 of these similar skills score higher than PromptPlus; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| PromptPlus (this skill)by FRACerqueira | 88 | 68 | 2mo ago | SKILL.md |
| taste-skillby Leonxlnx | 100 | 110.6k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 69.8k | today | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 46.6k | 2d ago | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 44d ago | SKILL.md |
Frequently asked questions
- How do I install PromptPlus?
- Run
npx skills add FRACerqueira/PromptPlus. The install tabs above show the steps for each supported agent. - Which AI agents does PromptPlus work with?
- It is written for Claude Code, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is PromptPlus safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is PromptPlus still maintained?
- The repository was last updated about 2 months ago, so PromptPlus is actively maintained.
Skill content
View source on GitHubPromptPlus
PromptPlus transforms your console apps with a modern .NET library that delivers polished, interactive experiences — from text input with history and searchable lists to masked fields, date/time pickers, file browsers, progress bars, charts, and more — all streamlined through one sleek fluent API.
</div>🤖 New: pick the right ConsolePlus/PromptPlus layer and control conversationally with the ConsolePlus + PromptPlus Plugin — works with Claude Code or GitHub Copilot to choose the layer, check whether an interactive control can run in your context, pick the right one of PromptPlus's 21 controls, implement it, and audit existing usage. Learn more ↓
Highlights
- 20+ interactive controls — from a simple key-press to multi-column tables and tree browsers
- 6 output-only widgets — render sliders, calendars, banners, charts and more without blocking
- Fluent API — every control is configured with readable method chains
- Two-layer config — set defaults once with
PromptPlus.Config, override per control with.Options() - Abort anywhere — Esc aborts any control; result carries an
IsAbortedflag - History persistence — last confirmed value saved and pre-loaded automatically
- Terminal-safe — auto-detects size, re-renders on resize, enforces 80×10 minimum gracefully
- Cross-platform — Windows, Linux, macOS; .NET 8, 9 and 10
- Demo Mode — script keyboard input to auto-record GIFs of your controls, no human needed (
AutoDemoSamples)
Installation
dotnet add package PromptPlus
Or via the Package Manager Console:
Install-Package PromptPlus
Quick Start
using PromptPlusLibrary;
// Ask for a name
var nameResult = PromptPlus.Controls.Input("Your name").Run();
if (nameResult.IsAborted) return;
// Choose a color
var colorResult = PromptPlus.Controls
.Select<string>("Favorite color")
.AddItems(["Red", "Green", "Blue"])
.Run();
// Deconstruct result
var (color, aborted) = colorResult;
if (!aborted)
PromptPlus.Console.WriteLine($"Hello {nameResult.Content}, you chose {color}!");
💡 Tip: Every control returns
ResultPrompt<T>. Use.Contentfor the value,.IsAbortedto detect Esc, or deconstruct withvar (value, aborted) = result.
Two-Layer Configuration
Layer 1 — Global defaults (applied to all controls)
using PromptPlusLibrary;
PromptPlus.Config.PageSize = 8;
PromptPlus.Config.HideAfterFinish = true;
Layer 2 — Per-control override (.Options() fluent method)
PromptPlus.Controls
.Input("Notes")
.Options(o => o
.HideAfterFinish(false)
.ShowTooltip(false))
.Run();
Per-control settings always win over global config. See docs/global-behaviors.md for the full property reference.
Persist config to disk
// Write PromptPlus.config to the current directory
PromptPlus.Config.ToFile(".");
On next run, PromptPlus automatically reads PromptPlus.config from the working directory.
Global Behaviors
| Behavior | Observable effect |
|---|---|
| Terminal resize detection | Control re-renders its own area; surrounding output is untouched |
| Minimum terminal size (80×10) | Shows a resize prompt and waits — never crashes |
| Culture isolation | DefaultCulture applied only during .Run(); thread culture always restored |
| Single-line rendering | Newlines stripped; sliding window with … when value is too wide |
| History persistence | Last confirmed value saved to disk; pre-loaded on next run |
| HideAfterFinish | Control UI erased after confirmation; only the final answer line remains |
| HideOnAbort | Control UI erased when user presses Esc |
| Ctrl+C handling | Always terminates the process; the current control gets a short, bounded grace period to run its own cleanup first. RemoveHandlerCtrlC is reserved for future use and currently has no effect |
| Tooltip visibility | ShowTooltip = true shows keyboard hints below the prompt |
| Abort key hint | ShowMessageAbortKey = true includes the abort-key name in the tooltip |
| Auto-initialization | PromptPlus initializes on first access: detects terminal, loads config, registers error log |
Localization
PromptPlus ships 11 built-in locales as embedded resources. The active locale is selected automatically from CultureInfo.CurrentCulture; override it at any time with:
PromptPlus.Config.DefaultCulture = new CultureInfo("pt-BR");
| Culture code | Language |
|---|---|
| (default) | English |
| pt-BR | Portuguese (Brazil) |
| de-DE | German |
| es-ES | Spanish |
| fr-FR | French |
| it-IT | Italian |
| ja-JP | Japanese |
| ko-KR | Korean |
| nl-BE | Dutch (Belgium) |
| ru-RU | Russian |
| zh-CN | Chinese (Simplified) |
If
DefaultCultureis set to a culture that has no embedded resource, PromptPlus falls back to the default English strings.
Adding a custom locale
If your target culture is not listed above, you can provide your own satellite resource:
- Copy
PromptPlus/Resources/PromptPlusResources.resxfrom the source tree (or extract it from the NuGet package). - Translate every message value to your language, keeping the existing key names and format placeholders unchanged.
- Compile the
.resxfile into a binary.resourcesfile — see Compiling .resx files (Microsoft docs). - Place the compiled file, named
PromptPlus.<culture-code>.resources(e.g.PromptPlus.pl-PL.resources), in the same directory as your application binaries.
PromptPlus will discover and load it automatically at runtime via the standard .NET resource fallback chain.
Controls Reference
| Control | Factory method | Returns |
|---|---|---|
| Text input | PromptPlus.Controls.Input(prompt) | ResultPrompt<string> |
| Secret / password | PromptPlus.Controls.Secret(prompt) | ResultPrompt<string> |
| Key press | PromptPlus.Controls.KeyPress(prompt) | ResultPrompt<ConsoleKeyInfo?> |
| Confirm (yes/no) | PromptPlus.Controls.Confirm(prompt) | ResultPrompt<ConsoleKeyInfo?> |
| Single select | PromptPlus.Controls.Select<T>(prompt) | ResultPrompt<T> |
| Multi select | PromptPlus.Controls.MultiSelect<T>(prompt) | ResultPrompt<T[]> |
| Table select | PromptPlus.Controls.TableSelect<T>(prompt) | ResultPrompt<TableSelectResult<T>> |
| Table multi-select | PromptPlus.Controls.TableMultiSelect<T>(prompt) | ResultPrompt<T[]> |
| Tree select | PromptPlus.Controls.TreeSelect<T>(prompt) | ResultPrompt<T?> |
| Tree multi-select | PromptPlus.Controls.TreeMultiSelect<T>(prompt) | ResultPrompt<T[]> |
| File browser | PromptPlus.Controls.File(prompt) | ResultPrompt<FileItem?> |
| Multi-file | PromptPlus.Controls.MultiFile(prompt) | ResultPrompt<FileItem[]> |
| Calendar | PromptPlus.Controls.Calendar(prompt) | ResultPrompt<DateTime?> |
| Progress bar | PromptPlus.Controls.ProgressBar(prompt) | ResultPrompt<StateProgress> |
| Task | PromptPlus.Controls.Task(prompt) | ResultPrompt<StateTask> |
| Multi-tasks | PromptPlus.Controls.MultiTasks(prompt) | ResultPrompt<StateMultiTasks> |
| Chart bar | PromptPlus.Controls.ChartBar(prompt) | ResultPrompt<ChartItem?> |
| Slider | PromptPlus.Controls.Slider(prompt) | ResultPrompt<double?> |
| Switch | PromptPlus.Controls.Switch(prompt) | ResultPrompt<bool?> |
| Timer | PromptPlus.Controls.Timer(prompt) | ResultPrompt<TimeSpan> |
| Mask — string | PromptPlus.Controls.MaskEdit(prompt) | ResultPrompt<string> |
| Mask — integer | PromptPlus.Controls.MaskInteger(prompt) | ResultPrompt<int> |
| Mask — long | PromptPlus.Controls.MaskLong(prompt) | ResultPrompt<long> |
| Mask — decimal | PromptPlus.Controls.MaskDecimal(prompt) | ResultPrompt<decimal> |
| Mask — decimal currency | PromptPlus.Controls.MaskDecimalCurrency(prompt) | ResultPrompt<decimal> |
| Mask — double | PromptPlus.Controls.MaskDouble(prompt) | ResultPrompt<double> |
| Mask — double currency | PromptPlus.Controls.MaskDoubleCurrency(prompt) | ResultPrompt<double> |
| Mask — date & time | PromptPlus.Controls.MaskDateTime(prompt) | ResultPrompt<DateTime> |
| Mask — date only | PromptPlus.Controls.MaskDate(prompt) | ResultPrompt<DateTime> |
| Mask — DateOnly | PromptPlus.Controls.MaskDateOnly(prompt) | ResultPrompt<DateOnly> |
| Mask — time only | PromptPlus.Controls.MaskTime(prompt) | ResultPrompt<DateTime> |
| Mask — TimeOnly | PromptPlus.Controls.MaskTimeOnly(prompt) | ResultPrompt<TimeOnly> |
Widgets Reference
Widgets are output-only — no user input, no ResultPrompt. Banner and Dash render immediately;
the fluent widgets (Slider, Calendar, Switch, ChartBar) render when you call .Show().
| Widget | Factory method | Output |
|---|---|---|
| Slider (display) | PromptPlus.Widgets.Slider(value, minvalue, maxvalue, fractionalDigits) | ISliderWidget |
| Calendar (display) | PromptPlus.Widgets.Calendar(dateref) | ICalendarWidget |
| Switch (display) | PromptPlus.Widgets.Switch(value) | ISwitchWidget |
| Banner | PromptPlus.Widgets.Banner(text) | immediate render |
| Dash separator | PromptPlus.Widgets.Dash(text) | immediate render |
| Chart bar (display) | PromptPlus.Widgets.ChartBar() | IChartBarWidget |
ConsolePlus Integration
ConsolePlus gives you a rock-solid rendering foundation: styled output, m
Truncated for display — read the full file on GitHub.
Related Skills
taste-skill
110.6kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
ai-job-search
69.8kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
46.6kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
