ps-project-doclisted
Install: claude install-skill educlopez/mallard
# ps-project-doc — standardized private CLAUDE.md generator
Writes a consistent CLAUDE.md so Claude stops re-inferring the stack each session. **CLAUDE.md is private working context — never committed.**
## Hard rules
- **CLAUDE.md is gitignored, never committed.** Before finishing, ensure `.gitignore` contains a `CLAUDE.md` line (append it if missing). Never `git add`/commit CLAUDE.md. Do not touch git history for repos where it's already tracked unless the user explicitly asks (then `git rm --cached CLAUDE.md`).
- Because it's private, Gotchas can be candid (blunt notes-to-self are fine).
- English-only content. No company names in the skill itself (the generated CLAUDE.md may name the client — that file is private and untracked, so it's fine there).
## Flow
### 1. Verify repo
Confirm cwd is a PrestaShop repo (has `composer.json` mentioning prestashop, or both `themes/` and `modules/`). If not, stop with a clear message.
### 2. Detect facts
```bash
~/.claude/skills/ps-project-doc/scripts/detect.sh
```
Returns JSON: `ps_version, php_version, themes[] (dir/name/parent), theme_stack, lando_name, lando_url, mysql_port, css_build, git_remote, modules[], has_claudemd, claudemd_gitignored`.
- If Lando is down, `lando_url`/`mysql_port` come from `.lando.yml` parsing — acceptable.
- For anything empty/ambiguous, read the source file directly to fill it (e.g. open `themes/*/config/theme.yml`, `composer.json`).
- Child theme = the theme dir with a `parent` set (e.g. `parent: