Writing Claude Directives logo

Writing Claude Directives

Organization
ed3dai
writing-claude-directives

Use when writing instructions that guide Claude behavior - skills, CLAUDE.md files, agent prompts, system prompts. Covers token efficiency, compliance techniques, and discovery optimization.

Overview

Publishered3dai
Repositoryed3d-plugins
Skill namewriting-claude-directives
Stars
249
Forks
33
Bundled files
2
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by ed3dai on GitHub. Read the source before you install it.

Installation

Install the Writing Claude Directives AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ed3dai/ed3d-plugins.git /tmp/ed3d-plugins
mkdir -p .claude/skills
cp -r /tmp/ed3d-plugins/plugins/ed3d-extending-claude/skills/writing-claude-directives .claude/skills/writing-claude-directives
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Writing Claude Directives in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Writing Claude Directives on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Writing Claude Directives is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Writing Claude Directives

REQUIRED: Also apply ed3d-extending-claude:prompt-security-hardening when using this skill. Directives that demonstrate unsafe secrets handling teach agents to leak secrets.

Core Principles

1. Claude is smart. Only write what it doesn't already know. Challenge each line: does this justify its token cost?

2. Positive > Negative framing. "Don't do X" triggers thinking about X (pink elephant problem). Say what TO do, not what to avoid.

markdown
# Bad: triggers the behavior
Don't create duplicate files

# Good: directs to correct behavior
Update existing files in place

3. Context motivates compliance. Explain WHY, not just WHAT. Claude generalizes from motivation.

markdown
# Less effective
NEVER use ellipses

# More effective
Your response will be read aloud by a text-to-speech engine, so never use ellipses since the TTS engine cannot pronounce them.

4. Placement matters. Instructions at prompt start and end receive higher attention. Critical rules go at boundaries.

5. ~150 instruction limit. More instructions = uniform degradation across ALL rules. Prune ruthlessly.

6. Repetition enforces critical rules. For high-stakes requirements, repeat with different framings.

Token Efficiency

Targets:

  • Frequently-loaded directives: <200 words
  • Skills/CLAUDE.md: <500 lines total
  • Reference --help instead of documenting flags
  • Cross-reference other skills instead of repeating

Progressive disclosure: Main file is overview + links. Reference files load on-demand.

Discovery (for Skills)

The description field determines if Claude finds your skill.

Format: Start with "Use when..." + specific triggers + what it does.

Write in third person. Injected into system prompt.

yaml
# Bad: vague, first person
description: I help with async testing

# Good: triggers + action, third person
description: Use when tests have race conditions or timing dependencies - replaces arbitrary timeouts with condition polling

Keywords: Include error messages, symptoms, tool names Claude might search for.

Compliance Techniques

Claude 4.x models are highly responsive to instructions. Lead with context and motivation; reserve imperatives for critical boundaries.

Primary: Context + Motivation

Explain WHY the rule exists. Claude generalizes from the explanation:

markdown
# Instead of raw authority
You MUST run tests before committing.

# Provide motivation
Run tests before committing. Untested commits break CI for the whole team and block other developers from merging their work.

Secondary: Structural Enforcement

Use structure to make compliance the path of least resistance:

PatternExample
Workflow stepsNumbered steps with verification gates
Task tracking (TaskCreate/TaskUpdate)Checklists without tracking = skipped steps (TodoWrite in older versions)
Forced commitment"Announce: I'm using [skill]"
Explicit blocking"If X happens, stop and do Y instead"

Escalation: Imperatives (Use Sparingly)

For Claude 4.x, aggressive language ("YOU MUST", "CRITICAL") can cause overtriggering. Use normal language first:

markdown
# Often sufficient for 4.x
Use this tool when searching for files.

# Reserve imperatives for true boundaries
Never commit secrets to version control.

Close loopholes when needed, but prefer context over authority:

markdown
# Good: context + loophole closure
Write the test first. Code written before its test tends to test the implementation rather than the behavior, making refactoring harder later. If you find yourself with untested code, delete it and start with the test.

By Skill Type

TypeApproach
Discipline (TDD, verification)Context + structural enforcement + loophole closure
Technique (patterns, how-to)Clear steps, "we want quality" framing
Reference (documentation)Clarity only, no persuasion needed

Structure Patterns

XML for Directives and Format Control

Claude parses XML effectively. Use for multi-part directives:

xml
<task>What to accomplish</task>
<constraints>Hard requirements</constraints>
<output_format>Expected structure</output_format>
<examples>Input/output pairs</examples>

XML also works as format indicators:

xml
<smoothly_flowing_prose>Write report sections here</smoothly_flowing_prose>
<structured_data>JSON or tables here</structured_data>

XML outperforms markdown, JSON, or YAML for rule preservation in long prompts.

Match Prompt Style to Desired Output

The formatting style in your prompt influences Claude's response. Include markdown formatting in your prompts when you want markdown output. Remove markdown from prompts if you want plain text output.

Workflows

Break complex tasks into checkable steps:

markdown
## Workflow
- [ ] Step 1: Analyze inputs
- [ ] Step 2: Generate plan
- [ ] Step 3: Validate plan
- [ ] Step 4: Execute
- [ ] Step 5: Verify output

Feedback Loops

Validate → fix → repeat:

markdown
1. Generate output
2. Run validator
3. If errors: fix and go to step 2
4. Only proceed when validation passes

Degrees of Freedom

Match specificity to fragility:

Task TypeFreedomStyle
Fragile operationsLowExact scripts, no modifications
Preferred patternsMediumTemplates with parameters
Context-dependentHighPrinciples and heuristics

Action Bias Templates

Proactive (Default to Action)

xml
<default_to_action>
By default, implement changes rather than only suggesting them. If the user's intent is unclear, infer the most useful likely action and proceed, using tools to discover any missing details instead of guessing. Try to infer the user's intent about whether a tool call is intended or not, and act accordingly.
</default_to_action>

Conservative (Research First)

xml
<do_not_act_before_instructions>
Do not jump into implementation or change files unless clearly instructed. When the user's intent is ambiguous, default to providing information, doing research, and providing recommendations rather than taking action. Only proceed with edits when the user explicitly requests them.
</do_not_act_before_instructions>

Overengineering Prevention

Claude 4.x tends to overengineer. Include this when needed:

markdown
Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.

Don't add features, refactor code, or make "improvements" beyond what was asked. A bug fix doesn't need surrounding code cleaned up. A simple feature doesn't need extra configurability.

Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs). Don't use backwards-compatibility shims when you can just change the code.

Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements. The right amount of complexity is the minimum needed for the current task. Reuse existing abstractions where possible and follow DRY.

Model-Specific Notes

Opus 4.5: "Think" Sensitivity

When extended thinking is disabled, Opus 4.5 is sensitive to the word "think" and variants. Replace with:

  • "consider" instead of "think about"
  • "evaluate" instead of "think through"
  • "determine" instead of "think whether"

Naming (for Skills)

Gerund form (verb + -ing): writing-skills, testing-code, debugging-errors

Name by action or insight: condition-based-waiting not async-helpers

Common Mistakes

MistakeFix
Verbose explanationsClaude knows basics - omit
Multiple valid approachesPick one default, escape hatch for edge cases
Vague triggersSpecific symptoms: "tests flaky", "race condition"
Deeply nested referencesKeep one level deep from main file
Windows pathsAlways forward slashes
Aggressive language for 4.xLead with context, reserve imperatives for boundaries

Anti-Rationalization

For discipline-enforcing directives, anticipate excuses:

markdown
## Red Flags - STOP
If you find yourself reasoning any of these, you're rationalizing:
- "This is simple enough to skip"
- "I already tested manually"
- "The spirit not the letter"
- "This case is different"

All mean: Follow the process.

Testing Directives

  1. Baseline: Run scenario WITHOUT directive, document failures
  2. Apply: Add directive, verify compliance
  3. Iterate: Find new loopholes → add counters → re-test

Long-Running Tasks

For multi-context-window workflows and state management across sessions, see long-running-state-patterns.md in this directory.

Graphviz (for Process Flows)

See graphviz-conventions.dot for flowchart style guide.

Use flowcharts for: Non-obvious decisions, process loops, "when to use A vs B"

Don't use for: Reference material (use tables), linear steps (use lists)

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Writing Claude Directives AI skill do?

Use when writing instructions that guide Claude behavior - skills, CLAUDE.md files, agent prompts, system prompts. Covers token efficiency, compliance techniques, and discovery optimization.

Why use Writing Claude Directives on TypingMind?

Because you install it once and use it with any model. Writing Claude Directives is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Writing Claude Directives in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ed3dai/ed3d-plugins/tree/main/plugins/ed3d-extending-claude/skills/writing-claude-directives. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Writing Claude Directives?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Writing Claude Directives?

As many as you like. As long as a model supports skills, you can use Writing Claude Directives with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Writing Claude Directives AI skill free?

It is published on GitHub by ed3dai. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