From paxus-skills
Scaffold a new project under an existing Paxus client. Creates ~/paxus-ai/clients/{client}/projects/{project}/ with CLAUDE.md, STATUS.md, and the standard subfolders (inputs/, deliverables/, notes/). Run after /onboard-client when you're ready to start a specific piece of work — monthly close, board package, advisory engagement, tax filing, SOP, dashboard build, or ad-hoc analysis.
How this skill is triggered — by the user, by Claude, or both
Slash command
/paxus-skills:onboard-projectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are setting up a new project folder under an existing client in the operator's `~/paxus-ai/clients/{client}/projects/` workstation. Follow the five phases below in order. Be conversational and warm — match the Paxus voice from the firm rules.
You are setting up a new project folder under an existing client in the operator's ~/paxus-ai/clients/{client}/projects/ workstation. Follow the five phases below in order. Be conversational and warm — match the Paxus voice from the firm rules.
[TBD — operator to fill] in the generated file. Never invent details.project-
Show the operator the derived slug and ask "Use {slug}, or want a different one?" before creating anything.~/paxus-ai/clients/, stop and tell the operator: "I don't see any clients yet. Run /onboard-client first to bring your client in, then come back to /onboard-project."~/paxus-ai/clients/{client-slug}/projects/{project-slug}/ already exists, stop and ask the operator: open the existing folder, create with a numeric suffix ({slug}-2), or abort.templates/ in this skill folder. Read them, replace each {{PLACEHOLDER}} with the operator's answer; if unknown, use [TBD — operator to fill].templates/ is missing or unreadable, stop and tell the operator the skill is corrupted — they should re-run the install from the paxus-skills repo. Do not try to generate templates from memory.Step 1.1 — Identify the client.
List the existing client folders by reading ~/paxus-ai/clients/. Show them to the operator:
"Which client is this project for? I see: {list of client slugs}."
If no client folders exist at all, stop with the message above under "Client must exist first."
Step 1.2 — Ask three questions in one message.
Once the client is chosen, ask:
Wait for all three answers. From the project name, derive the slug and confirm: "Use {slug}, or want a different one?"
If they provided context, read it carefully. Use it to pre-fill Phase 2 answers — don't migrate verbatim, but let it inform the answers you offer.
Ask each question individually. After the operator answers, briefly confirm what you captured before moving on. If Phase 1 context pre-filled an answer, present it as "Based on what you shared, this looks like X — keep it or change?"
Questions:
If the operator says "I don't know" or "skip," accept it. Write [TBD — operator to fill] at that field.
~/paxus-ai/clients/{client-slug}/projects/{project-slug}/inputs/ — for raw source files (QBO exports, bank statements, transcripts, source docs the operator drops in)deliverables/ — for work product going out (drafts, client-facing files)notes/ — for working notes and meeting recaps~/paxus-ai/clients/{client-slug}/CLAUDE.md (the H1 heading, typically # {Client Name} — Claude instructions or similar). If not findable, convert the slug back to a readable name (e.g., mary-abbott-house → Mary Abbott House) and ask the operator to confirm.CLAUDE.md from templates/project-claude-md.md, substituting:
{{PROJECT_NAME}} — the project name{{CLIENT_NAME}} — the client's readable name{{PROJECT_TYPE}} — from Phase 1 Q2{{PROJECT_PURPOSE}} — from Phase 2 Q1{{END_STATE}} — from Phase 2 Q2{{KEY_DELIVERABLES}} — from Phase 2 Q3{{DEADLINES}} — from Phase 2 Q4{{CONTROLLER_REVIEW}} — from Phase 2 Q5 (reformat as a complete sentence){{CONSTRAINTS}} — from Phase 2 Q6{{ONBOARD_DATE}} — today's date (YYYY-MM-DD){{OPERATOR_NAME}} — operator's first name (lookup rules below)STATUS.md from templates/project-status-md.md, substituting:
{{PROJECT_NAME}}, {{CLIENT_NAME}}, {{PROJECT_TYPE}}{{PRIMARY_DEADLINE}} — pull from Phase 2 Q4 (first deadline mentioned){{CURRENT_PHASE}} — default to "Scaffolded, ready to start."{{NEXT_ACTION}} — ask the operator one more question: "What's the first thing you want to do in this project?" Use their answer here.{{OPEN_ITEMS}} — default to "(none yet)"{{ONBOARD_DATE}} — today's dateOperator name lookup:
~/.claude/CLAUDE.md for a clear self-identification (e.g., # CLAUDE.md — Cassie Rigsby). If found, use that name.anonymous and continue.Ask two questions, one at a time:
If they say "nothing" to both, accept and move on.
If they have feedback, append to ~/.claude/skills/onboard-project/learnings.md with this format:
## {YYYY-MM-DD} — {operator first name} — project: {client-slug}/{project-slug}
- [LEARNING] {what they said about #1}
- [SUGGESTION] {what they said about #2}
If learnings.md doesn't exist, create it with a one-line header: # /onboard-project — Learnings followed by the new entry.
Show the operator:
tree ~/paxus-ai/clients/{client-slug}/projects/{project-slug}/ (or find/ls -R if tree isn't installed). On Windows: use the equivalent directory listing.inputs/ so Claude has them when you work in this folder."STATUS.md and refine the next action as you go."End with one line: "Project scaffolded: {project-name} for {client-name}. Folder at ~/paxus-ai/clients/{client-slug}/projects/{project-slug}/. Good luck."
~/paxus-ai/clients/{client-slug}/projects/{project-slug}/CLAUDE.md ← from templates/project-claude-md.md~/paxus-ai/clients/{client-slug}/projects/{project-slug}/STATUS.md ← from templates/project-status-md.mdAlways create these subfolders (even if empty):
~/paxus-ai/clients/{client-slug}/projects/{project-slug}/inputs/~/paxus-ai/clients/{client-slug}/projects/{project-slug}/deliverables/~/paxus-ai/clients/{client-slug}/projects/{project-slug}/notes/The firm rules and client-level rules are already in the global CLAUDE.md and the client CLAUDE.md — don't duplicate them. The project CLAUDE.md only captures project-specific context.
npx claudepluginhub benalihq/paxus-skills --plugin paxus-skillsSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.