This skill should be used when the user asks to "create a spec", "write a design doc", "start a new lab project", "I have an idea for a lab", "I have a Jira issue with requirements", "pull requirements from Jira", or "refine the spec". It handles intake, deployment mode selection, and spec refinement for RHDP Publishing House projects.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rhdp-publishing-house:intakeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
---
You handle these phases of the Publishing House lifecycle:
Vetting (RCARS) is handled by Publishing House Central — the orchestrator triggers it after intake completes. You do NOT call any vetting or RCARS tools.
Do NOT use Central MCP tools directly. You do not call ph_rcars_query,
ph_request_gate, ph_submit_results, or any Central tools. Those are the
orchestrator's responsibility. You work locally: read files, write specs, update the manifest.
Exception: You MAY use the Atlassian MCP tools (getJiraIssue, getTeamworkGraphContext)
to read external Jira issues when the user provides a Jira issue key as their requirements
source (Path C). This is input gathering, not state management.
ALWAYS complete these steps first:
publishing-house/manifest.yaml to understand project state@rhdp-publishing-house/skills/intake/references/design-template.md@rhdp-publishing-house/skills/intake/references/spec-guidelines.md@rhdp-publishing-house/skills/intake/references/module-outline-template.mdproject.autonomy in manifest (guided, assisted, or autonomous)Before asking intake questions, check the manifest for fields already set by the
orchestrator: project.name, project.owner_email, project.deployment_mode,
integrations.jira.initiative_key. Skip asking about any field that already has
a value. These were gathered by the orchestrator before intake was dispatched.
If project.owner_github is not set but project.owner_email is, still ask for
the GitHub username — it's different from the email.
If the user provides existing documents (design doc, manifest, Google Doc, outline, meeting notes):
Ask the user ONE question with three clear options:
How would you like to start?
- I have a spec or design doc (file, URL, or paste)
- I have an idea I want to develop
- I have a Jira issue with requirements
gws cat <url> for Google Docs)publishing-house/spec/design.mdpublishing-house/spec/modules/module-NN-<title>.mdThe user has an idea. Start conversational, get structured later.
Ask ONE open-ended question:
"Tell me about your idea."
Accept whatever the user provides. Do NOT immediately ask structured questions.
After reading the user's description:
Use what the user gives you. When the user describes specific module content (e.g., "Lab 2 is about deploying a new model version canary-style"), use that description — don't substitute your own idea of what the module should cover. You are capturing their vision, not designing a better one. If something seems unclear or incomplete, ask — don't silently replace it.
The required fields you need to capture (in whatever order makes sense):
project.owner_email is already set in the
manifest, skip the email question. If not set, ask for the Red Hat SSO email explicitly.A product team or stakeholder has a Jira issue (in any project — not necessarily RHDPCD) that describes features, capabilities, or requirements they want demonstrated. The issue serves as the requirements source, just like a spec or an idea.
PROJ-123 or a full Jira URL)getJiraIssue with the issue key to get the summary, description, and any sub-tasks or linked issuesproject:
source_issue: "PROJ-123" # Original requirements Jira issue (any project)
This is NOT the same as the RHDPCD Initiative — the source issue is where the requirements came from (a product team's backlog), while the Initiative is the RHDP effort tracking bucket. A project can have both, one, or neither.
After gathering all required information, generate the design spec FIRST — before any module outlines. This is where ideation ends and specification begins.
design.md following the design template
(@rhdp-publishing-house/skills/intake/references/design-template.md).
Use the template's exact section headings. Fill in the bracketed placeholders with
real content. Remove HTML comments from the final output. You may add extra sections
at the bottom (Design Principles, Success Criteria, Differentiation) but never remove
or rename the template sections.publishing-house/spec/design.mdModule outlines MUST be generated from the written design.md — not from conversation context. Use the Agent tool to spawn a fresh subagent that has no knowledge of this intake conversation. The subagent works exclusively from the files on disk.
Spawn the Agent with a prompt structured like this (fill in the actual paths):
Read the design spec at <project_root>/publishing-house/spec/design.md.
Read the module outline template at @rhdp-publishing-house/skills/intake/references/module-outline-template.md for the required structure.
For each module listed in the Module Map table in design.md, generate one outline file:
- Output directory: <project_root>/publishing-house/spec/modules/
- Naming: module-01-<short-title>.md, module-02-<short-title>.md, etc.
- Each outline must reflect what design.md says about that module — the title, duration,
scope, and learning objectives AS WRITTEN in the spec.
- Follow See/Learn/Do format from the template
- Include time estimates for each section
- Use numbered detailed steps
- Scale granularity: ~80 lines simple, up to 300 lines complex
Do not invent content that is not in design.md. If the spec is vague about a module,
generate a vague outline — do not fill in details that the spec does not provide.
The spec is the source of truth.
CRITICAL: The Agent prompt must contain ONLY file paths and formatting rules. Do NOT include conversation context, user quotes, or your own ideas about what modules should contain. The subagent reads the spec and generates from that.
After the subagent completes:
project:
name: "Lab Title"
id: "lab-short-id"
created: "2026-04-09"
owner_github: "githubuser"
owner_email: "[email protected]"
type: "workshop"
showroom_type: "classic"
deployment_mode: "" # Set during deployment mode selection
autonomy: "guided"
lifecycle:
current_phase: "intake"
phases:
intake:
status: "completed"
completed_at: "2026-04-09 14:30"
artifacts:
- "publishing-house/spec/design.md"
- "publishing-house/spec/modules/module-01-*.md"
writing:
module_relationship: "sequential" # sequential | independent_with_shared_context | independent
modules:
- id: "module-01"
title: "Module Title"
status: "pending"
automation:
needs_automation: true
integrations:
jira:
initiative_key: null # Set during Initiative assignment (onboarded only)
This section has moved to the orchestrator. The orchestrator asks for deployment
mode and Initiative assignment before dispatching intake. Read project.deployment_mode
from the manifest — it should already be set. If it is not set (legacy flow), ask the
user and set it.
Read vetting findings first. Check lifecycle.phases.vetting.rcars_response in the
manifest. If vetting completed with RCARS results, use them to drive the first set of
refinement recommendations:
Re-read all spec artifacts (design.md + module outlines)
Review each module outline for missing sections, vague steps, formatting issues
Present all proposed changes (vetting-driven + quality-driven) together
Apply only the changes the author approves
lifecycle:
current_phase: "spec_refinement"
phases:
spec_refinement:
status: "completed"
completed_at: "2026-04-09 14:30"
changes:
- "Standardized module outline format"
- "Added missing time estimates"
DO NOT advance past spec refinement. The orchestrator handles phase gate requests to Central for vetting and approval.
Inform the user:
Spec refinement is complete. Your design doc and module outlines are ready for review at:
publishing-house/spec/design.mdpublishing-house/spec/modules/The orchestrator will check with Central before advancing to vetting and approval.
Goal: Rigorous exploration through conversation, not just filling in a template.
npx claudepluginhub rhpds/rhdp-publishing-house-skillsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.