Batch init
Turn your entire codebase history into a portfolio-ready tech profile — with any AI coding agent (Claude Code, Codex, Copilot, Cursor).
npx -y skills add jasonChen0604/codebase-to-portfolio --skill batch-initAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 29 days oldThe repository was created 29 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 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.
What its author says it does
Copied from the file, not written here
Batch-initialize project docs for valid projects in projects-list.md that are missing a doc file or have an outdated version. Triggers when the user says "batch init", "batch initialize", "update project docs", "批次初始化", or "initialize unfinished projects".
SKILL.md
3.6 KB, as published. Nobody here has run it
Batch Init Skill
Goal
Find valid projects in projects-list.md that need their project doc initialized or updated, run the init-project-doc skill in parallel (max 3 per batch), and update projects-list.md after each batch completes.
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)agent_command— the shell command template used to runinit-project-docnon-interactively in a project directory. Default:claude --dangerously-skip-permissions -p "/init-project-doc". Other CLIs can be substituted, e.g.codex exec "/init-project-doc"(seedocs/installation.mdfor per-tool examples). This flag skips interactive permission/trust prompts — only use it in directories you trust.
Execution Steps
Step 1: Get the latest version number
Run the /get-latest-version skill to get the version string to use as the "latest version" baseline.
- Return format is a string (e.g.
"2.0") - If
noneis returned, all projects with a doc file are treated as "outdated"
Step 2: Filter candidate projects
From the table in projects-list.md, filter rows that satisfy all of the following:
- "Active" column is ✅ (skip ❌)
- Matches at least one of:
- Doc-file column is ❌ (not yet initialized)
- Doc-file column is ✅ but "Version" column is not the latest (including
—)
Sort by table order, take the first N (default N=5; user can specify in prompt, e.g. "batch init 3").
Step 3: Run init-project-doc in parallel (max 3 per batch)
Split candidate projects into batches of max 3, run within each batch in parallel, batches run sequentially:
cd <project path> && <agent_command>
<project path>is the "Path" column value from the table; expand~to$HOME- Issue all 3 commands in the same batch simultaneously via Bash tool with
run_in_background: true, then wait for all to complete - After each batch finishes, read each project's
<doc_filename>frontmatter to getskill_version, then proceed to the next batch
Step 4: Update projects-list.md
After each batch completes, immediately update the corresponding rows in projects-list.md:
- Doc-file column → ✅
- "Version" column →
skill_versionvalue read from the doc file (use—if frontmatter field is missing) - "Description" column →
one_line_descriptionvalue from the doc file frontmatter (keep original if missing)
Update method: Edit projects-list.md directly, match rows by the "Path" column, replace the row.
Step 5: Report results
After all batches complete, output a summary:
✅ Batch init complete
- Projects processed: N
- Success: M
- Failed: K (list names)
- projects-list.md updated
Notes
- Parallelism: max 3 projects per batch run simultaneously; batches are sequential
- Expand
~in paths to the full absolute path via$HOME - If a project fails (non-zero exit code), record the failure and continue with remaining projects — do not abort the entire batch
- Version comparison:
2.0>1.0— use numeric comparison, not string comparison - Show the candidate list to the user for confirmation before starting execution