Docs workflow planning
Skill opendatahub-io/docs-skills/skills/docs-workflow-planning
Create a documentation plan from requirements analysis output. Dispatches the docs-planner agent. Invoked by the orchestrator.From its SKILL.md
npx -y skills add opendatahub-io/docs-skills --skill docs-workflow-planningAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.0 KB, as published. Nobody here has run it
Documentation Planning Step
Step skill for the docs-orchestrator pipeline. Follows the step skill contract: parse args → dispatch agent → write output.
Arguments
$1— JIRA ticket ID (required)--base-path <path>— Base output path (e.g.,.agent_workspace/proj-123)
Input
<base-path>/requirements/requirements.md
Output
<base-path>/planning/plan.md
Execution
1. Parse arguments
Extract the ticket ID and --base-path from the args string.
Set the paths:
INPUT_FILE="${BASE_PATH}/requirements/requirements.md"
OUTPUT_DIR="${BASE_PATH}/planning"
OUTPUT_FILE="${OUTPUT_DIR}/plan.md"
mkdir -p "$OUTPUT_DIR"
2. Dispatch agent
You MUST use the Agent tool to invoke the docs-planner subagent. Do NOT read the agent's markdown file or attempt to perform the agent's work yourself — the agent has a specialized system prompt and must run as an isolated subagent.
Agent tool parameters:
subagent_type:docs-skills:docs-plannerdescription:Create documentation plan for <TICKET>run_in_background:false(the orchestrator must wait for the planner to finish before verifying output)
Prompt (pass this as the prompt parameter to the Agent tool):
Create a comprehensive documentation plan based on the requirements analysis.
Read the requirements from:
<INPUT_FILE>The plan must include:
- Gap analysis (existing vs needed documentation)
- Module specifications (type, title, audience, content points, prerequisites, dependencies)
- Implementation order based on dependencies
- Assembly structure (how modules group together)
- Content sources from JIRA and PR/MR analysis
REQUIRED: Module Specifications format
Your plan MUST include a
## Module Specificationssection that lists every module (new or updated) using this exact bullet format:## Module Specifications - Module: filename.adoc (TYPE, Create|Update) - Module: other-filename.adoc (TYPE, Create|Update)Where TYPE is CONCEPT, PROCEDURE, REFERENCE, or ASSEMBLY. This section is machine-parsed to count modules — the pipeline will fail if it is missing or uses a different format. Place it before the detailed module descriptions. You may organize detailed descriptions however you like (implementation groups, priority sections, etc.) — only this summary list has a format requirement.
Save the complete plan to:
<OUTPUT_FILE>
[Include only if <BASE_PATH>/code-analysis/ONBOARDING.md exists] Append the following paragraph to the prompt:
MANDATORY: Scope gating by code analysis
You MUST read
<BASE_PATH>/code-analysis/ONBOARDING.mdand<BASE_PATH>/code-analysis/registry.jsonbefore creating any module specifications. These files contain structured analysis of the source repository produced by code-learner.This is not optional. The module registry must inform your planning.
Use the module registry's
onboarding_priorityfield to scope documentation:
- read-first modules: create full module specifications. These are the core modules that new developers must understand first
- read-second modules: create summary module specifications. Include purpose and key APIs but less detail than read-first modules
- skip modules: Do NOT create module specifications. These are utility, test, or generated modules that don't warrant standalone documentation. If relevant to a read-first module, mention them briefly in that module's context
Use the
public_api,dependencies, anddata_flowfields from module summaries in<BASE_PATH>/code-analysis/summaries/to inform content points and prerequisites in each module specification.Self-check before writing the plan: Count your module specifications. Verify that no skip-priority module has a full module specification — if any does, remove it or downgrade to a brief mention within a related module.
[Include only if <BASE_PATH>/pr-analysis/ exists] Also append:
PR change context
Read the PR analysis from
<BASE_PATH>/pr-analysis/PR-*-ANALYSIS.md. Focus documentation on modules listed in the "Changes by Module" section — these are the modules directly affected by the code changes that triggered this documentation work. Prioritize these modules for full specifications regardless of their onboarding_priority.
3. Verify output
After the agent completes, verify the output file exists at <OUTPUT_FILE>.
If no output file is found, report an error.
[If <BASE_PATH>/code-analysis/registry.json exists] Cross-check the plan against the registry: read the module registry and verify that no skip-priority module has a full module specification in the plan. If any skip module was given a full spec, log a warning: "Plan includes full specs for skip-priority module(s): <list>. These are typically utility modules that don't warrant standalone documentation." This is a warning, not a blocker.
4. Write step-result.json
Do not hand-author the sidecar — a hand-written sidecar drifts from the schema and uses an orchestrator-delayed timestamp instead of a real wall-clock one. Run the script:
python3 ${CLAUDE_SKILL_DIR}/scripts/write_step_result.py \
--ticket "<TICKET>" \
--plan-file "<OUTPUT_FILE>" \
--sidecar "<OUTPUT_DIR>/step-result.json"
The script counts module specifications in the plan (list items starting with - Module: or
- Update: within the ## Module Specifications section, and level-3 ### Module: or
### Update: headings anywhere, ignoring code blocks and blockquotes) and writes the conformant
step-result.json with a real wall-clock completed_at. If the script exits non-zero, fix the
arguments and re-run; do not substitute a stub.