[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-luiseiman-python-fastapi-zh-CN":3,"guides-for-luiseiman-python-fastapi":762,"similar-k17b0q52q1b77nvq2sacqreth586n5hm-zh-CN":763},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":14,"identity":253,"isFallback":244,"parentExtension":259,"providers":260,"relations":265,"repo":267,"tags":759,"workflow":760},1778692488329.011,"k17b0q52q1b77nvq2sacqreth586n5hm",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13},"Python 3.12+ with FastAPI, async/await, type hints, and Ruff linting rules for Claude Code.",{"claudeCode":12},"dotforge-stack-python-fastapi","https://github.com/luiseiman/claude-kit",{"_creationTime":15,"_id":16,"extensionId":5,"locale":17,"result":18,"trustSignals":235,"workflow":251},1778692747510.4526,"kn7fs39f9gaqywz4rdk2v7k5gn86mwpf","en",{"checks":19,"evaluatedAt":204,"extensionSummary":205,"features":206,"nonGoals":212,"promptVersionExtension":216,"promptVersionScoring":217,"purpose":218,"rationale":219,"score":220,"summary":221,"tags":222,"targetMarket":229,"tier":230,"useCases":231},[20,25,28,31,35,38,42,46,49,52,56,60,63,67,70,73,76,79,82,85,89,93,97,101,105,108,111,114,118,121,124,127,130,133,136,140,144,148,151,155,158,161,165,168,171,174,177,180,183,186,190,193,196,200],{"category":21,"check":22,"severity":23,"summary":24},"Practical Utility","Problem relevance","pass","The description clearly states the problem of managing .claude/ configuration across multiple projects and enforcing runtime policies for Claude Code.",{"category":21,"check":26,"severity":23,"summary":27},"Unique selling proposition","Dotforge offers significant value over simple prompting by providing a structured, auditable, and automatable system for behavior governance and configuration management across projects, going beyond basic file generation.",{"category":21,"check":29,"severity":23,"summary":30},"Production readiness","The extension is designed for production workflows, offering features like automated installation, configuration generation, auditing, and synchronization, covering the complete lifecycle of managing Claude Code configurations.",{"category":32,"check":33,"severity":23,"summary":34},"Scope","Single responsibility principle","The plugin focuses on the coherent domain of managing and enforcing Claude Code configurations across projects, integrating various aspects like behaviors, hooks, and agent orchestration under a unified purpose.",{"category":32,"check":36,"severity":23,"summary":37},"Description quality","The provided plugin description accurately reflects its functionality, detailing its purpose as behavior governance for Claude Code with specific technologies like Python 3.12+, FastAPI, and Ruff linting.",{"category":39,"check":40,"severity":23,"summary":41},"Invocation","Scoped tools","The plugin exposes specific, verb-noun tools like `/forge init`, `/forge audit`, and `/forge sync`, which are well-scoped and facilitate agent selection.",{"category":43,"check":44,"severity":23,"summary":45},"Documentation","Configuration & parameter reference","The README provides comprehensive documentation for installation, usage, and configuration, including environment variables like DOTFORGE_DIR and details on stack composition.",{"category":32,"check":47,"severity":23,"summary":48},"Tool naming","The exposed tools, such as `/forge init` and `/forge audit`, are descriptive, verb-noun based, and specific to the domain of configuration management.",{"category":32,"check":50,"severity":23,"summary":51},"Minimal I/O surface","Tools request necessary inputs like project context and accept structured arguments, while outputs focus on audit scores and configuration details without extraneous information.",{"category":53,"check":54,"severity":23,"summary":55},"License","License usability","The project is distributed under the permissive MIT license, clearly indicated in the LICENSE file and a GitHub badge.",{"category":57,"check":58,"severity":23,"summary":59},"Maintenance","Commit recency","The repository shows recent activity with the latest commit dated 2026-05-13, indicating active maintenance.",{"category":57,"check":61,"severity":23,"summary":62},"Dependency Management","The plugin has minimal external dependencies beyond standard shell utilities and Python, reducing the complexity of dependency management.",{"category":64,"check":65,"severity":23,"summary":66},"Security","Secret Management","The plugin does not appear to handle sensitive secrets directly; configuration for secrets is intended to be managed by the host Claude Code environment.",{"category":64,"check":68,"severity":23,"summary":69},"Injection","The extension relies on standard shell scripting and curated components, with no indication of loading untrusted external code or data as instructions.",{"category":64,"check":71,"severity":23,"summary":72},"Transitive Supply-Chain Grenades","The plugin utilizes bundled scripts and published packages, avoiding runtime downloads or remote code execution that could introduce supply-chain risks.",{"category":64,"check":74,"severity":23,"summary":75},"Sandbox Isolation","The plugin operates within expected scopes, managing configuration files and using standard commands without attempting to modify files outside its designated directories.",{"category":64,"check":77,"severity":23,"summary":78},"Sandbox escape primitives","The bundled scripts are standard bash and do not contain primitives like detached processes or retry loops designed to escape sandbox limitations.",{"category":64,"check":80,"severity":23,"summary":81},"Data Exfiltration","The plugin's functionality focuses on local configuration management and does not involve sending user data or confidential information to third parties.",{"category":64,"check":83,"severity":23,"summary":84},"Hidden Text Tricks","The bundled markdown and script files appear to be free of hidden text, control characters, or other tricks that could manipulate the model.",{"category":86,"check":87,"severity":23,"summary":88},"Hooks","Opaque code execution","The bundled scripts (bash) are plain, readable, and directly executable, avoiding obfuscation techniques like base64 encoding or minified code.",{"category":90,"check":91,"severity":23,"summary":92},"Portability","Structural Assumption","The plugin assumes standard project layouts but uses relative paths and provides clear error messages if prerequisites like `.claude/` are missing.",{"category":94,"check":95,"severity":23,"summary":96},"Trust","Issues Attention","There are 0 open and 0 closed issues in the last 90 days, indicating a stable or inactive issue tracker, which is acceptable given the project's maturity.",{"category":98,"check":99,"severity":23,"summary":100},"Versioning","Release Management","The project declares meaningful versions in its README and package.json, with recent commits and a changelog available, indicating good versioning practices.",{"category":102,"check":103,"severity":23,"summary":104},"Code Execution","Validation","The bash scripts and Python components appear to validate inputs and outputs appropriately, using tools like jq for JSON parsing and standard argument handling.",{"category":64,"check":106,"severity":23,"summary":107},"Unguarded Destructive Operations","The plugin focuses on configuration management and does not perform destructive operations; any hooks related to git or file operations are guarded or informational.",{"category":102,"check":109,"severity":23,"summary":110},"Error Handling","Bash scripts use standard error handling (exit codes, stderr output) and the Python components are likely to follow standard error practices.",{"category":102,"check":112,"severity":23,"summary":113},"Logging","The plugin focuses on local configuration and does not appear to implement extensive logging beyond standard script output, which is appropriate for its function.",{"category":115,"check":116,"severity":23,"summary":117},"Compliance","GDPR","The plugin manages configuration files and does not process personal data, making GDPR compliance not applicable.",{"category":115,"check":119,"severity":23,"summary":120},"Target market","The extension is a general-purpose developer tool with no regional or jurisdictional limitations, suitable for global use.",{"category":90,"check":122,"severity":23,"summary":123},"Runtime stability","The extension relies on standard bash and Python, making it portable across POSIX-compliant systems like macOS, Linux, and WSL.",{"category":43,"check":125,"severity":23,"summary":126},"README","The README is comprehensive, detailing the project's purpose, features, architecture, installation, and usage.",{"category":32,"check":128,"severity":23,"summary":129},"Tool surface size","The plugin exposes a reasonable number of tools (around 15+) under the `/forge` command, fitting within the target range.",{"category":39,"check":131,"severity":23,"summary":132},"Overlapping near-synonym tools","Tool names are distinct and cover specific functions, avoiding redundancy like multiple search or create commands.",{"category":43,"check":134,"severity":23,"summary":135},"Phantom features","All features mentioned in the README, such as specific agents and commands, have corresponding implementations in the codebase.",{"category":137,"check":138,"severity":23,"summary":139},"Install","Installation instruction","Clear installation instructions are provided in the README, including a one-liner curl command and manual steps, along with basic invocation examples.",{"category":141,"check":142,"severity":23,"summary":143},"Errors","Actionable error messages","Error messages from scripts and commands are generally clear, providing context on the failure and often suggesting next steps or pointing to documentation.",{"category":145,"check":146,"severity":23,"summary":147},"Execution","Pinned dependencies","The plugin relies on standard system utilities and includes a `pyproject.toml` and `requirements.txt` (implied by stack definition), suggesting good dependency management for its Python components.",{"category":32,"check":149,"severity":23,"summary":150},"Dry-run preview","The plugin's core operations are configuration management and auditing, which are inherently non-destructive and do not require a dry-run mode.",{"category":152,"check":153,"severity":23,"summary":154},"Protocol","Idempotent retry & timeouts","The plugin's operations are primarily local configuration management and do not involve external calls or state-changing operations that would require idempotency or timeouts.",{"category":115,"check":156,"severity":23,"summary":157},"Telemetry opt-in","The plugin does not appear to emit telemetry; any such features would be opt-in based on its open-source nature and focus on local configuration.",{"category":39,"check":159,"severity":23,"summary":160},"Name collisions","The bundled Python FastAPI stack has a unique name ('dotforge-stack-python-fastapi') and description, distinct from the main dotforge plugin and other potential extensions.",{"category":39,"check":162,"severity":163,"summary":164},"Hooks-off mechanism","not_applicable","As this is a plugin installation for a specific stack, a separate 'hooks-off' mechanism beyond the core dotforge functionality is not expected or necessary.",{"category":39,"check":166,"severity":23,"summary":167},"Hook matcher tightness","The provided `hooks/lint-python.sh` script uses a tight matcher (`.py$`) ensuring it only runs on Python files, preventing unnecessary execution.",{"category":64,"check":169,"severity":23,"summary":170},"Hook security","The `lint-python.sh` hook is informational and does not perform destructive or network-touching operations, thus posing no security risk.",{"category":86,"check":172,"severity":163,"summary":173},"Silent prompt rewriting","This plugin does not implement any `UserPromptSubmit` hooks that would rewrite prompts.",{"category":64,"check":175,"severity":163,"summary":176},"Permission Hook","The plugin does not utilize `PermissionRequest` hooks.",{"category":115,"check":178,"severity":23,"summary":179},"Hook privacy","The hook in this plugin is for local linting and does not involve network communication or data exfiltration.",{"category":102,"check":181,"severity":23,"summary":182},"Hook dependency","The `lint-python.sh` hook is a short, readable bash script that runs locally and has no opaque dependencies.",{"category":43,"check":184,"severity":23,"summary":185},"Feature Transparency","The README and plugin components clearly describe the purpose and functionality of the included hooks and features.",{"category":187,"check":188,"severity":23,"summary":189},"Convention","Layout convention adherence","The plugin follows Claude Code conventions, with hooks placed in the appropriate directory and described in the README.",{"category":187,"check":191,"severity":23,"summary":192},"Plugin state","The plugin does not appear to require persistent state, aligning with the convention of managing state under `${CLAUDE_PLUGIN_DATA}` if needed.",{"category":64,"check":194,"severity":163,"summary":195},"Keychain-stored secrets","This plugin does not handle any secrets that would require keychain storage.",{"category":197,"check":198,"severity":23,"summary":199},"Dependencies","Tagged release sourcing","The plugin itself has a versioned release (`1.4.0`) and relies on the main dotforge project which appears well-maintained.",{"category":201,"check":202,"severity":23,"summary":203},"Installation","Clean uninstall","The plugin installs files within the standard plugin structure and does not register background services or daemons, ensuring a clean uninstall.",1778692747380,"This plugin bundles Ruff linting rules and FastAPI configuration for Python 3.12+ projects, integrating seamlessly with the Dotforge behavior governance system. It provides specific rules and hooks to enforce code quality and project setup.",[207,208,209,210,211],"Python 3.12+ support","FastAPI integration","Ruff linting rules","Integration with Dotforge behavior governance","Automated configuration and hook management",[213,214,215],"Replacing core Claude Code functionality.","Providing general Python development tools outside of configuration and linting.","Managing application runtime or deployment pipelines.","3.0.0","4.4.0","To provide curated configuration and linting rules for Python 3.12+ FastAPI projects, managed through the Dotforge system for consistent behavior governance across development environments.","The plugin demonstrates excellent adherence to all evaluated criteria, with no significant issues identified across security, documentation, scope, and maintenance. Its design as a focused stack for Python/FastAPI within the larger dotforge ecosystem is well-executed.",100,"A high-quality, well-documented plugin for managing Python FastAPI projects within the Dotforge configuration framework.",[223,224,225,226,227,228],"python","fastapi","linting","ruff","configuration","devops","global","verified",[232,233,234],"Managing Python FastAPI projects with consistent coding standards.","Enforcing project configuration and best practices across a team.","Automating the setup of development environments for Python/FastAPI.",{"codeQuality":236,"collectedAt":238,"documentation":239,"maintenance":242,"security":248,"testCoverage":250},{"hasLockfile":237},false,1778692726961,{"descriptionLength":240,"readmeSize":241},91,35166,{"closedIssues90d":8,"forks":243,"hasChangelog":244,"manifestVersion":245,"openIssues90d":8,"pushedAt":246,"stars":247},1,true,"1.4.0",1778672535000,6,{"hasNpmPackage":237,"license":249,"smitheryVerified":237},"MIT",{"hasCi":244,"hasTests":244},{"updatedAt":252},1778692747510,{"basePath":254,"githubOwner":255,"githubRepo":256,"locale":17,"slug":257,"type":258},"stacks/python-fastapi","luiseiman","claude-kit","python-fastapi","plugin",null,{"evaluate":261,"extract":263},{"promptVersionExtension":216,"promptVersionScoring":217,"score":220,"tags":262,"targetMarket":229,"tier":230},[223,224,225,226,227,228],{"commitSha":264},"HEAD",{"repoId":266},"kd79wqc8an5wh20cc2znr8tyb586mxwx",{"_creationTime":268,"_id":266,"identity":269,"providers":270,"workflow":755},1778692481646.1384,{"githubOwner":255,"githubRepo":256,"sourceUrl":13},{"classify":271,"discover":729,"github":732},{"commitSha":264,"extensions":272},[273,291,357,366,374,382,390,398,406,422,430,438,445,455,463,471,481,491,507,515,537,545,553,561,569,577,585,593,601,609,617,625,633,641,649,657,665,673,681,689,697,705,713,721],{"basePath":274,"description":275,"displayName":276,"installMethods":277,"rationale":279,"selectedPaths":280,"source":289,"sourceLanguage":17,"type":290},"","Configuration governance for Claude Code — bootstrap, audit, sync, and evolve .claude/ across projects","dotforge",{"claudeCode":278},"luiseiman/claude-kit","marketplace.json at .claude-plugin/marketplace.json",[281,284,286],{"path":282,"priority":283},".claude-plugin/marketplace.json","mandatory",{"path":285,"priority":283},"README.md",{"path":287,"priority":288},"LICENSE","high","rule","marketplace",{"basePath":274,"description":292,"displayName":276,"installMethods":293,"license":249,"rationale":294,"selectedPaths":295,"source":289,"sourceLanguage":17,"type":258},"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":276},"plugin manifest at .claude-plugin/plugin.json",[296,298,299,300,303,305,307,309,311,313,315,317,319,321,323,325,327,329,331,333,335,337,339,341,343,345,347,349,351,353,355],{"path":297,"priority":283},".claude-plugin/plugin.json",{"path":285,"priority":283},{"path":287,"priority":288},{"path":301,"priority":302},"skills/audit-project/SKILL.md","medium",{"path":304,"priority":302},"skills/benchmark/SKILL.md",{"path":306,"priority":302},"skills/bootstrap-project/SKILL.md",{"path":308,"priority":302},"skills/capture-practice/SKILL.md",{"path":310,"priority":302},"skills/diff-project/SKILL.md",{"path":312,"priority":302},"skills/domain-extract/SKILL.md",{"path":314,"priority":302},"skills/export-config/SKILL.md",{"path":316,"priority":302},"skills/forge-behavior/SKILL.md",{"path":318,"priority":302},"skills/init-project/SKILL.md",{"path":320,"priority":302},"skills/learn-project/SKILL.md",{"path":322,"priority":302},"skills/mcp-add/SKILL.md",{"path":324,"priority":302},"skills/plugin-generator/SKILL.md",{"path":326,"priority":302},"skills/reset-project/SKILL.md",{"path":328,"priority":302},"skills/rule-effectiveness/SKILL.md",{"path":330,"priority":302},"skills/scout-repos/SKILL.md",{"path":332,"priority":302},"skills/session-insights/SKILL.md",{"path":334,"priority":302},"skills/sync-template/SKILL.md",{"path":336,"priority":302},"skills/update-practices/SKILL.md",{"path":338,"priority":302},"skills/watch-upstream/SKILL.md",{"path":340,"priority":288},"agents/architect.md",{"path":342,"priority":288},"agents/code-reviewer.md",{"path":344,"priority":288},"agents/implementer.md",{"path":346,"priority":288},"agents/researcher.md",{"path":348,"priority":288},"agents/security-auditor.md",{"path":350,"priority":288},"agents/session-reviewer.md",{"path":352,"priority":288},"agents/test-runner.md",{"path":354,"priority":288},"hooks/detect-claude-changes.sh",{"path":356,"priority":288},"hooks/hooks.json",{"basePath":358,"description":359,"displayName":360,"installMethods":361,"rationale":362,"selectedPaths":363,"source":289,"sourceLanguage":17,"type":258},"stacks/aws-deploy","AWS CDK/SAM/CloudFormation infrastructure-as-code rules for Claude Code.","dotforge-stack-aws-deploy",{"claudeCode":360},"plugin manifest at stacks/aws-deploy/plugin.json",[364],{"path":365,"priority":283},"plugin.json",{"basePath":367,"description":368,"displayName":369,"installMethods":370,"rationale":371,"selectedPaths":372,"source":289,"sourceLanguage":17,"type":258},"stacks/data-analysis","SQLite/PostgreSQL, pandas/polars, and Jupyter notebook rules for data analysis with Claude Code.","dotforge-stack-data-analysis",{"claudeCode":369},"plugin manifest at stacks/data-analysis/plugin.json",[373],{"path":365,"priority":283},{"basePath":375,"description":376,"displayName":377,"installMethods":378,"rationale":379,"selectedPaths":380,"source":289,"sourceLanguage":17,"type":258},"stacks/devcontainer","Dev Container configuration, image pinning, and features rules for Claude Code.","dotforge-stack-devcontainer",{"claudeCode":377},"plugin manifest at stacks/devcontainer/plugin.json",[381],{"path":365,"priority":283},{"basePath":383,"description":384,"displayName":385,"installMethods":386,"rationale":387,"selectedPaths":388,"source":289,"sourceLanguage":17,"type":258},"stacks/docker-deploy","Docker Compose and Dockerfile best practices, health checks, and deployment rules for Claude Code.","dotforge-stack-docker-deploy",{"claudeCode":385},"plugin manifest at stacks/docker-deploy/plugin.json",[389],{"path":365,"priority":283},{"basePath":391,"description":392,"displayName":393,"installMethods":394,"rationale":395,"selectedPaths":396,"source":289,"sourceLanguage":17,"type":258},"stacks/gcp-cloud-run","GCP Cloud Run container deployment, Cloud Build, and health check rules for Claude Code.","dotforge-stack-gcp-cloud-run",{"claudeCode":393},"plugin manifest at stacks/gcp-cloud-run/plugin.json",[397],{"path":365,"priority":283},{"basePath":399,"description":400,"displayName":401,"installMethods":402,"rationale":403,"selectedPaths":404,"source":289,"sourceLanguage":17,"type":258},"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":401},"plugin manifest at stacks/go-api/plugin.json",[405],{"path":365,"priority":283},{"basePath":407,"description":408,"displayName":409,"installMethods":410,"rationale":411,"selectedPaths":412,"source":289,"sourceLanguage":17,"type":258},"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":409},"plugin manifest at stacks/hookify/plugin.json",[413,414,416,418,420],{"path":365,"priority":283},{"path":415,"priority":302},"skills/hookify/SKILL.md",{"path":417,"priority":288},"hooks/hookify-pretooluse.py",{"path":419,"priority":288},"hooks/hookify-stop.py",{"path":421,"priority":288},"hooks/hookify-userpromptsubmit.py",{"basePath":423,"description":424,"displayName":425,"installMethods":426,"rationale":427,"selectedPaths":428,"source":289,"sourceLanguage":17,"type":258},"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":425},"plugin manifest at stacks/java-spring/plugin.json",[429],{"path":365,"priority":283},{"basePath":431,"description":432,"displayName":433,"installMethods":434,"rationale":435,"selectedPaths":436,"source":289,"sourceLanguage":17,"type":258},"stacks/node-express","Node.js 20+ with Express/Fastify, TypeScript, and ESM module rules for Claude Code.","dotforge-stack-node-express",{"claudeCode":433},"plugin manifest at stacks/node-express/plugin.json",[437],{"path":365,"priority":283},{"basePath":254,"description":10,"displayName":12,"installMethods":439,"rationale":440,"selectedPaths":441,"source":289,"sourceLanguage":17,"type":258},{"claudeCode":12},"plugin manifest at stacks/python-fastapi/plugin.json",[442,443],{"path":365,"priority":283},{"path":444,"priority":288},"hooks/lint-python.sh",{"basePath":446,"description":447,"displayName":448,"installMethods":449,"rationale":450,"selectedPaths":451,"source":289,"sourceLanguage":17,"type":258},"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":448},"plugin manifest at stacks/react-vite-ts/plugin.json",[452,453],{"path":365,"priority":283},{"path":454,"priority":288},"hooks/lint-ts.sh",{"basePath":456,"description":457,"displayName":458,"installMethods":459,"rationale":460,"selectedPaths":461,"source":289,"sourceLanguage":17,"type":258},"stacks/redis","Redis Streams, caching patterns, and pub/sub rules for Claude Code.","dotforge-stack-redis",{"claudeCode":458},"plugin manifest at stacks/redis/plugin.json",[462],{"path":365,"priority":283},{"basePath":464,"description":465,"displayName":466,"installMethods":467,"rationale":468,"selectedPaths":469,"source":289,"sourceLanguage":17,"type":258},"stacks/supabase","Supabase migrations, RLS policies, Edge Functions, and database rules for Claude Code.","dotforge-stack-supabase",{"claudeCode":466},"plugin manifest at stacks/supabase/plugin.json",[470],{"path":365,"priority":283},{"basePath":472,"description":473,"displayName":474,"installMethods":475,"rationale":476,"selectedPaths":477,"source":289,"sourceLanguage":17,"type":258},"stacks/swift-swiftui","Swift 5.9+ with SwiftUI, iOS 17+, @Observable, async/await, and SPM rules for Claude Code.","dotforge-stack-swift-swiftui",{"claudeCode":474},"plugin manifest at stacks/swift-swiftui/plugin.json",[478,479],{"path":365,"priority":283},{"path":480,"priority":288},"hooks/lint-swift.sh",{"basePath":482,"description":483,"displayName":484,"installMethods":485,"rationale":486,"selectedPaths":487,"source":289,"sourceLanguage":17,"type":258},"stacks/tdd","TDD workflow enforcement with auto-test hook","tdd",{"claudeCode":484},"plugin manifest at stacks/tdd/plugin.json",[488,489],{"path":365,"priority":283},{"path":490,"priority":288},"hooks/test-on-edit.sh",{"basePath":492,"description":493,"displayName":494,"installMethods":495,"rationale":496,"selectedPaths":497,"source":289,"sourceLanguage":17,"type":258},"stacks/trading","Trading & investment analysis — thesis tracking, earnings watch, screening, catalyst calendar, backtesting ADR gate. AR + US markets.","dotforge-stack-trading",{"claudeCode":494},"plugin manifest at stacks/trading/plugin.json",[498,499,501,503,505],{"path":365,"priority":283},{"path":500,"priority":302},"skills/catalyst-calendar/SKILL.md",{"path":502,"priority":302},"skills/earnings-watch/SKILL.md",{"path":504,"priority":302},"skills/screen/SKILL.md",{"path":506,"priority":302},"skills/thesis-tracker/SKILL.md",{"basePath":508,"description":509,"displayName":510,"installMethods":511,"rationale":512,"selectedPaths":513,"source":289,"sourceLanguage":17,"type":258},"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":510},"plugin manifest at stacks/vps-ssh/plugin.json",[514],{"path":365,"priority":283},{"basePath":516,"description":517,"displayName":518,"installMethods":519,"rationale":520,"selectedPaths":521,"source":289,"sourceLanguage":17,"type":536},"integrations/openclaw","dotforge configuration factory — audit, sync, status, insights across projects from any channel","forge",{"claudeCode":278},"SKILL.md frontmatter at integrations/openclaw/SKILL.md",[522,524,526,528,530,532,534],{"path":523,"priority":283},"SKILL.md",{"path":525,"priority":302},"AGENTS.md",{"path":527,"priority":302},"HEARTBEAT.md",{"path":529,"priority":302},"IDENTITY.md",{"path":531,"priority":302},"SOUL.md",{"path":533,"priority":302},"TOOLS.md",{"path":535,"priority":302},"USER.md","skill",{"basePath":538,"description":539,"displayName":540,"installMethods":541,"rationale":542,"selectedPaths":543,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at skills/audit-project/SKILL.md",[544],{"path":523,"priority":283},{"basePath":546,"description":547,"displayName":548,"installMethods":549,"rationale":550,"selectedPaths":551,"source":289,"sourceLanguage":17,"type":536},"skills/benchmark","Compare Claude Code output with full config vs minimal config using standardized tasks per stack.","benchmark",{"claudeCode":278},"SKILL.md frontmatter at skills/benchmark/SKILL.md",[552],{"path":523,"priority":283},{"basePath":554,"description":555,"displayName":556,"installMethods":557,"rationale":558,"selectedPaths":559,"source":289,"sourceLanguage":17,"type":536},"skills/bootstrap-project","Initializes the Claude Code configuration in a new or existing project using the dotforge template.","bootstrap-project",{"claudeCode":278},"SKILL.md frontmatter at skills/bootstrap-project/SKILL.md",[560],{"path":523,"priority":283},{"basePath":562,"description":563,"displayName":564,"installMethods":565,"rationale":566,"selectedPaths":567,"source":289,"sourceLanguage":17,"type":536},"skills/capture-practice","Captures an insight or practice discovered during work and registers it in the dotforge practices/inbox.","capture-practice",{"claudeCode":278},"SKILL.md frontmatter at skills/capture-practice/SKILL.md",[568],{"path":523,"priority":283},{"basePath":570,"description":571,"displayName":572,"installMethods":573,"rationale":574,"selectedPaths":575,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at skills/diff-project/SKILL.md",[576],{"path":523,"priority":283},{"basePath":578,"description":579,"displayName":580,"installMethods":581,"rationale":582,"selectedPaths":583,"source":289,"sourceLanguage":17,"type":536},"skills/domain-extract","Extract domain knowledge from existing project sources and generate domain rules. Also handles vault sync and domain listing.","domain-extract",{"claudeCode":278},"SKILL.md frontmatter at skills/domain-extract/SKILL.md",[584],{"path":523,"priority":283},{"basePath":586,"description":587,"displayName":588,"installMethods":589,"rationale":590,"selectedPaths":591,"source":289,"sourceLanguage":17,"type":536},"skills/export-config","Export dotforge configuration to other AI code editors (Cursor, Codex, Windsurf, OpenClaw).","export-config",{"claudeCode":278},"SKILL.md frontmatter at skills/export-config/SKILL.md",[592],{"path":523,"priority":283},{"basePath":594,"description":595,"displayName":596,"installMethods":597,"rationale":598,"selectedPaths":599,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at skills/forge-behavior/SKILL.md",[600],{"path":523,"priority":283},{"basePath":602,"description":603,"displayName":604,"installMethods":605,"rationale":606,"selectedPaths":607,"source":289,"sourceLanguage":17,"type":536},"skills/init-project","Quick-start Claude Code configuration. Auto-detects stack, asks 4 questions to understand the project, generates complete config.","init-project",{"claudeCode":278},"SKILL.md frontmatter at skills/init-project/SKILL.md",[608],{"path":523,"priority":283},{"basePath":610,"description":611,"displayName":612,"installMethods":613,"rationale":614,"selectedPaths":615,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at skills/learn-project/SKILL.md",[616],{"path":523,"priority":283},{"basePath":618,"description":619,"displayName":620,"installMethods":621,"rationale":622,"selectedPaths":623,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at skills/mcp-add/SKILL.md",[624],{"path":523,"priority":283},{"basePath":626,"description":627,"displayName":628,"installMethods":629,"rationale":630,"selectedPaths":631,"source":289,"sourceLanguage":17,"type":536},"skills/plugin-generator","Generate a Claude Code plugin package from the current project's dotforge configuration, ready for marketplace submission.","plugin-generator",{"claudeCode":278},"SKILL.md frontmatter at skills/plugin-generator/SKILL.md",[632],{"path":523,"priority":283},{"basePath":634,"description":635,"displayName":636,"installMethods":637,"rationale":638,"selectedPaths":639,"source":289,"sourceLanguage":17,"type":536},"skills/reset-project","Restore a project's .claude/ directory to the dotforge template from scratch, with backup and rollback option.","reset-project",{"claudeCode":278},"SKILL.md frontmatter at skills/reset-project/SKILL.md",[640],{"path":523,"priority":283},{"basePath":642,"description":643,"displayName":644,"installMethods":645,"rationale":646,"selectedPaths":647,"source":289,"sourceLanguage":17,"type":536},"skills/rule-effectiveness","Analyze which rules are actively used vs inert. Detect coverage gaps. Recommend pruning to reduce token consumption.","rule-effectiveness",{"claudeCode":278},"SKILL.md frontmatter at skills/rule-effectiveness/SKILL.md",[648],{"path":523,"priority":283},{"basePath":650,"description":651,"displayName":652,"installMethods":653,"rationale":654,"selectedPaths":655,"source":289,"sourceLanguage":17,"type":536},"skills/scout-repos","Fetch .claude/ configs from curated repos in sources.yml, compare against dotforge template, report novel patterns.","scout-repos",{"claudeCode":278},"SKILL.md frontmatter at skills/scout-repos/SKILL.md",[656],{"path":523,"priority":283},{"basePath":658,"description":659,"displayName":660,"installMethods":661,"rationale":662,"selectedPaths":663,"source":289,"sourceLanguage":17,"type":536},"skills/session-insights","Analyze past Claude Code sessions to extract patterns, metrics, and recommendations.","session-insights",{"claudeCode":278},"SKILL.md frontmatter at skills/session-insights/SKILL.md",[664],{"path":523,"priority":283},{"basePath":666,"description":667,"displayName":668,"installMethods":669,"rationale":670,"selectedPaths":671,"source":289,"sourceLanguage":17,"type":536},"skills/sync-template","Update an existing project's Claude Code configuration against the current dotforge template, without losing local customizations.","sync-template",{"claudeCode":278},"SKILL.md frontmatter at skills/sync-template/SKILL.md",[672],{"path":523,"priority":283},{"basePath":674,"description":675,"displayName":676,"installMethods":677,"rationale":678,"selectedPaths":679,"source":289,"sourceLanguage":17,"type":536},"skills/update-practices","Process the practices inbox, evaluate, incorporate into dotforge, and suggest propagation to projects.","update-practices",{"claudeCode":278},"SKILL.md frontmatter at skills/update-practices/SKILL.md",[680],{"path":523,"priority":283},{"basePath":682,"description":683,"displayName":684,"installMethods":685,"rationale":686,"selectedPaths":687,"source":289,"sourceLanguage":17,"type":536},"skills/watch-upstream","Fetch official Anthropic/Claude Code docs, detect changes relevant to dotforge, report deltas.","watch-upstream",{"claudeCode":278},"SKILL.md frontmatter at skills/watch-upstream/SKILL.md",[688],{"path":523,"priority":283},{"basePath":690,"description":691,"displayName":692,"installMethods":693,"rationale":694,"selectedPaths":695,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at stacks/hookify/skills/hookify/SKILL.md",[696],{"path":523,"priority":283},{"basePath":698,"description":699,"displayName":700,"installMethods":701,"rationale":702,"selectedPaths":703,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at stacks/trading/skills/catalyst-calendar/SKILL.md",[704],{"path":523,"priority":283},{"basePath":706,"description":707,"displayName":708,"installMethods":709,"rationale":710,"selectedPaths":711,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at stacks/trading/skills/earnings-watch/SKILL.md",[712],{"path":523,"priority":283},{"basePath":714,"description":715,"displayName":716,"installMethods":717,"rationale":718,"selectedPaths":719,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at stacks/trading/skills/screen/SKILL.md",[720],{"path":523,"priority":283},{"basePath":722,"description":723,"displayName":724,"installMethods":725,"rationale":726,"selectedPaths":727,"source":289,"sourceLanguage":17,"type":536},"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":278},"SKILL.md frontmatter at stacks/trading/skills/thesis-tracker/SKILL.md",[728],{"path":523,"priority":283},{"sources":730},[731],"manual",{"closedIssues90d":8,"description":733,"forks":243,"homepage":734,"license":249,"openIssues90d":8,"pushedAt":246,"readmeSize":241,"stars":247,"topics":735},"Configuration governance for Claude Code. Bootstrap, audit, sync, and evolve .claude/ across projects.","https://github.com/luiseiman/dotforge",[736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754],"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":756,"discoverAt":757,"extractAt":758,"githubAt":758,"updatedAt":756},1778692487649,1778692481646,1778692485708,[227,228,224,225,223,226],{"evaluatedAt":252,"extractAt":761,"updatedAt":252},1778692488329,[],[764,797,818,847,874,905],{"_creationTime":765,"_id":766,"community":767,"display":768,"identity":773,"providers":777,"relations":790,"tags":793,"workflow":794},1778698175626.3154,"k179z2nzmnqtzts9j79dqb7pfs86nf9f",{"reviewCount":8},{"description":769,"installMethods":770,"name":771,"sourceUrl":772},"Modern Python best practices. Use when creating new Python projects, and writing Python scripts, or migrating existing projects from legacy tools.",{"claudeCode":771},"modern-python","https://github.com/trailofbits/skills",{"basePath":774,"githubOwner":775,"githubRepo":776,"locale":17,"slug":771,"type":258},"plugins/modern-python","trailofbits","skills",{"evaluate":778,"extract":787},{"promptVersionExtension":216,"promptVersionScoring":217,"score":779,"tags":780,"targetMarket":229,"tier":230},97,[223,781,782,783,226,225,784,785,786],"development","tooling","uv","formatting","testing","security",{"commitSha":264,"plugin":788},{"mcpCount":8,"provider":789,"skillCount":243},"classify",{"parentExtensionId":791,"repoId":792},"k17550d1ve8ghfmwc58xs69e3s86mn86","kd7d5sbrd9m157hjv9c7v4wfyn86mk2f",[781,784,225,223,226,786,785,782,783],{"evaluatedAt":795,"extractAt":796,"updatedAt":795},1778698630047,1778698175626,{"_creationTime":798,"_id":799,"community":800,"display":801,"identity":803,"providers":805,"relations":814,"tags":815,"workflow":816},1778692488329.0107,"k179bvp22xcxq4xg9bkgpkhw5s86mstq",{"reviewCount":8},{"description":432,"installMethods":802,"name":276,"sourceUrl":13},{"claudeCode":433},{"basePath":431,"githubOwner":255,"githubRepo":256,"locale":17,"slug":804,"type":258},"node-express",{"evaluate":806,"extract":813},{"promptVersionExtension":216,"promptVersionScoring":217,"score":220,"tags":807,"targetMarket":229,"tier":230},[227,808,809,810,811,812],"management","policy","auditing","bash","claudecode",{"commitSha":264,"license":249},{"repoId":266},[810,811,812,227,808,809],{"evaluatedAt":817,"extractAt":761,"updatedAt":817},1778692726682,{"_creationTime":819,"_id":820,"community":821,"display":822,"identity":827,"providers":830,"relations":839,"tags":842,"workflow":843},1778686275744.737,"k17djfk2zfs7s9nc8m6zqvb3wd86mn54",{"reviewCount":8},{"description":823,"installMethods":824,"name":825,"sourceUrl":826},"使用 DeployHQ CLI 部署代码、管理服务器和自动化基础架构",{"claudeCode":825},"deployhq","https://github.com/deployhq/deployhq-cli",{"basePath":274,"githubOwner":825,"githubRepo":828,"locale":829,"slug":828,"type":258},"deployhq-cli","zh-CN",{"evaluate":831,"extract":837},{"promptVersionExtension":216,"promptVersionScoring":217,"score":220,"tags":832,"targetMarket":229,"tier":230},[833,834,228,835,836],"deployment","cli","infrastructure","automation",{"commitSha":264,"license":249,"plugin":838},{"mcpCount":8,"provider":789,"skillCount":243},{"repoId":840,"translatedFrom":841},"kd7dc1debeaew7fbyy4f7aj6s186metz","k176xst3d3p0j1p5efen23b4zh86mvhd",[836,834,833,228,835],{"evaluatedAt":844,"extractAt":845,"updatedAt":846},1778686187840,1778686156089,1778686275744,{"_creationTime":848,"_id":849,"community":850,"display":851,"identity":856,"providers":860,"relations":867,"tags":870,"workflow":871},1778675056600.2068,"k178z532bm8n047nxsbbprw3fd86mj5a",{"reviewCount":8},{"description":852,"installMethods":853,"name":854,"sourceUrl":855},"Active coding discipline enforcer based on Karpathy's 4 principles: surface assumptions, keep it simple, make surgical changes, define verifiable goals. Ships 4 Python tools (complexity_checker, diff_surgeon, assumption_linter, goal_verifier), a review agent, /karpathy-check slash command, and a pre-commit hook. All tools stdlib-only.",{"claudeCode":854},"karpathy-coder","https://github.com/alirezarezvani/claude-skills",{"basePath":857,"githubOwner":858,"githubRepo":859,"locale":17,"slug":854,"type":258},"engineering/karpathy-coder","alirezarezvani","claude-skills",{"evaluate":861,"extract":865},{"promptVersionExtension":216,"promptVersionScoring":217,"score":220,"tags":862,"targetMarket":229,"tier":230},[863,748,225,864,223],"code-quality","review",{"commitSha":264,"license":249,"plugin":866},{"mcpCount":8,"provider":789,"skillCount":243},{"parentExtensionId":868,"repoId":869},"k17dce6sbramb6sxm7ksr3928x86ncfs","kd7ff9s1w43mfyy1n7hf87816186m6px",[863,748,225,223,864],{"evaluatedAt":872,"extractAt":873,"updatedAt":872},1778675717756,1778675056600,{"_creationTime":875,"_id":876,"community":877,"display":878,"identity":883,"providers":887,"relations":898,"tags":901,"workflow":902},1778699018122.7756,"k170s0y23600krsq38kn73pbfh86m5mz",{"reviewCount":8},{"description":879,"installMethods":880,"name":881,"sourceUrl":882},"REST and GraphQL API scaffolding, framework selection, backend architecture, and API generation",{"claudeCode":881},"api-scaffolding","https://github.com/wshobson/agents",{"basePath":884,"githubOwner":885,"githubRepo":886,"locale":17,"slug":881,"type":258},"plugins/api-scaffolding","wshobson","agents",{"evaluate":888,"extract":896},{"promptVersionExtension":216,"promptVersionScoring":217,"score":889,"tags":890,"targetMarket":229,"tier":230},99,[881,891,892,893,223,224,894,895],"backend-development","rest","graphql","django","microservices",{"commitSha":264,"license":249,"plugin":897},{"mcpCount":8,"provider":789,"skillCount":243},{"parentExtensionId":899,"repoId":900},"k17cywe30jfsfw3cdpncjfn8y186nvyw","kd74de64zj0axtg5b8t7eqqe2x86nske",[881,891,894,224,893,895,223,892],{"evaluatedAt":903,"extractAt":904,"updatedAt":903},1778699700002,1778699018122,{"_creationTime":906,"_id":907,"community":908,"display":909,"identity":914,"providers":916,"relations":923,"tags":926,"workflow":927},1778690800864.3064,"k177qbgkmzyr46v28dqnn7z5p586ng20",{"reviewCount":8},{"description":910,"installMethods":911,"name":912,"sourceUrl":913},"分析和优化您的 Agent Skills (SKILL.md)，利用会话数据和经过研究支持的静态检查。兼容 Claude Code、Codex 以及任何兼容 Agent Skills 的代理。",{"claudeCode":912},"skill-optimizer","https://github.com/hqhq1025/skill-optimizer",{"basePath":274,"githubOwner":915,"githubRepo":912,"locale":829,"slug":912,"type":258},"hqhq1025",{"evaluate":917,"extract":921},{"promptVersionExtension":216,"promptVersionScoring":217,"score":889,"tags":918,"targetMarket":229,"tier":230},[919,912,863,920,225],"agent-skills","analysis",{"commitSha":264,"license":249,"plugin":922},{"mcpCount":8,"provider":789,"skillCount":243},{"repoId":924,"translatedFrom":925},"kd76v1w9br791zft177dyhmbjn86mbrc","k1708ha9m073365jva42w7jxp986m602",[919,920,863,225,912],{"evaluatedAt":928,"extractAt":929,"updatedAt":930},1778690763958,1778690741992,1778690800864]