[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-jacob-g-park-polaris-datainsight-doc-extract-en":3,"guides-for-jacob-g-park-polaris-datainsight-doc-extract":287,"similar-k179pfttbef03w90924p19s63x86nz28-en":288},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":245,"isFallback":234,"parentExtension":250,"providers":251,"relations":257,"repo":259,"tags":283,"workflow":284},1778691222643.4114,"k179pfttbef03w90924p19s63x86nz28",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Extract structured data from Office documents (DOCX, PPTX, XLSX, HWP, HWPX) using the Polaris AI DataInsight Doc Extract API. Use when the user wants to parse, analyze, or extract text, tables, charts, images, or shapes from document files. Invoke this skill whenever the user mentions extracting content from Word, PowerPoint, Excel, HWP, or HWPX files, wants to parse document structure, needs to convert document data for RAG pipelines, or asks about reading tables, charts, or text from Office-format documents — even if they don't explicitly mention \"DataInsight\" or \"Polaris\".",{"claudeCode":12},"jacob-g-park/polaris-datainsight-doc-extract","Polaris AI DataInsight — Doc Extract Skill","https://github.com/jacob-g-park/polaris-datainsight-doc-extract",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":232,"workflow":243},1778691255755.0132,"kn70cy9xdv71pm9qwj2z34d7ch86mdmn","en",{"checks":20,"evaluatedAt":193,"extensionSummary":194,"features":195,"nonGoals":200,"practices":204,"prerequisites":205,"promptVersionExtension":207,"promptVersionScoring":208,"purpose":209,"rationale":210,"score":211,"summary":212,"tags":213,"targetMarket":219,"tier":220,"useCases":221,"workflow":226},[21,26,29,33,37,41,45,48,52,56,60,63,66,69,73,76,79,82,85,88,92,96,99,103,106,109,112,115,118,121,125,128,132,136,139,142,145,148,152,155,158,161,164,167,170,174,178,183,186,190],{"category":22,"check":23,"severity":24,"summary":25},"Invocation","Precise Purpose","pass","The description clearly states the skill's function (extracting data from Office docs via Polaris API) and provides specific use cases and invocation triggers.",{"category":22,"check":27,"severity":24,"summary":28},"Concise Frontmatter","The frontmatter is concise and self-contained, effectively summarizing the core capability and providing clear trigger phrases within the character limit.",{"category":30,"check":31,"severity":24,"summary":32},"Documentation","Concise Body","The SKILL.md body is well-structured, uses progressive disclosure for advanced topics, and avoids unnecessary bloat.",{"category":34,"check":35,"severity":24,"summary":36},"Context","Progressive Disclosure","The SKILL.md uses relative paths to link to detailed information like the API response structure and usage patterns, avoiding embedding large data structures directly.",{"category":34,"check":38,"severity":39,"summary":40},"Forked exploration","not_applicable","This skill is not an exploration-heavy skill that requires forked context.",{"category":42,"check":43,"severity":24,"summary":44},"Practical Utility","Usage examples","The SKILL.md provides clear, ready-to-use Python and curl examples for basic and advanced usage, demonstrating input, invocation, and expected output.",{"category":42,"check":46,"severity":24,"summary":47},"Edge cases","The SKILL.md documents limits (file size, timeout, rate limit) and discusses usage patterns, effectively covering potential failure modes and limitations.",{"category":49,"check":50,"severity":39,"summary":51},"Code Execution","Tool Fallback","The skill does not rely on external MCP tools; it directly interacts with a described API endpoint.",{"category":53,"check":54,"severity":39,"summary":55},"Safety","Halt on unexpected state","The skill's workflow does not appear to involve destructive operations or complex state management that would necessitate explicit pre-condition checks and halting.",{"category":57,"check":58,"severity":24,"summary":59},"Portability","Cross-skill coupling","The skill is self-contained and does not appear to implicitly rely on other skills; cross-skill coordination is not mentioned as a requirement.",{"category":42,"check":61,"severity":24,"summary":62},"Problem relevance","The description clearly identifies the user problem of extracting structured data from various office document formats.",{"category":42,"check":64,"severity":24,"summary":65},"Unique selling proposition","The skill leverages a specific API (Polaris AI DataInsight Doc Extract) to provide structured data extraction from multiple document types, offering value beyond generic LLM capabilities.",{"category":42,"check":67,"severity":24,"summary":68},"Production readiness","The skill details API authentication, endpoint, request/response structure, and provides clear usage examples, covering the complete lifecycle for its stated use case.",{"category":70,"check":71,"severity":24,"summary":72},"Scope","Single responsibility principle","The skill focuses on a single responsibility: extracting structured data from specified document types using a particular API.",{"category":70,"check":74,"severity":24,"summary":75},"Description quality","The description accurately reflects the skill's capabilities and limitations, and is well-formatted for user consumption.",{"category":22,"check":77,"severity":39,"summary":78},"Scoped tools","This skill does not expose multiple tools; it represents a single, API-driven capability.",{"category":30,"check":80,"severity":24,"summary":81},"Configuration & parameter reference","The SKILL.md clearly documents the API endpoint, required headers (including API key via environment variable), and supported file formats and limits.",{"category":70,"check":83,"severity":39,"summary":84},"Tool naming","This is a skill, not a set of distinct tools with names.",{"category":70,"check":86,"severity":24,"summary":87},"Minimal I/O surface","The skill's input is a file path and API key (via env var), and the output is structured JSON, adhering to the stated task.",{"category":89,"check":90,"severity":24,"summary":91},"License","License usability","The skill definition is under Apache 2.0, and service usage is subject to Polaris AI terms, which is clearly stated.",{"category":93,"check":94,"severity":24,"summary":95},"Maintenance","Commit recency","The last commit was on 2026-02-27, which is within the last 3 months.",{"category":93,"check":97,"severity":39,"summary":98},"Dependency Management","The skill does not appear to have third-party dependencies that require explicit management within the bundle.",{"category":100,"check":101,"severity":24,"summary":102},"Security","Secret Management","API key is handled via environment variable and not echoed in output, following best practices.",{"category":100,"check":104,"severity":24,"summary":105},"Injection","The skill handles file input and API interaction; no indication of loading and executing untrusted third-party data as instructions.",{"category":100,"check":107,"severity":24,"summary":108},"Transitive Supply-Chain Grenades","The skill interacts with a documented API endpoint and does not fetch or execute external code or content at runtime.",{"category":100,"check":110,"severity":24,"summary":111},"Sandbox Isolation","The skill's primary interaction is with an external API; it does not appear to modify files outside its expected scope.",{"category":100,"check":113,"severity":24,"summary":114},"Sandbox escape primitives","No evidence of detached processes or deny-retry loops in the provided skill description and examples.",{"category":100,"check":116,"severity":24,"summary":117},"Data Exfiltration","The skill only makes documented calls to the Polaris API and does not appear to exfiltrate confidential data.",{"category":100,"check":119,"severity":24,"summary":120},"Hidden Text Tricks","The bundled content and descriptions appear to be free of hidden-steering tricks or obfuscation.",{"category":122,"check":123,"severity":24,"summary":124},"Hooks","Opaque code execution","The provided Python code examples are clear and readable, with no evidence of obfuscation or opaque execution.",{"category":57,"check":126,"severity":24,"summary":127},"Structural Assumption","The skill assumes the presence of a file path for input and an environment variable for the API key, which are standard and documented.",{"category":129,"check":130,"severity":39,"summary":131},"Trust","Issues Attention","No open or closed issues data is available for evaluation.",{"category":133,"check":134,"severity":24,"summary":135},"Versioning","Release Management","The skill definition has a `name` and `description` in SKILL.md frontmatter, and the code is committed, indicating a form of versioning.",{"category":49,"check":137,"severity":24,"summary":138},"Validation","The Python example demonstrates basic error handling for API responses and file operations, implying a level of validation.",{"category":100,"check":140,"severity":24,"summary":141},"Unguarded Destructive Operations","The skill is read-only with respect to user files; its primary operation is outbound API calls.",{"category":49,"check":143,"severity":24,"summary":144},"Error Handling","The provided Python example includes explicit error handling for API status codes and ZIP file parsing.",{"category":49,"check":146,"severity":39,"summary":147},"Logging","The skill focuses on API interaction and does not involve local destructive actions or outbound calls that would necessitate local audit logging.",{"category":149,"check":150,"severity":39,"summary":151},"Compliance","GDPR","The skill processes document content but does not appear to specifically target or process personal data that would require GDPR sanitization.",{"category":149,"check":153,"severity":24,"summary":154},"Target market","The skill's functionality is global; it processes documents and interacts with an API without regional restrictions.",{"category":57,"check":156,"severity":24,"summary":157},"Runtime stability","The skill uses standard Python libraries and makes API calls, making it broadly compatible with Python environments.",{"category":30,"check":159,"severity":39,"summary":160},"README","The SKILL.md file serves as the primary documentation and meets the requirements of a README.",{"category":70,"check":162,"severity":39,"summary":163},"Tool surface size","This skill represents a single capability, not a collection of tools.",{"category":22,"check":165,"severity":39,"summary":166},"Overlapping near-synonym tools","This skill does not expose multiple tools that could be near-synonyms.",{"category":30,"check":168,"severity":24,"summary":169},"Phantom features","All documented features, such as API interaction and structured output, are implemented as described.",{"category":171,"check":172,"severity":24,"summary":173},"Install","Installation instruction","The SKILL.md provides clear installation steps (API key setup) and copy-pasteable examples for both Python and curl.",{"category":175,"check":176,"severity":24,"summary":177},"Errors","Actionable error messages","The Python example demonstrates actionable error handling for API responses and file operations, providing status codes and error text.",{"category":179,"check":180,"severity":181,"summary":182},"Execution","Pinned dependencies","info","The Python script relies on standard libraries, but specific versions are not pinned, which could lead to compatibility issues.",{"category":70,"check":184,"severity":39,"summary":185},"Dry-run preview","The skill's primary function is data extraction via API, not state-changing operations that would require a dry-run preview.",{"category":187,"check":188,"severity":24,"summary":189},"Protocol","Idempotent retry & timeouts","The Python example includes basic HTTP error handling and implies a timeout mechanism via the API's own limits and the explicit mention of a 10-minute timeout.",{"category":149,"check":191,"severity":24,"summary":192},"Telemetry opt-in","There is no mention of telemetry being emitted by this skill; therefore, it is considered opt-in by default (no telemetry).",1778691255638,"This skill uses the Polaris AI DataInsight Doc Extract API to extract structured data (text, tables, charts, images, shapes) from Office document formats (DOCX, PPTX, XLSX, HWP, HWPX). It handles authentication, file upload, processing of the ZIP response, and delivers the data in a unified schema JSON.",[196,197,198,199],"Extract text, tables, charts, images, shapes, equations from documents","Supports DOCX, PPTX, XLSX, HWP, HWPX file formats","Provides data in a structured `unifiedSchema` JSON format","Handles API authentication and response parsing",[201,202,203],"Editing or modifying documents","Extracting data from file formats not listed","Replacing the Polaris AI DataInsight API itself",[],[206],"Polaris AI DataInsight API Key (stored in POLARIS_DATAINSIGHT_API_KEY environment variable)","3.0.0","4.4.0","To enable users to parse, analyze, and extract structured content from various Office document types using a specialized API.","The skill is well-documented, production-ready, and adheres to security best practices. The only minor point is the lack of explicit version pinning for Python dependencies, which is informational.",99,"High-quality skill for structured data extraction from office documents via Polaris API.",[214,215,216,217,218],"document-processing","api","office-suite","data-extraction","rag","global","verified",[222,223,224,225],"Parse and analyze content from Office documents","Convert document data for RAG pipelines","Extract tables and charts into structured formats (CSV, JSON)","Automate data extraction from document files",[227,228,229,230,231],"Authenticate with Polaris DataInsight API using the provided API key.","Upload the target document file (DOCX, PPTX, XLSX, HWP, HWPX) via multipart/form-data POST.","Receive a ZIP file response from the API.","Extract the ZIP file and load the contained `unifiedSchema` JSON.","Return the structured JSON data, organized by page and element type.",{"codeQuality":233,"collectedAt":235,"documentation":236,"maintenance":238,"security":241,"testCoverage":242},{"hasLockfile":234},false,1778691238101,{"descriptionLength":237,"readmeSize":8},582,{"closedIssues90d":8,"forks":8,"hasChangelog":234,"openIssues90d":8,"pushedAt":239,"stars":240},1772181340000,2,{"hasNpmPackage":234,"smitheryVerified":234},{"hasCi":234,"hasTests":234},{"updatedAt":244},1778691255755,{"basePath":246,"githubOwner":247,"githubRepo":248,"locale":18,"slug":248,"type":249},"skills/polaris-datainsight-doc-extract","jacob-g-park","polaris-datainsight-doc-extract","skill",null,{"evaluate":252,"extract":254},{"promptVersionExtension":207,"promptVersionScoring":208,"score":211,"tags":253,"targetMarket":219,"tier":220},[214,215,216,217,218],{"commitSha":255,"license":256},"HEAD","Apache-2.0",{"repoId":258},"kd712xd320svz04am16hb3z7gs86nnp8",{"_creationTime":260,"_id":258,"identity":261,"providers":262,"workflow":279},1778689987483.1523,{"githubOwner":247,"githubRepo":248,"sourceUrl":14},{"classify":263,"discover":273,"github":276},{"commitSha":255,"extensions":264},[265],{"basePath":246,"description":10,"displayName":248,"installMethods":266,"rationale":267,"selectedPaths":268,"source":272,"sourceLanguage":18,"type":249},{"claudeCode":12},"SKILL.md frontmatter at skills/polaris-datainsight-doc-extract/SKILL.md",[269],{"path":270,"priority":271},"SKILL.md","mandatory","rule",{"sources":274},[275],"manual",{"closedIssues90d":8,"description":277,"forks":8,"openIssues90d":8,"pushedAt":239,"readmeSize":8,"stars":240,"topics":278},"",[],{"classifiedAt":280,"discoverAt":281,"extractAt":282,"githubAt":282,"updatedAt":280},1778691222473,1778689987483,1778691220794,[215,217,214,216,218],{"evaluatedAt":244,"extractAt":285,"updatedAt":286},1778691222643,1778691282163,[],[289,319,338,357,378,400],{"_creationTime":290,"_id":291,"community":292,"display":293,"identity":299,"providers":303,"relations":312,"tags":315,"workflow":316},1778691104676.009,"k178w7wd1nma48cbwy5hbrnq7s86nyvy",{"reviewCount":8},{"description":294,"installMethods":295,"name":297,"sourceUrl":298},"Extract typed JSON from public website pages using a schema.",{"claudeCode":296},"iterationlayer/skills","website-extraction-api","https://github.com/iterationlayer/skills",{"basePath":300,"githubOwner":301,"githubRepo":302,"locale":18,"slug":297,"type":249},"skills/website-extraction-api","iterationlayer","skills",{"evaluate":304,"extract":311},{"promptVersionExtension":207,"promptVersionScoring":208,"score":305,"tags":306,"targetMarket":219,"tier":220},100,[307,217,308,309,215,310],"web-scraping","json","schema","automation",{"commitSha":255},{"parentExtensionId":313,"repoId":314},"k1721s0xmp59902ybtpakrrffn86n10s","kd76p4g2qmtrkgx99cnab3683d86n4g8",[215,310,217,308,309,307],{"evaluatedAt":317,"extractAt":318,"updatedAt":317},1778694012840,1778691104676,{"_creationTime":320,"_id":321,"community":322,"display":323,"identity":327,"providers":329,"relations":334,"tags":335,"workflow":336},1778691104675.9915,"k172qd89p5z3xybe3h8ncdmns586nd5g",{"reviewCount":8},{"description":324,"installMethods":325,"name":326,"sourceUrl":298},"Extract SKUs, product names, unit prices, availability, and minimum order quantities from a supplier catalog page.",{"claudeCode":296},"extract-supplier-catalog-from-website",{"basePath":328,"githubOwner":301,"githubRepo":302,"locale":18,"slug":326,"type":249},"skills/extract-supplier-catalog-from-website",{"evaluate":330,"extract":333},{"promptVersionExtension":207,"promptVersionScoring":208,"score":305,"tags":331,"targetMarket":219,"tier":220},[307,217,332,215,310],"procurement",{"commitSha":255},{"parentExtensionId":313,"repoId":314},[215,310,217,332,307],{"evaluatedAt":337,"extractAt":318,"updatedAt":337},1778692514878,{"_creationTime":339,"_id":340,"community":341,"display":342,"identity":346,"providers":348,"relations":353,"tags":354,"workflow":355},1778691104675.9893,"k172n42pm2yc36v1fmx3f243t986n52g",{"reviewCount":8},{"description":343,"installMethods":344,"name":345,"sourceUrl":298},"Extract property address, price, room count, and features from a listing document into structured JSON for MLS and property platforms.",{"claudeCode":296},"extract-real-estate-listing",{"basePath":347,"githubOwner":301,"githubRepo":302,"locale":18,"slug":345,"type":249},"skills/extract-real-estate-listing",{"evaluate":349,"extract":352},{"promptVersionExtension":207,"promptVersionScoring":208,"score":305,"tags":350,"targetMarket":219,"tier":220},[214,217,351,308,310],"real-estate",{"commitSha":255},{"parentExtensionId":313,"repoId":314},[310,217,214,308,351],{"evaluatedAt":356,"extractAt":318,"updatedAt":356},1778692318469,{"_creationTime":358,"_id":359,"community":360,"display":361,"identity":365,"providers":367,"relations":374,"tags":375,"workflow":376},1778691104675.9834,"k17bwxnh9scy64bmm9anmf7bbx86mtvn",{"reviewCount":8},{"description":362,"installMethods":363,"name":364,"sourceUrl":298},"Extract vehicle identification, owner details, registration dates, and technical specifications from vehicle registration documents.",{"claudeCode":296},"extract-fleet-vehicle-registration",{"basePath":366,"githubOwner":301,"githubRepo":302,"locale":18,"slug":364,"type":249},"skills/extract-fleet-vehicle-registration",{"evaluate":368,"extract":373},{"promptVersionExtension":207,"promptVersionScoring":208,"score":305,"tags":369,"targetMarket":219,"tier":220},[214,217,370,371,372],"fleet-management","api-integration","pdf",{"commitSha":255},{"parentExtensionId":313,"repoId":314},[371,217,214,370,372],{"evaluatedAt":377,"extractAt":318,"updatedAt":377},1778691789036,{"_creationTime":379,"_id":380,"community":381,"display":382,"identity":386,"providers":388,"relations":396,"tags":397,"workflow":398},1778691104675.9897,"k17fpgdfkq2ktrjw2phyx6c9f586ma8t",{"reviewCount":8},{"description":383,"installMethods":384,"name":385,"sourceUrl":298},"Extract merchant, date, line items, tax, and total from receipts.",{"claudeCode":296},"extract-receipt-data",{"basePath":387,"githubOwner":301,"githubRepo":302,"locale":18,"slug":385,"type":249},"skills/extract-receipt-data",{"evaluate":389,"extract":395},{"promptVersionExtension":207,"promptVersionScoring":208,"score":211,"tags":390,"targetMarket":219,"tier":220},[391,392,393,214,394,217],"receipts","finance","extraction","ocr",{"commitSha":255},{"parentExtensionId":313,"repoId":314},[217,214,393,392,394,391],{"evaluatedAt":399,"extractAt":318,"updatedAt":399},1778692373588,{"_creationTime":401,"_id":402,"community":403,"display":404,"identity":408,"providers":410,"relations":414,"tags":415,"workflow":416},1778691104675.988,"k1717wt59hjn0j8kydze6s09ph86nf9r",{"reviewCount":8},{"description":405,"installMethods":406,"name":407,"sourceUrl":298},"Extract appraised value, property details, and comparable sales from a property appraisal report into structured JSON.",{"claudeCode":296},"extract-property-appraisal",{"basePath":409,"githubOwner":301,"githubRepo":302,"locale":18,"slug":407,"type":249},"skills/extract-property-appraisal",{"evaluate":411,"extract":413},{"promptVersionExtension":207,"promptVersionScoring":208,"score":211,"tags":412,"targetMarket":219,"tier":220},[214,351,217,308,215],{"commitSha":255},{"parentExtensionId":313,"repoId":314},[215,217,214,308,351],{"evaluatedAt":417,"extractAt":318,"updatedAt":417},1778692195131]