Skip to content

Project Structure

Current top-level layout:

claude-shared/
├── .claude/                 # local Claude Code settings (not packaged)
├── .claude-plugin/
│   └── plugin.json          # plugin manifest: name, version, author, repo
├── skills/
│   ├── skill-management/
│   │   └── SKILL.md
│   └── spec/
│       ├── SKILL.md
│       └── templates/
│           └── spec.template.md
├── spec/
│   ├── .spec-config.yml
│   ├── README.md            # autogenerated index
│   └── claude/
│       ├── agent-management/
│       │   ├── en.md        # canonical
│       │   └── de.md
│       └── skill-management/
│           ├── en.md
│           └── de.md
├── docs/                    # MkDocs sources (this site)
├── mkdocs.yml
└── README.md

Planned but not yet created:

agents/                      # reusable sub-agent definitions

What goes where

Content Location
Plugin manifest .claude-plugin/plugin.json
Skill sources skills/<name>/
Skill templates/refs skills/<name>/templates/, references/, examples/
Agent sources agents/<name>.md (+ agents/<name>/ for examples)
Specifications spec/<topic>/<slug>/<lang>.md
Spec config spec/.spec-config.yml
Spec index spec/README.md (autogenerated—don't hand-edit)
User documentation docs/<lang>/…

Languages

  • Skill and agent content: English (token efficiency; the skills/agents may still instruct Claude to respond to the user in the user's language).
  • Specifications: canonical EN, translation DE, structurally in sync.
  • Documentation (docs/): DE and EN via mkdocs-static-i18n.

Plugin namespace

The plugin is called nolte-shared (see .claude-plugin/plugin.json). Skills are invocable as /nolte-shared:<skill>. The plugin name isn't changed lightly—it's part of every invocation and every document.