Skip to content

Commit 91e327c

Browse files
committed
docs(catalog): move README catalog to website
1 parent d6a1918 commit 91e327c

6 files changed

Lines changed: 76 additions & 468 deletions

File tree

.github/workflows/publish-catalog.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ jobs:
150150
echo "version=$version" >> "$GITHUB_OUTPUT"
151151
echo "tag=${{ env.CATALOG_TAG_PREFIX }}$version" >> "$GITHUB_OUTPUT"
152152
153-
- name: Generate catalog outputs in CI
153+
- name: Validate catalog metadata in CI
154154
if: steps.changes.outputs.has_new_commits == 'true'
155155
run: python3 scripts/generate_catalog.py
156156

@@ -327,7 +327,7 @@ jobs:
327327
with:
328328
python-version: "3.12"
329329

330-
- name: Generate GitHub Pages payload
330+
- name: Validate catalog metadata for GitHub Pages
331331
run: python3 scripts/generate_catalog.py
332332

333333
- name: Render GitHub Pages

AGENTS.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ Other important repository files:
249249
- [`cli/ManagedCode.DotnetAgents/ManagedCode.DotnetAgents.csproj`](cli/ManagedCode.DotnetAgents/ManagedCode.DotnetAgents.csproj): publishable `.NET` tool that installs orchestration agents through `dotnet agents ...`.
250250
- [`cli/ManagedCode.Agents/ManagedCode.Agents.csproj`](cli/ManagedCode.Agents/ManagedCode.Agents.csproj): publishable `.NET` tool that installs orchestration agents through `agents ...`.
251251
- [`dotnet-skills.slnx`](dotnet-skills.slnx): canonical solution entry point for repository-level `dotnet build` and `dotnet pack` commands.
252-
- [`scripts/generate_catalog.py`](scripts/generate_catalog.py): catalog scanner, README generator, and validation entry point.
252+
- [`scripts/generate_catalog.py`](scripts/generate_catalog.py): catalog scanner, validation entry point, and optional transient manifest exporter.
253253
- [`scripts/generate_catalog_definitions.py`](scripts/generate_catalog_definitions.py): build-time generator that derives catalog categories and type directories from scanned manifests and emits `.g.cs` definitions for the CLI runtime.
254254
- [`scripts/generate_agent_catalog.py`](scripts/generate_agent_catalog.py): agent-catalog validation and optional export helper.
255255
- [`scripts/smoke_test_tool.sh`](scripts/smoke_test_tool.sh): CI smoke test for the installable tool package.
@@ -380,21 +380,21 @@ Rules:
380380

381381
## README Maintenance Rules
382382

