ワンクリックで
charm-docs
Charm documentation conventions — README template, Charmhub description tabs, Diátaxis multi-page split, CONTRIBUTING
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Charm documentation conventions — README template, Charmhub description tabs, Diátaxis multi-page split, CONTRIBUTING
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Known-good Juju bundle shapes (COS Lite, 12-Factor + COS, Identity Platform, Charmed Kubeflow) — canonical app lists and relation edges
Implementing Juju actions for operational tasks in charms. WHEN: add Juju actions to a charm, implement backup / rotate-credentials / restore actions, declare actions in charmcraft.yaml, write action handlers, test actions with Scenario, run actions with juju run.
Adding and validating charm configuration options. WHEN: add charm configuration options, declare config in charmcraft.yaml, validate config values in config-changed, apply config to a Pebble layer, apply config to a machine charm, write Scenario tests for config.
End-to-end workflow for building ops-framework charms for custom applications (K8s and machine). WHEN: build a custom Juju charm, write src/charm.py with Pebble, write a machine charm with systemd, decide K8s vs machine substrate, scaffold a non-paas-charm with charmcraft init, customise the ops framework charm lifecycle.
Workflow for charming infrastructure software (databases, caches, message brokers, proxies, monitoring). WHEN: charm infrastructure software, charm a database / cache / message broker / proxy / monitoring system, implement peer relations, leader election, primary/replica failover, backup and restore actions, clustering.
Expert guidance for developing, building, testing, and publishing Juju charms using charmcraft. WHEN: edit charmcraft.yaml, run charmcraft pack, run charmcraft init, manage charm libraries, publish a charm to Charmhub, set up multi-base builds, configure relations / config options, set up storage or containers.
| name | charm-docs |
| description | Charm documentation conventions — README template, Charmhub description tabs, Diátaxis multi-page split, CONTRIBUTING |
| globs | ["README.md","README","docs/**","CONTRIBUTING.md","CONTRIBUTING","HACKING.md","HACKING"] |
These guidelines standardise documentation structure and content for Juju charms, covering the README file, Charmhub content, and the CONTRIBUTING file. They extend the general Canonical documentation standards. Based on Canonical spec DOC009.
Adapted from the
charm-docsskill intonyandrewmeyer/charming-with-claude, CC BY 4.0 (Tony Meyer, 2025). Reformatted for cantrip's bundled-skill frontmatter; content otherwise unchanged. See Provenance at the foot of this skill for the source link.
A charm's documentation typically includes:
charmcraft.yaml).charmcraft.yaml over Charmhub tabs).# <Charm name>
<!-- Badges -->
<!-- 1-2 sentence description. Include the workload software
and substrate (VM/K8s). -->
Like any Juju charm, this charm supports one-line deployment,
configuration, integration, scaling, and more.
For Charmed {Name}, this includes:
<!-- List or summary of app-specific features -->
For information about how to deploy, integrate, and manage
this charm, see the Official [<Charm name> Documentation](<link>).
## Get started
<!-- Brief summary of what the user will achieve. -->
<!-- Software and hardware prerequisites. -->
### (Optional) Set up
<!-- Environment setup steps (e.g. via Multipass).
Link to Juju docs, noting only deviations. -->
### (Optional) Deploy
<!-- Deployment steps. -->
### Basic operations
<!-- Brief walkthrough of configurations, operations,
or integrations (scaling, TLS, etc.) -->
<!-- (Optional) Link to charmcraft.yaml -->
## (Optional) Integrations
<!-- Required or highly recommended integrations.
Link to Charmhub for the full list. -->
## Learn more
* <!-- Link to official documentation -->
* <!-- Link to developer documentation -->
* <!-- (Optional) Official webpage/blog -->
* <!-- (Optional) Troubleshooting/FAQ -->
## Project and community
* <!-- GitHub issues -->
* <!-- Launchpad (if applicable) -->
* <!-- Contribution guides -->
* <!-- Contact info, e.g. Matrix channel -->
## (Optional) Licensing and trademark
Use when charm documentation lives elsewhere or is simple enough for one page.
Case 1 — external docs:
# <Charm name>
<!-- 1-2 sentence description with workload and substrate. -->
For information about how to deploy, integrate, and manage
this charm, see the Official [<Charm name> Documentation](<link>).
Case 2 — all docs on Charmhub:
Follow the same structure as the README, with adjustments:
charmcraft.yaml references to Charmhub tabs instead.For charms with complex operations, structure documentation using Diátaxis (see References below):
Each Diátaxis section with more than one page should have a dedicated landing page.
Not every category is always required — determine what is relevant and categorise accordingly.
Provide guidance for:
Adapted from the charm-docs skill
in tonyandrewmeyer/charming-with-claude,
CC BY 4.0 (Tony Meyer, 2025). Content reformatted for cantrip's
bundled-skill frontmatter; otherwise unchanged.