-
Notifications
You must be signed in to change notification settings - Fork 1
[Slice 3] new-team-member end-to-end (multimode) #24
Copy link
Copy link
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestready-for-agentScoped, dependencies clear, acceptance criteria explicit — grabbable by an AFK agentScoped, dependencies clear, acceptance criteria explicit — grabbable by an AFK agent
Milestone
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestready-for-agentScoped, dependencies clear, acceptance criteria explicit — grabbable by an AFK agentScoped, dependencies clear, acceptance criteria explicit — grabbable by an AFK agent
Type
Fields
Give feedbackNo fields configured for issues without a type.
Parent
#21
What to build
Add the
team-membercontent type end-to-end, reusing the Notion infra from #23. Introduces thecross-ref-resolvermodule (queries against the team registry) — used by later slices forauthorandhiringContactchecks.Concretely:
scripts/schemas/team-member.schema.js— Zod schema withname,role{fr,en},track,avatar,bio{fr,en},linkedin?,displayOrder?,active?,featuredOnAboutUs?,color?(yellow|coral|sky). Bothrole.fr/enandbio.fr/enare required.scripts/cross-ref-resolver.js— loadsteam/*.mdonce, exposesisValidTeamSlug(slug),getActiveTeamMembers(). Pure interface.scripts/validate-content.jsto validate theteam/directory..claude/skills/new-team-member/SKILL.md— multimode (Notion URL or interview). Interview enforces both languages, asks for avatar via path drag&drop, copies toassets/team/<slug>.jpg.docs/notion-templates/team-member.md— property mapping + NotionAI prompt for the Team DB.Acceptance criteria
pnpm validatenow coversteam/and passes on current data (or surfaces violations with clear messages).team-member.schema.jsandcross-ref-resolver.jspass./new-team-member <notion-url>imports a team member from Notion with bilingual fields./new-team-member(no arg) runs the interview and refuses to write a member without bothfrandenroleandbio.docs/notion-templates/team-member.mdcontains the NotionAI scaffolding prompt.Blocked by