Install
$ agentstack add skill-jasonchen0604-codebase-to-portfolio-init-project-doc ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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(defaultCLAUDE.md) — the output filenamelanguages(default["en"]) — output language(s) for descriptive texttimezone(default+00:00) — used for thegenerated_attimestamp
Step 1: Read reference files
Read the following files, located in this skill's directory:
config.json→allowed_categoriesandallowed_statusesliststemplate.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 fromallowed_categories— do not invent new onesstatus: must exactly match one item fromallowed_statuses— do not invent new onesfeatured: alwaysfalsegithub_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 configuredtimezone(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 `` 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:
✅ written:
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
| Variable | Guidance | |------|---------| | PROJECT_NAME | Project directory name, or name from package.json | | CATEGORY | Closest match from allowed_categories | | STATUS | Closest match from allowed_statuses (default Completed if unclear) | | TAGS | Double-quoted, comma-separated tech tags, e.g. "React", "TypeScript", "Tailwind" | | GITHUB_REPO_NAME | Inferred from directory name; empty string if unclear | | ONE_LINE_DESCRIPTION | One sentence describing what the project does and what problem it solves | | CORE_TECH | Primary language + framework, e.g. TypeScript / Next.js 14 | | DATABASE | Database or storage solution; None if not applicable | | BUILD_TOOLS | Build tools & package manager, e.g. pnpm / Vite | | DEPLOYMENT | Deployment platform; None (fill in manually) if unclear | | GENERATED_AT | ISO 8601 timestamp at execution time, e.g. 2026-06-16T14:30:00+00:00 |
Portfolio Summary Fields
| Variable | Guidance | |------|---------| | SKILL_DEMONSTRATION | Technical abilities this project demonstrates, first-person, focused on depth and breadth | | PROJECT_BACKGROUND | Project background & motivation, first-person, explaining why it was built |
Architecture & Conventions Fields
| Variable | Guidance | |------|---------| | DEV_COMMANDS | Common dev commands (install / dev / build / test), inferred from package.json or README | | FRAMEWORK_AND_VERSION | Main framework & version, e.g. Next.js 14 (App Router) | | ARCH_CONTRACTS | Directory structure and module responsibilities, as a bullet list describing core folder design contracts | | STATE_MANAGEMENT | State management approach; None if not applicable | | AUTH_FLOW | Auth / authorization mechanism; None if not applicable | | LINT_TOOLS | ESLint / Prettier / Ruff etc.; None if not applicable | | GIT_COMMIT_RULES | Conventional Commits or other convention; None (fill in manually) if unclear | | TESTING_RULES | Test framework & conventions; None if not applicable |
Features & Highlights Fields
| Variable | Guidance | |------|---------| | FEATURE_TITLE_1 / FEATURE_DESC_1 | 1st most representative feature — title & description | | FEATURE_TITLE_2 / FEATURE_DESC_2 | 2nd most representative feature — title & description | | FEATURE_TITLE_3 / FEATURE_DESC_3 | 3rd most representative feature — title & description | | METRIC_DECRIPTION | Performance figures or scale metrics; None (fill in manually) if not applicable | | CHALLENGE_DESC | The primary technical challenge; None (fill in manually) if not evident | | SOLUTION_DESC | The corresponding solution; None (fill in manually) if not evident | | DEPENDENCIES_LIST | Key dependencies as a bullet list, e.g. - next: ^14.0.0, - prisma: ^5.0.0 |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jasonChen0604
- Source: jasonChen0604/codebase-to-portfolio
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.