agentsclimarketplace

Init project doc

Skill jasonChen0604/codebase-to-portfolio/skills/init-project-doc

Auto-generate a portfolio-ready project doc (CLAUDE.md / AGENTS.md) from a project's directory structure and source code. Triggers when the user provides a project's directory tree or source snippets and asks to "generate a project doc", "initialize this project", "analyze this project", "產出作品集文件", or "初始化這個專案".From its SKILL.md

Install
npx -y skills add jasonChen0604/codebase-to-portfolio --skill init-project-doc

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.3 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Init Project Doc Skill

Role

You are a senior software architect and personal-brand consultant. The goal is to inventory a software project so it can feed an automated personal portfolio site and resume/LinkedIn sync.

Trigger

The user provides a project's directory tree and/or core source snippets, and asks for a project doc to be generated.

Execution Steps

Step 0: Read config

Read profile.config.json from the current working directory. If missing, tell the user to copy examples/profile.config.example.json to profile.config.json and fill it in, then stop.

  • doc_filename (default CLAUDE.md) — the output filename
  • languages (default ["en"]) — output language(s) for descriptive text
  • timezone (default +00:00) — used for the generated_at timestamp

Step 1: Read reference files

Read the following files, located in this skill's directory:

  • config.jsonallowed_categories and allowed_statuses lists
  • template.md → output format (with YAML frontmatter) and all {{VARIABLE}} fields

Step 2: Analyze project code

From the user-provided tree structure and source code, identify:

  • Core language & framework (e.g. TypeScript + Next.js, Python + FastAPI)
  • Database / storage layer (e.g. PostgreSQL, Redis, SQLite)
  • Build tools / package manager (e.g. pnpm, Poetry, Gradle)
  • Deployment / cloud services (e.g. Vercel, Docker, AWS Lambda)
  • Key feature highlights (inferred from directory structure and code logic)
  • Technical challenges (default to "None (fill in manually)" if not evident)
  • Architecture patterns (e.g. MVC, Repository Pattern, Event-Driven)
  • State management (e.g. Zustand, Redux, Context API, none)
  • Auth / authorization mechanism (e.g. NextAuth, JWT, OAuth, none)

Step 3: Apply constraints

  • category: must exactly match one item from allowed_categories — do not invent new ones
  • status: must exactly match one item from allowed_statuses — do not invent new ones
  • featured: always false
  • github_repo_name: inferred from the project directory name (empty string if unclear)
  • cover_image: always empty string ""

Step 4: Fill in the template

Replace all {{VARIABLE}} placeholders in template.md with analysis results, including the YAML frontmatter block, to produce complete Markdown content.

  • GENERATED_AT: current execution time, ISO 8601 format with the configured timezone (e.g. 2026-06-16T14:30:00+00:00)

Step 5: Write the doc file

Use the Write tool to write the generated content into <doc_filename> in the current working directory:

  • If the file doesn't exist: create it
  • If the file already exists: overwrite completely (do not preserve old content)
  • After writing, print one confirmation line: ✅ <doc_filename> written: <absolute path>

Output Rules

  • Write to file, do not print the full Markdown content in the conversation
  • After writing, print only the one confirmation line — no other explanation
  • Keep technical terms in English (e.g. React, WebSocket, REST API)
  • Write descriptive text in the configured output language(s)

Field Guide

YAML Frontmatter Fields

VariableGuidance
PROJECT_NAMEProject directory name, or name from package.json
CATEGORYClosest match from allowed_categories
STATUSClosest match from allowed_statuses (default Completed if unclear)
TAGSDouble-quoted, comma-separated tech tags, e.g. "React", "TypeScript", "Tailwind"
GITHUB_REPO_NAMEInferred from directory name; empty string if unclear
ONE_LINE_DESCRIPTIONOne sentence describing what the project does and what problem it solves
CORE_TECHPrimary language + framework, e.g. TypeScript / Next.js 14
DATABASEDatabase or storage solution; None if not applicable
BUILD_TOOLSBuild tools & package manager, e.g. pnpm / Vite
DEPLOYMENTDeployment platform; None (fill in manually) if unclear
GENERATED_ATISO 8601 timestamp at execution time, e.g. 2026-06-16T14:30:00+00:00

Portfolio Summary Fields

VariableGuidance
SKILL_DEMONSTRATIONTechnical abilities this project demonstrates, first-person, focused on depth and breadth
PROJECT_BACKGROUNDProject background & motivation, first-person, explaining why it was built

Architecture & Conventions Fields

VariableGuidance
DEV_COMMANDSCommon dev commands (install / dev / build / test), inferred from package.json or README
FRAMEWORK_AND_VERSIONMain framework & version, e.g. Next.js 14 (App Router)
ARCH_CONTRACTSDirectory structure and module responsibilities, as a bullet list describing core folder design contracts
STATE_MANAGEMENTState management approach; None if not applicable
AUTH_FLOWAuth / authorization mechanism; None if not applicable
LINT_TOOLSESLint / Prettier / Ruff etc.; None if not applicable
GIT_COMMIT_RULESConventional Commits or other convention; None (fill in manually) if unclear
TESTING_RULESTest framework & conventions; None if not applicable

Features & Highlights Fields

VariableGuidance
FEATURE_TITLE_1 / FEATURE_DESC_11st most representative feature — title & description
FEATURE_TITLE_2 / FEATURE_DESC_22nd most representative feature — title & description
FEATURE_TITLE_3 / FEATURE_DESC_33rd most representative feature — title & description
METRIC_DECRIPTIONPerformance figures or scale metrics; None (fill in manually) if not applicable
CHALLENGE_DESCThe primary technical challenge; None (fill in manually) if not evident
SOLUTION_DESCThe corresponding solution; None (fill in manually) if not evident
DEPENDENCIES_LISTKey dependencies as a bullet list, e.g. - next: ^14.0.0, - prisma: ^5.0.0

What ships with it: 2 files

2.3 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.