[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-anthropics-pdf-ms":3,"guides-for-anthropics-pdf":266},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":23,"identity":188,"isFallback":192,"parentExtension":193,"providers":247,"relations":254,"repo":255,"workflow":265},1778003232571.9153,"k17259226wsvv093qff3xnjqe5865r06",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{},"PDF Processing Guide","https://github.com/anthropics/skills/tree/HEAD/skills/pdf",[15,16,17,18,19,20,21,22],"pdf","document-processing","python","text-extraction","ocr","form-filling","productivity","data-analytics",{"_creationTime":24,"_id":25,"extensionId":5,"locale":26,"result":27,"trustSignals":176,"workflow":186},1778007125066.7034,"kn7bw2n530xjv30yahftmqjg31864nxt","en",{"checks":28,"evaluatedAt":166,"extensionSummary":167,"promptVersionExtension":168,"promptVersionScoring":169,"rationale":170,"score":171,"summary":172,"tags":173,"targetMarket":174,"tier":175},[29,34,37,40,44,47,51,56,59,62,67,71,76,79,82,85,88,91,94,97,101,106,111,115,118,121,124,128,131,134,137,140,143,147,150,153,156,159,163],{"category":30,"check":31,"severity":32,"summary":33},"Practical Utility","Problem relevance","pass","The description clearly states the problem of working with PDF files and lists a comprehensive set of operations that can be performed.",{"category":30,"check":35,"severity":32,"summary":36},"Unique selling proposition","The skill offers a wide range of PDF manipulation capabilities, including OCR, form filling, and creation, which goes beyond basic text extraction and provides significant value over a simple prompt.",{"category":30,"check":38,"severity":32,"summary":39},"Production readiness","The skill provides Python code snippets and command-line tool examples for various PDF operations, covering a complete lifecycle for common PDF tasks.",{"category":41,"check":42,"severity":32,"summary":43},"Scope","Single responsibility principle","The skill is focused solely on PDF manipulation and does not extend into unrelated domains.",{"category":41,"check":45,"severity":32,"summary":46},"Description quality","The description accurately and concisely reflects the extensive PDF processing capabilities offered by the skill.",{"category":48,"check":49,"severity":32,"summary":50},"Invocation","Scoped tools","The skill utilizes specific Python functions and command-line tools for distinct PDF operations (e.g., merge, split, extract text), rather than a single generalist tool.",{"category":52,"check":53,"severity":54,"summary":55},"Documentation","Configuration & parameter reference","info","The skill documents parameters through code examples and markdown, but explicit default values for all parameters are not always clear. It also references external scripts for form handling without detailing their specific parameters.",{"category":41,"check":57,"severity":32,"summary":58},"Tool naming","The skill uses descriptive names for its Python functions and command-line examples, reflecting their specific PDF manipulation tasks.",{"category":41,"check":60,"severity":32,"summary":61},"Minimal I/O surface","The provided code examples and commands clearly define inputs and outputs for specific PDF operations.",{"category":63,"check":64,"severity":65,"summary":66},"License","License usability","critical","The extension is licensed as 'Proprietary. LICENSE.txt has complete terms', which imposes significant restrictions on use and redistribution, making it unusable for most open-source or collaborative contexts.",{"category":68,"check":69,"severity":65,"summary":70},"Maintenance","Commit recency","There are no commits on the default branch, indicating the extension is likely unmaintained and poses a risk due to potential staleness or lack of updates.",{"category":72,"check":73,"severity":74,"summary":75},"Security","Secret Management","not_applicable","No secrets are used or managed by this extension.",{"category":72,"check":77,"severity":32,"summary":78},"Injection","The skill focuses on processing local PDF files using well-defined Python libraries and command-line tools, with no indication of loading or executing untrusted external data as instructions.",{"category":72,"check":80,"severity":32,"summary":81},"Transitive Supply-Chain Grenades","The extension bundles all necessary scripts and libraries and does not fetch remote code or data at runtime.",{"category":72,"check":83,"severity":32,"summary":84},"Sandbox Isolation","The scripts operate on provided file paths and do not attempt to modify files outside the specified project or sandbox boundaries.",{"category":72,"check":86,"severity":32,"summary":87},"Sandbox escape primitives","No detached-process spawns or deny-retry loops are present in the provided scripts.",{"category":72,"check":89,"severity":32,"summary":90},"Data Exfiltration","The extension processes local files and does not make any undocumented outbound calls or attempt to exfiltrate confidential data.",{"category":72,"check":92,"severity":32,"summary":93},"Hidden Text Tricks","The bundled files are free of hidden-steering tricks, invisible Unicode characters, or other obfuscation methods.",{"category":72,"check":95,"severity":32,"summary":96},"Opaque code execution","The bundled scripts are in plain, readable Python and do not use obfuscation techniques like base64 payloads or runtime code fetching.",{"category":98,"check":99,"severity":32,"summary":100},"Portability","Structural Assumption","The scripts use relative paths and standard library functions, making them portable and not reliant on specific user project structures.",{"category":102,"check":103,"severity":104,"summary":105},"Trust","Issues Attention","insufficient_data","No issue data is available to assess maintainer engagement.",{"category":107,"check":108,"severity":109,"summary":110},"Versioning","Release Management","warning","There is no version field in any manifest, no GitHub releases, and no CHANGELOG.md. The install instructions would likely point to 'main'.",{"category":112,"check":113,"severity":109,"summary":114},"Code Execution","Validation","While the Python scripts demonstrate good practices, explicit use of a schema validation library (like Zod or pydantic) for all input arguments and structured output is not evident. The form filling scripts have some validation for field IDs and values, but not for all parameters.",{"category":72,"check":116,"severity":74,"summary":117},"Unguarded Destructive Operations","The skill is focused on PDF manipulation and does not perform destructive operations like database migrations or infrastructure changes.",{"category":112,"check":119,"severity":32,"summary":120},"Error Handling","The provided Python scripts include try-except blocks and logging for handling errors during PDF processing.",{"category":112,"check":122,"severity":32,"summary":123},"Logging","The provided Python scripts utilize Python's logging module to capture information about processed files and errors.",{"category":125,"check":126,"severity":74,"summary":127},"Compliance","GDPR","The extension processes local PDF files and does not interact with personal data or third parties in a way that would trigger GDPR concerns.",{"category":125,"check":129,"severity":32,"summary":130},"Target market","The extension performs local file operations and does not contain any regional-specific logic, URLs, or language, making it globally applicable.",{"category":98,"check":132,"severity":32,"summary":133},"Runtime stability","The scripts are written in Python and rely on standard libraries, ensuring broad compatibility across different environments. No specific OS or shell assumptions are made.",{"category":48,"check":135,"severity":32,"summary":136},"Precise Purpose","The description clearly defines the skill's purpose (PDF operations) and provides specific triggers like mentioning '.pdf' files or asking to produce one.",{"category":48,"check":138,"severity":32,"summary":139},"Concise Frontmatter","The frontmatter is concise and accurately summarizes the skill's core capability of handling all PDF-related tasks.",{"category":52,"check":141,"severity":32,"summary":142},"Concise Body","The skill body is well-structured with clear sections and code examples, and it delegates deeper material to separate files like REFERENCE.md and FORMS.md.",{"category":144,"check":145,"severity":32,"summary":146},"Context","Progressive Disclosure","The skill outlines the general flow in SKILL.md and references separate files like REFERENCE.md and FORMS.md for more detailed information and advanced topics.",{"category":144,"check":148,"severity":74,"summary":149},"Forked exploration","The skill is not designed for deep exploration tasks like code review or extensive research, thus does not require 'context: fork'.",{"category":30,"check":151,"severity":32,"summary":152},"Usage examples","The skill provides numerous ready-to-use Python code examples and command-line snippets for various PDF operations, demonstrating input, invocation, and expected outcomes.",{"category":30,"check":154,"severity":32,"summary":155},"Edge cases","The skill documentation and scripts mention failure modes like encrypted PDFs, corrupted PDFs, and scanned PDFs, along with recovery steps or alternative approaches.",{"category":112,"check":157,"severity":74,"summary":158},"Tool Fallback","The skill uses standard Python libraries and command-line tools, not custom MCP servers, so a fallback path is not applicable.",{"category":160,"check":161,"severity":32,"summary":162},"Safety","Halt on unexpected state","The Python scripts include error handling with try-except blocks that will halt the workflow and report errors on unexpected states.",{"category":98,"check":164,"severity":32,"summary":165},"Cross-skill coupling","The skill is self-contained and does not rely on other skills. It handles PDF operations independently.",1778007019765,"This skill provides a robust set of tools and examples for manipulating PDF files. It includes capabilities for reading, extracting text and tables, merging, splitting, creating PDFs, OCR, and form filling. The implementation leverages popular Python libraries like pypdf, pdfplumber, reportlab, and command-line utilities such as pdftotext and qpdf.","2.0.0","3.4.0","The extension is flagged due to its proprietary license and critical lack of recent commits, indicating potential unmaintainability and significant usage restrictions. While functional, these factors outweigh the otherwise high quality of the implementation.",49,"A comprehensive skill for various PDF manipulation tasks, offering extensive examples and robust error handling.",[15,16,17,18,19,20],"global","flagged",{"codeQuality":177,"collectedAt":178,"documentation":179,"maintenance":181,"security":182,"testCoverage":185},{},1778006985390,{"descriptionLength":180,"readmeSize":8},437,{},{"hasNpmPackage":183,"license":184,"smitheryVerified":183},false,"Proprietary. LICENSE.txt has complete terms",{"hasCi":183,"hasTests":183},{"invalidatedAt":187,"updatedAt":187},1778008076651,{"githubOwner":189,"githubRepo":190,"locale":26,"slug":15,"type":191},"anthropics","skills","skill",true,{"_creationTime":194,"_id":195,"community":196,"display":197,"identity":207,"parentExtension":209,"providers":241,"relations":245,"workflow":246},1778003232571.9133,"k173j5mjcps56pe131t0b18eg18658ay",{"reviewCount":8},{"description":198,"installMethods":199,"name":200,"sourceUrl":201,"tags":202},"Collection of document processing suite including Excel, Word, PowerPoint, and PDF capabilities",{},"Document Processing Suite","https://github.com/anthropics/skills",[16,203,204,205,15,206],"excel","word","powerpoint","plugin",{"githubOwner":189,"githubRepo":190,"locale":26,"slug":208,"type":206},"document-skills",{"_creationTime":210,"_id":211,"community":212,"display":213,"identity":224,"providers":227,"relations":235,"workflow":237},1778003232571.9128,"k17124zdhjkq8c15ck8qz63e5d8652gy",{"reviewCount":8},{"description":214,"installMethods":215,"name":216,"sourceUrl":201,"tags":217},"Anthropic example skills",{},"Anthropic Skills",[218,219,190,220,221,222,223],"examples","documentation","claude","creative","technical","enterprise",{"githubOwner":189,"githubRepo":190,"locale":26,"slug":225,"type":226},"anthropic-agent-skills","marketplace",{"extract":228,"smithery":234},{"commitSha":229,"license":230,"marketplace":231},"d230a6dd6eb1a0dbee9fec55e2f00a96e28dff81","Apache-2.0",{"name":225,"pluginCount":232,"version":233},3,"1.0.0",{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":183},{"repoId":236},"kd72m31vxr2nd4hahhzvp0cyrn864eyx",{"anyEnrichmentAt":187,"extractAt":238,"githubAt":239,"invalidatedAt":187,"llmAt":240,"smitheryAt":187,"updatedAt":187},1778003232571,1778003234861,1778007125066,{"extract":242,"smithery":244},{"commitSha":229,"license":243},"unlicensed",{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":183},{"parentExtensionId":211,"repoId":236},{"anyEnrichmentAt":187,"extractAt":238,"githubAt":239,"invalidatedAt":187,"llmAt":240,"smitheryAt":187,"updatedAt":187},{"extract":248,"smithery":250},{"commitSha":229,"license":249},"Proprietary",{"qualityScore":251,"totalActivations":252,"uniqueUsers":253,"useCount":8,"verified":183},0.996426,920,410,{"parentExtensionId":195,"repoId":236},{"_creationTime":256,"_id":236,"identity":257,"providers":258,"workflow":263},1777995558409.8123,{"githubOwner":189,"githubRepo":190,"sourceUrl":201},{"discover":259},{"sources":260},[261,262],"skills-sh","smithery",{"discoverAt":264,"extractAt":238,"updatedAt":238},1777995558409,{"anyEnrichmentAt":187,"extractAt":238,"githubAt":239,"invalidatedAt":187,"llmAt":240,"smitheryAt":187,"updatedAt":187},[]]