@fprad0/skill-master-mcp 0.0.9 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +43 -9
- package/VERSION.md +3 -3
- package/bin/lib/client-config.mjs +268 -0
- package/bin/lib/menu-core.mjs +678 -33
- package/bin/skill-master-bootstrap-global.mjs +15 -1
- package/bin/skill-master-doctor.mjs +181 -0
- package/bin/skill-master-install-global-skills.mjs +30 -10
- package/bin/skill-master-menu.mjs +184 -36
- package/bin/skill-master-register-clients.mjs +43 -99
- package/dist/index.js +30 -5
- package/dist/index.js.map +1 -1
- package/docs/operations/GUIA_MULTI_COMPUTADOR.md +255 -0
- package/docs/operations/GUIA_NPM_PUBLICO.md +147 -0
- package/docs/skill-candidates/v0.0.10/cli-creator/LICENSE.txt +201 -0
- package/docs/skill-candidates/v0.0.10/cli-creator/SKILL.md +160 -0
- package/docs/skill-candidates/v0.0.10/cli-creator/agents/openai.yaml +4 -0
- package/docs/skill-candidates/v0.0.10/cli-creator/references/agent-cli-patterns.md +154 -0
- package/docs/skill-candidates/v0.0.10/developer-workstation-ops/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.10/figma/LICENSE.txt +2 -0
- package/docs/skill-candidates/v0.0.10/figma/SKILL.md +42 -0
- package/docs/skill-candidates/v0.0.10/figma/agents/openai.yaml +14 -0
- package/docs/skill-candidates/v0.0.10/figma/assets/figma-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/figma/assets/figma.png +0 -0
- package/docs/skill-candidates/v0.0.10/figma/assets/icon.svg +28 -0
- package/docs/skill-candidates/v0.0.10/figma/references/figma-mcp-config.md +35 -0
- package/docs/skill-candidates/v0.0.10/figma/references/figma-tools-and-prompts.md +34 -0
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/LICENSE.TXT +2 -0
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/SKILL.md +349 -0
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/agents/openai.yaml +14 -0
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/figma-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/figma.png +0 -0
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/icon.svg +28 -0
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/references/mapping-checklist.md +7 -0
- package/docs/skill-candidates/v0.0.10/figma-code-connect-components/scripts/normalize_node_id.py +25 -0
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/LICENSE.TXT +2 -0
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/SKILL.md +537 -0
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/agents/openai.yaml +14 -0
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/figma-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/figma.png +0 -0
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/icon.svg +28 -0
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/references/rule-template.md +15 -0
- package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/scripts/check_agents_md.sh +9 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-design/LICENSE.TXT +2 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-design/SKILL.md +341 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-design/agents/openai.yaml +14 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/figma-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/figma.png +0 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/icon.svg +28 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-design/maintainers.yml +1 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/LICENSE.TXT +2 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/SKILL.md +314 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/agents/openai.yaml +14 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/figma-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/figma.png +0 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/icon.svg +28 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/maintainers.yml +3 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/code-connect-setup.md +260 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/component-creation.md +1014 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/discovery-phase.md +518 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/documentation-creation.md +834 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/error-recovery.md +540 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/naming-conventions.md +527 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/references/token-creation.md +962 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/bindVariablesToComponent.js +110 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/cleanupOrphans.js +127 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createComponentWithVariants.js +148 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createDocumentationPage.js +139 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createSemanticTokens.js +108 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createVariableCollection.js +49 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/inspectFileStructure.js +121 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/rehydrateState.js +92 -0
- package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/validateCreation.js +83 -0
- package/docs/skill-candidates/v0.0.10/figma-implement-design/LICENSE.txt +2 -0
- package/docs/skill-candidates/v0.0.10/figma-implement-design/SKILL.md +258 -0
- package/docs/skill-candidates/v0.0.10/figma-implement-design/agents/openai.yaml +14 -0
- package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/figma-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/figma.png +0 -0
- package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/icon.svg +28 -0
- package/docs/skill-candidates/v0.0.10/figma-use/LICENSE.TXT +2 -0
- package/docs/skill-candidates/v0.0.10/figma-use/SKILL.md +233 -0
- package/docs/skill-candidates/v0.0.10/figma-use/agents/openai.yaml +14 -0
- package/docs/skill-candidates/v0.0.10/figma-use/assets/figma-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/figma-use/assets/figma.png +0 -0
- package/docs/skill-candidates/v0.0.10/figma-use/assets/icon.svg +28 -0
- package/docs/skill-candidates/v0.0.10/figma-use/maintainers.yml +1 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/api-reference.md +301 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/common-patterns.md +512 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/component-patterns.md +488 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/effect-style-patterns.md +123 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/gotchas.md +599 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/maintainers.yml +12 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-patterns.md +513 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.d.ts +11293 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.index.md +441 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/text-style-patterns.md +203 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/validation-and-recovery.md +109 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/variable-patterns.md +354 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/maintainers.yml +9 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--creating.md +17 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--using.md +17 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components.md +50 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-effect-styles.md +52 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-text-styles.md +90 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--creating.md +13 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--using.md +13 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables.md +64 -0
- package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds.md +41 -0
- package/docs/skill-candidates/v0.0.10/frontend-design/LICENSE.txt +177 -0
- package/docs/skill-candidates/v0.0.10/frontend-design/SKILL.md +55 -0
- package/docs/skill-candidates/v0.0.10/frontend-ui-ux-systems/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.10/github/SKILL.md +74 -0
- package/docs/skill-candidates/v0.0.10/github/agents/openai.yaml +6 -0
- package/docs/skill-candidates/v0.0.10/github/assets/github-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/github/assets/github.png +0 -0
- package/docs/skill-candidates/v0.0.10/image-graphic-design-rendering/SKILL.md +28 -0
- package/docs/skill-candidates/v0.0.10/language-quality-pt-en-fr-it-ru/SKILL.md +28 -0
- package/docs/skill-candidates/v0.0.10/math-physics-reasoning/SKILL.md +28 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/LICENSE.txt +202 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/SKILL.md +236 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/reference/evaluation.md +602 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/reference/node_mcp_server.md +970 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/reference/python_mcp_server.md +719 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/connections.py +151 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/evaluation.py +373 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/requirements.txt +2 -0
- package/docs/skill-candidates/v0.0.10/mcp-client-readiness/SKILL.md +31 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/LICENSE.txt +201 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/SKILL.md +161 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/agents/openai.yaml +14 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/assets/openai-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/assets/openai.png +0 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/references/latest-model.md +37 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/references/prompting-guide.md +244 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/references/upgrade-guide.md +181 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/scripts/fetch-codex-manual.mjs +598 -0
- package/docs/skill-candidates/v0.0.10/openai-docs/scripts/resolve-latest-model-info.js +147 -0
- package/docs/skill-candidates/v0.0.10/playwright/LICENSE.txt +201 -0
- package/docs/skill-candidates/v0.0.10/playwright/NOTICE.txt +14 -0
- package/docs/skill-candidates/v0.0.10/playwright/SKILL.md +147 -0
- package/docs/skill-candidates/v0.0.10/playwright/agents/openai.yaml +6 -0
- package/docs/skill-candidates/v0.0.10/playwright/assets/playwright-small.svg +3 -0
- package/docs/skill-candidates/v0.0.10/playwright/assets/playwright.png +0 -0
- package/docs/skill-candidates/v0.0.10/playwright/references/cli.md +116 -0
- package/docs/skill-candidates/v0.0.10/playwright/references/workflows.md +95 -0
- package/docs/skill-candidates/v0.0.10/playwright/scripts/playwright_cli.sh +25 -0
- package/docs/skill-candidates/v0.0.10/polyglot-backend-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.10/screenshot/LICENSE.txt +201 -0
- package/docs/skill-candidates/v0.0.10/screenshot/SKILL.md +267 -0
- package/docs/skill-candidates/v0.0.10/screenshot/agents/openai.yaml +6 -0
- package/docs/skill-candidates/v0.0.10/screenshot/assets/screenshot-small.svg +5 -0
- package/docs/skill-candidates/v0.0.10/screenshot/assets/screenshot.png +0 -0
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/ensure_macos_permissions.sh +54 -0
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_display_info.swift +22 -0
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_permissions.swift +40 -0
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_window_info.swift +126 -0
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.ps1 +163 -0
- package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.py +585 -0
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/SKILL.md +62 -0
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/agents/openai.yaml +4 -0
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/activation-policy.md +77 -0
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/human-approval-policy.md +83 -0
- package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/persona-dev-senior-master.md +46 -0
- package/docs/skill-candidates/v0.0.10/terminal-menu-operations/SKILL.md +30 -0
- package/docs/skill-candidates/v0.0.10/terminal-pixel-art-tui/SKILL.md +43 -0
- package/docs/skill-candidates/v0.0.10/webapp-testing/LICENSE.txt +202 -0
- package/docs/skill-candidates/v0.0.10/webapp-testing/SKILL.md +96 -0
- package/docs/skill-candidates/v0.0.10/webapp-testing/examples/console_logging.py +35 -0
- package/docs/skill-candidates/v0.0.10/webapp-testing/examples/element_discovery.py +40 -0
- package/docs/skill-candidates/v0.0.10/webapp-testing/examples/static_html_automation.py +33 -0
- package/docs/skill-candidates/v0.0.10/webapp-testing/scripts/with_server.py +106 -0
- package/docs/skill-candidates/v0.0.10/winui-app/LICENSE.txt +202 -0
- package/docs/skill-candidates/v0.0.10/winui-app/SKILL.md +94 -0
- package/docs/skill-candidates/v0.0.10/winui-app/agents/openai.yaml +5 -0
- package/docs/skill-candidates/v0.0.10/winui-app/assets/winui.png +0 -0
- package/docs/skill-candidates/v0.0.10/winui-app/config.yaml +50 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/_sections.md +96 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/accessibility-input-and-localization.md +51 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/build-run-and-launch-verification.md +72 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/community-toolkit-controls-and-helpers.md +57 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/controls-layout-and-adaptive-ui.md +84 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-environment-audit-and-remediation.md +82 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-setup-and-project-selection.md +67 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-template-first-recovery.md +62 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-winui-app-structure.md +62 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/motion-animations-and-polish.md +45 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/performance-diagnostics-and-responsiveness.md +46 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/sample-source-map.md +37 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/shell-navigation-and-windowing.md +67 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/styling-theming-materials-and-icons.md +71 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/testing-debugging-and-review-checklists.md +77 -0
- package/docs/skill-candidates/v0.0.10/winui-app/references/windows-app-sdk-lifecycle-notifications-and-deployment.md +52 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/SKILL.md +399 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/common-patterns.md +331 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/complete-examples.md +872 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/component-patterns.md +502 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/data-fetching.md +767 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/file-organization.md +502 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/performance.md +406 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/routing-guide.md +364 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/styling-guide.md +428 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
- package/docs/skill-candidates/v0.0.11/git-version-control-ops/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/go-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/java-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/javascript-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/json-contract-design/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/multi-client-mcp-ops/SKILL.md +36 -0
- package/docs/skill-candidates/v0.0.11/nextjs/SKILL.md +745 -0
- package/docs/skill-candidates/v0.0.11/nextjs/agents/openai.yaml +3 -0
- package/docs/skill-candidates/v0.0.11/nextjs/references/app-router-files.md +94 -0
- package/docs/skill-candidates/v0.0.11/python-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/ruby-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/SKILL.md +209 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/references/architecture_patterns.md +103 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/references/development_workflows.md +103 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/references/tech_stack_guide.md +103 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/code_quality_analyzer.py +114 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/fullstack_scaffolder.py +114 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/project_scaffolder.py +114 -0
- package/docs/skill-candidates/v0.0.11/shadcn/SKILL.md +573 -0
- package/docs/skill-candidates/v0.0.11/shadcn/agents/openai.yaml +3 -0
- package/docs/skill-candidates/v0.0.11/sql-postgresql-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/terminal-shell-ops/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/SKILL.md +429 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/references/tsconfig-strict.json +92 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/references/typescript-cheatsheet.md +383 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/references/utility-types.ts +335 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/scripts/ts_diagnostic.py +203 -0
- package/docs/skill-candidates/v0.0.11/ui-component-primitives/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/web-mobile-design-systems/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/windows-linux-platform-ops/SKILL.md +34 -0
- package/manifests/channels/beta.json +7 -7
- package/manifests/channels/stable.json +8 -8
- package/network/unapproved-skill-candidates.json +34 -1
- package/package.json +7 -2
- package/scripts/verify-menu-actions.mjs +115 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,21 @@ All notable changes to `skill_master` will be tracked here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.0.11] - 2026-06-28
|
|
8
|
+
|
|
9
|
+
- Register MCP clients with an absolute Node.js executable plus the absolute `bin/skill-master.mjs` entrypoint, avoiding PATH-dependent startup failures in Windows, Linux, macOS, and desktop MCP clients.
|
|
10
|
+
- Add shared client-config helpers, Codex/JSON config assessment, doctor reporting for robust vs legacy registration modes, and a menu action matrix verifier.
|
|
11
|
+
- Add a second bundled global skill pack `v0.0.11` with more granular language, data, terminal, Git, OS, MCP client and UI/design skills for global installation.
|
|
12
|
+
|
|
13
|
+
## [0.0.10] - 2026-06-28
|
|
14
|
+
|
|
15
|
+
- Expand the bundled global skill catalog with frontend, backend, CLI, workstation, OpenAI docs, GitHub, design, Playwright, WinUI, language, math, physics, and MCP-building coverage.
|
|
16
|
+
- Align the menu with the bundled catalog by showing bundle totals, domain counts, selected action metadata, and operational context directly in the TUI.
|
|
17
|
+
- Fix the interactive menu return path so keyboard selection works again after running an action and returning to the menu.
|
|
18
|
+
- Redesign the visual menu with cyberpunk-style procedural frames, a genome matrix panel, and telemetry windows while keeping low-flicker alternate-screen behavior.
|
|
19
|
+
- Add `skill-master-doctor` coverage for package, PATH, bundled skills, and Codex, Claude, Gemini, and Antigravity registration checks.
|
|
20
|
+
- Keep development-only actions disabled when the menu runs from a published npm package instead of a source checkout.
|
|
21
|
+
|
|
7
22
|
## [0.0.9] - 2026-06-28
|
|
8
23
|
|
|
9
24
|
- Add Catholic-inspired moral governance with `skill_master_moral_discernment`, moral gates, and prompt-router integration.
|
package/README.md
CHANGED
|
@@ -108,17 +108,18 @@ npm install -g @fprad0/skill-master-mcp
|
|
|
108
108
|
npx -y @fprad0/skill-master-mcp@latest
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
Fluxo atual:
|
|
112
112
|
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
- validacao
|
|
116
|
-
-
|
|
113
|
+
- instalacao publica simples por `npm install -g @fprad0/skill-master-mcp`
|
|
114
|
+
- execucao sem install global por `npx -y @fprad0/skill-master-mcp@latest`
|
|
115
|
+
- validacao rapida da versao publicada por `npm view @fprad0/skill-master-mcp version --registry=https://registry.npmjs.org`
|
|
116
|
+
- esta linha de release amplia o bundle global para `v0.0.11` e endurece o registro MCP multi-cliente com Node absoluto
|
|
117
117
|
|
|
118
118
|
Comandos globais principais:
|
|
119
119
|
|
|
120
120
|
```bash
|
|
121
121
|
skill-master-activation
|
|
122
|
+
skill-master-doctor
|
|
122
123
|
skill-master-eval-activation
|
|
123
124
|
skill-master-install-global-skills
|
|
124
125
|
skill-master-mcp
|
|
@@ -139,6 +140,7 @@ O menu agora possui modo visual interativo para terminal com TTY e tambem aceita
|
|
|
139
140
|
|
|
140
141
|
```bash
|
|
141
142
|
skill-master-menu --run status
|
|
143
|
+
skill-master-menu --run doctor
|
|
142
144
|
skill-master-menu --run check
|
|
143
145
|
skill-master-menu --run update --yes
|
|
144
146
|
skill-master-menu --run install-global-skills
|
|
@@ -154,7 +156,15 @@ skill-master-menu --run notion-summary
|
|
|
154
156
|
|
|
155
157
|
O menu visual usa `prompts` para ficar mais legivel no terminal e manter compatibilidade com `Node 18+`.
|
|
156
158
|
|
|
157
|
-
Quando o menu detectar que o MCP ainda nao esta globalmente pronto neste computador, ele mostra um alerta forte e um aviso sutil explicando que a instalacao global e o registro dos clientes sao necessarios para o `skill_master` parecer parte do sistema em Codex, Claude e
|
|
159
|
+
Quando o menu detectar que o MCP ainda nao esta globalmente pronto neste computador, ele mostra um alerta forte e um aviso sutil explicando que a instalacao global e o registro dos clientes sao necessarios para o `skill_master` parecer parte do sistema em Codex, Claude, Gemini e Antigravity.
|
|
160
|
+
|
|
161
|
+
Em instalacoes globais via npm, o menu tambem separa acoes operacionais de acoes de desenvolvimento. Acoes como `check` e `build` dependem do clone completo do repositorio; quando o pacote estiver instalado globalmente, use:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
skill-master-menu --run doctor
|
|
165
|
+
skill-master-menu --run status
|
|
166
|
+
skill-master-menu --run bootstrap-global --yes
|
|
167
|
+
```
|
|
158
168
|
|
|
159
169
|
Para instalar as skills globais embutidas de discernimento, conhecimento amplo, engenharia e governanca moral:
|
|
160
170
|
|
|
@@ -162,27 +172,51 @@ Para instalar as skills globais embutidas de discernimento, conhecimento amplo,
|
|
|
162
172
|
skill-master-install-global-skills
|
|
163
173
|
```
|
|
164
174
|
|
|
175
|
+
No estado atual do pacote, esse bundle global tambem inclui cobertura para frontend, backend, CLI, terminal, GitHub, Windows/Linux, clientes MCP, design, Figma, Playwright, idiomas e raciocinio tecnico, usando uma combinacao de skills locais aprovadas e skills oficiais empacotadas em `docs/skill-candidates/v0.0.10` e `docs/skill-candidates/v0.0.11`.
|
|
176
|
+
|
|
177
|
+
O pacote `v0.0.11` amplia a granularidade com skills dedicadas para TypeScript, Python, JavaScript, Java, Ruby, Go, SQL/PostgreSQL, contratos JSON, Git, shell/terminal, Windows/Linux, operacao multi-cliente MCP, componentes UI e sistemas web/mobile.
|
|
178
|
+
|
|
165
179
|
Para fazer o bootstrap global completo em um passo:
|
|
166
180
|
|
|
167
181
|
```bash
|
|
168
182
|
skill-master-bootstrap-global
|
|
169
183
|
```
|
|
170
184
|
|
|
171
|
-
Para registrar o MCP nos clientes principais
|
|
185
|
+
Para registrar o MCP nos clientes principais, use o registrador. Ele grava `command` com o Node.js absoluto e `args` com o caminho absoluto de `bin/skill-master.mjs`, evitando falhas de `PATH` em Windows, Linux, macOS e apps desktop que nao herdam o terminal:
|
|
172
186
|
|
|
173
187
|
```bash
|
|
174
188
|
skill-master-register-clients --apply-codex
|
|
175
189
|
skill-master-register-clients --apply-claude
|
|
176
190
|
skill-master-register-clients --apply-gemini
|
|
191
|
+
skill-master-register-clients --apply-antigravity
|
|
177
192
|
```
|
|
178
193
|
|
|
179
|
-
Atalho para gerar snippets e aplicar nos
|
|
194
|
+
Atalho para gerar snippets e aplicar nos clientes principais:
|
|
180
195
|
|
|
181
196
|
```bash
|
|
182
197
|
skill-master-register-clients --apply-all
|
|
183
198
|
```
|
|
184
199
|
|
|
185
|
-
Isso configura o servidor MCP `skill_master` em Codex, Claude Desktop e
|
|
200
|
+
Isso configura o servidor MCP `skill_master` em Codex, Claude Desktop, Gemini e Antigravity quando os arquivos de configuracao locais estiverem disponiveis. Reinicie o cliente depois do registro.
|
|
201
|
+
|
|
202
|
+
Se um cliente ja tiver uma configuracao antiga por `skill-master-mcp`, `npx` ou launcher local e nao estiver iniciando, force a migracao para o modo robusto:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
skill-master-register-clients --apply-all --force
|
|
206
|
+
skill-master-menu --run doctor
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
No Codex, o bloco recomendado fica no formato:
|
|
210
|
+
|
|
211
|
+
```toml
|
|
212
|
+
[mcp_servers.skill_master]
|
|
213
|
+
command = "/caminho/absoluto/para/node"
|
|
214
|
+
args = ["/caminho/absoluto/para/bin/skill-master.mjs"]
|
|
215
|
+
startup_timeout_sec = 120
|
|
216
|
+
|
|
217
|
+
[mcp_servers.skill_master.env]
|
|
218
|
+
SKILL_MASTER_UPDATE_CHANNEL = "stable"
|
|
219
|
+
```
|
|
186
220
|
|
|
187
221
|
O menu tambem mostra notificacoes de skills aprendidas pendentes e links externos para estudo. As acoes de ativacao sao:
|
|
188
222
|
|
package/VERSION.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Versão
|
|
2
2
|
|
|
3
|
-
Versão funcional planejada: `00.
|
|
3
|
+
Versão funcional planejada: `00.05`
|
|
4
4
|
|
|
5
|
-
Versão técnica para empacotamento semântico: `0.0.
|
|
5
|
+
Versão técnica para empacotamento semântico: `0.0.11`
|
|
6
6
|
|
|
7
7
|
## Observação
|
|
8
8
|
|
|
9
|
-
O nome `00.
|
|
9
|
+
O nome `00.05` será usado na comunicação e nos documentos. Para ferramentas que exigem SemVer, como npm e alguns fluxos de release, usar `0.0.11`.
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import process from 'node:process';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
|
|
7
|
+
export const DEFAULT_SERVER_ENV = {
|
|
8
|
+
SKILL_MASTER_UPDATE_CHANNEL: 'stable',
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export function defaultClaudeConfigPath(home = os.homedir(), platform = process.platform) {
|
|
12
|
+
if (platform === 'win32') {
|
|
13
|
+
return path.join(process.env.APPDATA ?? path.join(home, 'AppData', 'Roaming'), 'Claude', 'claude_desktop_config.json');
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (platform === 'darwin') {
|
|
17
|
+
return path.join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return path.join(home, '.config', 'Claude', 'claude_desktop_config.json');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function defaultClientConfigPaths({
|
|
24
|
+
home = os.homedir(),
|
|
25
|
+
env = process.env,
|
|
26
|
+
platform = process.platform,
|
|
27
|
+
} = {}) {
|
|
28
|
+
return {
|
|
29
|
+
codex: path.join(env.CODEX_HOME ?? path.join(home, '.codex'), 'config.toml'),
|
|
30
|
+
claude: defaultClaudeConfigPath(home, platform),
|
|
31
|
+
gemini: path.join(home, '.gemini', 'settings.json'),
|
|
32
|
+
antigravity: path.join(home, '.gemini', 'config', 'mcp_config.json'),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function buildSkillMasterServerConfig({
|
|
37
|
+
rootDir,
|
|
38
|
+
nodeExecPath = process.execPath,
|
|
39
|
+
env = DEFAULT_SERVER_ENV,
|
|
40
|
+
} = {}) {
|
|
41
|
+
const packageRoot = rootDir ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
|
|
42
|
+
const serverEntry = path.join(packageRoot, 'bin', 'skill-master.mjs');
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
command: nodeExecPath,
|
|
46
|
+
args: [serverEntry],
|
|
47
|
+
env: { ...env },
|
|
48
|
+
metadata: {
|
|
49
|
+
mode: 'absolute-node',
|
|
50
|
+
packageRoot,
|
|
51
|
+
serverEntry,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function tomlString(value) {
|
|
57
|
+
return JSON.stringify(String(value));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function tomlStringArray(values) {
|
|
61
|
+
return `[${values.map((value) => tomlString(value)).join(', ')}]`;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function buildCodexBlock(serverConfig) {
|
|
65
|
+
const envEntries = Object.entries(serverConfig.env ?? {});
|
|
66
|
+
const envBlock = envEntries.length
|
|
67
|
+
? `\n[mcp_servers.skill_master.env]\n${envEntries.map(([key, value]) => `${key} = ${tomlString(value)}`).join('\n')}\n`
|
|
68
|
+
: '';
|
|
69
|
+
|
|
70
|
+
return `
|
|
71
|
+
[mcp_servers.skill_master]
|
|
72
|
+
command = ${tomlString(serverConfig.command)}
|
|
73
|
+
args = ${tomlStringArray(serverConfig.args ?? [])}
|
|
74
|
+
startup_timeout_sec = 120
|
|
75
|
+
${envBlock}`;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function buildJsonMcpSnippet(serverConfig) {
|
|
79
|
+
return {
|
|
80
|
+
mcpServers: {
|
|
81
|
+
skill_master: {
|
|
82
|
+
command: serverConfig.command,
|
|
83
|
+
args: serverConfig.args ?? [],
|
|
84
|
+
env: serverConfig.env ?? {},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export function ensureParent(filePath) {
|
|
91
|
+
mkdirSync(path.dirname(filePath), { recursive: true });
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function backupPath(filePath) {
|
|
95
|
+
const stamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
96
|
+
return `${filePath}.invalid-${stamp}.bak`;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export function readJsonOrEmpty(filePath, { recoverInvalidJson = false } = {}) {
|
|
100
|
+
if (!existsSync(filePath)) return {};
|
|
101
|
+
const raw = readFileSync(filePath, 'utf8').trim();
|
|
102
|
+
if (!raw) return {};
|
|
103
|
+
try {
|
|
104
|
+
return JSON.parse(raw);
|
|
105
|
+
} catch (error) {
|
|
106
|
+
if (recoverInvalidJson) {
|
|
107
|
+
copyFileSync(filePath, backupPath(filePath));
|
|
108
|
+
return {};
|
|
109
|
+
}
|
|
110
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
111
|
+
throw new Error(`Invalid JSON at ${filePath}: ${message}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export function writeJson(filePath, value) {
|
|
116
|
+
ensureParent(filePath);
|
|
117
|
+
writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, 'utf8');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export function mergeMcpServer(filePath, serverConfig, options = {}) {
|
|
121
|
+
const current = readJsonOrEmpty(filePath, options);
|
|
122
|
+
const next = {
|
|
123
|
+
...current,
|
|
124
|
+
mcpServers: {
|
|
125
|
+
...(current.mcpServers ?? {}),
|
|
126
|
+
skill_master: buildJsonMcpSnippet(serverConfig).mcpServers.skill_master,
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
writeJson(filePath, next);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export function removeCodexSkillMasterBlock(content) {
|
|
133
|
+
const lines = String(content ?? '').split('\n');
|
|
134
|
+
const kept = [];
|
|
135
|
+
let skipping = false;
|
|
136
|
+
for (const line of lines) {
|
|
137
|
+
const trimmed = line.trim();
|
|
138
|
+
if (trimmed === '[mcp_servers.skill_master]') {
|
|
139
|
+
skipping = true;
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
if (skipping && trimmed.startsWith('[') && !trimmed.startsWith('[mcp_servers.skill_master')) {
|
|
143
|
+
skipping = false;
|
|
144
|
+
}
|
|
145
|
+
if (!skipping) kept.push(line);
|
|
146
|
+
}
|
|
147
|
+
return kept.join('\n').trimEnd();
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export function appendCodexServer(filePath, serverConfig, { force = false } = {}) {
|
|
151
|
+
ensureParent(filePath);
|
|
152
|
+
const current = existsSync(filePath) ? readFileSync(filePath, 'utf8') : '';
|
|
153
|
+
if (current.includes('[mcp_servers.skill_master]') && !force) {
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
const base = force ? removeCodexSkillMasterBlock(current) : current.trimEnd();
|
|
157
|
+
writeFileSync(filePath, `${base}\n${buildCodexBlock(serverConfig)}`, 'utf8');
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
function normalizeSlashes(value) {
|
|
162
|
+
return String(value ?? '').replace(/\\/g, '/').toLowerCase();
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
function basename(value) {
|
|
166
|
+
const normalized = normalizeSlashes(value);
|
|
167
|
+
return normalized.split('/').pop() ?? '';
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function isNodeCommand(command) {
|
|
171
|
+
const name = basename(command);
|
|
172
|
+
return name === 'node' || name === 'node.exe';
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
function hasSkillMasterEntryArg(args = []) {
|
|
176
|
+
return args.some((arg) => normalizeSlashes(arg).endsWith('/bin/skill-master.mjs'));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
function hasLauncherArg(args = []) {
|
|
180
|
+
return args.some((arg) => {
|
|
181
|
+
const normalized = normalizeSlashes(arg);
|
|
182
|
+
return normalized.endsWith('/scripts/skill-master-launcher.ps1')
|
|
183
|
+
|| normalized.endsWith('/scripts/skill-master-launcher.sh');
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export function assessMcpServerConfig(server) {
|
|
188
|
+
if (!server?.command) {
|
|
189
|
+
return {
|
|
190
|
+
present: Boolean(server),
|
|
191
|
+
robust: false,
|
|
192
|
+
mode: server ? 'missing-command' : 'missing',
|
|
193
|
+
command: server?.command ?? null,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
const command = String(server.command);
|
|
198
|
+
const args = Array.isArray(server.args) ? server.args : [];
|
|
199
|
+
const commandName = basename(command);
|
|
200
|
+
const normalizedCommand = normalizeSlashes(command);
|
|
201
|
+
|
|
202
|
+
if (isNodeCommand(command) && hasSkillMasterEntryArg(args)) {
|
|
203
|
+
return { present: true, robust: true, mode: 'absolute-node', command };
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (commandName === 'skill-master-mcp' || commandName === 'skill-master-mcp.cmd') {
|
|
207
|
+
return { present: true, robust: false, mode: 'path-bin', command };
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
if ((normalizedCommand.includes('powershell') || commandName === 'bash' || commandName === 'env') && hasLauncherArg(args)) {
|
|
211
|
+
return { present: true, robust: false, mode: 'launcher', command };
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
return { present: true, robust: false, mode: 'custom', command };
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
function parseTomlStringToken(token) {
|
|
218
|
+
const value = String(token ?? '').trim();
|
|
219
|
+
if (!value) return '';
|
|
220
|
+
if (value.startsWith('"')) {
|
|
221
|
+
try {
|
|
222
|
+
return JSON.parse(value);
|
|
223
|
+
} catch {
|
|
224
|
+
return value.slice(1, -1);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (value.startsWith("'")) {
|
|
228
|
+
return value.slice(1, -1);
|
|
229
|
+
}
|
|
230
|
+
return value;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
function parseTomlStringArray(value) {
|
|
234
|
+
const matches = [...String(value ?? '').matchAll(/"(?:\\.|[^"])*"|'[^']*'/g)];
|
|
235
|
+
return matches.map((match) => parseTomlStringToken(match[0]));
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export function extractCodexSkillMasterServer(content) {
|
|
239
|
+
const lines = String(content ?? '').split('\n');
|
|
240
|
+
const block = [];
|
|
241
|
+
let collecting = false;
|
|
242
|
+
|
|
243
|
+
for (const line of lines) {
|
|
244
|
+
const trimmed = line.trim();
|
|
245
|
+
if (trimmed === '[mcp_servers.skill_master]') {
|
|
246
|
+
collecting = true;
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
if (collecting && trimmed.startsWith('[')) {
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
if (collecting) block.push(line);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
if (!block.length) return null;
|
|
256
|
+
|
|
257
|
+
const commandLine = block.find((line) => line.trim().startsWith('command'));
|
|
258
|
+
const argsLine = block.find((line) => line.trim().startsWith('args'));
|
|
259
|
+
const commandToken = commandLine?.match(/=\s*("(?:\\.|[^"])*"|'[^']*')/)?.[1] ?? null;
|
|
260
|
+
const command = commandToken ? parseTomlStringToken(commandToken) : null;
|
|
261
|
+
const args = argsLine ? parseTomlStringArray(argsLine.split('=').slice(1).join('=')) : [];
|
|
262
|
+
|
|
263
|
+
return command ? { command, args } : null;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
export function assessCodexConfigContent(content) {
|
|
267
|
+
return assessMcpServerConfig(extractCodexSkillMasterServer(content));
|
|
268
|
+
}
|