Community生產力與協作github.com

jezweb/claude-skills

從程式碼庫分析產生專案文件 — ARCHITECTURE.md、API_ENDPOINTS.md、DATABASE_SCHEMA.md。讀取原始碼、schema 檔案、路由與設定,產出精確、結構化的文件。適用於啟動新專案、引導貢獻者,或文件遺失/過時時。觸發詞:'generate docs'、'document architecture'、'create api docs'、'document schema'、'project documentation'、'write architecture doc'。

claude-skills 是什麼?

這是一個專門用於從現有程式碼庫自動產生結構化專案文件的 AI Agent 技能。它能分析原始碼、schema 檔案、路由與設定,基於實際程式碼(而非預期架構)生成 ARCHITECTURE.md、API_ENDPOINTS.md 與 DATABASE_SCHEMA.md 三種文件。支援多種專案類型(Cloudflare Worker、React SPA、Astro、Next.js、Hono API、Python、Rust 等),並能根據專案特徵自動判斷應提供哪些文件。技能工作流程包含:偵測專案類型、詢問使用者要產生的文件、掃描相關原始碼、最後根據內建模板生成文件。它也具備更新現有文件的能力,會比對程式碼變更並保留使用者手動添加的內容,避免直接覆寫。適用於 Claude Code、Cursor 等支援技能安裝的 AI 代理平台。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jezweb/claude-skills/tree/HEAD/plugins/dev-tools/skills/project-docs

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

專案文件產生器

透過分析程式碼庫來產生結構化的專案文件。產出的文件反映實際的程式碼,而非預期的架構。

使用時機

  • 新專案需要初始文件
  • 文件遺失或過時
  • 引導新人加入程式碼庫
  • 重構後的文件更新

工作流程

1. 偵測專案類型

掃描專案根目錄,判斷這是什麼類型的專案:

指示標記專案類型
wrangler.jsonc / wrangler.tomlCloudflare Worker
vite.config.ts + src/App.tsxReact SPA
astro.config.mjsAstro 網站
next.config.jsNext.js 應用程式
包含 hono 的 package.jsonHono API
包含 Hono 的 src/index.tsAPI 伺服器
drizzle.config.ts有資料庫層
schema.ts 或 schema/有資料庫 schema
pyproject.toml / setup.pyPython 專案
Cargo.tomlRust 專案

2. 詢問要產生的內容

我應該產生哪些文件?
1. ARCHITECTURE.md — 系統概覽、技術棧、目錄結構、關鍵流程
2. API_ENDPOINTS.md — 路由、方法、參數、回應格式、驗證
3. DATABASE_SCHEMA.md — 資料表、關聯、遷移、索引
4. 以上全部

只提供符合專案類型的文件。不要為靜態網站提供 API_ENDPOINTS.md。如果沒有資料庫,就不要提供 DATABASE_SCHEMA.md。

3. 掃描程式碼庫

針對每個要求的文件,讀取相關的原始碼檔案:

ARCHITECTURE.md — 掃描:

  • package.json / pyproject.toml(技術棧、依賴)
  • 進入點(src/index.ts、src/main.tsx、src/App.tsx)
  • 設定檔(wrangler.jsonc、vite.config.ts、tsconfig.json)
  • 目錄結構(前兩層)
  • 關鍵模組及其匯出

API_ENDPOINTS.md — 掃描:

  • 路由檔案(src/routes/、src/api/,或內嵌在 index 中)
  • 中介層檔案(驗證、CORS、日誌)
  • 請求/回應類型或 Zod schema
  • 錯誤處理模式

DATABASE_SCHEMA.md — 掃描:

  • Drizzle schema 檔案(src/db/schema.ts、src/schema/)
  • 遷移檔案(drizzle/、migrations/)
  • 原始 SQL 檔案(如果存在)
  • 種子資料檔案(如果存在)

4. 產生文件

將每個文件寫入 docs/ 目錄(如果目錄不存在則建立)。如果專案中已有該目錄的文件,則提供更新選項而非直接覆寫。

