[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-luiseiman-catalyst-calendar-zh-CN":3,"guides-for-luiseiman-catalyst-calendar":778,"similar-k170k9pazvm20skn47txw0tfax86n5xw-zh-CN":779},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":244,"isFallback":236,"parentExtension":249,"providers":284,"relations":288,"repo":289,"tags":776,"workflow":777},1778692488329.018,"k170k9pazvm20skn47txw0tfax86n5xw",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Maintain calendar of upcoming catalysts for portfolio positions and watchlist. Earnings dates, ex-div dates, regulatory events, macro releases. Triggers on \"catalysts\", \"upcoming events\", \"earnings calendar\", \"what's coming up\", \"catalyst calendar\".",{"claudeCode":12},"luiseiman/claude-kit","catalyst-calendar","https://github.com/luiseiman/claude-kit",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":227,"workflow":242},1778693404612.484,"kn79xbewbg9hc9zwtb2x47p9gd86mhtk","en",{"checks":20,"evaluatedAt":196,"extensionSummary":197,"features":198,"nonGoals":204,"promptVersionExtension":208,"promptVersionScoring":209,"purpose":210,"rationale":211,"score":212,"summary":213,"tags":214,"targetMarket":220,"tier":221,"useCases":222},[21,26,29,32,36,39,44,48,51,54,58,62,65,69,72,75,78,81,84,87,91,95,99,104,108,111,115,118,122,125,128,131,134,137,140,144,148,151,154,158,161,164,167,170,174,177,180,183,186,189,193],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly states the problem of maintaining a calendar of upcoming catalysts for financial positions and watchlists, including specific event types.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The skill offers a structured approach to gathering and organizing financial catalyst data, going beyond basic LLM capabilities by providing specific search targets and output formats.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The skill outlines a complete workflow from data collection to risk overlay and output, suggesting it can be used in a real workflow to manage financial event calendars.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The skill focuses on maintaining a catalyst calendar for financial positions and watchlists, with a clear scope around event tracking and aggregation.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The provided description accurately reflects the skill's function of maintaining a calendar of upcoming financial catalysts.",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","This skill does not expose explicit tools; it operates as a prompt-based agent capability.",{"category":45,"check":46,"severity":42,"summary":47},"Documentation","Configuration & parameter reference","The skill does not appear to have configurable parameters or environment variables beyond what is implied by the prompt triggers.",{"category":33,"check":49,"severity":42,"summary":50},"Tool naming","This skill does not expose explicit tools or commands, so tool naming is not applicable.",{"category":33,"check":52,"severity":42,"summary":53},"Minimal I/O surface","This skill does not expose explicit tools or commands with defined input/output schemas.",{"category":55,"check":56,"severity":24,"summary":57},"License","License usability","The extension is licensed under the MIT license, which is a permissive open-source license.",{"category":59,"check":60,"severity":24,"summary":61},"Maintenance","Commit recency","The repository has recent commits, with the latest push on May 13, 2026.",{"category":59,"check":63,"severity":42,"summary":64},"Dependency Management","The skill does not appear to have any third-party dependencies that require management.",{"category":66,"check":67,"severity":42,"summary":68},"Security","Secret Management","The skill does not appear to handle or require secrets.",{"category":66,"check":70,"severity":24,"summary":71},"Injection","The skill's prompt is well-defined and does not appear to load external, untrusted data as instructions.",{"category":66,"check":73,"severity":24,"summary":74},"Transitive Supply-Chain Grenades","The skill operates solely on prompt instructions and does not fetch external content or code at runtime.",{"category":66,"check":76,"severity":24,"summary":77},"Sandbox Isolation","The skill is prompt-based and does not interact with the file system or perform operations outside its defined scope.",{"category":66,"check":79,"severity":24,"summary":80},"Sandbox escape primitives","As a prompt-based skill, it does not have access to shell primitives that could be used for sandbox escapes.",{"category":66,"check":82,"severity":24,"summary":83},"Data Exfiltration","The skill is prompt-based and does not perform outbound calls or reference confidential data.",{"category":66,"check":85,"severity":24,"summary":86},"Hidden Text Tricks","The skill's bundled content (SKILL.md) appears to be free of hidden-steering tricks.",{"category":88,"check":89,"severity":24,"summary":90},"Hooks","Opaque code execution","The skill is based on a SKILL.md file and does not involve opaque code execution.",{"category":92,"check":93,"severity":42,"summary":94},"Portability","Structural Assumption","The skill is prompt-based and does not make assumptions about the user's project structure.",{"category":96,"check":97,"severity":24,"summary":98},"Trust","Issues Attention","With 0 open and 0 closed issues in the last 90 days, the repository shows no signs of active issue management but is also not burdened by unaddressed issues.",{"category":100,"check":101,"severity":102,"summary":103},"Versioning","Release Management","info","The repository does not have a clear versioning scheme like semver in SKILL.md or GitHub releases, but install instructions do not reference `main`.",{"category":105,"check":106,"severity":42,"summary":107},"Execution","Validation","The skill operates on natural language prompts and does not have executable code with structured input/output validation.",{"category":66,"check":109,"severity":24,"summary":110},"Unguarded Destructive Operations","The skill is prompt-based and does not perform any destructive operations.",{"category":112,"check":113,"severity":42,"summary":114},"Code Execution","Error Handling","As a prompt-based skill, there is no executable code to handle errors from.",{"category":112,"check":116,"severity":42,"summary":117},"Logging","The skill is prompt-based and does not perform destructive actions or outbound calls that would require local logging.",{"category":119,"check":120,"severity":42,"summary":121},"Compliance","GDPR","The skill does not appear to operate on personal data; it focuses on publicly available financial event information.",{"category":119,"check":123,"severity":24,"summary":124},"Target market","The skill's scope includes both US macro events and Argentinian (AR) specific financial events, indicating a multi-regional focus, but no specific jurisdiction is exclusively targeted. The skill is global in scope.",{"category":92,"check":126,"severity":42,"summary":127},"Runtime stability","The skill is prompt-based and does not rely on specific runtime environments or shells.",{"category":45,"check":129,"severity":102,"summary":130},"README","A README file exists and describes the 'dotforge' project, which is related tooling for Claude Code configuration. It does not directly describe the 'catalyst-calendar' skill.",{"category":33,"check":132,"severity":42,"summary":133},"Tool surface size","This is a skill, not a collection of tools; therefore, tool surface size is not applicable.",{"category":40,"check":135,"severity":42,"summary":136},"Overlapping near-synonym tools","This skill does not expose explicit tools, so overlapping synonyms are not applicable.",{"category":45,"check":138,"severity":24,"summary":139},"Phantom features","All advertised features in the SKILL.md are implemented via prompt instructions and trigger phrases.",{"category":141,"check":142,"severity":42,"summary":143},"Install","Installation instruction","The skill is loaded via `claudeCode` and does not require separate installation instructions beyond the repository context.",{"category":145,"check":146,"severity":42,"summary":147},"Errors","Actionable error messages","The skill operates on natural language prompts and does not have explicit error paths visible to the user.",{"category":105,"check":149,"severity":42,"summary":150},"Pinned dependencies","The skill is prompt-based and does not use third-party dependencies.",{"category":33,"check":152,"severity":42,"summary":153},"Dry-run preview","The skill is prompt-based and does not perform state-changing operations or outbound calls requiring a dry-run preview.",{"category":155,"check":156,"severity":42,"summary":157},"Protocol","Idempotent retry & timeouts","The skill is prompt-based and does not involve remote calls or state-changing operations.",{"category":119,"check":159,"severity":24,"summary":160},"Telemetry opt-in","As a prompt-based skill, it does not emit telemetry.",{"category":40,"check":162,"severity":24,"summary":163},"Precise Purpose","The skill's purpose and triggers are clearly defined in the SKILL.md frontmatter, specifying the artifact (catalysts) and user intent (maintain calendar).",{"category":40,"check":165,"severity":24,"summary":166},"Concise Frontmatter","The frontmatter in SKILL.md is concise and self-contained, effectively summarizing the core capability and trigger phrases.",{"category":45,"check":168,"severity":24,"summary":169},"Concise Body","The SKILL.md body is well-structured and under ~500 lines, delegating deeper material to sections like 'Step 2: Gather Catalysts' which is appropriately detailed.",{"category":171,"check":172,"severity":24,"summary":173},"Context","Progressive Disclosure","The SKILL.md outlines the workflow and provides detailed steps within the main body, which is concise enough for progressive disclosure without requiring separate reference files.",{"category":171,"check":175,"severity":42,"summary":176},"Forked exploration","The skill is not an exploration-heavy skill; it focuses on data aggregation and presentation, so `context: fork` is not applicable.",{"category":22,"check":178,"severity":24,"summary":179},"Usage examples","The SKILL.md provides a clear output example for the calendar view, demonstrating the expected format and content.",{"category":22,"check":181,"severity":24,"summary":182},"Edge cases","The 'Notes' section in SKILL.md addresses edge cases and limitations, such as the need to verify dates and cross-reference with other tools.",{"category":112,"check":184,"severity":42,"summary":185},"Tool Fallback","The skill does not rely on external tools or MCP servers, so tool fallback is not applicable.",{"category":92,"check":187,"severity":42,"summary":188},"Stack assumptions","The skill is prompt-based and does not assume a specific programming language runtime or stack.",{"category":190,"check":191,"severity":24,"summary":192},"Safety","Halt on unexpected state","The skill operates on natural language prompts and does not manage mutable state or have preconditions that would require halting.",{"category":92,"check":194,"severity":24,"summary":195},"Cross-skill coupling","The skill is self-contained and does not implicitly rely on other skills being loaded.",1778693404495,"This skill maintains a calendar of upcoming financial catalysts for portfolio positions and watchlists, including earnings dates, ex-dividend dates, regulatory events, and macro releases. It is designed to trigger on specific phrases related to catalysts and event calendars.",[199,200,201,202,203],"Maintains calendar of upcoming financial catalysts","Tracks earnings dates, ex-div dates, regulatory events, macro releases","Searches for company-specific and market-wide events","Provides detailed and summary calendar views","Includes a risk overlay for event clusters",[205,206,207],"Providing real-time stock price data or trading execution.","Performing in-depth fundamental analysis of companies.","Replacing a full financial news aggregator or research platform.","3.0.0","4.4.0","To proactively manage financial portfolio risk and identify trading opportunities by maintaining a comprehensive calendar of upcoming market-moving events.","The skill is well-defined, secure, and documented. The primary finding is that the README file describes a different project ('dotforge') and does not directly cover this specific skill, though the SKILL.md is comprehensive.",96,"A high-quality skill for tracking financial catalysts with clear documentation and a focused scope.",[215,216,217,218,219],"finance","calendar","events","portfolio","earnings","global","verified",[223,224,225,226],"Use when managing a stock portfolio to track earnings dates and other company-specific events.","Use to stay informed about upcoming macro-economic releases that could affect market positions.","Use to identify potential liquidity risks from overlapping regulatory dates and bond settlements.","Use to proactively hedge positions ahead of clustered high-impact events.",{"codeQuality":228,"collectedAt":230,"documentation":231,"maintenance":234,"security":239,"testCoverage":241},{"hasLockfile":229},false,1778693389465,{"descriptionLength":232,"readmeSize":233},249,35166,{"closedIssues90d":8,"forks":235,"hasChangelog":236,"openIssues90d":8,"pushedAt":237,"stars":238},1,true,1778672535000,6,{"hasNpmPackage":229,"license":240,"smitheryVerified":229},"MIT",{"hasCi":236,"hasTests":236},{"updatedAt":243},1778693404612,{"basePath":245,"githubOwner":246,"githubRepo":247,"locale":18,"slug":13,"type":248},"stacks/trading/skills/catalyst-calendar","luiseiman","claude-kit","skill",{"_creationTime":250,"_id":251,"community":252,"display":253,"identity":257,"parentExtension":261,"providers":262,"relations":278,"tags":280,"workflow":281},1778692488329.0125,"k178gfhceqh5fda6z7215xhwx186m926",{"reviewCount":8},{"description":254,"installMethods":255,"name":256,"sourceUrl":14},"Trading & investment analysis — thesis tracking, earnings watch, screening, catalyst calendar, backtesting ADR gate. AR + US markets.",{"claudeCode":256},"dotforge-stack-trading",{"basePath":258,"githubOwner":246,"githubRepo":247,"locale":18,"slug":259,"type":260},"stacks/trading","trading","plugin",null,{"evaluate":263,"extract":273},{"promptVersionExtension":208,"promptVersionScoring":209,"score":264,"tags":265,"targetMarket":220,"tier":221},95,[259,266,215,267,268,269,270,271,272],"investment","analysis","stocks","catalyst","screening","ar","us",{"commitSha":274,"license":240,"plugin":275},"HEAD",{"mcpCount":8,"provider":276,"skillCount":277},"classify",4,{"repoId":279},"kd79wqc8an5wh20cc2znr8tyb586mxwx",[267,271,269,215,266,270,268,259,272],{"evaluatedAt":282,"extractAt":283,"updatedAt":282},1778692872401,1778692488329,{"evaluate":285,"extract":287},{"promptVersionExtension":208,"promptVersionScoring":209,"score":212,"tags":286,"targetMarket":220,"tier":221},[215,216,217,218,219],{"commitSha":274},{"parentExtensionId":251,"repoId":279},{"_creationTime":290,"_id":279,"identity":291,"providers":292,"workflow":772},1778692481646.1384,{"githubOwner":246,"githubRepo":247,"sourceUrl":14},{"classify":293,"discover":746,"github":749},{"commitSha":274,"extensions":294},[295,312,378,387,395,403,411,419,427,443,451,459,469,479,487,495,505,515,528,536,557,565,573,581,589,597,605,613,621,629,637,645,653,661,669,677,685,693,701,709,717,722,730,738],{"basePath":296,"description":297,"displayName":298,"installMethods":299,"rationale":300,"selectedPaths":301,"source":310,"sourceLanguage":18,"type":311},"","Configuration governance for Claude Code — bootstrap, audit, sync, and evolve .claude/ across projects","dotforge",{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[302,305,307],{"path":303,"priority":304},".claude-plugin/marketplace.json","mandatory",{"path":306,"priority":304},"README.md",{"path":308,"priority":309},"LICENSE","high","rule","marketplace",{"basePath":296,"description":313,"displayName":298,"installMethods":314,"license":240,"rationale":315,"selectedPaths":316,"source":310,"sourceLanguage":18,"type":260},"Behavior governance for Claude Code — declarative runtime policies on tool calls (search-first, no-destructive-git, verify-before-done, …) compiled to PreToolUse hooks, plus configuration governance: 18 skills, 7 agents, 16 stacks, audit scoring, practices pipeline.",{"claudeCode":298},"plugin manifest at .claude-plugin/plugin.json",[317,319,320,321,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376],{"path":318,"priority":304},".claude-plugin/plugin.json",{"path":306,"priority":304},{"path":308,"priority":309},{"path":322,"priority":323},"skills/audit-project/SKILL.md","medium",{"path":325,"priority":323},"skills/benchmark/SKILL.md",{"path":327,"priority":323},"skills/bootstrap-project/SKILL.md",{"path":329,"priority":323},"skills/capture-practice/SKILL.md",{"path":331,"priority":323},"skills/diff-project/SKILL.md",{"path":333,"priority":323},"skills/domain-extract/SKILL.md",{"path":335,"priority":323},"skills/export-config/SKILL.md",{"path":337,"priority":323},"skills/forge-behavior/SKILL.md",{"path":339,"priority":323},"skills/init-project/SKILL.md",{"path":341,"priority":323},"skills/learn-project/SKILL.md",{"path":343,"priority":323},"skills/mcp-add/SKILL.md",{"path":345,"priority":323},"skills/plugin-generator/SKILL.md",{"path":347,"priority":323},"skills/reset-project/SKILL.md",{"path":349,"priority":323},"skills/rule-effectiveness/SKILL.md",{"path":351,"priority":323},"skills/scout-repos/SKILL.md",{"path":353,"priority":323},"skills/session-insights/SKILL.md",{"path":355,"priority":323},"skills/sync-template/SKILL.md",{"path":357,"priority":323},"skills/update-practices/SKILL.md",{"path":359,"priority":323},"skills/watch-upstream/SKILL.md",{"path":361,"priority":309},"agents/architect.md",{"path":363,"priority":309},"agents/code-reviewer.md",{"path":365,"priority":309},"agents/implementer.md",{"path":367,"priority":309},"agents/researcher.md",{"path":369,"priority":309},"agents/security-auditor.md",{"path":371,"priority":309},"agents/session-reviewer.md",{"path":373,"priority":309},"agents/test-runner.md",{"path":375,"priority":309},"hooks/detect-claude-changes.sh",{"path":377,"priority":309},"hooks/hooks.json",{"basePath":379,"description":380,"displayName":381,"installMethods":382,"rationale":383,"selectedPaths":384,"source":310,"sourceLanguage":18,"type":260},"stacks/aws-deploy","AWS CDK/SAM/CloudFormation infrastructure-as-code rules for Claude Code.","dotforge-stack-aws-deploy",{"claudeCode":381},"plugin manifest at stacks/aws-deploy/plugin.json",[385],{"path":386,"priority":304},"plugin.json",{"basePath":388,"description":389,"displayName":390,"installMethods":391,"rationale":392,"selectedPaths":393,"source":310,"sourceLanguage":18,"type":260},"stacks/data-analysis","SQLite/PostgreSQL, pandas/polars, and Jupyter notebook rules for data analysis with Claude Code.","dotforge-stack-data-analysis",{"claudeCode":390},"plugin manifest at stacks/data-analysis/plugin.json",[394],{"path":386,"priority":304},{"basePath":396,"description":397,"displayName":398,"installMethods":399,"rationale":400,"selectedPaths":401,"source":310,"sourceLanguage":18,"type":260},"stacks/devcontainer","Dev Container configuration, image pinning, and features rules for Claude Code.","dotforge-stack-devcontainer",{"claudeCode":398},"plugin manifest at stacks/devcontainer/plugin.json",[402],{"path":386,"priority":304},{"basePath":404,"description":405,"displayName":406,"installMethods":407,"rationale":408,"selectedPaths":409,"source":310,"sourceLanguage":18,"type":260},"stacks/docker-deploy","Docker Compose and Dockerfile best practices, health checks, and deployment rules for Claude Code.","dotforge-stack-docker-deploy",{"claudeCode":406},"plugin manifest at stacks/docker-deploy/plugin.json",[410],{"path":386,"priority":304},{"basePath":412,"description":413,"displayName":414,"installMethods":415,"rationale":416,"selectedPaths":417,"source":310,"sourceLanguage":18,"type":260},"stacks/gcp-cloud-run","GCP Cloud Run container deployment, Cloud Build, and health check rules for Claude Code.","dotforge-stack-gcp-cloud-run",{"claudeCode":414},"plugin manifest at stacks/gcp-cloud-run/plugin.json",[418],{"path":386,"priority":304},{"basePath":420,"description":421,"displayName":422,"installMethods":423,"rationale":424,"selectedPaths":425,"source":310,"sourceLanguage":18,"type":260},"stacks/go-api","Go 1.22+ with standard library net/http, Go modules, and API patterns rules for Claude Code.","dotforge-stack-go-api",{"claudeCode":422},"plugin manifest at stacks/go-api/plugin.json",[426],{"path":386,"priority":304},{"basePath":428,"description":429,"displayName":430,"installMethods":431,"rationale":432,"selectedPaths":433,"source":310,"sourceLanguage":18,"type":260},"stacks/hookify","Dynamic hook rules from natural language. Create .claude/hookify.*.local.md files that act as warn/block rules without editing hooks.json.","dotforge-stack-hookify",{"claudeCode":430},"plugin manifest at stacks/hookify/plugin.json",[434,435,437,439,441],{"path":386,"priority":304},{"path":436,"priority":323},"skills/hookify/SKILL.md",{"path":438,"priority":309},"hooks/hookify-pretooluse.py",{"path":440,"priority":309},"hooks/hookify-stop.py",{"path":442,"priority":309},"hooks/hookify-userpromptsubmit.py",{"basePath":444,"description":445,"displayName":446,"installMethods":447,"rationale":448,"selectedPaths":449,"source":310,"sourceLanguage":18,"type":260},"stacks/java-spring","Java 21+ with Spring Boot 3.x, Maven/Gradle, records, and virtual threads rules for Claude Code.","dotforge-stack-java-spring",{"claudeCode":446},"plugin manifest at stacks/java-spring/plugin.json",[450],{"path":386,"priority":304},{"basePath":452,"description":453,"displayName":454,"installMethods":455,"rationale":456,"selectedPaths":457,"source":310,"sourceLanguage":18,"type":260},"stacks/node-express","Node.js 20+ with Express/Fastify, TypeScript, and ESM module rules for Claude Code.","dotforge-stack-node-express",{"claudeCode":454},"plugin manifest at stacks/node-express/plugin.json",[458],{"path":386,"priority":304},{"basePath":460,"description":461,"displayName":462,"installMethods":463,"rationale":464,"selectedPaths":465,"source":310,"sourceLanguage":18,"type":260},"stacks/python-fastapi","Python 3.12+ with FastAPI, async/await, type hints, and Ruff linting rules for Claude Code.","dotforge-stack-python-fastapi",{"claudeCode":462},"plugin manifest at stacks/python-fastapi/plugin.json",[466,467],{"path":386,"priority":304},{"path":468,"priority":309},"hooks/lint-python.sh",{"basePath":470,"description":471,"displayName":472,"installMethods":473,"rationale":474,"selectedPaths":475,"source":310,"sourceLanguage":18,"type":260},"stacks/react-vite-ts","React 18+ with Vite, TypeScript strict mode, Tailwind CSS, and Zustand rules for Claude Code.","dotforge-stack-react-vite-ts",{"claudeCode":472},"plugin manifest at stacks/react-vite-ts/plugin.json",[476,477],{"path":386,"priority":304},{"path":478,"priority":309},"hooks/lint-ts.sh",{"basePath":480,"description":481,"displayName":482,"installMethods":483,"rationale":484,"selectedPaths":485,"source":310,"sourceLanguage":18,"type":260},"stacks/redis","Redis Streams, caching patterns, and pub/sub rules for Claude Code.","dotforge-stack-redis",{"claudeCode":482},"plugin manifest at stacks/redis/plugin.json",[486],{"path":386,"priority":304},{"basePath":488,"description":489,"displayName":490,"installMethods":491,"rationale":492,"selectedPaths":493,"source":310,"sourceLanguage":18,"type":260},"stacks/supabase","Supabase migrations, RLS policies, Edge Functions, and database rules for Claude Code.","dotforge-stack-supabase",{"claudeCode":490},"plugin manifest at stacks/supabase/plugin.json",[494],{"path":386,"priority":304},{"basePath":496,"description":497,"displayName":498,"installMethods":499,"rationale":500,"selectedPaths":501,"source":310,"sourceLanguage":18,"type":260},"stacks/swift-swiftui","Swift 5.9+ with SwiftUI, iOS 17+, @Observable, async/await, and SPM rules for Claude Code.","dotforge-stack-swift-swiftui",{"claudeCode":498},"plugin manifest at stacks/swift-swiftui/plugin.json",[502,503],{"path":386,"priority":304},{"path":504,"priority":309},"hooks/lint-swift.sh",{"basePath":506,"description":507,"displayName":508,"installMethods":509,"rationale":510,"selectedPaths":511,"source":310,"sourceLanguage":18,"type":260},"stacks/tdd","TDD workflow enforcement with auto-test hook","tdd",{"claudeCode":508},"plugin manifest at stacks/tdd/plugin.json",[512,513],{"path":386,"priority":304},{"path":514,"priority":309},"hooks/test-on-edit.sh",{"basePath":258,"description":254,"displayName":256,"installMethods":516,"rationale":517,"selectedPaths":518,"source":310,"sourceLanguage":18,"type":260},{"claudeCode":256},"plugin manifest at stacks/trading/plugin.json",[519,520,522,524,526],{"path":386,"priority":304},{"path":521,"priority":323},"skills/catalyst-calendar/SKILL.md",{"path":523,"priority":323},"skills/earnings-watch/SKILL.md",{"path":525,"priority":323},"skills/screen/SKILL.md",{"path":527,"priority":323},"skills/thesis-tracker/SKILL.md",{"basePath":529,"description":530,"displayName":531,"installMethods":532,"rationale":533,"selectedPaths":534,"source":310,"sourceLanguage":18,"type":260},"stacks/vps-ssh","SSH/VPS deployment — remote host conventions, key management, and rsync/scp patterns for bare-metal or self-hosted deploys (Oracle Free Tier, Hetzner, DigitalOcean).","dotforge-stack-vps-ssh",{"claudeCode":531},"plugin manifest at stacks/vps-ssh/plugin.json",[535],{"path":386,"priority":304},{"basePath":537,"description":538,"displayName":539,"installMethods":540,"rationale":541,"selectedPaths":542,"source":310,"sourceLanguage":18,"type":248},"integrations/openclaw","dotforge configuration factory — audit, sync, status, insights across projects from any channel","forge",{"claudeCode":12},"SKILL.md frontmatter at integrations/openclaw/SKILL.md",[543,545,547,549,551,553,555],{"path":544,"priority":304},"SKILL.md",{"path":546,"priority":323},"AGENTS.md",{"path":548,"priority":323},"HEARTBEAT.md",{"path":550,"priority":323},"IDENTITY.md",{"path":552,"priority":323},"SOUL.md",{"path":554,"priority":323},"TOOLS.md",{"path":556,"priority":323},"USER.md",{"basePath":558,"description":559,"displayName":560,"installMethods":561,"rationale":562,"selectedPaths":563,"source":310,"sourceLanguage":18,"type":248},"skills/audit-project","Audits the Claude Code configuration of a project against the dotforge template. Generates a report with score and gaps.","audit-project",{"claudeCode":12},"SKILL.md frontmatter at skills/audit-project/SKILL.md",[564],{"path":544,"priority":304},{"basePath":566,"description":567,"displayName":568,"installMethods":569,"rationale":570,"selectedPaths":571,"source":310,"sourceLanguage":18,"type":248},"skills/benchmark","Compare Claude Code output with full config vs minimal config using standardized tasks per stack.","benchmark",{"claudeCode":12},"SKILL.md frontmatter at skills/benchmark/SKILL.md",[572],{"path":544,"priority":304},{"basePath":574,"description":575,"displayName":576,"installMethods":577,"rationale":578,"selectedPaths":579,"source":310,"sourceLanguage":18,"type":248},"skills/bootstrap-project","Initializes the Claude Code configuration in a new or existing project using the dotforge template.","bootstrap-project",{"claudeCode":12},"SKILL.md frontmatter at skills/bootstrap-project/SKILL.md",[580],{"path":544,"priority":304},{"basePath":582,"description":583,"displayName":584,"installMethods":585,"rationale":586,"selectedPaths":587,"source":310,"sourceLanguage":18,"type":248},"skills/capture-practice","Captures an insight or practice discovered during work and registers it in the dotforge practices/inbox.","capture-practice",{"claudeCode":12},"SKILL.md frontmatter at skills/capture-practice/SKILL.md",[588],{"path":544,"priority":304},{"basePath":590,"description":591,"displayName":592,"installMethods":593,"rationale":594,"selectedPaths":595,"source":310,"sourceLanguage":18,"type":248},"skills/diff-project","Shows what changed in dotforge since the project's last sync, to decide whether running /forge sync is worthwhile.","diff-project",{"claudeCode":12},"SKILL.md frontmatter at skills/diff-project/SKILL.md",[596],{"path":544,"priority":304},{"basePath":598,"description":599,"displayName":600,"installMethods":601,"rationale":602,"selectedPaths":603,"source":310,"sourceLanguage":18,"type":248},"skills/domain-extract","Extract domain knowledge from existing project sources and generate domain rules. Also handles vault sync and domain listing.","domain-extract",{"claudeCode":12},"SKILL.md frontmatter at skills/domain-extract/SKILL.md",[604],{"path":544,"priority":304},{"basePath":606,"description":607,"displayName":608,"installMethods":609,"rationale":610,"selectedPaths":611,"source":310,"sourceLanguage":18,"type":248},"skills/export-config","Export dotforge configuration to other AI code editors (Cursor, Codex, Windsurf, OpenClaw).","export-config",{"claudeCode":12},"SKILL.md frontmatter at skills/export-config/SKILL.md",[612],{"path":544,"priority":304},{"basePath":614,"description":615,"displayName":616,"installMethods":617,"rationale":618,"selectedPaths":619,"source":310,"sourceLanguage":18,"type":248},"skills/forge-behavior","Manage dotforge v3 behavior governance — view status, toggle behaviors, adjust strictness. Use when the user asks about active behaviors, wants to disable one for the current session, or adjust escalation thresholds.","forge-behavior",{"claudeCode":12},"SKILL.md frontmatter at skills/forge-behavior/SKILL.md",[620],{"path":544,"priority":304},{"basePath":622,"description":623,"displayName":624,"installMethods":625,"rationale":626,"selectedPaths":627,"source":310,"sourceLanguage":18,"type":248},"skills/init-project","Quick-start Claude Code configuration. Auto-detects stack, asks 4 questions to understand the project, generates complete config.","init-project",{"claudeCode":12},"SKILL.md frontmatter at skills/init-project/SKILL.md",[628],{"path":544,"priority":304},{"basePath":630,"description":631,"displayName":632,"installMethods":633,"rationale":634,"selectedPaths":635,"source":310,"sourceLanguage":18,"type":248},"skills/learn-project","Scan project code to detect patterns, dependencies, and conventions. Propose domain rules based on what the code actually does.","learn-project",{"claudeCode":12},"SKILL.md frontmatter at skills/learn-project/SKILL.md",[636],{"path":544,"priority":304},{"basePath":638,"description":639,"displayName":640,"installMethods":641,"rationale":642,"selectedPaths":643,"source":310,"sourceLanguage":18,"type":248},"skills/mcp-add","Install an MCP server template from dotforge into a project or global Claude Code config with a single command.","mcp-add",{"claudeCode":12},"SKILL.md frontmatter at skills/mcp-add/SKILL.md",[644],{"path":544,"priority":304},{"basePath":646,"description":647,"displayName":648,"installMethods":649,"rationale":650,"selectedPaths":651,"source":310,"sourceLanguage":18,"type":248},"skills/plugin-generator","Generate a Claude Code plugin package from the current project's dotforge configuration, ready for marketplace submission.","plugin-generator",{"claudeCode":12},"SKILL.md frontmatter at skills/plugin-generator/SKILL.md",[652],{"path":544,"priority":304},{"basePath":654,"description":655,"displayName":656,"installMethods":657,"rationale":658,"selectedPaths":659,"source":310,"sourceLanguage":18,"type":248},"skills/reset-project","Restore a project's .claude/ directory to the dotforge template from scratch, with backup and rollback option.","reset-project",{"claudeCode":12},"SKILL.md frontmatter at skills/reset-project/SKILL.md",[660],{"path":544,"priority":304},{"basePath":662,"description":663,"displayName":664,"installMethods":665,"rationale":666,"selectedPaths":667,"source":310,"sourceLanguage":18,"type":248},"skills/rule-effectiveness","Analyze which rules are actively used vs inert. Detect coverage gaps. Recommend pruning to reduce token consumption.","rule-effectiveness",{"claudeCode":12},"SKILL.md frontmatter at skills/rule-effectiveness/SKILL.md",[668],{"path":544,"priority":304},{"basePath":670,"description":671,"displayName":672,"installMethods":673,"rationale":674,"selectedPaths":675,"source":310,"sourceLanguage":18,"type":248},"skills/scout-repos","Fetch .claude/ configs from curated repos in sources.yml, compare against dotforge template, report novel patterns.","scout-repos",{"claudeCode":12},"SKILL.md frontmatter at skills/scout-repos/SKILL.md",[676],{"path":544,"priority":304},{"basePath":678,"description":679,"displayName":680,"installMethods":681,"rationale":682,"selectedPaths":683,"source":310,"sourceLanguage":18,"type":248},"skills/session-insights","Analyze past Claude Code sessions to extract patterns, metrics, and recommendations.","session-insights",{"claudeCode":12},"SKILL.md frontmatter at skills/session-insights/SKILL.md",[684],{"path":544,"priority":304},{"basePath":686,"description":687,"displayName":688,"installMethods":689,"rationale":690,"selectedPaths":691,"source":310,"sourceLanguage":18,"type":248},"skills/sync-template","Update an existing project's Claude Code configuration against the current dotforge template, without losing local customizations.","sync-template",{"claudeCode":12},"SKILL.md frontmatter at skills/sync-template/SKILL.md",[692],{"path":544,"priority":304},{"basePath":694,"description":695,"displayName":696,"installMethods":697,"rationale":698,"selectedPaths":699,"source":310,"sourceLanguage":18,"type":248},"skills/update-practices","Process the practices inbox, evaluate, incorporate into dotforge, and suggest propagation to projects.","update-practices",{"claudeCode":12},"SKILL.md frontmatter at skills/update-practices/SKILL.md",[700],{"path":544,"priority":304},{"basePath":702,"description":703,"displayName":704,"installMethods":705,"rationale":706,"selectedPaths":707,"source":310,"sourceLanguage":18,"type":248},"skills/watch-upstream","Fetch official Anthropic/Claude Code docs, detect changes relevant to dotforge, report deltas.","watch-upstream",{"claudeCode":12},"SKILL.md frontmatter at skills/watch-upstream/SKILL.md",[708],{"path":544,"priority":304},{"basePath":710,"description":711,"displayName":712,"installMethods":713,"rationale":714,"selectedPaths":715,"source":310,"sourceLanguage":18,"type":248},"stacks/hookify/skills/hookify","Create dynamic hook rules from natural language descriptions. Generates .claude/hookify.*.local.md files that warn or block operations matching patterns. Triggers on \"hookify\", \"create hook rule\", \"warn me when\", \"block when\", \"don't let me\".","hookify",{"claudeCode":12},"SKILL.md frontmatter at stacks/hookify/skills/hookify/SKILL.md",[716],{"path":544,"priority":304},{"basePath":245,"description":10,"displayName":13,"installMethods":718,"rationale":719,"selectedPaths":720,"source":310,"sourceLanguage":18,"type":248},{"claudeCode":12},"SKILL.md frontmatter at stacks/trading/skills/catalyst-calendar/SKILL.md",[721],{"path":544,"priority":304},{"basePath":723,"description":724,"displayName":725,"installMethods":726,"rationale":727,"selectedPaths":728,"source":310,"sourceLanguage":18,"type":248},"stacks/trading/skills/earnings-watch","Quick post-earnings analysis for portfolio holdings. Beat/miss, key metrics, thesis impact, estimate revision. Triggers on \"earnings update\", \"quarterly results\", \"Q1/Q2/Q3/Q4 results\", \"post-earnings\".","earnings-watch",{"claudeCode":12},"SKILL.md frontmatter at stacks/trading/skills/earnings-watch/SKILL.md",[729],{"path":544,"priority":304},{"basePath":731,"description":732,"displayName":733,"installMethods":734,"rationale":735,"selectedPaths":736,"source":310,"sourceLanguage":18,"type":248},"stacks/trading/skills/screen","Run quantitative or thematic stock screens to surface investment ideas. Supports AR (BYMA, CEDEARs) and US markets. Triggers on \"screen\", \"stock screen\", \"find stocks\", \"investment ideas\", \"what looks interesting\".","screen",{"claudeCode":12},"SKILL.md frontmatter at stacks/trading/skills/screen/SKILL.md",[737],{"path":544,"priority":304},{"basePath":739,"description":740,"displayName":741,"installMethods":742,"rationale":743,"selectedPaths":744,"source":310,"sourceLanguage":18,"type":248},"stacks/trading/skills/thesis-tracker","Track and update investment theses for portfolio positions and watchlist. Maintains scorecard of pillars, catalysts, and conviction level. Triggers on \"update thesis\", \"thesis check\", \"is my thesis intact\", \"add data point\", \"review positions\".","thesis-tracker",{"claudeCode":12},"SKILL.md frontmatter at stacks/trading/skills/thesis-tracker/SKILL.md",[745],{"path":544,"priority":304},{"sources":747},[748],"manual",{"closedIssues90d":8,"description":750,"forks":235,"homepage":751,"license":240,"openIssues90d":8,"pushedAt":237,"readmeSize":233,"stars":238,"topics":752},"Configuration governance for Claude Code. Bootstrap, audit, sync, and evolve .claude/ across projects.","https://github.com/luiseiman/dotforge",[753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771],"ai-coding","anthropic","claude-code","claude-code-agents","claude-code-config","claude-code-hooks","claude-code-plugins","claude-code-skills","claude-code-template","claude-md","cli-tools","configuration-management","developer-tools","claude-code-audit","claude-code-rules","claude-code-plugin","claude-plugin","mcp-servers","prompt-engineering",{"classifiedAt":773,"discoverAt":774,"extractAt":775,"githubAt":775,"updatedAt":773},1778692487649,1778692481646,1778692485708,[216,219,217,215,218],{"evaluatedAt":243,"extractAt":283,"updatedAt":243},[],[780,810,838,856,872,903],{"_creationTime":781,"_id":782,"community":783,"display":784,"identity":790,"providers":795,"relations":804,"tags":806,"workflow":807},1778692098392.7183,"k17a72stj28d2bw648ptm7mfj186ns69",{"reviewCount":8},{"description":785,"installMethods":786,"name":788,"sourceUrl":789},"飞书日历（calendar）：提供日历与日程（会议）的全面管理能力。核心场景包括：查看/搜索日程、创建/更新日程、管理参会人、查询忙闲状态及推荐空闲时段、查询/搜索与预定会议室。注意：涉及【预约日程/会议】或【查询/预定会议室】时，必须先读取 references/lark-calendar-schedule-meeting.md 工作流！高频操作请优先使用 Shortcuts：+agenda（快速概览今日/近期行程）、+create（创建日程并按需邀请参会人及预定会议室）、+update（更新既有日程字段，或独立增删参会人/会议室）、+freebusy（查询用户主日历的忙闲信息和rsvp的状态）、+rsvp（回复日程邀请）",{"claudeCode":787},"larksuite/cli","lark-calendar","https://github.com/larksuite/cli",{"basePath":791,"githubOwner":792,"githubRepo":793,"locale":794,"slug":788,"type":248},"skills/lark-calendar","larksuite","cli","zh-CN",{"evaluate":796,"extract":803},{"promptVersionExtension":208,"promptVersionScoring":209,"score":797,"tags":798,"targetMarket":220,"tier":221},100,[216,799,800,217,801,802,793],"scheduling","meeting","lark","feishu",{"commitSha":274},{"repoId":805},"kd7akv5cxs7vx53ys6jsrv85v186mha4",[216,793,217,802,801,800,799],{"evaluatedAt":808,"extractAt":809,"updatedAt":808},1778692253993,1778692098392,{"_creationTime":811,"_id":812,"community":813,"display":814,"identity":820,"providers":824,"relations":831,"tags":834,"workflow":835},1778696833339.622,"k174qnnznbkmy19r57jgrwpds986ng1r",{"reviewCount":8},{"description":815,"installMethods":816,"name":818,"sourceUrl":819},"Interact with Google Calendar - list calendars, view events, create/update/delete events, and find free time.\nUse when user asks to: check calendar, schedule a meeting, create an event, find available time, list upcoming events,\ndelete or update a calendar event, or respond to meeting invitations. Lightweight alternative to full\nGoogle Workspace MCP server with standalone OAuth authentication.\n",{"claudeCode":817},"sanjay3290/ai-skills","google-calendar","https://github.com/sanjay3290/ai-skills",{"basePath":821,"githubOwner":822,"githubRepo":823,"locale":18,"slug":818,"type":248},"skills/google-calendar","sanjay3290","ai-skills",{"evaluate":825,"extract":830},{"promptVersionExtension":208,"promptVersionScoring":209,"score":826,"tags":827,"targetMarket":220,"tier":221},99,[216,828,799,217,829],"google","automation",{"commitSha":274},{"parentExtensionId":832,"repoId":833},"k17es37z10n1sw6t2m3f0vsydx86mnje","kd71np0fyqg23qg8w2hcfw0h0h86nkn0",[829,216,217,828,799],{"evaluatedAt":836,"extractAt":837,"updatedAt":836},1778696957454,1778696833339,{"_creationTime":839,"_id":840,"community":841,"display":842,"identity":845,"providers":846,"relations":852,"tags":853,"workflow":854},1778692488329.0188,"k1766rmt0dab8gwdz9yks1rbw186nzxt",{"reviewCount":8},{"description":740,"installMethods":843,"name":844,"sourceUrl":14},{"claudeCode":12},"Thesis Tracker",{"basePath":739,"githubOwner":246,"githubRepo":247,"locale":18,"slug":741,"type":248},{"evaluate":847,"extract":851},{"promptVersionExtension":208,"promptVersionScoring":209,"score":826,"tags":848,"targetMarket":220,"tier":221},[266,215,218,849,850],"thesis","tracking",{"commitSha":274,"license":240},{"parentExtensionId":251,"repoId":279},[215,266,218,849,850],{"evaluatedAt":855,"extractAt":283,"updatedAt":855},1778693468994,{"_creationTime":857,"_id":858,"community":859,"display":860,"identity":862,"providers":863,"relations":868,"tags":869,"workflow":870},1778692488329.0183,"k173506qec3arsnyvswcc4mgwh86m54s",{"reviewCount":8},{"description":724,"installMethods":861,"name":725,"sourceUrl":14},{"claudeCode":12},{"basePath":723,"githubOwner":246,"githubRepo":247,"locale":18,"slug":725,"type":248},{"evaluate":864,"extract":867},{"promptVersionExtension":208,"promptVersionScoring":209,"score":264,"tags":865,"targetMarket":220,"tier":221},[215,267,218,219,866],"investing",{"commitSha":274},{"parentExtensionId":251,"repoId":279},[267,219,215,866,218],{"evaluatedAt":871,"extractAt":283,"updatedAt":871},1778693420232,{"_creationTime":873,"_id":874,"community":875,"display":876,"identity":882,"providers":886,"relations":896,"tags":899,"workflow":900},1778695548458.3828,"k170bpj1gfg57vtx3h3wx9nmyh86mgbe",{"reviewCount":8},{"description":877,"installMethods":878,"name":880,"sourceUrl":881},"Plan garden activities using solar, lunar, and biodynamic calendars. Covers USDA hardiness zones, frost date calculation, equinox/solstice anchoring, synodic lunar cycle (waxing/waning), ascending/descending moon, Maria Thun biodynamic calendar (root/leaf/flower/fruit days), succession planting schedules, and seasonal task planning. Use when planning a new growing season and needing a planting schedule, integrating lunar or biodynamic timing into garden practice, calculating frost dates and planting windows for a specific zone, setting up succession planting for continuous harvest, or conducting end-of-season review.\n",{"claudeCode":879},"pjt222/agent-almanac","plan-garden-calendar","https://github.com/pjt222/agent-almanac",{"basePath":883,"githubOwner":884,"githubRepo":885,"locale":18,"slug":880,"type":248},"skills/plan-garden-calendar","pjt222","agent-almanac",{"evaluate":887,"extract":895},{"promptVersionExtension":208,"promptVersionScoring":209,"score":797,"tags":888,"targetMarket":220,"tier":221},[889,890,216,891,892,893,894],"gardening","planning","biodynamic","lunar","solar","planting-schedule",{"commitSha":274},{"parentExtensionId":897,"repoId":898},"k170h0janaa9kwn7cfgfz2ykss86mmh9","kd7aryv63z61j39n2td1aeqkvh86mh12",[891,216,889,892,890,894,893],{"evaluatedAt":901,"extractAt":902,"updatedAt":901},1778699943063,1778695548458,{"_creationTime":904,"_id":905,"community":906,"display":907,"identity":913,"providers":917,"relations":923,"tags":925,"workflow":926},1778688022104.1812,"k176wfem1zg9v3bvwrwntecj8h86mfq8",{"reviewCount":8},{"description":908,"installMethods":909,"name":911,"sourceUrl":912},"Create a recurring Google Calendar event with attendees.",{"claudeCode":910},"googleworkspace/cli","Recipe Schedule Recurring Event","https://github.com/googleworkspace/cli",{"basePath":914,"githubOwner":915,"githubRepo":793,"locale":18,"slug":916,"type":248},"skills/recipe-schedule-recurring-event","googleworkspace","recipe-schedule-recurring-event",{"evaluate":918,"extract":921},{"promptVersionExtension":208,"promptVersionScoring":209,"score":797,"tags":919,"targetMarket":220,"tier":221},[920,216,799,829,793],"google-workspace",{"commitSha":274,"license":922},"Apache-2.0",{"repoId":924},"kd74t1908zh6g1jzcxw8tg1rwx86nnpt",[829,216,793,920,799],{"evaluatedAt":927,"extractAt":928,"updatedAt":927},1778690058209,1778688022104]