Create a structured outline of an LCC node's PDF manual with section names and page ranges. Use as the first step to index the manual for targeted reading by subsequent extraction skills. Keywords -- CDI, manual, outline, index, page ranges, profile extraction.
Analyze an LCC node's PDF manual to produce a structured index that maps manual sections (e.g., "Port I/O Configuration") to their page ranges. This allows subsequent extraction skills to read only the pages relevant to their task rather than processing the entire manual.
Use this skill as the first step of the profile extraction workflow. Run it once per node type to create a map of the manual's structure. Later skills reference this outline to extract targeted page ranges via pdf-utilities read_pdf with the pageRange parameter.
IMPORTANT: Use the pdf-utilities MCP server's read_pdf function to extract the full text of the PDF manual. This is the only step that reads the entire PDF; pass the extracted text to the task below for analysis.
Before producing the output JSON, capture the full absolute paths to:
These paths must be included in the JSON output as cdiFile and pdfFile fields so that subsequent extraction skills can locate and read them automatically.
Example: read_pdf(filePath="D:/src/github/LCC/Bowties.worktrees/008-guided-configuration/temp/TowerLCC-manual-f.pdf") to get the complete manual text.
Read the entire PDF manual and produce a structured outline identifying:
Use the CDI XML as a guide to what sections should exist and help you identify them in the manual.
Produce a JSON object matching this schema:
{
"nodeType": {
"manufacturer": "<from CDI <identification>>",
"model": "<from CDI <identification>>"
},
"cdiFile": "<full absolute path to CDI XML file>",
"pdfFile": "<full absolute path to PDF manual file>",
"totalPages": 250,
"generatedDate": "2026-02-28",
"sections": [
{
"order": 1,
"name": "<section title, e.g., Port I/O Configuration>",
"pages": "<page range, e.g., 5-80>",
"topics": ["<topic1>", "<topic2>", "<topic3>"],
"relevantTo": ["<profile-skill names, e.g., profile-1, profile-3, profile-4>"],
"notes": "string | null"
},
{
"order": 2,
"name": "Conditional Logic",
"pages": "81-150",
"topics": ["logic units", "variables", "actions", "conditions"],
"relevantTo": ["profile-1", "profile-2", "profile-3", "profile-4", "profile-5"],
"notes": null
}
],
"appendices": [
{
"name": "<appendix name>",
"pages": "<page range>",
"purpose": "<brief description>"
}
]
}
"5-80" for contiguous sections or "150-160, 220-240" for non-contiguousprofile-1: event roles → needs sections describing what events the node sends/receivesprofile-2: relevance rules → needs sections describing conditional field dependenciesprofile-3: section descriptions → needs all sections describing configuration purposeprofile-4: field descriptions → needs all sections describing individual fieldsprofile-5: recipes → needs sections with step-by-step configuration examplesSave the output as manual-outline.json in your profile directory (e.g., profiles/tower-lcc/manual-outline.json). All subsequent extraction skills will reference this file as shared context.
After this skill produces the outline, subsequent skills will:
profile-1 (event roles):
Read pages 5-80 and 151-170 from the manual (from outline)
profile-2 (relevance rules):
Read pages 81-150 and 5-80 (from outline)
profile-3 (section descriptions):
Read pages 5-150 (from outline)
profile-4 (field descriptions):
Read pages 5-150 optimally per-section (from outline)
profile-5 (recipes):
Read pages with "step-by-step", "example", "recipe" topics (from outline)
The outline enables efficient, targeted PDF reading across the entire extraction workflow.