Automatically convert uploaded drug application documents (Word/PDF) into XML skeleton structure compliant with eCTD 4.0/3.2.2 specifications.
46
48%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./scientific-skills/Academic Writing/ectd-xml-compiler/SKILL.mdQuality
Discovery
82%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is highly specific and targets a clear niche in pharmaceutical regulatory document processing, with strong domain-specific trigger terms. Its main weakness is the absence of an explicit 'Use when...' clause, which would help Claude know precisely when to select this skill. The specificity and distinctiveness are excellent for a specialized domain skill.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user uploads drug application documents and needs eCTD-compliant XML output, or mentions eCTD, regulatory submissions, or CTD module conversion.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists concrete actions: 'convert uploaded drug application documents (Word/PDF) into XML skeleton structure' and specifies compliance with 'eCTD 4.0/3.2.2 specifications'. Multiple specific capabilities are named. | 3 / 3 |
Completeness | Clearly answers 'what does this do' (convert drug application documents to eCTD-compliant XML), but lacks an explicit 'Use when...' clause or equivalent trigger guidance. The 'when' is only implied by the description of the action. | 2 / 3 |
Trigger Term Quality | Includes strong natural trigger terms: 'drug application documents', 'Word/PDF', 'XML', 'eCTD', '4.0/3.2.2', 'skeleton structure'. Users in the pharmaceutical regulatory domain would naturally use terms like 'eCTD', 'drug application', and 'XML skeleton'. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive niche: eCTD 4.0/3.2.2 XML conversion for pharmaceutical drug applications is extremely specific and unlikely to conflict with any other skill. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
14%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is heavily padded with generic boilerplate sections (Risk Assessment, Security Checklist, Lifecycle Status, Evaluation Criteria, Response Template) that are not specific to eCTD XML compilation and waste significant token budget. The domain-specific content (eCTD structure, module auto-recognition rules, CLI usage) is reasonable but buried among repetitive and generic material. The workflow lacks eCTD-specific validation steps and the document suffers from poor organization with broken internal cross-references.
Suggestions
Remove all generic boilerplate sections (Risk Assessment, Security Checklist, Lifecycle Status, Evaluation Criteria, Response Template, Output Requirements) that are not specific to eCTD XML compilation — these waste ~40% of the token budget.
Consolidate the three workflow-like sections (Example Usage run plan, Workflow, Implementation Details) into a single, eCTD-specific workflow with explicit validation checkpoints between document parsing, module classification, XML generation, and DTD validation.
Fix broken internal cross-references ('See ## Usage above', 'See ## Workflow above') and reorganize sections in logical order so references point forward correctly, or better yet, eliminate the circular references entirely.
Remove the duplicate 'Automatically convert uploaded drug application documents...' description that appears verbatim in at least 4 places, and remove the explanation of what eCTD is since Claude already knows this.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose and repetitive. Multiple sections restate the same description ('Automatically convert uploaded drug application documents...'), includes boilerplate sections like 'Lifecycle Status', 'Risk Assessment', 'Security Checklist', 'Evaluation Criteria' that add no actionable value. Explains what eCTD is (Claude already knows). Cross-references to sections that don't exist ('See ## Usage above') or are redundant. The 'Prerequisites' section contradicts the 'Dependencies' section. | 1 / 3 |
Actionability | Provides concrete CLI examples with arguments/options tables and dependency installation commands, which is useful. However, no actual executable code is shown (scripts/main.py is referenced but not provided), the 'Example run plan' is generic boilerplate rather than task-specific guidance, and many sections are abstract process descriptions rather than concrete instructions. | 2 / 3 |
Workflow Clarity | The 'Workflow' section is entirely generic boilerplate (confirm objective, validate request, use packaged script, return structured result) with no eCTD-specific steps. There are no validation checkpoints between document parsing, module classification, and XML generation. The --validate flag is mentioned but not integrated into a workflow with feedback loops. Multiple workflow-like sections exist (Example Usage run plan, Workflow, Implementation Details) creating confusion about the actual sequence. | 1 / 3 |
Progressive Disclosure | The document is a monolithic wall of text with 20+ sections, many redundant or boilerplate. References to 'references/audit-reference.md' and 'scripts/main.py' exist but no bundle files are provided. Internal cross-references are broken ('See ## Usage above' appears before the Usage section, 'See ## Workflow above' similarly misplaced). Content that should be in separate files (Risk Assessment, Security Checklist, Response Template) is inline. | 1 / 3 |
Total | 5 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
d3c2c0f
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.