對於沒有 docs/ 目錄的小型專案,則將文件寫入專案根目錄。

文件模板

ARCHITECTURE.md

# 架構

## 概述
[一段說明:這個專案做什麼以及它的結構]

## 技術棧
| 層 | 技術 | 版本 |
|-------|-----------|---------|
| 執行環境 | [例如 Cloudflare Workers] | — |
| 框架 | [例如 Hono] | [版本] |
| 資料庫 | [例如 D1 (SQLite)] | — |
| ORM | [例如 Drizzle] | [版本] |
| 前端 | [例如 React 19] | [版本] |
| 樣式 | [例如 Tailwind v4] | [版本] |

## 目錄結構
[附註解的樹狀圖 — 前兩層,包含用途說明]

## 關鍵流程
### [流程 1:例如「使用者驗證」]
[逐步說明:請求 → 中介層 → 處理器 → 資料庫 → 回應]

### [流程 2:例如「資料處理管線」]
[逐步說明在系統中的流程]

## 設定
[關鍵設定檔及其控制內容]

## 部署
[如何部署、需要的環境變數、建置指令]

API_ENDPOINTS.md

# API 端點

## 基礎 URL
[例如 `https://api.example.com` 或相對路徑 `/api`]

## 驗證
[方法:Bearer token、session cookie、API key、無]
[Token 的來源與取得方式]

## 端點

### [群組:例如「使用者」]

#### `GET /api/users`
- **驗證**:必要
- **參數**:`?page=1&limit=20`
- **回應**:`{ users: User[], total: number }`

#### `POST /api/users`
- **驗證**:必要(管理員)
- **主體**:`{ name: string, email: string }`
- **回應**:`{ user: User }`(201)
- **錯誤**:400(驗證失敗)、409(重複的 email)

[為每個端點重複]

## 錯誤格式
[標準錯誤回應格式]

## 速率限制
[如果適用]

DATABASE_SCHEMA.md

# 資料庫 Schema

## 引擎
[例如 Cloudflare D1 (SQLite)、PostgreSQL、MySQL]

## 資料表

### `users`
| 欄位 | 型別 | 約束 | 說明 |
|--------|------|-------------|-------------|
| id | TEXT | PK | UUID |
| email | TEXT | UNIQUE, NOT NULL | 使用者 email |
| name | TEXT | NOT NULL | 顯示名稱 |
| created_at | TEXT | NOT NULL, DEFAULT now | ISO 時間戳 |

### `posts`
[相同格式]

## 關聯
[外鍵、JOIN 模式、串聯規則]

## 索引
[非主鍵索引及其存在原因]

## 遷移
- 產生:`npx drizzle-kit generate`
- 套用到本機:`npx wrangler d1 migrations apply DB --local`
- 套用到遠端:`npx wrangler d1 migrations apply DB --remote`

## 種子資料
[參考種子腳本(如果存在)]

品質規則

  1. 記錄現有項目,而非計劃中的項目 — 讀取實際程式碼,不要虛構端點或資料表
  2. 包含版本資訊 — 從 package.json/lock 檔案中提取,而非根據記憶
  3. 顯示真實的回應格式 — 從程式碼中的 TypeScript 型別或 Zod schema 複製
  4. 保持易於掃讀 — 表格優於段落,程式碼區塊優於散文
  5. 不要重複 CLAUDE.md 的內容 — 如果架構資訊已在 CLAUDE.md 中,則將其移至 ARCHITECTURE.md,或直接引用
  6. 標記缺口 — 如果發現未記載的路由或用途不明的資料表,請以 <!-- TODO: document purpose --> 註記

更新現有文件

如果文件已存在:

  1. 讀取現有文件
  2. 與目前的程式碼庫進行比對
  3. 向使用者顯示變更內容(新端點、已移除的資料表、更新的技術棧)
  4. 套用更新,同時保留任何手寫的備註或章節

永遠不要靜默地覆寫使用者已添加到文件中的自訂內容。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

jezweb/ai-image-generator

