factory-prompt
Skill9 starsChanged 4 months agoMITView on GitHub
Convert a rough ask into a structured XML-tagged prompt using the factory-prompting vocabulary
In this repository42 other files it gives its agents.
- guidance/claude.mdCLAUDE.md
- factory-animationSkill
- factory-api-route-engineerSkill
- factory-apiSkill
- factory-authSkill
- factory-auth-wiring-specialistSkill
- factory-ciSkill
- factory-closeSkill
- factory-code-reviewerSkill
- factory-commitsSkill
- factory-data-layerSkill
- factory-data-pipeline-engineerSkill
- factory-data-pipelinesSkill
- factory-db-migration-engineerSkill
- factory-db-migrationSkill
- factory-db-schema-architectSkill
- factory-deploymentSkill
- factory-designSkill
- factory-entrySkill
- factory-feature-architectSkill
- factory-forms-builderSkill
- factory-formsSkill
- factory-frontend-engineerSkill
- factory-frontendSkill
- factory-kit-auditSkill
- factory-llm-workflow-engineerSkill
- factory-llm-workflowsSkill
- factory-observabilitySkill
- factory-pitfallsSkill
- factory-promptingSkill
- factory-releaseSkill
- factory-security-engineerSkill
- factory-securitySkill
- factory-setup-linearSkill
- factory-stackSkill
- factory-standupSkill
- factory-state-modelingSkill
- factory-submitSkill
- factory-testingSkill
- factory-verification-engineerSkill
- factory-verificationSkill
- factory-voiceSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 5 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
If the rough ask contains concrete material (real notes, real code, a real question), produce the literal form with that material inline.
- Very specific: line 29
If the rough ask describes a *kind* of prompt for reuse ("a prompt to summarize any meeting notes"), produce the template form with …
- Distinctive: line 30
If ambiguous, default to literal and offer to re-emit as a template.
- Distinctive: line 34
Emit the prompt: Put it in a single fenced code block, no preamble, ready to copy.
- Distinctive: line 36
One-line rationale: After the code block, a single line of the form:
- Distinctive: line 42
No narration: Don't explain what you're about to do, don't summarize the rough ask back, don't close with "let me know if you'd like …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
You're rewriting a rough ask into a structured prompt. The goal is a ready-to-paste prompt that uses the canonical XML tag vocabulary from factory-prompting.md, with nothing decorative and nothing missing.
Invocation input: the rough ask. It may be a one-liner, a paragraph, or include literal input material. If empty, ask the user for it and stop.
What to do
- Load the vocabulary. Load the canonical
factory-promptingskill through the host's skill capability if it is not already active. The canonical tag set is:<role>,<instructions>,<context>,<input>,<examples>,<output_format>,<constraints>,<thinking>. Do not invent tags outside this set; for multiple inputs, nest descriptive child tags inside<input>. - Parse the rough ask. Identify which canonical roles are actually present:
- Instructions — the verb of the ask ("summarize", "extract", "rewrite", "decide")
- Context — background about why or for whom, distinct from the material itself
- Input — literal material to operate on (notes, email, code, query). If multiple, plan child tags
- Output format — shape constraints (length, schema, bullets, tone)
- Constraints — hard rules (must-include, must-exclude, length caps)
- Examples — only if the user provided demonstrations
- Role — only if the rough ask explicitly invokes a persona
- Thinking — only if the task has hidden criteria the model should expose
- Apply the minimum-tagging rule. Skip any tag whose content would be empty or trivially derivable. A one-line ask with no input, no constraints, and no shape needs no tags — say so and return the prose. Tags exist to disambiguate; if there's nothing to disambiguate, don't add them.
- Decide literal vs template form.
- If the rough ask contains concrete material (real notes, real code, a real question), produce the literal form with that material inline.
- If the rough ask describes a kind of prompt for reuse ("a prompt to summarize any meeting notes"), produce the template form with
{{snake_case_variable}}placeholders. - If ambiguous, default to literal and offer to re-emit as a template.
- Order the tags canonically.
<role>→<instructions>→<context>→<input>→<examples>→<output_format>→<constraints>→<thinking>. Deviate only if the input is very long, in which case place<instructions>last and say why. - Emit the prompt. Put it in a single fenced code block, no preamble, ready to copy. Indentation: two spaces inside nested tags.
- One-line rationale. After the code block, a single line of the form:
This is the learning aid — it shows which roles you saw in the ask and which you deliberately left out. Keep it to one line; no further commentary.Tags: <list>. Skipped: <list, if any>, because <one reason>. - No narration. Don't explain what you're about to do, don't summarize the rough ask back, don't close with "let me know if you'd like changes." The code block plus the one-line rationale is the entire response.
Example
User:
/prompt Summarize meeting notes from a Q3 vendor sync. Professional tone, bullets, 150 words max, bold the deadlines. Notes: vendor will ship API update by Aug 15, John asked for beta by Aug 1, pricing proposal due next Tuesday.Output:
```xml
<instructions>
Summarize the meeting notes below. Focus on actionable items. Keep the tone professional.
</instructions>
<context>
The meeting was a Q3 sync with our primary software vendor.
</context>
<input>
<notes>
Vendor will ship the API update by August 15.
John asked if we could get beta access by August 1.
Vendor agreed to send a pricing proposal by next Tuesday.
</notes>
</input>
<output_format>
- Bullet points
- Maximum 150 words
- Bold all deadlines
</output_format>
```
Tags: instructions, context, input, output_format. Skipped: examples, constraints, role, thinking, because nothing in the ask warranted them.Style
Follow factory-voice.md. The output is a ready-to-paste artifact, not a conversation — that's why there's no preamble and no trailing pleasantries. The one-line rationale exists so the user learns the vocabulary by seeing which tags you picked and which you left out, not so you can show your work. If the rough ask is too thin to structure usefully (one short sentence, no input, no constraints), say so in one line and return the prose unchanged — refuse to decorate.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

