From 6a6e2c6f17c8986ccbdd93d9e8c81c8cbdf6d0c3 Mon Sep 17 00:00:00 2001
From: Leon Cheng
Date: Fri, 21 Aug 2026 03:06:12 -0400
Subject: [PATCH] guides: lead the index with the Agent Skills card
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The catalogue is the newest work, so it takes the most prominent slot
instead of the last one #241 gave it. That puts an inlined article above
the getAllGuides() cards, which are sorted by updatedAt descending, so
the placement is called out in a comment: it reads like a sorting bug
otherwise and would get "fixed" back.
A test pins the new order, since nothing else would catch a silent
re-sort. The existing scoped "GitHub ↗" lookups still resolve, as both
already narrow to their own .
Closes #255
---
.../guides/routes/GuidesIndexRoute.tsx | 87 ++++++++++---------
.../guides/routes/guides-route.test.tsx | 18 ++++
2 files changed, 64 insertions(+), 41 deletions(-)
diff --git a/src/features/guides/routes/GuidesIndexRoute.tsx b/src/features/guides/routes/GuidesIndexRoute.tsx
index 9e29c471..f547929b 100644
--- a/src/features/guides/routes/GuidesIndexRoute.tsx
+++ b/src/features/guides/routes/GuidesIndexRoute.tsx
@@ -28,11 +28,15 @@ export default function GuidesIndexRoute(): ReactElement {
- {guides.map((guide) => (
-
- ))}
- {/* Interactive page, not a markdown guide, so it is listed here
- explicitly instead of coming from getAllGuides(). */}
+ {/* Deliberately rendered FIRST, above the date-sorted markdown guides
+ from getAllGuides() — this is not a sorting bug, so please do not
+ "fix" it by moving the card back down. The catalogue is the newest
+ work and gets the most prominent slot on the page (issue #255,
+ overriding the bottom placement chosen in #241).
+
+ Hosted in its own repository and published to
+ leoncheng.dev/agent-skills, so this card links out of the SPA with
+ a plain anchor rather than a router Link. */}
- Control local OpenCode sessions from your phone over a private
- tailnet, with ntfy pushes that deep-link into the exact session.
- Interactive setup builder, daily commands, notification
- customization, and troubleshooting on one page.
+ A catalogue of portable agent skills: reusable, on-demand
+ workflow instructions a coding agent loads only when a task
+ calls for them. Written for OpenCode and compatible with any
+ agent that reads a SKILL.md file, so the same skill works in
+ Claude Code or Cursor. Every skill page carries copy-paste
+ install commands.
- {/* Hosted in its own repository and published to
- leoncheng.dev/agent-skills, so this card links out of the SPA
- with a plain anchor rather than a router Link. It is listed last
- because everything above it is a first-party page on this site. */}
+ {guides.map((guide) => (
+
+ ))}
+ {/* Interactive page, not a markdown guide, so it is listed here
+ explicitly instead of coming from getAllGuides(). */}
- A catalogue of portable agent skills: reusable, on-demand
- workflow instructions a coding agent loads only when a task
- calls for them. Written for OpenCode and compatible with any
- agent that reads a SKILL.md file, so the same skill works in
- Claude Code or Cursor. Every skill page carries copy-paste
- install commands.
+ Control local OpenCode sessions from your phone over a private
+ tailnet, with ntfy pushes that deep-link into the exact session.
+ Interactive setup builder, daily commands, notification
+ customization, and troubleshooting on one page.