Generate AI images using Gemini or GPT APIs directly. Covers model selection (Gemini for scenes; GPT Image 2 for text rendering, batch variations, multi-reference compositing; GPT Image 1.5 for transparent icons), the 5-part prompting framework, API calling patterns, multi-turn editing, and quality assurance. Produces photorealistic scenes, icons, illustrations, OG images, posters, infographics, and product shots. Use when building websites that need images, creating marketing assets, or generating visual content. Triggers: 'generate image', 'ai image', 'create hero image', 'make an icon', 'generate illustration', 'create og image', 'poster', 'infographic', 'image variations', 'gpt-image-2', 'ai art', 'image generation'.

jezweb/aussie-business-english

Australian business English writing style for professional communications — warm, direct, EN-AU spelling (colour, organise, centre). Use whenever the user is writing for an Australian audience: emails, chat messages, proposals, client communications, blog posts, web copy, or any business writing. Apply to drafting, editing, and tone-checking professional text.

jezweb/claude-skills

Generate a complete, deployable landing page from a brief. Produces a single self-contained HTML file with Tailwind CSS (via CDN), responsive design, dark mode, semantic HTML, and OG meta tags. Sections: hero with CTA, features, social proof, pricing (optional), FAQ, footer. Use when building a marketing page, product launch page, coming soon page, or any standalone landing page. Triggers: 'landing page', 'create a page', 'marketing page', 'launch page', 'coming soon page', 'one-page site'.

jezweb/claude-skills

Agent skill at plugins/social-media/skills/social-media-posts/SKILL.md

jezweb/cloudflare-worker-builder

Scaffold and deploy Cloudflare Workers with Hono routing, Vite plugin, and Static Assets. Describe project, scaffold structure, configure bindings, deploy. Use whenever the user wants to create a Worker project, set up Hono on Cloudflare, configure D1 / R2 / KV / Queues bindings, or troubleshoot Worker export syntax, API route conflicts, HMR issues, or deployment failures.

jezweb/color-palette

Generate complete, accessible colour palettes from a single brand hex. Produces 11-shade scale (50-950), semantic tokens, dark mode variants, Tailwind v4 CSS output, WCAG contrast checks. Use whenever the user supplies a brand hex and asks for a palette, mentions setting up a design system, wants Tailwind theme colours from a brand colour, or asks to check colour accessibility / contrast.

jezweb/d1-drizzle-schema

Generate Drizzle ORM schemas for Cloudflare D1 databases with correct D1-specific patterns. Produces schema files, migration commands, type exports, and DATABASE_SCHEMA.md documentation. Handles D1 quirks: foreign keys always enforced, no native BOOLEAN/DATETIME types, 100 bound parameter limit, JSON stored as TEXT. Use when creating a new database, adding tables, or scaffolding a D1 data layer.

jezweb/elevenlabs-agents

Build conversational AI voice agents on the ElevenLabs platform. Configure agent + tools + knowledge base, integrate SDK (React / React Native / Swift / JS / server-side), test, deploy. Use whenever the user mentions ElevenLabs, building a voice agent, an AI phone system, an AI receptionist, conversational AI, or troubleshooting deprecated @11labs packages, webhook errors, CSP violations, localhost allowlist, or tool parsing errors.

jezweb/fastapi

Build Python APIs with FastAPI, Pydantic v2, and SQLAlchemy 2.0 async. Covers project structure, JWT auth, validation, and database integration with uv package manager. Prevents 7 documented errors. Use when: creating Python APIs, implementing JWT auth, or troubleshooting 422 validation, CORS, async blocking, form data, background tasks, or OpenAPI schema errors.

jezweb/favicon-gen

Generate custom favicons from logos, text, or brand colours. Produces favicon.svg, favicon.ico, apple-touch-icon.png, icon-192/512.png, and web manifest. Use whenever the user wants a favicon, mentions replacing a CMS default favicon, converting a logo into a favicon, creating branded initials icons, or troubleshooting favicon not displaying / iOS black square / missing manifest.

jezweb/github-release

