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)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):
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:
modules:
- id: "module-01"
title: "Module Title"
status: "pending"
automation:
needs_automation: true
integrations:
jira:
initiative_key: null # Set during Initiative assignment (onboarded only)
After intake completes, present the deployment mode choice.
Choose your deployment mode:
- Onboarded (rhdp_published) -- Full RHDP pipeline: AgnosticV catalog, code reviews, published in RHDP
- Self-published (self_published) -- GitOps repo, Field Source CI, self-managed publishing
- Express -- Disposable demo environment, no content repo, no lifecycle tracking
Set project.deployment_mode in the manifest.
After deployment mode is set to rhdp_published, call ph_get_open_initiatives() to check for open RHDP Initiatives in Jira. If Initiatives exist, present them as a simple pick list:
This lab can be tracked under an existing RHDP Initiative. Any of these?
- Summit 2027 Labs (RHDPCD-2)
- BAU Content Development (RHDPCD-5)
- None of these / Skip
If the user picks one, write the key to the manifest. If they skip (or no Initiatives exist, or Jira isn't configured), leave it null — a manager can assign it later in Jira. This is a one-question step, not a conversation.
integrations:
jira:
initiative_key: "RHDPCD-2" # or null if skipped
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.