[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-luiseiman-diff-project-en":3,"guides-for-luiseiman-diff-project":789,"similar-k17dhvpxwkk5tpm01jwhbwpmcs86mjqr-en":790},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":239,"isFallback":224,"parentExtension":244,"providers":300,"relations":304,"repo":305,"tags":787,"workflow":788},1778692488329.0142,"k17dhvpxwkk5tpm01jwhbwpmcs86mjqr",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Shows what changed in dotforge since the project's last sync, to decide whether running /forge sync is worthwhile.",{"claudeCode":12},"luiseiman/claude-kit","diff-project","https://github.com/luiseiman/claude-kit",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":222,"workflow":237},1778693074304.116,"kn7870wmfh2bhr16beymggxcw986nvg9","en",{"checks":20,"evaluatedAt":193,"extensionSummary":194,"features":195,"nonGoals":200,"promptVersionExtension":204,"promptVersionScoring":205,"purpose":206,"rationale":207,"score":208,"summary":209,"tags":210,"targetMarket":216,"tier":217,"useCases":218},[21,26,29,32,36,39,44,48,51,54,58,62,65,69,72,75,78,81,84,87,91,95,99,103,107,110,113,116,120,123,126,129,132,135,138,142,146,150,153,157,160,163,166,169,173,176,180,183,186,190],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly states the problem of tracking dotforge changes to decide on syncing.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The skill provides a specific workflow for comparing local project state against dotforge changes, offering value beyond a generic sync command.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The skill covers the complete lifecycle of checking changes and recommending action, with clear steps and installation instructions.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The skill focuses solely on comparing project state with dotforge changes, aligning with its described purpose.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The description is concise, accurate, and clearly explains the skill's purpose and benefit.",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","This is a skill, not an MCP, and does not expose tools in the same manner.",{"category":45,"check":46,"severity":42,"summary":47},"Documentation","Configuration & parameter reference","The skill does not appear to have configurable parameters beyond environment variables like DOTFORGE_DIR, which are implicitly handled.",{"category":33,"check":49,"severity":24,"summary":50},"Tool naming","The skill is invoked via the `/forge` command, and its specific function is clear from the context and description.",{"category":33,"check":52,"severity":24,"summary":53},"Minimal I/O surface","The skill's inputs are implicitly the current working directory and DOTFORGE_DIR, and its outputs are clear text reports.",{"category":55,"check":56,"severity":24,"summary":57},"License","License usability","The extension is licensed under MIT, a permissive open-source license, clearly indicated in the LICENSE file.",{"category":59,"check":60,"severity":24,"summary":61},"Maintenance","Commit recency","The repository shows recent commits within the last 3 months, indicating active maintenance.",{"category":59,"check":63,"severity":42,"summary":64},"Dependency Management","The skill does not appear to have external dependencies beyond standard shell utilities.",{"category":66,"check":67,"severity":42,"summary":68},"Security","Secret Management","The skill does not handle or expose any secrets.",{"category":66,"check":70,"severity":24,"summary":71},"Injection","The skill primarily uses git commands and file reading; no third-party data is loaded or executed as instructions.",{"category":66,"check":73,"severity":24,"summary":74},"Transitive Supply-Chain Grenades","The skill relies on committed files and standard git commands; no runtime fetching of external code or data is performed.",{"category":66,"check":76,"severity":24,"summary":77},"Sandbox Isolation","The skill operates within the project directory and the DOTFORGE_DIR, adhering to sandbox isolation principles.",{"category":66,"check":79,"severity":24,"summary":80},"Sandbox escape primitives","No detached processes or retry loops around denied calls are present in the script.",{"category":66,"check":82,"severity":24,"summary":83},"Data Exfiltration","The skill does not make outbound calls or reference confidential data.",{"category":66,"check":85,"severity":24,"summary":86},"Hidden Text Tricks","The bundled content is free of hidden-steering tricks and uses clean printable ASCII.",{"category":88,"check":89,"severity":24,"summary":90},"Hooks","Opaque code execution","The script is plain, readable bash code and does not use obfuscation techniques.",{"category":92,"check":93,"severity":24,"summary":94},"Portability","Structural Assumption","The skill correctly uses relative paths and environment variables like DOTFORGE_DIR, making it portable.",{"category":96,"check":97,"severity":24,"summary":98},"Trust","Issues Attention","There are no open issues and no closed issues in the last 90 days, indicating a healthy project or newness.",{"category":100,"check":101,"severity":24,"summary":102},"Versioning","Release Management","The project has a meaningful version declared in the README and CHANGELOG, and install instructions reference main, but the version is stable.",{"category":104,"check":105,"severity":42,"summary":106},"Code Execution","Validation","The skill operates on file paths and git history; explicit schema validation is not applicable here.",{"category":66,"check":108,"severity":24,"summary":109},"Unguarded Destructive Operations","The skill is read-only and does not perform any destructive operations.",{"category":104,"check":111,"severity":24,"summary":112},"Error Handling","The script includes clear exit conditions and messages for various scenarios, including project not found or no changes detected.",{"category":104,"check":114,"severity":42,"summary":115},"Logging","The skill is read-only and does not perform actions requiring a separate audit log.",{"category":117,"check":118,"severity":42,"summary":119},"Compliance","GDPR","The skill does not operate on personal data.",{"category":117,"check":121,"severity":24,"summary":122},"Target market","The skill uses standard git and file operations, with no regional or jurisdictional logic, making it global.",{"category":92,"check":124,"severity":24,"summary":125},"Runtime stability","The skill relies on standard bash and git, making it portable across POSIX-compliant systems.",{"category":45,"check":127,"severity":24,"summary":128},"README","A comprehensive README exists and clearly articulates the project's purpose, features, and usage.",{"category":33,"check":130,"severity":42,"summary":131},"Tool surface size","This is a skill invoked via a single command, not a collection of tools.",{"category":40,"check":133,"severity":42,"summary":134},"Overlapping near-synonym tools","The skill is invoked via a single command '/forge diff', so no overlapping tools exist.",{"category":45,"check":136,"severity":24,"summary":137},"Phantom features","All advertised features, such as diffing changes and recommending sync, are implemented and demonstrable.",{"category":139,"check":140,"severity":24,"summary":141},"Install","Installation instruction","Clear installation instructions are provided in the README, including a copy-pasteable one-liner and manual steps.",{"category":143,"check":144,"severity":24,"summary":145},"Errors","Actionable error messages","Error messages are specific, indicate the cause (e.g., project not synced), and suggest remediation steps.",{"category":147,"check":148,"severity":24,"summary":149},"Execution","Pinned dependencies","The script declares its interpreter via shebang and has no external dependencies that require pinning.",{"category":33,"check":151,"severity":42,"summary":152},"Dry-run preview","The skill is read-only and does not perform state-changing operations, so a dry-run is not applicable.",{"category":154,"check":155,"severity":42,"summary":156},"Protocol","Idempotent retry & timeouts","The skill performs local file reads and git operations without remote calls or state-changing operations, making timeouts and idempotency inapplicable.",{"category":117,"check":158,"severity":42,"summary":159},"Telemetry opt-in","The skill does not emit any telemetry.",{"category":40,"check":161,"severity":24,"summary":162},"Precise Purpose","The skill precisely names the artifact (dotforge changes) and the user intent (decide whether running /forge sync is worthwhile).",{"category":40,"check":164,"severity":24,"summary":165},"Concise Frontmatter","The frontmatter is concise, self-contained, and accurately summarizes the core capability.",{"category":45,"check":167,"severity":24,"summary":168},"Concise Body","The SKILL.md body is well-structured and under 500 lines, deferring detailed information to the README.",{"category":170,"check":171,"severity":24,"summary":172},"Context","Progressive Disclosure","The SKILL.md is concise and directs users to the README for more comprehensive information and examples.",{"category":170,"check":174,"severity":42,"summary":175},"Forked exploration","This skill is not an exploration-heavy skill; it performs a specific comparison and reports findings.",{"category":22,"check":177,"severity":178,"summary":179},"Usage examples","info","While the README provides installation and usage examples for the broader dotforge project, specific end-to-end examples for this 'diff-project' skill are not detailed, although the steps are outlined in SKILL.md.",{"category":22,"check":181,"severity":24,"summary":182},"Edge cases","The SKILL.md explicitly documents failure modes such as 'Project not synced' and 'no relevant commits' with recovery steps.",{"category":104,"check":184,"severity":42,"summary":185},"Tool Fallback","The skill does not rely on external MCP servers or custom tools, so a fallback is not applicable.",{"category":187,"check":188,"severity":24,"summary":189},"Safety","Halt on unexpected state","The skill clearly halts and reports on unexpected states like a missing project baseline or no changes detected.",{"category":92,"check":191,"severity":24,"summary":192},"Cross-skill coupling","The skill is self-contained and does not implicitly rely on other skills being loaded.",1778693074160,"This skill checks for changes in the dotforge project's managed files (template/ and stacks/) since the last sync and reports on local modifications, helping users decide whether to run a sync.",[196,197,198,199],"Compares project state against dotforge baseline","Detects local file modifications","Reports on changes in template/ and stacks/ directories","Recommends sync action based on detected changes",[201,202,203],"Performing the sync operation itself.","Managing git history or other project files outside of dotforge's scope.","Replacing the core `/forge sync` functionality.","3.0.0","4.4.0","To provide clarity on project state changes and inform the decision to run a full synchronization process.","The skill is exceptionally well-documented, secure, and practical, with only minor points on detailed usage examples preventing a perfect score.",95,"A high-quality skill for managing project configuration sync and drift.",[211,212,213,214,215],"git","configuration","sync","auditing","devops","global","verified",[219,220,221],"Deciding whether to run `/forge sync` after code changes in dotforge.","Understanding what changes have occurred in the project's managed configuration.","Identifying local modifications that might conflict with an upcoming sync.",{"codeQuality":223,"collectedAt":225,"documentation":226,"maintenance":229,"security":234,"testCoverage":236},{"hasLockfile":224},false,1778693054211,{"descriptionLength":227,"readmeSize":228},114,35166,{"closedIssues90d":8,"forks":230,"hasChangelog":231,"openIssues90d":8,"pushedAt":232,"stars":233},1,true,1778672535000,6,{"hasNpmPackage":224,"license":235,"smitheryVerified":224},"MIT",{"hasCi":231,"hasTests":231},{"updatedAt":238},1778693074304,{"basePath":240,"githubOwner":241,"githubRepo":242,"locale":18,"slug":13,"type":243},"skills/diff-project","luiseiman","claude-kit","skill",{"_creationTime":245,"_id":246,"community":247,"display":248,"identity":253,"parentExtension":256,"providers":287,"relations":296,"tags":297,"workflow":298},1778692488329.0085,"k17650xadq8363kzchr4w0gmf186nq24",{"reviewCount":8},{"description":249,"installMethods":250,"name":252,"sourceUrl":14},"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":251},"dotforge","Dotforge",{"basePath":254,"githubOwner":241,"githubRepo":242,"locale":18,"slug":242,"type":255},"","plugin",{"_creationTime":257,"_id":258,"community":259,"display":260,"identity":263,"providers":265,"relations":281,"tags":283,"workflow":284},1778692488329.0083,"k1774kkm9q4sjgxtfpxnkab52986mc9m",{"reviewCount":8},{"description":261,"installMethods":262,"name":251,"sourceUrl":14},"Configuration governance for Claude Code — bootstrap, audit, sync, and evolve .claude/ across projects",{"claudeCode":12},{"basePath":254,"githubOwner":241,"githubRepo":242,"locale":18,"slug":242,"type":264},"marketplace",{"evaluate":266,"extract":276},{"promptVersionExtension":267,"promptVersionScoring":205,"score":268,"tags":269,"targetMarket":216,"tier":217},"3.1.0",98,[270,271,272,273,274,275],"configuration-management","governance","claude-code","developer-tools","automation","multi-project",{"commitSha":277,"marketplace":278,"plugin":279},"HEAD",{"name":251,"pluginCount":230},{"mcpCount":8,"provider":280,"skillCount":8},"classify",{"repoId":282},"kd79wqc8an5wh20cc2znr8tyb586mxwx",[274,272,270,273,271,275],{"evaluatedAt":285,"extractAt":286,"updatedAt":285},1778692508620,1778692488329,{"evaluate":288,"extract":293},{"promptVersionExtension":204,"promptVersionScoring":205,"score":268,"tags":289,"targetMarket":216,"tier":217},[212,271,274,215,290,291,292],"code-quality","best-practices","scaffolding",{"commitSha":277,"license":235,"plugin":294},{"mcpCount":8,"provider":280,"skillCount":295},19,{"parentExtensionId":258,"repoId":282},[274,291,290,212,215,271,292],{"evaluatedAt":299,"extractAt":286,"updatedAt":299},1778692536468,{"evaluate":301,"extract":303},{"promptVersionExtension":204,"promptVersionScoring":205,"score":208,"tags":302,"targetMarket":216,"tier":217},[211,212,213,214,215],{"commitSha":277},{"parentExtensionId":246,"repoId":282},{"_creationTime":306,"_id":282,"identity":307,"providers":308,"workflow":783},1778692481646.1384,{"githubOwner":241,"githubRepo":242,"sourceUrl":14},{"classify":309,"discover":760,"github":763},{"commitSha":277,"extensions":310},[311,324,389,398,406,414,422,430,438,454,462,470,480,490,498,506,516,526,542,550,571,579,587,595,603,608,616,624,632,640,648,656,664,672,680,688,696,704,712,720,728,736,744,752],{"basePath":254,"description":261,"displayName":251,"installMethods":312,"rationale":313,"selectedPaths":314,"source":323,"sourceLanguage":18,"type":264},{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[315,318,320],{"path":316,"priority":317},".claude-plugin/marketplace.json","mandatory",{"path":319,"priority":317},"README.md",{"path":321,"priority":322},"LICENSE","high","rule",{"basePath":254,"description":249,"displayName":251,"installMethods":325,"license":235,"rationale":326,"selectedPaths":327,"source":323,"sourceLanguage":18,"type":255},{"claudeCode":251},"plugin manifest at .claude-plugin/plugin.json",[328,330,331,332,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387],{"path":329,"priority":317},".claude-plugin/plugin.json",{"path":319,"priority":317},{"path":321,"priority":322},{"path":333,"priority":334},"skills/audit-project/SKILL.md","medium",{"path":336,"priority":334},"skills/benchmark/SKILL.md",{"path":338,"priority":334},"skills/bootstrap-project/SKILL.md",{"path":340,"priority":334},"skills/capture-practice/SKILL.md",{"path":342,"priority":334},"skills/diff-project/SKILL.md",{"path":344,"priority":334},"skills/domain-extract/SKILL.md",{"path":346,"priority":334},"skills/export-config/SKILL.md",{"path":348,"priority":334},"skills/forge-behavior/SKILL.md",{"path":350,"priority":334},"skills/init-project/SKILL.md",{"path":352,"priority":334},"skills/learn-project/SKILL.md",{"path":354,"priority":334},"skills/mcp-add/SKILL.md",{"path":356,"priority":334},"skills/plugin-generator/SKILL.md",{"path":358,"priority":334},"skills/reset-project/SKILL.md",{"path":360,"priority":334},"skills/rule-effectiveness/SKILL.md",{"path":362,"priority":334},"skills/scout-repos/SKILL.md",{"path":364,"priority":334},"skills/session-insights/SKILL.md",{"path":366,"priority":334},"skills/sync-template/SKILL.md",{"path":368,"priority":334},"skills/update-practices/SKILL.md",{"path":370,"priority":334},"skills/watch-upstream/SKILL.md",{"path":372,"priority":322},"agents/architect.md",{"path":374,"priority":322},"agents/code-reviewer.md",{"path":376,"priority":322},"agents/implementer.md",{"path":378,"priority":322},"agents/researcher.md",{"path":380,"priority":322},"agents/security-auditor.md",{"path":382,"priority":322},"agents/session-reviewer.md",{"path":384,"priority":322},"agents/test-runner.md",{"path":386,"priority":322},"hooks/detect-claude-changes.sh",{"path":388,"priority":322},"hooks/hooks.json",{"basePath":390,"description":391,"displayName":392,"installMethods":393,"rationale":394,"selectedPaths":395,"source":323,"sourceLanguage":18,"type":255},"stacks/aws-deploy","AWS CDK/SAM/CloudFormation infrastructure-as-code rules for Claude Code.","dotforge-stack-aws-deploy",{"claudeCode":392},"plugin manifest at stacks/aws-deploy/plugin.json",[396],{"path":397,"priority":317},"plugin.json",{"basePath":399,"description":400,"displayName":401,"installMethods":402,"rationale":403,"selectedPaths":404,"source":323,"sourceLanguage":18,"type":255},"stacks/data-analysis","SQLite/PostgreSQL, pandas/polars, and Jupyter notebook rules for data analysis with Claude Code.","dotforge-stack-data-analysis",{"claudeCode":401},"plugin manifest at stacks/data-analysis/plugin.json",[405],{"path":397,"priority":317},{"basePath":407,"description":408,"displayName":409,"installMethods":410,"rationale":411,"selectedPaths":412,"source":323,"sourceLanguage":18,"type":255},"stacks/devcontainer","Dev Container configuration, image pinning, and features rules for Claude Code.","dotforge-stack-devcontainer",{"claudeCode":409},"plugin manifest at stacks/devcontainer/plugin.json",[413],{"path":397,"priority":317},{"basePath":415,"description":416,"displayName":417,"installMethods":418,"rationale":419,"selectedPaths":420,"source":323,"sourceLanguage":18,"type":255},"stacks/docker-deploy","Docker Compose and Dockerfile best practices, health checks, and deployment rules for Claude Code.","dotforge-stack-docker-deploy",{"claudeCode":417},"plugin manifest at stacks/docker-deploy/plugin.json",[421],{"path":397,"priority":317},{"basePath":423,"description":424,"displayName":425,"installMethods":426,"rationale":427,"selectedPaths":428,"source":323,"sourceLanguage":18,"type":255},"stacks/gcp-cloud-run","GCP Cloud Run container deployment, Cloud Build, and health check rules for Claude Code.","dotforge-stack-gcp-cloud-run",{"claudeCode":425},"plugin manifest at stacks/gcp-cloud-run/plugin.json",[429],{"path":397,"priority":317},{"basePath":431,"description":432,"displayName":433,"installMethods":434,"rationale":435,"selectedPaths":436,"source":323,"sourceLanguage":18,"type":255},"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":433},"plugin manifest at stacks/go-api/plugin.json",[437],{"path":397,"priority":317},{"basePath":439,"description":440,"displayName":441,"installMethods":442,"rationale":443,"selectedPaths":444,"source":323,"sourceLanguage":18,"type":255},"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":441},"plugin manifest at stacks/hookify/plugin.json",[445,446,448,450,452],{"path":397,"priority":317},{"path":447,"priority":334},"skills/hookify/SKILL.md",{"path":449,"priority":322},"hooks/hookify-pretooluse.py",{"path":451,"priority":322},"hooks/hookify-stop.py",{"path":453,"priority":322},"hooks/hookify-userpromptsubmit.py",{"basePath":455,"description":456,"displayName":457,"installMethods":458,"rationale":459,"selectedPaths":460,"source":323,"sourceLanguage":18,"type":255},"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":457},"plugin manifest at stacks/java-spring/plugin.json",[461],{"path":397,"priority":317},{"basePath":463,"description":464,"displayName":465,"installMethods":466,"rationale":467,"selectedPaths":468,"source":323,"sourceLanguage":18,"type":255},"stacks/node-express","Node.js 20+ with Express/Fastify, TypeScript, and ESM module rules for Claude Code.","dotforge-stack-node-express",{"claudeCode":465},"plugin manifest at stacks/node-express/plugin.json",[469],{"path":397,"priority":317},{"basePath":471,"description":472,"displayName":473,"installMethods":474,"rationale":475,"selectedPaths":476,"source":323,"sourceLanguage":18,"type":255},"stacks/python-fastapi","Python 3.12+ with FastAPI, async/await, type hints, and Ruff linting rules for Claude Code.","dotforge-stack-python-fastapi",{"claudeCode":473},"plugin manifest at stacks/python-fastapi/plugin.json",[477,478],{"path":397,"priority":317},{"path":479,"priority":322},"hooks/lint-python.sh",{"basePath":481,"description":482,"displayName":483,"installMethods":484,"rationale":485,"selectedPaths":486,"source":323,"sourceLanguage":18,"type":255},"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":483},"plugin manifest at stacks/react-vite-ts/plugin.json",[487,488],{"path":397,"priority":317},{"path":489,"priority":322},"hooks/lint-ts.sh",{"basePath":491,"description":492,"displayName":493,"installMethods":494,"rationale":495,"selectedPaths":496,"source":323,"sourceLanguage":18,"type":255},"stacks/redis","Redis Streams, caching patterns, and pub/sub rules for Claude Code.","dotforge-stack-redis",{"claudeCode":493},"plugin manifest at stacks/redis/plugin.json",[497],{"path":397,"priority":317},{"basePath":499,"description":500,"displayName":501,"installMethods":502,"rationale":503,"selectedPaths":504,"source":323,"sourceLanguage":18,"type":255},"stacks/supabase","Supabase migrations, RLS policies, Edge Functions, and database rules for Claude Code.","dotforge-stack-supabase",{"claudeCode":501},"plugin manifest at stacks/supabase/plugin.json",[505],{"path":397,"priority":317},{"basePath":507,"description":508,"displayName":509,"installMethods":510,"rationale":511,"selectedPaths":512,"source":323,"sourceLanguage":18,"type":255},"stacks/swift-swiftui","Swift 5.9+ with SwiftUI, iOS 17+, @Observable, async/await, and SPM rules for Claude Code.","dotforge-stack-swift-swiftui",{"claudeCode":509},"plugin manifest at stacks/swift-swiftui/plugin.json",[513,514],{"path":397,"priority":317},{"path":515,"priority":322},"hooks/lint-swift.sh",{"basePath":517,"description":518,"displayName":519,"installMethods":520,"rationale":521,"selectedPaths":522,"source":323,"sourceLanguage":18,"type":255},"stacks/tdd","TDD workflow enforcement with auto-test hook","tdd",{"claudeCode":519},"plugin manifest at stacks/tdd/plugin.json",[523,524],{"path":397,"priority":317},{"path":525,"priority":322},"hooks/test-on-edit.sh",{"basePath":527,"description":528,"displayName":529,"installMethods":530,"rationale":531,"selectedPaths":532,"source":323,"sourceLanguage":18,"type":255},"stacks/trading","Trading & investment analysis — thesis tracking, earnings watch, screening, catalyst calendar, backtesting ADR gate. AR + US markets.","dotforge-stack-trading",{"claudeCode":529},"plugin manifest at stacks/trading/plugin.json",[533,534,536,538,540],{"path":397,"priority":317},{"path":535,"priority":334},"skills/catalyst-calendar/SKILL.md",{"path":537,"priority":334},"skills/earnings-watch/SKILL.md",{"path":539,"priority":334},"skills/screen/SKILL.md",{"path":541,"priority":334},"skills/thesis-tracker/SKILL.md",{"basePath":543,"description":544,"displayName":545,"installMethods":546,"rationale":547,"selectedPaths":548,"source":323,"sourceLanguage":18,"type":255},"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":545},"plugin manifest at stacks/vps-ssh/plugin.json",[549],{"path":397,"priority":317},{"basePath":551,"description":552,"displayName":553,"installMethods":554,"rationale":555,"selectedPaths":556,"source":323,"sourceLanguage":18,"type":243},"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",[557,559,561,563,565,567,569],{"path":558,"priority":317},"SKILL.md",{"path":560,"priority":334},"AGENTS.md",{"path":562,"priority":334},"HEARTBEAT.md",{"path":564,"priority":334},"IDENTITY.md",{"path":566,"priority":334},"SOUL.md",{"path":568,"priority":334},"TOOLS.md",{"path":570,"priority":334},"USER.md",{"basePath":572,"description":573,"displayName":574,"installMethods":575,"rationale":576,"selectedPaths":577,"source":323,"sourceLanguage":18,"type":243},"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",[578],{"path":558,"priority":317},{"basePath":580,"description":581,"displayName":582,"installMethods":583,"rationale":584,"selectedPaths":585,"source":323,"sourceLanguage":18,"type":243},"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",[586],{"path":558,"priority":317},{"basePath":588,"description":589,"displayName":590,"installMethods":591,"rationale":592,"selectedPaths":593,"source":323,"sourceLanguage":18,"type":243},"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",[594],{"path":558,"priority":317},{"basePath":596,"description":597,"displayName":598,"installMethods":599,"rationale":600,"selectedPaths":601,"source":323,"sourceLanguage":18,"type":243},"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",[602],{"path":558,"priority":317},{"basePath":240,"description":10,"displayName":13,"installMethods":604,"rationale":605,"selectedPaths":606,"source":323,"sourceLanguage":18,"type":243},{"claudeCode":12},"SKILL.md frontmatter at skills/diff-project/SKILL.md",[607],{"path":558,"priority":317},{"basePath":609,"description":610,"displayName":611,"installMethods":612,"rationale":613,"selectedPaths":614,"source":323,"sourceLanguage":18,"type":243},"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",[615],{"path":558,"priority":317},{"basePath":617,"description":618,"displayName":619,"installMethods":620,"rationale":621,"selectedPaths":622,"source":323,"sourceLanguage":18,"type":243},"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",[623],{"path":558,"priority":317},{"basePath":625,"description":626,"displayName":627,"installMethods":628,"rationale":629,"selectedPaths":630,"source":323,"sourceLanguage":18,"type":243},"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",[631],{"path":558,"priority":317},{"basePath":633,"description":634,"displayName":635,"installMethods":636,"rationale":637,"selectedPaths":638,"source":323,"sourceLanguage":18,"type":243},"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",[639],{"path":558,"priority":317},{"basePath":641,"description":642,"displayName":643,"installMethods":644,"rationale":645,"selectedPaths":646,"source":323,"sourceLanguage":18,"type":243},"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",[647],{"path":558,"priority":317},{"basePath":649,"description":650,"displayName":651,"installMethods":652,"rationale":653,"selectedPaths":654,"source":323,"sourceLanguage":18,"type":243},"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",[655],{"path":558,"priority":317},{"basePath":657,"description":658,"displayName":659,"installMethods":660,"rationale":661,"selectedPaths":662,"source":323,"sourceLanguage":18,"type":243},"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",[663],{"path":558,"priority":317},{"basePath":665,"description":666,"displayName":667,"installMethods":668,"rationale":669,"selectedPaths":670,"source":323,"sourceLanguage":18,"type":243},"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",[671],{"path":558,"priority":317},{"basePath":673,"description":674,"displayName":675,"installMethods":676,"rationale":677,"selectedPaths":678,"source":323,"sourceLanguage":18,"type":243},"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",[679],{"path":558,"priority":317},{"basePath":681,"description":682,"displayName":683,"installMethods":684,"rationale":685,"selectedPaths":686,"source":323,"sourceLanguage":18,"type":243},"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",[687],{"path":558,"priority":317},{"basePath":689,"description":690,"displayName":691,"installMethods":692,"rationale":693,"selectedPaths":694,"source":323,"sourceLanguage":18,"type":243},"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",[695],{"path":558,"priority":317},{"basePath":697,"description":698,"displayName":699,"installMethods":700,"rationale":701,"selectedPaths":702,"source":323,"sourceLanguage":18,"type":243},"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",[703],{"path":558,"priority":317},{"basePath":705,"description":706,"displayName":707,"installMethods":708,"rationale":709,"selectedPaths":710,"source":323,"sourceLanguage":18,"type":243},"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",[711],{"path":558,"priority":317},{"basePath":713,"description":714,"displayName":715,"installMethods":716,"rationale":717,"selectedPaths":718,"source":323,"sourceLanguage":18,"type":243},"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",[719],{"path":558,"priority":317},{"basePath":721,"description":722,"displayName":723,"installMethods":724,"rationale":725,"selectedPaths":726,"source":323,"sourceLanguage":18,"type":243},"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",[727],{"path":558,"priority":317},{"basePath":729,"description":730,"displayName":731,"installMethods":732,"rationale":733,"selectedPaths":734,"source":323,"sourceLanguage":18,"type":243},"stacks/trading/skills/catalyst-calendar","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\".","catalyst-calendar",{"claudeCode":12},"SKILL.md frontmatter at stacks/trading/skills/catalyst-calendar/SKILL.md",[735],{"path":558,"priority":317},{"basePath":737,"description":738,"displayName":739,"installMethods":740,"rationale":741,"selectedPaths":742,"source":323,"sourceLanguage":18,"type":243},"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",[743],{"path":558,"priority":317},{"basePath":745,"description":746,"displayName":747,"installMethods":748,"rationale":749,"selectedPaths":750,"source":323,"sourceLanguage":18,"type":243},"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",[751],{"path":558,"priority":317},{"basePath":753,"description":754,"displayName":755,"installMethods":756,"rationale":757,"selectedPaths":758,"source":323,"sourceLanguage":18,"type":243},"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",[759],{"path":558,"priority":317},{"sources":761},[762],"manual",{"closedIssues90d":8,"description":764,"forks":230,"homepage":765,"license":235,"openIssues90d":8,"pushedAt":232,"readmeSize":228,"stars":233,"topics":766},"Configuration governance for Claude Code. Bootstrap, audit, sync, and evolve .claude/ across projects.","https://github.com/luiseiman/dotforge",[767,768,272,769,770,771,772,773,774,775,776,270,273,777,778,779,780,781,782],"ai-coding","anthropic","claude-code-agents","claude-code-config","claude-code-hooks","claude-code-plugins","claude-code-skills","claude-code-template","claude-md","cli-tools","claude-code-audit","claude-code-rules","claude-code-plugin","claude-plugin","mcp-servers","prompt-engineering",{"classifiedAt":784,"discoverAt":785,"extractAt":786,"githubAt":786,"updatedAt":784},1778692487649,1778692481646,1778692485708,[214,212,215,211,213],{"evaluatedAt":238,"extractAt":286,"updatedAt":238},[],[791,821,840,859,877,905],{"_creationTime":792,"_id":793,"community":794,"display":795,"identity":801,"providers":805,"relations":813,"tags":816,"workflow":817},1778696622831.4932,"k17bxmr12gvehnjqa9dv7m8ebn86mbe5",{"reviewCount":8},{"description":796,"installMethods":797,"name":799,"sourceUrl":800},"Use when the user wants to list, create, switch, delete, compare, or inspect config sync profiles.",{"claudeCode":798},"rohithzr/claudebase","sync-profiles","https://github.com/rohithzr/claudebase",{"basePath":802,"githubOwner":803,"githubRepo":804,"locale":18,"slug":799,"type":243},"skills/sync-profiles","rohithzr","claudebase",{"evaluate":806,"extract":812},{"promptVersionExtension":204,"promptVersionScoring":205,"score":807,"tags":808,"targetMarket":216,"tier":217},100,[212,213,809,810,811,211],"backup","profiles","github",{"commitSha":277},{"parentExtensionId":814,"repoId":815},"k17brwsz1rsvvtg8zjs955raex86mnh6","kd7e1fmwvfp6n226mj6hy2fzds86n8kk",[809,212,211,811,810,213],{"evaluatedAt":818,"extractAt":819,"updatedAt":820},1778696687333,1778696622831,1778696817662,{"_creationTime":822,"_id":823,"community":824,"display":825,"identity":829,"providers":831,"relations":835,"tags":836,"workflow":837},1778696622831.494,"k17fm71376rjr60q577jsnf3hx86n2a5",{"reviewCount":8},{"description":826,"installMethods":827,"name":828,"sourceUrl":800},"Use when the user wants to set up config sync for the first time, connect to GitHub, or re-initialize the backup repo.",{"claudeCode":798},"sync-setup",{"basePath":830,"githubOwner":803,"githubRepo":804,"locale":18,"slug":828,"type":243},"skills/sync-setup",{"evaluate":832,"extract":834},{"promptVersionExtension":204,"promptVersionScoring":205,"score":807,"tags":833,"targetMarket":216,"tier":217},[212,213,811,809,274],{"commitSha":277},{"parentExtensionId":814,"repoId":815},[274,809,212,811,213],{"evaluatedAt":838,"extractAt":819,"updatedAt":839},1778696737767,1778696818191,{"_creationTime":841,"_id":842,"community":843,"display":844,"identity":848,"providers":850,"relations":854,"tags":855,"workflow":856},1778696622831.4934,"k171871t16jaaghd7cpk4phphs86n0z0",{"reviewCount":8},{"description":845,"installMethods":846,"name":847,"sourceUrl":800},"Use when the user wants to restore, download, or pull their Claude Code config from GitHub onto this machine.",{"claudeCode":798},"sync-pull",{"basePath":849,"githubOwner":803,"githubRepo":804,"locale":18,"slug":847,"type":243},"skills/sync-pull",{"evaluate":851,"extract":853},{"promptVersionExtension":204,"promptVersionScoring":205,"score":807,"tags":852,"targetMarket":216,"tier":217},[212,213,811,809,810],{"commitSha":277},{"parentExtensionId":814,"repoId":815},[809,212,811,810,213],{"evaluatedAt":857,"extractAt":819,"updatedAt":858},1778696704651,1778696817823,{"_creationTime":860,"_id":861,"community":862,"display":863,"identity":866,"providers":867,"relations":873,"tags":874,"workflow":875},1778692488329.0164,"k17d7dgccv6vnj9tcw0cehwnph86nryb",{"reviewCount":8},{"description":674,"installMethods":864,"name":865,"sourceUrl":14},{"claudeCode":12},"Rule Effectiveness Analysis",{"basePath":673,"githubOwner":241,"githubRepo":242,"locale":18,"slug":675,"type":243},{"evaluate":868,"extract":872},{"promptVersionExtension":204,"promptVersionScoring":205,"score":807,"tags":869,"targetMarket":216,"tier":217},[272,212,870,871,211],"analysis","optimization",{"commitSha":277,"license":235},{"parentExtensionId":246,"repoId":282},[870,272,212,211,871],{"evaluatedAt":876,"extractAt":286,"updatedAt":876},1778693275143,{"_creationTime":878,"_id":879,"community":880,"display":881,"identity":887,"providers":891,"relations":898,"tags":901,"workflow":902},1778675056600.2383,"k17f3nm8tbhnv6cqv25b8g3zvh86nrgp",{"reviewCount":8},{"description":882,"installMethods":883,"name":885,"sourceUrl":886},"Use when the user asks to plan releases, manage changelogs, coordinate deployments, create release branches, or automate versioning.",{"claudeCode":884},"alirezarezvani/claude-skills","release-manager","https://github.com/alirezarezvani/claude-skills",{"basePath":888,"githubOwner":889,"githubRepo":890,"locale":18,"slug":885,"type":243},"engineering/skills/release-manager","alirezarezvani","claude-skills",{"evaluate":892,"extract":897},{"promptVersionExtension":204,"promptVersionScoring":205,"score":807,"tags":893,"targetMarket":216,"tier":217},[894,215,895,896,211,274],"release-management","changelog","versioning",{"commitSha":277},{"parentExtensionId":899,"repoId":900},"k173223hfbd6c4mx6r1jdx23wn86mbpb","kd7ff9s1w43mfyy1n7hf87816186m6px",[274,895,215,211,894,896],{"evaluatedAt":903,"extractAt":904,"updatedAt":903},1778678944942,1778675056600,{"_creationTime":906,"_id":907,"community":908,"display":909,"identity":915,"providers":919,"relations":928,"tags":931,"workflow":932},1778695548458.3718,"k175vfqr247swcyt62e6v08a4x86mtf1",{"reviewCount":8},{"description":910,"installMethods":911,"name":913,"sourceUrl":914},"Investigate root causes and manage CAPAs (Corrective and Preventive Actions) for compliance deviations. Covers investigation method selection (5-Why, fishbone, fault tree), structured root cause analysis, corrective vs preventive action design, effectiveness verification, and trend analysis. Use when an audit finding requires a CAPA, when a deviation or incident occurs in a validated system, when a regulatory observation needs a formal response, when a data integrity anomaly requires investigation, or when recurring issues suggest a systemic root cause.\n",{"claudeCode":912},"pjt222/agent-almanac","investigate-capa-root-cause","https://github.com/pjt222/agent-almanac",{"basePath":916,"githubOwner":917,"githubRepo":918,"locale":18,"slug":913,"type":243},"skills/investigate-capa-root-cause","pjt222","agent-almanac",{"evaluate":920,"extract":927},{"promptVersionExtension":204,"promptVersionScoring":205,"score":807,"tags":921,"targetMarket":216,"tier":217},[922,923,924,925,926,214],"compliance","capa","investigation","root-cause-analysis","gxp",{"commitSha":277},{"parentExtensionId":929,"repoId":930},"k170h0janaa9kwn7cfgfz2ykss86mmh9","kd7aryv63z61j39n2td1aeqkvh86mh12",[214,923,922,926,924,925],{"evaluatedAt":933,"extractAt":934,"updatedAt":933},1778699030088,1778695548458]