[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-dotneet-research-ar":3,"guides-for-dotneet-research":262,"similar-k17eb4k9wdj73n8xq9pe6ajt5x867qy3":263},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":21,"identity":206,"isFallback":210,"parentExtension":211,"providers":243,"relations":246,"repo":247,"workflow":261},1778053599340.3242,"k17eb4k9wdj73n8xq9pe6ajt5x867qy3",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"research tools for software development.",{},"Research","https://github.com/dotneet/claude-code-marketplace/tree/HEAD/research",[15,16,17,18,19,20],"research","documentation","api","perplexity","context7","search",{"_creationTime":22,"_id":23,"extensionId":5,"locale":24,"result":25,"trustSignals":195,"workflow":204},1778053627853.4917,"kn7fma97w6kzxt5k8q3rkz2ab9866fpv","en",{"checks":26,"evaluatedAt":185,"extensionSummary":186,"promptVersionExtension":187,"promptVersionScoring":188,"rationale":189,"score":190,"summary":191,"tags":192,"targetMarket":193,"tier":194},[27,32,36,39,43,46,50,54,57,60,64,69,72,76,79,82,85,88,91,94,98,102,106,110,114,117,120,123,128,131,134,137,140,143,146,149,151,154,157,160,162,165,168,171,175,178,181],{"category":28,"check":29,"severity":30,"summary":31},"Practical Utility","Problem relevance","warning","The description 'research tools for software development.' is too generic and does not name a concrete user problem or pain point.",{"category":28,"check":33,"severity":34,"summary":35},"Unique selling proposition","pass","The extension provides specific tools (Context7, Perplexity API) for up-to-date research and documentation retrieval, offering value beyond basic LLM capabilities.",{"category":28,"check":37,"severity":34,"summary":38},"Production readiness","The plugin includes two functional skills with documented APIs and usage instructions, covering research and documentation retrieval workflows.",{"category":40,"check":41,"severity":34,"summary":42},"Scope","Single responsibility principle","The plugin bundles research-related tools (documentation retrieval, web search/analysis) which form a coherent set of capabilities.",{"category":40,"check":44,"severity":30,"summary":45},"Description quality","The 'Displayed Description' field is generic ('research tools for software development.') and does not accurately reflect the specific capabilities of the two included skills.",{"category":47,"check":48,"severity":34,"summary":49},"Invocation","Scoped tools","The skills expose specific, narrow tools like `perplexity_ask`, `perplexity_research`, `perplexity_search`, and `context7` API calls, avoiding generalist `run` commands.",{"category":51,"check":52,"severity":30,"summary":53},"Documentation","Configuration & parameter reference","The Context7 skill and Perplexity Search skill both require API keys (`CONTEXT7_API_KEY`, `PERPLEXITY_API_KEY`) which are mentioned in the docs but not explicitly listed as parameters or configuration options with precedence.",{"category":40,"check":55,"severity":34,"summary":56},"Tool naming","Tool names like `perplexity_ask`, `context7` are descriptive and follow a clear naming convention.",{"category":40,"check":58,"severity":34,"summary":59},"Minimal I/O surface","The tools appear to accept specific parameters and return documented payloads without excessive or unnecessary output.",{"category":61,"check":62,"severity":34,"summary":63},"License","License usability","The `plugin.json` specifies the MIT license, and the README indicates a collection of plugins under this repository, aligning with a permissive OSS license.",{"category":65,"check":66,"severity":67,"summary":68},"Maintenance","Commit recency","not_applicable","No commit history is available for evaluation. The repository is marked as HEAD, and no specific pushedAt date is provided.",{"category":65,"check":70,"severity":67,"summary":71},"Dependency Management","The extension does not appear to use 3rd party dependencies that would require explicit management beyond the underlying Python scripts for Perplexity and Context7, which are not bundled.",{"category":73,"check":74,"severity":30,"summary":75},"Security","Secret Management","The skills rely on API keys (`CONTEXT7_API_KEY`, `PERPLEXITY_API_KEY`) which are expected to be set as environment variables. The README and SKILL.md mention this, but there is no explicit mechanism for handling these secrets securely within the plugin's configuration (e.g., via `userConfig`).",{"category":73,"check":77,"severity":34,"summary":78},"Injection","The extension primarily interacts with external APIs through structured calls and does not appear to load or execute untrusted third-party data as instructions.",{"category":73,"check":80,"severity":34,"summary":81},"Transitive Supply-Chain Grenades","The extension makes network calls to documented APIs (Context7, Perplexity) and does not appear to fetch or execute arbitrary code from remote URLs.",{"category":73,"check":83,"severity":34,"summary":84},"Sandbox Isolation","The extension's operations are confined to API calls and do not involve modifying files outside the plugin's scope or the user's project in unexpected ways.",{"category":73,"check":86,"severity":34,"summary":87},"Sandbox escape primitives","No detached-process spawns or deny-retry loops were detected in the provided script.",{"category":73,"check":89,"severity":34,"summary":90},"Data Exfiltration","The extension's documented behavior involves making API calls to external services for research and documentation, with API keys handled via environment variables. No explicit data exfiltration attempts were observed.",{"category":73,"check":92,"severity":34,"summary":93},"Hidden Text Tricks","Bundled files do not contain hidden-steering tricks, invisible characters, or obfuscated instructions.",{"category":95,"check":96,"severity":34,"summary":97},"Hooks","Opaque code execution","The scripts for the skills are provided as readable Python code and do not involve obfuscation, base64 payloads, or runtime fetching of code.",{"category":99,"check":100,"severity":34,"summary":101},"Portability","Structural Assumption","The extension primarily relies on API calls and environment variables, making minimal assumptions about the user's project structure.",{"category":103,"check":104,"severity":67,"summary":105},"Trust","Issues Attention","Issue data is not available for evaluation.",{"category":107,"check":108,"severity":34,"summary":109},"Versioning","Release Management","The `plugin.json` includes a `version: \"1.0.0\"`, indicating a versioned release.",{"category":111,"check":112,"severity":30,"summary":113},"Code Execution","Validation","The Python scripts for Perplexity and Context7 handle parameters for API calls, but there is no explicit mention or evidence of a schema library being used for input validation and sanitization beyond basic argument parsing.",{"category":73,"check":115,"severity":34,"summary":116},"Unguarded Destructive Operations","The extension performs read-only operations (API calls for research and documentation) and does not contain any destructive primitives.",{"category":111,"check":118,"severity":34,"summary":119},"Error Handling","The Python script includes basic error handling for API requests (HTTP errors, URL errors, timeouts) and provides descriptive messages to stderr.",{"category":111,"check":121,"severity":67,"summary":122},"Logging","The extension does not appear to implement local audit logging for its actions.",{"category":124,"check":125,"severity":126,"summary":127},"Compliance","GDPR","info","The extension interacts with external APIs. While it doesn't explicitly handle personal data, the user's query is sent to the Perplexity API, which could potentially involve personal data depending on the query content. No specific sanitization for GDPR is evident beyond what the API provider might offer.",{"category":124,"check":129,"severity":34,"summary":130},"Target market","The extension's functionality (web search, documentation retrieval) is global in scope, and no regional restrictions or logic were detected.",{"category":99,"check":132,"severity":34,"summary":133},"Runtime stability","The Python scripts are standard and should run on any POSIX-compatible system with Python 3. No specific OS or shell assumptions were detected.",{"category":40,"check":135,"severity":34,"summary":136},"Tool surface size","The plugin exposes two skills, each with a few distinct tools, resulting in a manageable tool surface size.",{"category":47,"check":138,"severity":34,"summary":139},"Name collisions","The skills 'context7' and 'perplexity-search' have distinct names and descriptions, avoiding potential router mismatches.",{"category":47,"check":141,"severity":34,"summary":142},"Overlapping near-synonym tools","The tools within each skill (e.g., `perplexity_ask`, `perplexity_research`, `perplexity_search`) have distinct purposes and names, avoiding redundancy.",{"category":47,"check":144,"severity":67,"summary":145},"Hooks-off mechanism","This extension is a plugin and does not appear to have hooks that would require a hooks-off mechanism.",{"category":47,"check":147,"severity":67,"summary":148},"Hook matcher tightness","This extension does not appear to use hooks.",{"category":73,"check":150,"severity":67,"summary":148},"Hook security",{"category":95,"check":152,"severity":67,"summary":153},"Silent prompt rewriting","This extension does not appear to use `UserPromptSubmit` hooks.",{"category":73,"check":155,"severity":67,"summary":156},"Permission Hook","This extension does not appear to use `PermissionRequest` hooks.",{"category":124,"check":158,"severity":67,"summary":159},"Hook privacy","This extension does not appear to use hooks for logging or telemetry.",{"category":111,"check":161,"severity":67,"summary":148},"Hook dependency",{"category":51,"check":163,"severity":34,"summary":164},"Install / Setup Instructions","The README provides clear installation instructions for the marketplace and individual plugins, including setting up required environment variables.",{"category":51,"check":166,"severity":34,"summary":167},"Feature Transparency","The README clearly describes the capabilities and usage of each skill, including prerequisites like API keys.",{"category":51,"check":169,"severity":34,"summary":170},"Phantom features","All features described in the README (perplexity search, context7 documentation retrieval) have corresponding implementations and documentation within the repository.",{"category":172,"check":173,"severity":34,"summary":174},"Convention","Layout convention adherence","The plugin structure follows conventions, with `plugin.json` in `.claude-plugin/` and scripts organized within skills directories. The README also names the skills.",{"category":172,"check":176,"severity":67,"summary":177},"Plugin state","The plugin does not appear to have persistent state that needs to be managed outside of standard API interactions.",{"category":73,"check":179,"severity":30,"summary":180},"Keychain-stored secrets","API keys are expected as environment variables, not explicitly routed through `userConfig` with `sensitive: true`, which could lead to less secure storage if not managed carefully by the user.",{"category":182,"check":183,"severity":34,"summary":184},"Installation","Clean uninstall","The plugin's installation and functionality are based on API calls and environment variables, with no background daemons or services that would survive an uninstall.",1778053614300,"This plugin bundles two skills that leverage external APIs for software development research. The 'perplexity-search' skill allows for web searches, deep research, and complex reasoning, while the 'context7' skill provides access to the latest library documentation to prevent hallucinations. Both skills require API keys to be configured as environment variables.","2.0.0","3.4.0","The extension provides valuable research and documentation capabilities through two well-defined skills. However, the generic displayed description, lack of explicit secure secret handling for API keys, and absence of input validation schemas in the scripts prevent a higher score. The MIT license, clear installation instructions, and well-organized structure contribute positively.",75,"This plugin offers two research-focused skills: one for web searches and analysis using the Perplexity API, and another for retrieving up-to-date library documentation via Context7.",[15,16,17,18,19,20],"global","evaluated",{"codeQuality":196,"collectedAt":197,"documentation":198,"maintenance":200,"security":201,"testCoverage":203},{},1778053600896,{"descriptionLength":199,"readmeSize":8},40,{},{"hasNpmPackage":202,"smitheryVerified":202},false,{"hasCi":202,"hasTests":202},{"updatedAt":205},1778053627853,{"githubOwner":207,"githubRepo":208,"locale":24,"slug":15,"type":209},"dotneet","claude-code-marketplace","plugin",true,{"_creationTime":212,"_id":213,"community":214,"display":215,"identity":226,"parentExtension":229,"providers":230,"relations":238,"workflow":240},1778053599340.3228,"k177j4qet0f36cgczpf38e8ct5866nhy",{"reviewCount":8},{"description":216,"installMethods":217,"name":218,"sourceUrl":219,"tags":220},"Various tools for software development.",{},"Claude Code Marketplace","https://github.com/dotneet/claude-code-marketplace",[221,222,15,223,224,225],"development-tools","code-review","agent","prompt-optimization","google-integration",{"githubOwner":207,"githubRepo":208,"locale":24,"slug":227,"type":228},"dotneet-marketplace","marketplace",null,{"extract":231,"llm":236},{"commitSha":232,"license":233,"marketplace":234},"07fa7eac95c2323f73e5a8a961b70bb9e207f1d0","MIT",{"name":227,"pluginCount":235},6,{"promptVersionExtension":187,"promptVersionScoring":188,"score":237,"targetMarket":193,"tier":194},65,{"repoId":239},"kd749h8eebkjfvprkd1zp9w8v9864ppm",{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":205,"updatedAt":205},1778053599740,1778053599340,{"extract":244,"llm":245},{"commitSha":232,"license":233},{"promptVersionExtension":187,"promptVersionScoring":188,"score":190,"targetMarket":193,"tier":194},{"parentExtensionId":213,"repoId":239},{"_creationTime":248,"_id":239,"identity":249,"providers":250,"workflow":258},1777995558409.8433,{"githubOwner":207,"githubRepo":208,"sourceUrl":219},{"discover":251,"github":254},{"sources":252},[253],"skills-sh",{"closedIssues90d":8,"forks":8,"openIssues90d":8,"pushedAt":255,"readmeSize":256,"stars":8,"topics":257},1769158530000,2738,[],{"discoverAt":259,"extractAt":260,"githubAt":260,"updatedAt":260},1777995558409,1778053600212,{"anyEnrichmentAt":241,"extractAt":242,"githubAt":241,"llmAt":205,"updatedAt":205},[],[]]