AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Temp Draft

skill-jtsternberg-claude-plugins-temp-draft · by jtsternberg

Draft in a /tmp file opened in the user's $EDITOR instead of pasting into chat; Slack-message drafts use Slack-flavored markup so they paste cleanly.

No reviews yet
0 installs
12 views
0.0% view→install

Install

$ agentstack add skill-jtsternberg-claude-plugins-temp-draft

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-jtsternberg-claude-plugins-temp-draft)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
5d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Temp Draft? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

temp-draft

The user prefers to collaborate on long-form drafts in their own text editor rather than read them inline in chat. This skill exists to break the default habit of pasting drafted content directly into responses — which is hard to edit, hard to save, eats context, and loses formatting / syntax highlighting.

When to use this

Use this skill when:

  • The user invoked /temp-draft directly.
  • The user explicitly said something like "draft this in editor", "open it in a temp file", "let's draft collaboratively", "put the draft in /tmp", or any equivalent phrasing.

Don't use this skill for:

  • Quick one-line answers or short replies that belong inline.
  • Edits to existing files in the project — use Edit / Write against the real file.
  • Brainstorming or back-and-forth conversation where the user is reading along.
  • Code or docs that have an obvious real destination (e.g., a function in src/, a section in README.md). The temp file is for drafts without a permanent home yet.

When in doubt, ask the user once whether they want the draft in chat or in /tmp. Guessing wrong wastes a turn either way.

Procedure

  1. Pick a descriptive filename. Format: /tmp/collab-tools/-..
  • All drafts live under /tmp/collab-tools/ so the companion promote-draft skill can find them. Create the directory if it doesn't exist: mkdir -p /tmp/collab-tools.
  • `` is 3-5 kebab-case words describing the draft. Match the content, not generic ("blog-post-fence-fences", not "draft").
  • ` matches the content type: .md for prose, plans, notes, structured docs; .txt for plain unformatted text; .html, .py, .ts`, etc. for code.
  • Examples:
  • /tmp/collab-tools/cold-email-to-acme-2026-05-28.md
  • /tmp/collab-tools/refactor-plan-auth-module-2026-05-28.md
  • /tmp/collab-tools/talk-outline-react-conf-2026-05-28.md
  1. Write the draft to that file using the Write tool. The file is the deliverable.
  1. Open it in the user's editor with this exact form:

``bash eval "${OPEN_IN_EDITOR_COMMAND:-${EDITOR:-vi}}" '/tmp/collab-tools/your-file.md' & disown 2>/dev/null || true ``

  • OPEN_IN_EDITOR_COMMAND takes precedence over $EDITOR. Set it when your $EDITOR is a blocking/--wait command (e.g. code --wait, used by git) that misbehaves when launched here. A backgrounded --wait editor leaves a live process waiting for the file to close, which shows up as a duplicate "ghost" app instance in the macOS app switcher. Setting export OPEN_IN_EDITOR_COMMAND=code (no --wait) opens the file in the existing window and returns immediately — no ghost. Falls back to $EDITOR, then vi, when unset.
  • The eval form is what makes multi-word editor settings work — values like code --wait, cursor --wait, or subl -n -w need shell-level word splitting. Single-quote the path so spaces and special characters are safe.
  • The trailing & + disown launch the editor non-blocking. Don't wait for the editor to close — a --wait flag (if present) still makes that editor window stay open until the user is done, but the shell returns immediately. The actual turn boundary is the user's next chat message ("good to go", "tweak section 2", "I changed X") — not the editor exit.
  1. Briefly tell the user where it landed. One short sentence with the path. Do NOT paste the draft content into the chat — the entire point is that the chat stays clean and the work lives in the editor.

Slack drafts: write Slack-flavored markup, not standard markdown

When the draft is a Slack message (the user says "draft a Slack message/reply/post", mentions a channel or thread, or the destination is clearly Slack), do NOT write standard markdown — Slack's paste-and-convert (cmd+shift+f) only understands a subset, and everything outside it survives as literal artifacts.

Read [references/slack-formatting.md](references/slack-formatting.md) before writing the draft — it has the full markdown → Slack conversion table and structure guidance.

Use the .txt extension for Slack drafts — a .md file makes editors copy rich text (rendered markdown styling), which corrupts the paste and breaks cmd+shift+f. Mention in your one-line confirmation that it's formatted for Slack paste.

What this looks like

Good:

> Drafted to /tmp/collab-tools/blog-post-fence-fences-2026-05-28.md and opened in your editor.

Bad:

> Here's the draft: > > # Don't Tear Down the Fence > > ... 600 lines of pasted markdown ...

Why "draft in chat" is the wrong default for this user

Pasting long drafts into the chat:

  • Burns context the user will need for follow-up turns.
  • Forces the user to copy-paste back into an editor to actually work with the text.
  • Loses syntax highlighting, spellcheck, find/replace, and every other editor affordance.
  • Makes iterative edits painful — every change re-renders the whole block.

A file in /tmp/collab-tools/ opened in the user's editor keeps chat lean, gives the user real editing power, and lets both sides refer back to "the draft" by path across many turns. The shared directory also gives the companion promote-draft skill a known place to look when moving a finished draft to its permanent home.

Notes for follow-up turns

After the draft is in /tmp, the user may iterate on it — asking for changes, additions, sections to rewrite. Edit the file with the Edit tool and tell the user briefly what changed. Still don't paste the contents.

If the draft is ready to live somewhere permanent (a blog post directory, a project doc, an email client), that's a separate operation — surface the file path and let the user decide where it goes, or ask if they want it moved.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.