Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Template Exporter

ASecurity

Use this skill whenever the user wants to create a reusable template from an existing Claude artifact or setup — including chat system prompts, Assistant tasks, Assistant projects, or skills. Trigger when the user says things like "turn this into a template", "create a template I can share", "make this reusable", "export this as a template", "I want to share this setup with someone", or "create a template for [task/project/skill/chat]". Also trigger when a conversation contains a full Assista...

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentsgobashapi

Works with

claude codeapimcp

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add KalastajaM/Cluide --skill template-exporter --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Template Exporter?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Template Exporter
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kalastajam-template-exporter/badge)](https://www.skillsdirectory.com/skills/kalastajam-template-exporter)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: template-exporter
description: Use this skill whenever the user wants to create a reusable template from an existing Claude artifact or setup — including chat system prompts, Assistant tasks, Assistant projects, or skills. Trigger when the user says things like "turn this into a template", "create a template I can share", "make this reusable", "export this as a template", "I want to share this setup with someone", or "create a template for [task/project/skill/chat]". Also trigger when a conversation contains a full Assistant task, project, or skill definition and the user seems to want to preserve or share it. Do NOT use it for the word "template" alone: a Word or PowerPoint template (.dotx, .potx) belongs to the docx/pptx skills, and a folder scaffold under Cluide's own templates/ is not an export. The object here is an existing Claude artifact being turned into something shareable.
---

# Template Exporter

Turns an existing Claude setup (chat system prompt, Assistant task, Assistant project, or skill) into a clean, shareable template — stripped of personal/business/identifying content, with placeholder annotations and dual-audience instructions (human guide + Assistant setup prompt).

---

## Platform preservation

Before export, identify the source and intended destination surfaces. Preserve one shared `AGENTS.md` and thin `CLAUDE.md` adapters, including nested scopes. Keep relative imports valid. Export per-surface setup and bootstrap drafts with capability gaps; never claim app fields were applied. For uploaded-source projects, include revision/refresh instructions. Exclude credentials, connector grants, native memory, session history, live registration IDs, and actual runtime logs. Clean empty state templates may be supplied as bootstrap definitions.

For recurring tasks, export the procedure and a blank scheduler-owner table, not active registrations. Installation must select one owner per job and verify permissions and duplicate-run protection. A Claude-only hook or subagent definition remains labelled Claude-only. Native skill installation follows the target surface's documented path; do not convert paths by analogy.

## Step 1: Determine the Template Type

> **Clarifying questions:** For any step with a fixed set of options, use the current surface’s question tool when available, otherwise ask a concise question in chat.

Identify which type to export. Use context first; ask only if ambiguous.

| Type | Signals |
|------|---------|
| **Chat system prompt** | User shares a system prompt, persona, or instruction block for an assistant chat |
| **Assistant task** | User shares a task definition, step list, or automation workflow from a supported surface |
| **Assistant project** | User shares a project config, folder structure, or multi-task assistant setup |
| **Skill** | User shares a SKILL.md or skill folder |

If ambiguous, use the current surface’s question tool (or chat if unavailable):
> Buttons: `Chat system prompt` / `Assistant task` / `Assistant project` / `Skill`

If multiple types apply, ask the user to confirm or export one per type using the available question tool or chat.

---

## Step 2: Extract and Sanitize

**If the source material is already in the conversation, begin sanitizing immediately — do not ask the user to re-share it.**

Apply these sanitization rules — **all are mandatory**:

- **Personal identifiers**: names, usernames, email addresses, phone numbers → replace with `[PLACEHOLDER: e.g. "Your Name"]`
- **Business identifiers**: company names, product names, internal system names, project codenames → replace with `[PLACEHOLDER: e.g. "Company Name"]`
- **Credentials and secrets**: API keys, passwords, tokens, URLs with auth → replace with `[PLACEHOLDER: API key / URL]`
- **Specific dates and deadlines**: replace with `[PLACEHOLDER: e.g. "YYYY-MM-DD"]`
- **Data and metrics**: specific numbers, KPIs, budgets → replace with `[PLACEHOLDER: e.g. "Target metric value"]`
- **File paths**: absolute paths referencing real directories → replace with `[PLACEHOLDER: e.g. "/your/path/here"]`
- **Locale-specific content**: if tightly tied to a region/language, note it as `[PLACEHOLDER: localize for your context]`

Preserve the **structure, logic, and intent** of the original. Do not simplify or restructure unless something is non-portable by nature.

**Edge cases:**

| Situation | Action |
|-----------|--------|
| Source already partially sanitized | Note which placeholders were pre-existing; preserve them as-is |
| Source is already a template | Export as-is; flag to user that sanitization may be minimal |
| Source is very large (>400 lines) | Ask with the available question tool or chat: `Split into multi-file template` / `Export as single file` |

---

## Step 3: Add Sample Content

Where placeholders appear, add a brief inline annotation explaining what belongs there. Format:

```
[PLACEHOLDER: short description — EXAMPLE: "Acme Corp"]
```

Samples must be **fictional and generic** — do not derive them from the original content.

Good sample vocabulary to draw from:
- Companies: Acme Corp, Northstar Inc, Riverstone Labs, Skyline Co
- People: Alex, Jordan, Sam, Morgan
- Projects: Project Phoenix, Initiative Delta, Campaign Aurora
- Dates: 2025-Q3, 2026-01-15
- Metrics: 85%, €50,000, 1,200 units

**Placeholder format — when to use each:**

- `[PLACEHOLDER: ...]` — use in any file the **human will read and edit**: the exported template itself, README.md
- `<<<PLACEHOLDER: ... >>>` — use only inside **SETUP.md**, where the assistant needs to collect values interactively

> For templates larger than ~300 lines: break SETUP.md into two steps — collect all placeholder values first, then apply them to the template file passed as an attachment. Do not embed very large templates inline.

---

## Step 4: Structure the Output

See `references/output-formats.md` for the exact file structure per template type. The general pattern is:

```
template-[name]/
├── README.md              ← Human guide
├── SETUP.md               ← Assistant setup prompt
└── [type-specific files]  ← The actual template content
```

Type-specific content files:
- **Chat system prompt** → `system-prompt.md`
- **Assistant task** → `task.md`
- **Assistant project** → `project.md` + `tasks/` subfolder with one file per task
- **Skill** → `SKILL.md` + any reference files, preserving the original folder structure

Read `references/output-formats.md` for detailed specs on each type before writing files.

---

## Step 5: Write the Human Guide (README.md)

The README is for a person who receives the template and wants to use it.

Structure:
1. **What this is** — one sentence describing the template's purpose
2. **What you'll need** — prerequisites for each supported surface and required tools
3. **How to customize** — list every `[PLACEHOLDER: ...]` and what to fill in
4. **How to use it** — step-by-step instructions to deploy on each supported surface, with a manual/source route where native installation is unavailable
5. **Notes** — any caveats, optional elements, or versioning info

Keep it plain Markdown. Write for a non-technical reader unless the source content signals otherwise.

---

## Step 6: Write the Claude Setup Prompt (SETUP.md)

The SETUP.md is a prompt that a user can give to Claude to have it automatically instantiate the template.

Structure:
```markdown
# Setup Prompt

Paste this prompt into a Claude conversation to set up [template name] automatically.

---

You are being given a template to set up. Follow these steps:

1. Read the template files provided.
2. For each <<<PLACEHOLDER: ...>>> you encounter, ask the user for the value.
   Collect all values before proceeding.
3. Substitute all placeholders with the provided values.
4. Output the completed [type] ready to use.

[Include the template content inline below this prompt, with <<<PLACEHOLDER>>> markers.
For templates >300 lines, instruct the user to attach the template file instead.]
```

---

## Step 7: Deliver the Output

**In Cowork:** Create the ZIP and deliver it with `SendUserFile`.
**In Claude Code:** Write all files to disk under the current working directory, then report the full output path to the user.

ZIP command (adjust for your environment):
```bash
zip -r template-[name].zip template-[name]/
```

Verify the archive is intact before delivering:
```bash
unzip -l template-[name].zip
```

---

## Quality Checklist

Before delivering, verify:
- [ ] No real names, companies, or identifiers remain (scan for email patterns, @-mentions, company names identified in Step 2)
- [ ] Every placeholder has a clear label and example value
- [ ] README covers all placeholders in the "How to customize" section
- [ ] SETUP.md uses `<<<PLACEHOLDER>>>` markers; exported template files use `[PLACEHOLDER: ...]`
- [ ] `unzip -l template-[name].zip` shows all expected files
- [ ] Structure and logic of original is fully preserved

## Edge Cases

**The source contains a secret, a token or a credential.** Stop and say so by location, never by value.
A template is made to be shared, so a credential that survives export is published, not merely copied.
Replace it with a labelled placeholder and note in the README that the recipient supplies their own.

**The source points at files or projects the recipient will not have.** Absolute paths, sibling-project
references and mounted-folder assumptions all break silently on the other machine. Convert each one to
a placeholder with an example value, and list them in the README's customisation section. A pointer
that resolves only for the author is worse than no pointer, because it reads as working.

**The source depends on an MCP server, a connector or a browser extension.** The structure exports
cleanly and then does nothing. State the dependency in SETUP.md as a precondition, with what to install
and how to tell it is connected, rather than leaving the recipient to discover it at the first failure.

**There is no reusable structure to extract.** Some things are one-offs: a single conversation, a
one-time analysis, a document with no pattern behind it. Say so and stop, rather than producing a
template whose only content is placeholders. Ask what the recipient is meant to *do* with it; if that
has no answer, there is no template here.

**The user wants to share something personal rather than something structural.** A finished document,
a filled-in tracker, a real dataset. That is a file to send, not a template to export. Offer the file
and say why the template path adds nothing.

Attribution

KalastajaMKalastajaM
View sourceMore from KalastajaM →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →