# How to Add Firm-Specific Terminology and Formatting to Existing Skills in Claude Financial Services

> Learn to add firm-specific terminology and formatting to existing skills in Claude Financial Services. Modify Markdown files and sync agent skills for seamless integration.

- Repository: [Anthropic/financial-services](https://github.com/anthropics/financial-services)
- Tags: how-to-guide
- Published: 2026-05-07

---

**Modify the source Markdown skill files in `plugins/vertical-plugins/` and run [`scripts/sync-agent-skills.py`](https://github.com/anthropics/financial-services/blob/main/scripts/sync-agent-skills.py) to propagate firm-specific language and formatting to all agent bundles.**

The `anthropics/financial-services` repository implements reusable workflow steps as **skills**—plain Markdown files that define how Claude agents perform specific tasks. To add firm-specific terminology and formatting to existing skills, you edit the canonical vertical-plugin sources and leverage an automated synchronization mechanism that distributes changes across all agent configurations.

## Understand the Skill Architecture

The repository maintains a strict separation between **source skills** and **bundled copies**. Every skill originates as a Markdown file under `plugins/vertical-plugins/<vertical>/skills/`. When you need to customize terminology or output formatting, you edit these vertical-plugin files—the **single source of truth** (as defined in lines 5‑8 of [`scripts/sync-agent-skills.py`](https://github.com/anthropics/financial-services/blob/main/scripts/sync-agent-skills.py)).

Agent-specific bundles reside in `plugins/agent-plugins/<slug>/skills/`, but these directories are **auto-generated**. The synchronization script removes old copies using `shutil.rmtree` and creates fresh replicas using `shutil.copytree`, ensuring perfect fidelity between the vertical source and runtime consumption. At runtime, the Claude engine reads the bundled Markdown directly, so any terminology or formatting changes you inject appear immediately when the skill fires.

## Step-by-Step Customization Workflow

### Identify the Target Skill

Locate the skill you want to customize within the vertical-plugin hierarchy. For example, the financial-planning skill lives at:

```

plugins/vertical-plugins/wealth-management/skills/financial-plan/SKILL.md

```

Verify this is the canonical source, not an agent-bundled copy.

### Edit the Skill Markdown

Open the [`SKILL.md`](https://github.com/anthropics/financial-services/blob/main/SKILL.md) file and add your firm-specific content. Because skills are plain Markdown, you can insert:

- **Terminology tables** mapping generic terms to firm jargon
- **Custom heading structures** (H1, H2, H3) matching your document standards
- **Template variables** using `{{variable_name}}` syntax for dynamic substitution
- **Formatted tables** with firm-specific column headers

### Run the Sync Script

After saving your edits, propagate the changes to all agents:

```bash
python3 scripts/sync-agent-skills.py

```

This script walks `plugins/vertical-plugins/*/skills/*` and copies updated directories to every matching `plugins/agent-plugins/*/skills/*` location. The process is deterministic: it completely replaces old bundled directories with fresh source copies.

### Validate the Changes

Launch the relevant agent (e.g., the Pitch Agent) and invoke the skill via its **slash command** or through a Managed Agent call. Verify that the output contains your firm-specific terminology and formatting. If the sync script reported warnings about missing sources, confirm that skill names match exactly between vertical and agent directories before testing.

### Commit the Update

Add the edited vertical-plugin skill file to your pull request. The repository's CI pipeline runs [`scripts/check.py`](https://github.com/anthropics/financial-services/blob/main/scripts/check.py), which verifies that all bundled skill copies remain synchronized with their vertical sources. Include the sync script's output log if your team requires audit trails for skill propagation.

## Customization Examples

### Adding Firm-Specific Terminology Tables

Embed a translation table directly in the skill Markdown to standardize language across all agent outputs:

```markdown

## Firm-Specific Terminology

| Generic term | Firm term |
|--------------|-----------|
| "Net Income" | "Adjusted Net Income" |
| "EBITDA" | "Core EBITDA" |
| "Revenue" | "Top-Line Revenue" |

```

Place this table anywhere inside [`plugins/vertical-plugins/wealth-management/skills/financial-plan/SKILL.md`](https://github.com/anthropics/financial-services/blob/main/plugins/vertical-plugins/wealth-management/skills/financial-plan/SKILL.md). When the skill generates a financial plan, Claude will use your firm's preferred terminology.

### Customizing Output Format Templates

Structure the skill's output to match your firm's document templates using YAML front-matter and custom tables:

```markdown
---
title: Financial Plan – {{client_name}}
date: {{date}}
---

# Executive Summary

{{executive_summary}}

## Detailed Projections

| Year | {{firm_term_revenue}} | {{firm_term_expenses}} | {{firm_term_ebitda}} |
|------|----------------------|------------------------|----------------------|
{{#each projection_years}}
| {{year}} | {{revenue}} | {{expenses}} | {{ebitda}} |
{{/each}}

```

The triple-dash YAML block and custom table headers ensure generated documents align with your brand standards. The `{{…}}` placeholders receive runtime substitution from the Claude engine.

### Executing the Sync Script

After editing the source file, run the propagation command:

```bash

# From repository root

python3 scripts/sync-agent-skills.py

# Expected output:

# synced 23 bundled skill dir(s) from vertical-plugins/

```

The script outputs the count of synchronized directories. If this count seems low, verify that your skill directory name matches exactly across vertical and agent plugins.

## Key Files and Their Roles

Understanding the file hierarchy ensures you edit the correct locations:

- **`plugins/vertical-plugins/<vertical>/skills/<skill>/SKILL.md`** — The canonical Markdown source that defines terminology and formatting. This is the only file you should manually edit.

- **[`scripts/sync-agent-skills.py`](https://github.com/anthropics/financial-services/blob/main/scripts/sync-agent-skills.py)** — The Python script that propagates vertical-plugin edits to all agent-bundled copies using `shutil.copytree`.

- **`plugins/agent-plugins/<slug>/skills/<skill>/`** — The runtime destination for skills. These directories are auto-generated; never edit them directly.

- **[`scripts/check.py`](https://github.com/anthropics/financial-services/blob/main/scripts/check.py)** — The CI validator that ensures bundled copies stay synchronized before merge.

- **[`README.md`](https://github.com/anthropics/financial-services/blob/main/README.md)** — Contains the overall architecture overview and onboarding documentation.

## Summary

- **Edit only the vertical-plugin source files** located at `plugins/vertical-plugins/<vertical>/skills/<skill>/SKILL.md`; agent-bundled copies are auto-generated.
- **Run `python3 scripts/sync-agent-skills.py`** after every modification to propagate changes across all agents.
- **Validate changes** by invoking the skill through an agent's slash command and verifying firm-specific language appears in the output.
- **The CI pipeline enforces synchronization** via [`scripts/check.py`](https://github.com/anthropics/financial-services/blob/main/scripts/check.py), preventing drift between source and bundled skills.
- **Skills support full Markdown syntax**, including tables, headings, and template variables for complete formatting control.

## Frequently Asked Questions

### Can I edit the bundled skill files in `plugins/agent-plugins/` directly?

No. These directories are auto-generated by [`scripts/sync-agent-skills.py`](https://github.com/anthropics/financial-services/blob/main/scripts/sync-agent-skills.py). The script uses `shutil.rmtree` to delete and `shutil.copytree` to recreate these directories during every sync, so manual edits to bundled files will be overwritten. Always modify the source files in `plugins/vertical-plugins/` instead.

### How do I ensure my terminology changes don't break existing agents?

Validate your changes by launching the agent and invoking the skill via its slash command or Managed Agent call. The changes take effect immediately after syncing because the Claude engine reads the bundled Markdown at runtime. Test with representative prompts that exercise the terminology variables you modified.

### What if the sync script reports a warning about a missing source?

Verify that the skill name matches exactly between the vertical-plugin directory and the agent-plugin directory. The script performs name-based matching when determining which source to copy to which destination. Check for subtle differences in spelling, hyphenation, or capitalization in the directory names.

### Can I customize skills for specific agents only?

The current architecture propagates changes to all agents using that skill. As implemented in `anthropics/financial-services`, the [`sync-agent-skills.py`](https://github.com/anthropics/financial-services/blob/main/sync-agent-skills.py) script does not support selective synchronization—it deterministically copies vertical sources to all matching agent bundles. If you need agent-specific variations, create a uniquely named skill variant in the vertical-plugin directory (e.g., `financial-plan-custom`) and configure only specific agents to use that variant.