Prepare and publish GitHub releases. Sanitizes code for public release (secrets scan, personal artifacts, LICENSE/README validation), creates version tags, and publishes via gh CLI. Trigger with 'release', 'publish', 'open source', 'prepare for release', 'create release', or 'github release'.

jezweb/google-apps-script

Build Google Apps Script automation for Sheets and Workspace. Custom menus, triggers (onEdit / time-driven / form submit), dialogs, sidebars, email batches, PDF export, external API. Use whenever the user wants to automate a Google Sheet, build a Sheets menu / sidebar / dialog, hit a Sheets row from email or a webhook, schedule a Sheets workflow, or asks 'how do I script this in Sheets'.

jezweb/google-chat-messages

Send Google Chat messages via incoming webhooks — text, rich cards (cardsV2), threaded replies. TypeScript types, card builder utility, widget reference inline. Use whenever the user wants to post to Google Chat from a script, build a chatbot reply, send a notification card, build a Google Chat webhook integration, or troubleshoot card / threading issues.

jezweb/hono-api-scaffolder

Scaffold Hono API routes for Cloudflare Workers. Produces route files, middleware, typed bindings, Zod validation, error handling, and API_ENDPOINTS.md documentation. Use after a project is set up with cloudflare-worker-builder or vite-flare-starter, when you need to add API routes, create endpoints, or generate API documentation.

jezweb/icon-set-generator

Generate cohesive, project-specific SVG icon sets for websites and applications. Use this skill whenever the user needs custom icons, an icon set for a website or app, icons for a client project, or mentions needing SVG icons that look consistent together. Also trigger when the user describes a project and icons would naturally be part of the deliverable — e.g. 'I'm building a site for a plumber' implies they'll need service icons. Trigger on: 'icons for', 'icon set', 'custom icons', 'SVG icons', 'make me icons', 'I need icons', 'website icons', 'project icons', or any request for consistent visual assets for a web project. Produces individual SVG files with a consistent style engine, not generic icon library lookups.

jezweb/image-processing

Process images for web development — resize, crop, trim whitespace, convert formats (PNG/WebP/JPG), optimise file size, generate thumbnails, create OG card images. Uses Pillow (Python) — no ImageMagick needed. Trigger with 'resize image', 'convert to webp', 'trim logo', 'optimise images', 'make thumbnail', 'create OG image', 'crop whitespace', 'process image', or 'image too large'.

jezweb/mcp-builder

Build MCP servers in Python with FastMCP. Define tools / resources / prompts, build the server, test locally, deploy to FastMCP Cloud or Docker. Use whenever the user mentions building an MCP server, exposing tools to LLMs, FastMCP, building a Claude integration, or troubleshooting FastMCP module-level server, storage, lifespan, middleware, OAuth, or deployment errors.

jezweb/nextjs

Build Next.js 16 apps with App Router, Server Components/Actions, Cache Components ("use cache"), and async route params. Includes proxy.ts and React 19.2. Prevents 25 documented errors. Use when: building Next.js 16 projects, or troubleshooting async params (Promise types), "use cache" directives, parallel route 404s, Turbopack issues, i18n caching, navigation throttling.

jezweb/project-health

All-in-one project configuration and health management. Sets up new projects (settings.local.json, CLAUDE.md, .gitignore), audits existing projects (permissions, context quality, MCP coverage, leaked secrets, stale docs), tidies accumulated cruft, captures session learnings, and adds permission presets. Uses sub-agents for heavy analysis to keep main context clean. Trigger with 'project health', 'check project', 'setup project', 'kickoff', 'bootstrap', 'tidy permissions', 'clean settings', 'capture learnings', 'audit context', 'add python permissions', or 'init project'.

jezweb/react-hook-form-zod

Build type-safe validated forms using React Hook Form v7 and Zod v4. Single schema works on client and server with full TypeScript inference via z.infer. Use when building forms, multi-step wizards, or fixing uncontrolled warnings, resolver errors, useFieldArray issues, performance problems with large forms.

相關技能