383-
[`README.md`](README.md) is the public index for the catalog.
383+
[`README.md`](README.md) is the concise public entry point for the project. The browsable catalog belongs on [skills.managed-code.com](https://skills.managed-code.com/), not as an embedded skill table in the README.
384384

385385
Whenever you add, rename, split, merge, or remove a skill:
386386

387387
1. For repo-authored entries, update `SKILL.md` frontmatter only for `name`, `description`, or `compatibility`, and update the sibling `manifest.json` for `version`, `category`, `packages`, or `package_prefix`. For imported upstream entries, keep `SKILL.md` verbatim and put any local-only metadata in the sibling `manifest.json`.
388-
2. Update the skill count if it is listed.
388+
2. Do not add an exact skill count or a generated catalog table to README.
389389
3. Update automation notes if watch coverage changes.
390-
4. Let the release workflows generate fresh catalog outputs in CI; run `python3 scripts/generate_catalog.py` locally only when you need a preview.
390+
4. Keep the README catalog call to action linked to `https://skills.managed-code.com/skills/`.
391391

392392
The source of truth is the scanned `catalog/<type>/<package>/` tree: package `manifest.json`, nested `skills/*/SKILL.md`, and nested `agents/*/AGENT.md`. Do not introduce or rely on checked-in aggregate catalog JSON files as the source of truth.
393-
Do not hand-edit the generated catalog section between `<!-- BEGIN GENERATED CATALOG -->` and `<!-- END GENERATED CATALOG -->`.
394393

395394
Generated catalog outputs:
396395

397-
- [`README.md`](README.md) catalog section
396+
- public site pages generated by [`scripts/generate_pages.py`](scripts/generate_pages.py)
397+
- transient release manifests generated explicitly with `scripts/generate_catalog.py --manifest-output <path>`
398398

399399
Canonical generation point:
400400

@@ -611,7 +611,7 @@ For skill and docs changes:
611611
- Verify README links and catalog entries are correct.
612612
- `python3 -m py_compile scripts/generate_catalog.py`
613613
- `python3 scripts/generate_catalog.py --validate-only`
614-
- run `python3 scripts/generate_catalog.py` locally only when you explicitly need a preview of the generated README and manifest
614+
- run `python3 scripts/generate_catalog.py --manifest-output <path>` only when you explicitly need a transient manifest export
615615

616616
For agent and docs changes:
617617

@@ -688,8 +688,8 @@ This repository should behave like a maintainable documentation-and-automation s
688688
- On dense directory pages such as `/skills/`, catalog cards must use a strict shared composition so the grid reads as deliberate: matching heights per row, stable title/summary/meta/action bands, and line clamping where needed instead of ragged card growth.
689689
- Directory cards that represent navigable resources such as categories should make the whole card feel interactive. Do not leave large dead zones where only a small nested button or heading opens the destination.
690690
- The public skills site should visually align with the main ManagedCode website rather than inventing a separate noisy catalog aesthetic. When redesigning the site, inspect live ManagedCode pages first and reuse their calmer premium typography, spacing, accent restraint, and overall tone.
691-
- Public README hero copy must avoid exact skill counts in the top badge and intro line; keep precise counts only in the generated catalog section where they can stay authoritative.
692-
- The README header generator must normalize duplicate generated lines after merges; one canonical top Skills badge and one canonical intro line only.
691+
- Public README copy must avoid exact skill counts and embedded skill tables. Direct catalog browsing to `https://skills.managed-code.com/skills/`.
692+
- Keep one canonical top Skills badge and one canonical intro line in README.
693693
- For internal `SKILL.md`, `AGENT.md`, and `references/` content, optimize first for model loading and token economy. Human clickability or decorative Markdown formatting is secondary unless it materially improves maintenance.
694694

695695
### Dislikes
@@ -707,17 +707,17 @@ This repository should behave like a maintainable documentation-and-automation s
707707
- Bloated spacing on the public landing page, especially in Quick Start shells, step stacks, and sidebar cards.
708708
- Broken skill-card footers where category badges and install commands overlap, wrap awkwardly, or compete for the same horizontal space.
709709
- Exact skill counts in the public README hero badge or intro copy, where they go stale and create pointless merge churn.
710-
- README generators that update only the first header occurrence and leave duplicate Skills badges or duplicate intro lines behind after merges.
710+
- Full generated catalog tables in README; the public site is the canonical browse surface.
711711
- Rewriting concise internal reference paths into verbose Markdown-link syntax when that does not help the model.
712712

713713
## Anti-Patterns
714714

715715
Do not do these:
716716

717717
- Create duplicate skill trees.
718-
- Add frameworks without updating the generated catalog inputs and regenerating README.
718+
- Add frameworks without updating the catalog inputs and validating the public site generator.
719719
- Add watch entries without mapping them to affected skills.
720720
- Hand-edit the state file instead of syncing it.
721-
- Hand-edit the generated README catalog section.
721+
- Embed or regenerate the full catalog in README.
722722
- Use noisy GitHub release watches without filtering mixed release streams.
723723
- Base skill logic on unofficial or stale sources when official docs exist.

CONTRIBUTING.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ The importer auto-discovers upstream plugins from vendored `plugin.json` files a
216216

217217
For imported official upstream skills, keep the upstream skill or agent id unless there is a real compatibility reason to rename it.
218218

219-
Do not hand-edit the generated catalog tables.
219+
Do not add generated catalog tables to `README.md`. The browsable catalog is published at [skills.managed-code.com](https://skills.managed-code.com/).
220220

221221
Instead:
222222

@@ -227,20 +227,21 @@ Instead:
227227
bash scripts/sync_external_catalog_sources.sh
228228
```
229229

230-
3. If you want a local preview of generated outputs, run:
230+
3. Validate the scanned catalog and render a local site preview:
231231

232232
```bash
233-
python3 scripts/generate_catalog.py
233+
python3 scripts/generate_catalog.py --validate-only
234+
python3 scripts/generate_pages.py
234235
```
235236

236-
This preview updates:
237+
The site preview is written to:
237238

238-
- the generated catalog section in [`README.md`](README.md)
239+
- `artifacts/github-pages/`
239240

240-
For metadata-only validation without rewriting generated files:
241+
To export a transient machine-readable release manifest explicitly:
241242

242243
```bash
243-
python3 scripts/generate_catalog.py --validate-only
244+
python3 scripts/generate_catalog.py --manifest-output /path/to/dotnet-skills-manifest.json
244245
```
245246

246247
## Dotnet Tool Distribution

0 commit comments

Comments
 (0)