Skip to content

[Slice 6] new-job end-to-end (multimode) #27

@wab

Description

@wab

Parent

#21

What to build

Add the job content type end-to-end. Uses the team cross-ref from #24 to validate hiringContact. Introduces the structured-body skill (jobs require specific anchored sections).

Concretely:

  • Create scripts/schemas/job.schema.js — Zod schema with title, icon, contractType, seniority, location, startDate, hiringContact (team slug), tallyFormId, status, publishedAt.
  • Extend scripts/cross-ref-resolver.js to validate hiringContact against the team registry (reuses isValidTeamSlug).
  • Tests.
  • Extend scripts/validate-content.js to validate jobs/fr/.
  • Create .claude/skills/new-job/SKILL.md — multimode. Body template enforces the anchored sections: ### La Mission {% #mission %}, ### Responsabilités {% #responsabilites %}, ### Profil recherché {% #profil %}. Interview picker for hiringContact lists active team members.
  • Create docs/notion-templates/job.md — property mapping + NotionAI prompt + the body template structure.

Acceptance criteria

  • pnpm validate covers jobs/fr/ and rejects a job with an unknown hiringContact.
  • Vitest tests for job.schema.js pass.
  • /new-job <notion-url> imports a job from Notion with the correct anchored body sections.
  • /new-job (no arg) runs the interview and produces a body with the three required sections.
  • docs/notion-templates/job.md contains the NotionAI scaffolding prompt and the body template.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestready-for-agentScoped, dependencies clear, acceptance criteria explicit — grabbable by an AFK agent

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions