Prompt Decorators is a text file and a README, and it calls itself a framework
Prompt Decorators are structured prefixes, such as +++Reasoning and +++StepByStep, designed to enhance AI responses. Inspired by Python decorators, they make AI outputs more logical, accurate, and well-organized without requiring lengthy instructions, simplifying interactions for users.
At a glance
- What is it?
- A set of +++ prefixed control markers for chat models, delivered as one definitions file with no code in the repository, where +++StepByStep appears in the headline example but not in the taxonomy, +++FactCheck and +++CiteSources ask for verification nothing provides, and chat scope is a convention rather than stored state.
- Who is it for?
- Use this as a vocabulary to borrow, not a dependency to install, because there is nothing to install: the deliverable is `prompt-decorators.txt` and a set of conventions you paste into a chat window.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Activity is slowing. The repository last received commits 6 months ago.
- What is it written in?
- GitHub does not report a main language for this repository.
Answers come from the project's GitHub data, last synced on October 10, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The framework is a text file, a README, an images folder and a license
The repository has four top-level entries: `LICENSE`, `README.md`, `images/` and `prompt-decorators.txt`. There is no source directory, no package manifest, no test directory and no CI configuration, and the recorded primary language is empty. So the word framework in the README title describes a shape of argument, not a piece of software. What ships is a definitions file. Detailed definitions for each decorator live in `prompt-decorators.txt`, and each definition is said to specify behavioral rules, response structure and parameters, where applicable. The list of what a definition contains stops at the phrase `Parameters (if applicable` without closing its parenthesis, so the third item of the contract for the file that is the whole product is itself unfinished. The repository has 479 stars, 59 forks and 2 open issues, and the last commit on the default branch main is dated 30 March 2026.
+++StepByStep leads the example and is absent from the taxonomy
The combination example that the framework is introduced with is three lines:
+++Reasoning
+++StepByStep
+++Tone(style=formal)
Explain the economic impact of renewable energy transitions.`+++StepByStep` is described in the key decorators table as breaking down complex tasks into sequential reasoning, and it is the second line of the project's own headline example. It does not appear anywhere in the two-family taxonomy. The cognitive and generative table has five subcategories and their key decorators are `+++Reasoning`, `+++Debate` and `+++Socratic`; `+++Interactive`, `+++Brainstorm`, `+++Planning` and `+++Import`; `+++Interactive` and `+++Rewrite`; `+++Rewrite` and `+++Planning`; then `+++Critique`, `+++Refine` and `+++Candor`. Three decorators are filed under two subcategories each, and the one the README opens with is in none of them, so the taxonomy is a map of the file that does not match the file's headline.
Two verification decorators have nothing to verify against
`+++FactCheck` is described as verifying the factual accuracy of key claims, and `+++CiteSources` as ensuring all major claims are supported by sources. Neither has a parameter, because neither has a mechanism. There is no retrieval step, no tool declaration, no search integration and no checker anywhere in a repository that contains one text file. What a language model does with `+++FactCheck` in its context is generate text shaped like verification, which is a different outcome from a verified claim, and the difference matters most on exactly the questions where a reader is most inclined to trust the format. `+++Validate` has the same shape, scoped to grammar, logic and consistency, which a model can partly do by reading its own draft. Read all three as instructions about register rather than as guarantees about content, and the framework is still useful that way.
Chat scope is a convention the model is asked to carry
Scope is the one part of the design that looks like state. `+++MessageScope` is documented as affecting only the current prompt, `+++ChatScope` as persisting across conversation turns, and `+++Clear(targets=LIST)` as resetting decorators selectively or entirely, with the target list optional so it can clear everything. `+++ActiveDecs` lists what is currently active and `+++AvailableDecs` lists everything available with its status. The document then says the system retains awareness of active decorators to ensure consistent behavior between exchanges. In a repository with no parser and no server, that awareness lives wherever the conversation lives, which means a decorator declared with `+++ChatScope` persists as long as the model keeps seeing the instruction and stops persisting when the context is trimmed, a new thread starts, or a different model takes over. The mechanism is a request, and the scope is a property of the transcript rather than of the tool.
Two decorators enumerate their values, the rest are placeholders
Parameters are where a marker becomes a specification, and most of them stop at a placeholder. `+++Refine(iterations=N)` takes a number. `+++Interactive(limit=N, style=TYPE)` takes a count and a type. `+++Brainstorm(limit=N, diversity=LEVEL)` takes a count and a level. `+++Import(topic=STRING)` takes a string described as a conceptual or disciplinary lens. `+++OutputFormat(format=FORMAT)` takes a format. `+++Tone(style=STYLE)` takes a style. Only two decorators enumerate their domain: `+++Candor(level=LEVEL)`, where the level is low, medium or high, and `+++Export(format=FORMAT)`, where the format is text, markdown, json or yaml. So the values a caller can rely on are three directness levels and four export formats. The one concrete value used anywhere in the prose is `formal` in the combination example, and no list in the project says that `formal` is one of the accepted styles.
Dump is an alias for Export and the table describes it two ways
The last row of the key decorators table gives `+++Dump` a parameter column reading alias of `+++Export` and a function column reading quick or raw output version of `+++Export`. Those are two different claims. An alias should behave identically, while a raw output version implies fewer formatting steps and possibly a different destination. Because the parameters column points at `+++Export`, whose own row accepts a format of text, markdown, json or yaml, the natural question is whether `+++Dump(format=json)` is valid, and the table does not say. The same row also has no separate function entry, so the quick and raw readings are the only description of the thing. This is the pattern across the systemic family: `+++Clear` takes an optional list, `+++ActiveDecs` and `+++AvailableDecs` take nothing, and the scope decorators take nothing at all, leaving behaviour defined in the definitions file rather than in the README.
The Agent Skill announcement points at a section, and the tree has no skill
A callout near the top says Prompt Decorators is now available as an Agent Skill for integration into AI and agentic tools, and it links down to an Agent Skill section. The table of contents lists that section, followed by Citation and License. No directory in the repository is named for a skill, and there is no manifest of the kind agent frameworks read, so whatever the announcement refers to is either the same definitions file under another name or something the repository does not contain. The rest of the top level is equally spare: `images/` for the taxonomy diagram the text refers to, and `LICENSE` with MIT. That leaves the framework's two artifacts, a README that explains the taxonomy and a text file that defines it, and the README is where the taxonomy is, which is why the mismatch between the example and the tables matters more here than it would in a project with tests.
Editorial conclusion
Use this as a vocabulary to borrow, not a dependency to install, because there is nothing to install: the deliverable is `prompt-decorators.txt` and a set of conventions you paste into a chat window. Two claims deserve a second reading before you rely on them. `+++FactCheck` and `+++CiteSources` instruct the model to verify claims and support them with sources, and the repository contains no retrieval, no tool call and no checker, so they shape how confidently an answer reads rather than whether it is true. And `+++ChatScope` persisting across turns depends on the model carrying the instruction in its context, since nothing in the project holds state. The last commit on the default branch main is dated 30 March 2026, there are no releases, and the definitions file's own description of what each definition contains ends mid-parenthesis, so treat the file as a draft that has not moved in half a year.
Frequently asked questions
How do I install Prompt Decorators?
There is nothing to install. The repository contains LICENSE, README.md, an images directory and prompt-decorators.txt, with no package manifest, no source directory and no recorded primary language. The definitions for each decorator live in the text file.
What is the difference between +++ChatScope and +++MessageScope?
MessageScope affects only the current prompt, while ChatScope persists across conversation turns. Clear with an optional targets list resets decorators selectively or entirely, ActiveDecs lists what is active and AvailableDecs lists everything available with its status.
Which Prompt Decorators take parameters, and what values are allowed?
Refine takes iterations, Interactive takes limit and style, Brainstorm takes limit and diversity, Import takes a topic, OutputFormat and Export take a format, Tone takes a style and Clear takes an optional targets list. Only Candor enumerates its values as low, medium or high, and Export as text, markdown, json or yaml.
Do +++FactCheck and +++CiteSources actually verify anything in Prompt Decorators?
They are markers in a text file. FactCheck is described as verifying the factual accuracy of key claims and CiteSources as ensuring major claims are supported by sources, but the repository contains no retrieval step, no tool declaration and no checker, so both shape response style rather than guarantee accuracy.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/smkalami-prompt-decorators)