agent-skill-kit 3.9.135
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/.agent/global.d.ts +80 -0
- package/.agent/rules/GEMINI.md +210 -0
- package/.agent/rules/autopilot.md +287 -0
- package/.agent/rules/code-rules.md +227 -0
- package/.agent/scripts/audit_workflows.ts +23 -0
- package/.agent/scripts/auto_preview.ts +170 -0
- package/.agent/scripts/checklist.ts +180 -0
- package/.agent/scripts/compile-agents.ts +237 -0
- package/.agent/scripts/fix_skills.ts +49 -0
- package/.agent/scripts/session_manager.ts +222 -0
- package/.agent/scripts/skill-audit.ts +255 -0
- package/.agent/scripts/sync_workflows.ts +54 -0
- package/.agent/scripts/utils/colors.ts +58 -0
- package/.agent/scripts/utils/process-manager.ts +131 -0
- package/.agent/scripts/utils/reporter.ts +192 -0
- package/.agent/scripts/utils/runner.ts +128 -0
- package/.agent/scripts/verify_all.ts +243 -0
- package/.agent/scripts/version-sync.ts +256 -0
- package/.agent/skills/SKILL_INDEX.md +129 -0
- package/.agent/skills/agent-browser/AGENTS.md +728 -0
- package/.agent/skills/agent-browser/SKILL.md +193 -0
- package/.agent/skills/agent-browser/rules/_sections.md +15 -0
- package/.agent/skills/agent-browser/rules/_template.md +32 -0
- package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
- package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
- package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
- package/.agent/skills/ai-artist/AGENTS.md +1082 -0
- package/.agent/skills/ai-artist/SKILL.md +186 -0
- package/.agent/skills/ai-artist/rules/_sections.md +30 -0
- package/.agent/skills/ai-artist/rules/_template.md +32 -0
- package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
- package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
- package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
- package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
- package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
- package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
- package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
- package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
- package/.agent/skills/api-architect/AGENTS.md +1896 -0
- package/.agent/skills/api-architect/SKILL.md +173 -0
- package/.agent/skills/api-architect/rules/_sections.md +35 -0
- package/.agent/skills/api-architect/rules/_template.md +32 -0
- package/.agent/skills/api-architect/rules/api-style.md +115 -0
- package/.agent/skills/api-architect/rules/auth.md +134 -0
- package/.agent/skills/api-architect/rules/documentation.md +131 -0
- package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
- package/.agent/skills/api-architect/rules/graphql.md +154 -0
- package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
- package/.agent/skills/api-architect/rules/response.md +138 -0
- package/.agent/skills/api-architect/rules/rest.md +113 -0
- package/.agent/skills/api-architect/rules/security-testing.md +146 -0
- package/.agent/skills/api-architect/rules/trpc.md +129 -0
- package/.agent/skills/api-architect/rules/versioning.md +100 -0
- package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
- package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
- package/.agent/skills/auth-patterns/SKILL.md +163 -0
- package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
- package/.agent/skills/auth-patterns/rules/_template.md +32 -0
- package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
- package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
- package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
- package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
- package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
- package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
- package/.agent/skills/auth-patterns/rules/session.md +183 -0
- package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
- package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
- package/.agent/skills/chrome-devtools/SKILL.md +160 -0
- package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
- package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
- package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
- package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
- package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
- package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
- package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
- package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
- package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
- package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
- package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
- package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
- package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
- package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
- package/.agent/skills/code-constitution/AGENTS.md +597 -0
- package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
- package/.agent/skills/code-constitution/SKILL.md +191 -0
- package/.agent/skills/code-constitution/VERSION +3 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
- package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
- package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
- package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
- package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
- package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
- package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
- package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
- package/.agent/skills/code-constitution/rules/_sections.md +15 -0
- package/.agent/skills/code-constitution/rules/_template.md +32 -0
- package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
- package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
- package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
- package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
- package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
- package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
- package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
- package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
- package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
- package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
- package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
- package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
- package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
- package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
- package/.agent/skills/code-craft/AGENTS.md +803 -0
- package/.agent/skills/code-craft/SKILL.md +170 -0
- package/.agent/skills/code-craft/rules/_sections.md +20 -0
- package/.agent/skills/code-craft/rules/_template.md +32 -0
- package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
- package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
- package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
- package/.agent/skills/code-review/AGENTS.md +1664 -0
- package/.agent/skills/code-review/SKILL.md +152 -0
- package/.agent/skills/code-review/rules/_sections.md +15 -0
- package/.agent/skills/code-review/rules/_template.md +32 -0
- package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
- package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
- package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
- package/.agent/skills/context-engineering/AGENTS.md +499 -0
- package/.agent/skills/context-engineering/SKILL.md +147 -0
- package/.agent/skills/context-engineering/rules/_sections.md +15 -0
- package/.agent/skills/context-engineering/rules/_template.md +32 -0
- package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
- package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
- package/.agent/skills/copywriting/AGENTS.md +501 -0
- package/.agent/skills/copywriting/SKILL.md +188 -0
- package/.agent/skills/copywriting/rules/_sections.md +15 -0
- package/.agent/skills/copywriting/rules/_template.md +32 -0
- package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
- package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
- package/.agent/skills/data-modeler/AGENTS.md +814 -0
- package/.agent/skills/data-modeler/SKILL.md +195 -0
- package/.agent/skills/data-modeler/rules/_sections.md +15 -0
- package/.agent/skills/data-modeler/rules/_template.md +32 -0
- package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
- package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
- package/.agent/skills/data-modeler/rules/indexing.md +166 -0
- package/.agent/skills/data-modeler/rules/migrations.md +176 -0
- package/.agent/skills/data-modeler/rules/optimization.md +161 -0
- package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
- package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
- package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
- package/.agent/skills/debug-pro/AGENTS.md +798 -0
- package/.agent/skills/debug-pro/SKILL.md +193 -0
- package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
- package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
- package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
- package/.agent/skills/debug-pro/rules/_sections.md +15 -0
- package/.agent/skills/debug-pro/rules/_template.md +32 -0
- package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
- package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
- package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
- package/.agent/skills/design-system/AGENTS.md +4216 -0
- package/.agent/skills/design-system/SKILL.md +186 -0
- package/.agent/skills/design-system/rules/_sections.md +65 -0
- package/.agent/skills/design-system/rules/_template.md +32 -0
- package/.agent/skills/design-system/rules/animation-guide.md +355 -0
- package/.agent/skills/design-system/rules/color-system.md +335 -0
- package/.agent/skills/design-system/rules/color-systems.md +133 -0
- package/.agent/skills/design-system/rules/decision-trees.md +442 -0
- package/.agent/skills/design-system/rules/design-extraction.md +152 -0
- package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
- package/.agent/skills/design-system/rules/motion-design.md +161 -0
- package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
- package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
- package/.agent/skills/design-system/rules/typography-system.md +369 -0
- package/.agent/skills/design-system/rules/typography.md +124 -0
- package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
- package/.agent/skills/design-system/rules/visual-effects.md +407 -0
- package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
- package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
- package/.agent/skills/doc-templates/AGENTS.md +820 -0
- package/.agent/skills/doc-templates/SKILL.md +260 -0
- package/.agent/skills/doc-templates/rules/_sections.md +20 -0
- package/.agent/skills/doc-templates/rules/_template.md +32 -0
- package/.agent/skills/doc-templates/rules/doc.md +355 -0
- package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
- package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
- package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
- package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
- package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
- package/.agent/skills/e2e-automation/AGENTS.md +882 -0
- package/.agent/skills/e2e-automation/SKILL.md +175 -0
- package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
- package/.agent/skills/e2e-automation/rules/_template.md +32 -0
- package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
- package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
- package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
- package/.agent/skills/execution-reporter/AGENTS.md +419 -0
- package/.agent/skills/execution-reporter/SKILL.md +152 -0
- package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
- package/.agent/skills/execution-reporter/rules/_template.md +32 -0
- package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
- package/.agent/skills/game-development/AGENTS.md +783 -0
- package/.agent/skills/game-development/SKILL.md +178 -0
- package/.agent/skills/game-development/game-art/SKILL.md +207 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
- package/.agent/skills/game-development/game-design/SKILL.md +151 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
- package/.agent/skills/game-development/rules/_sections.md +15 -0
- package/.agent/skills/game-development/rules/_template.md +32 -0
- package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
- package/.agent/skills/game-development/web-games/SKILL.md +173 -0
- package/.agent/skills/git-workflow/AGENTS.md +554 -0
- package/.agent/skills/git-workflow/SKILL.md +181 -0
- package/.agent/skills/git-workflow/rules/_sections.md +15 -0
- package/.agent/skills/git-workflow/rules/_template.md +32 -0
- package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
- package/.agent/skills/gitops/AGENTS.md +921 -0
- package/.agent/skills/gitops/SKILL.md +163 -0
- package/.agent/skills/gitops/rules/_sections.md +25 -0
- package/.agent/skills/gitops/rules/_template.md +32 -0
- package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
- package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
- package/.agent/skills/gitops/rules/sync-policies.md +145 -0
- package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
- package/.agent/skills/google-adk-python/SKILL.md +168 -0
- package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
- package/.agent/skills/google-adk-python/rules/_template.md +32 -0
- package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
- package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
- package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
- package/.agent/skills/google-adk-python/rules/tools.md +131 -0
- package/.agent/skills/idea-storm/AGENTS.md +995 -0
- package/.agent/skills/idea-storm/SKILL.md +160 -0
- package/.agent/skills/idea-storm/rules/_sections.md +25 -0
- package/.agent/skills/idea-storm/rules/_template.md +32 -0
- package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
- package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
- package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
- package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
- package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
- package/.agent/skills/knowledge-graph/SKILL.md +157 -0
- package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
- package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
- package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
- package/.agent/skills/knowledge-linter/SKILL.md +217 -0
- package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
- package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
- package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
- package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
- package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
- package/.agent/skills/mcp-builder/SKILL.md +166 -0
- package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
- package/.agent/skills/mcp-builder/rules/_template.md +32 -0
- package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
- package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
- package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
- package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
- package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
- package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
- package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
- package/.agent/skills/mcp-management/AGENTS.md +837 -0
- package/.agent/skills/mcp-management/SKILL.md +164 -0
- package/.agent/skills/mcp-management/rules/_sections.md +25 -0
- package/.agent/skills/mcp-management/rules/_template.md +32 -0
- package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
- package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
- package/.agent/skills/mcp-management/rules/protocol.md +159 -0
- package/.agent/skills/media-processing/AGENTS.md +479 -0
- package/.agent/skills/media-processing/SKILL.md +176 -0
- package/.agent/skills/media-processing/rules/_sections.md +15 -0
- package/.agent/skills/media-processing/rules/_template.md +32 -0
- package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
- package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
- package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
- package/.agent/skills/mobile-design/AGENTS.md +6531 -0
- package/.agent/skills/mobile-design/SKILL.md +165 -0
- package/.agent/skills/mobile-design/rules/_sections.md +45 -0
- package/.agent/skills/mobile-design/rules/_template.md +32 -0
- package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
- package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
- package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
- package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
- package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
- package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
- package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
- package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
- package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
- package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
- package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
- package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
- package/.agent/skills/mobile-developer/AGENTS.md +904 -0
- package/.agent/skills/mobile-developer/SKILL.md +194 -0
- package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
- package/.agent/skills/mobile-developer/rules/_template.md +32 -0
- package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
- package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
- package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
- package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
- package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
- package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
- package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
- package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
- package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
- package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
- package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
- package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
- package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
- package/.agent/skills/mobile-developer/rules/native.md +572 -0
- package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
- package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
- package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
- package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
- package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
- package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
- package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
- package/.agent/skills/nextjs-pro/SKILL.md +171 -0
- package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
- package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
- package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
- package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
- package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
- package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
- package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
- package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
- package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
- package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
- package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
- package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
- package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
- package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
- package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
- package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
- package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
- package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
- package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
- package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
- package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
- package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
- package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
- package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
- package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
- package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
- package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
- package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
- package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
- package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
- package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
- package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
- package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
- package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
- package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
- package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
- package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
- package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
- package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
- package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
- package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
- package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
- package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
- package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
- package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
- package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
- package/.agent/skills/nodejs-pro/SKILL.md +172 -0
- package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
- package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
- package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
- package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
- package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
- package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
- package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
- package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
- package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
- package/.agent/skills/observability/AGENTS.md +607 -0
- package/.agent/skills/observability/SKILL.md +178 -0
- package/.agent/skills/observability/rules/_sections.md +15 -0
- package/.agent/skills/observability/rules/_template.md +32 -0
- package/.agent/skills/observability/rules/engineering-spec.md +440 -0
- package/.agent/skills/offensive-sec/AGENTS.md +849 -0
- package/.agent/skills/offensive-sec/SKILL.md +191 -0
- package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
- package/.agent/skills/offensive-sec/rules/_template.md +32 -0
- package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
- package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
- package/.agent/skills/perf-optimizer/SKILL.md +189 -0
- package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
- package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
- package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
- package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
- package/.agent/skills/problem-checker/AGENTS.md +519 -0
- package/.agent/skills/problem-checker/SKILL.md +189 -0
- package/.agent/skills/problem-checker/rules/_sections.md +15 -0
- package/.agent/skills/problem-checker/rules/_template.md +32 -0
- package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
- package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
- package/.agent/skills/project-planner/AGENTS.md +2698 -0
- package/.agent/skills/project-planner/SKILL.md +166 -0
- package/.agent/skills/project-planner/rules/_sections.md +15 -0
- package/.agent/skills/project-planner/rules/_template.md +32 -0
- package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
- package/.agent/skills/python-pro/AGENTS.md +1871 -0
- package/.agent/skills/python-pro/SKILL.md +182 -0
- package/.agent/skills/python-pro/rules/_sections.md +50 -0
- package/.agent/skills/python-pro/rules/_template.md +32 -0
- package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
- package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
- package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
- package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
- package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
- package/.agent/skills/python-pro/rules/project-structure.md +181 -0
- package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
- package/.agent/skills/python-pro/rules/type-hints.md +159 -0
- package/.agent/skills/react-pro/AGENTS.md +963 -0
- package/.agent/skills/react-pro/SKILL.md +232 -0
- package/.agent/skills/react-pro/rules/_sections.md +40 -0
- package/.agent/skills/react-pro/rules/_template.md +32 -0
- package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
- package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
- package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
- package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
- package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
- package/.agent/skills/react-pro/rules/file-organization.md +158 -0
- package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
- package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
- package/.agent/skills/react-pro/rules/patterns.md +24 -0
- package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
- package/.agent/skills/react-pro/rules/performance.md +137 -0
- package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
- package/.agent/skills/react-pro/rules/state-management.md +90 -0
- package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
- package/.agent/skills/registry.json +1251 -0
- package/.agent/skills/security-scanner/AGENTS.md +851 -0
- package/.agent/skills/security-scanner/SKILL.md +182 -0
- package/.agent/skills/security-scanner/rules/_sections.md +15 -0
- package/.agent/skills/security-scanner/rules/_template.md +32 -0
- package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
- package/.agent/skills/security-scanner/rules/checklists.md +186 -0
- package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
- package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
- package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
- package/.agent/skills/seo-optimizer/SKILL.md +180 -0
- package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
- package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
- package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
- package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
- package/.agent/skills/server-ops/AGENTS.md +643 -0
- package/.agent/skills/server-ops/SKILL.md +194 -0
- package/.agent/skills/server-ops/rules/_sections.md +15 -0
- package/.agent/skills/server-ops/rules/_template.md +32 -0
- package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
- package/.agent/skills/shell-script/AGENTS.md +499 -0
- package/.agent/skills/shell-script/SKILL.md +205 -0
- package/.agent/skills/shell-script/rules/_sections.md +15 -0
- package/.agent/skills/shell-script/rules/_template.md +32 -0
- package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
- package/.agent/skills/skill-generator/SKILL.md +147 -0
- package/.agent/skills/smart-router/SKILL.md +95 -0
- package/.agent/skills/studio/AGENTS.md +636 -0
- package/.agent/skills/studio/SKILL.md +178 -0
- package/.agent/skills/studio/data/charts.csv +26 -0
- package/.agent/skills/studio/data/colors.csv +97 -0
- package/.agent/skills/studio/data/icons.csv +101 -0
- package/.agent/skills/studio/data/landing.csv +31 -0
- package/.agent/skills/studio/data/products.csv +97 -0
- package/.agent/skills/studio/data/prompts.csv +24 -0
- package/.agent/skills/studio/data/react-performance.csv +45 -0
- package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
- package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
- package/.agent/skills/studio/data/stacks/react.csv +54 -0
- package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
- package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/studio/data/stacks/vue.csv +50 -0
- package/.agent/skills/studio/data/styles.csv +59 -0
- package/.agent/skills/studio/data/typography.csv +58 -0
- package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
- package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
- package/.agent/skills/studio/data/web-interface.csv +31 -0
- package/.agent/skills/studio/rules/_sections.md +15 -0
- package/.agent/skills/studio/rules/_template.md +32 -0
- package/.agent/skills/studio/rules/engineering-spec.md +455 -0
- package/.agent/skills/studio/scripts/core.ts +345 -0
- package/.agent/skills/studio/scripts/design_system.ts +953 -0
- package/.agent/skills/studio/scripts/search.ts +197 -0
- package/.agent/skills/studio/scripts/types.ts +147 -0
- package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
- package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
- package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
- package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
- package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
- package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
- package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
- package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
- package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
- package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
- package/.agent/skills/system-design/AGENTS.md +597 -0
- package/.agent/skills/system-design/SKILL.md +153 -0
- package/.agent/skills/system-design/rules/_sections.md +15 -0
- package/.agent/skills/system-design/rules/_template.md +32 -0
- package/.agent/skills/system-design/rules/context-discovery.md +117 -0
- package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
- package/.agent/skills/system-design/rules/examples.md +180 -0
- package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
- package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
- package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
- package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
- package/.agent/skills/tailwind-kit/SKILL.md +171 -0
- package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
- package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
- package/.agent/skills/tailwind-kit/rules/components.md +232 -0
- package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
- package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
- package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
- package/.agent/skills/test-architect/AGENTS.md +851 -0
- package/.agent/skills/test-architect/SKILL.md +176 -0
- package/.agent/skills/test-architect/rules/_sections.md +15 -0
- package/.agent/skills/test-architect/rules/_template.md +32 -0
- package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
- package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
- package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
- package/.agent/skills/typescript-expert/SKILL.md +200 -0
- package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
- package/.agent/skills/typescript-expert/rules/_template.md +32 -0
- package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
- package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
- package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
- package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
- package/.agent/skills/vercel-deploy/SKILL.md +175 -0
- package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
- package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
- package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
- package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
- package/.agent/workflows/api.md +377 -0
- package/.agent/workflows/autopilot.md +344 -0
- package/.agent/workflows/build.md +338 -0
- package/.agent/workflows/chronicle.md +279 -0
- package/.agent/workflows/cook.md +217 -0
- package/.agent/workflows/diagnose.md +302 -0
- package/.agent/workflows/fix.md +253 -0
- package/.agent/workflows/game.md +329 -0
- package/.agent/workflows/inspect.md +276 -0
- package/.agent/workflows/knowledge.md +212 -0
- package/.agent/workflows/launch.md +345 -0
- package/.agent/workflows/mobile.md +354 -0
- package/.agent/workflows/monitor.md +239 -0
- package/.agent/workflows/optimize.md +269 -0
- package/.agent/workflows/plan.md +278 -0
- package/.agent/workflows/stage.md +286 -0
- package/.agent/workflows/studio.md +276 -0
- package/.agent/workflows/think.md +262 -0
- package/.agent/workflows/validate.md +289 -0
- package/.agentignore +161 -0
- package/.gitattributes +16 -0
- package/CHANGELOG.md +198 -0
- package/LICENSE +40 -0
- package/README.md +173 -0
- package/docs/SKILL_DESIGN_GUIDE.md +561 -0
- package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
- package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
- package/package.json +33 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,499 @@
|
|
|
1
|
+
# Shell Script
|
|
2
|
+
|
|
3
|
+
**Version 3.9.121**
|
|
4
|
+
Engineering
|
|
5
|
+
April 2026
|
|
6
|
+
|
|
7
|
+
> **Note:**
|
|
8
|
+
> This document is for agents and LLMs to follow when working on shell-script tasks.
|
|
9
|
+
> Optimized for automation and consistency by AI-assisted workflows.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Abstract
|
|
14
|
+
|
|
15
|
+
This document compiles 1 rules across 1 categories for the Shell Script skill. Bash/Linux terminal patterns, commands, piping, error handling, and shell scripting.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Table of Contents
|
|
20
|
+
|
|
21
|
+
1. [Engineering](#1-engineering) — **MEDIUM**
|
|
22
|
+
- 1.1 [Engineering Spec](#11-engineering-spec)
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 1. Engineering
|
|
27
|
+
|
|
28
|
+
**Impact: MEDIUM**
|
|
29
|
+
|
|
30
|
+
Full engineering specification covering contracts, security, and scalability.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
title: Shell Script — Engineering Specification
|
|
35
|
+
impact: MEDIUM
|
|
36
|
+
tags: shell-script
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
# Shell Script — Engineering Specification
|
|
40
|
+
|
|
41
|
+
> Production-grade specification for Bash/Linux terminal patterns at FAANG scale.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 1. Overview
|
|
46
|
+
|
|
47
|
+
Shell Script provides structured guidance for Bash scripting on Linux/macOS: operator syntax (4 operators: `;`, `&&`, `||`, `|`), file operations (5 commands), process management (5 commands), text processing (4 tools: grep, sed, awk, cut), environment variables (3 tasks), network commands (4 tasks), script template (`set -euo pipefail` + main pattern), common patterns (4 patterns), and Bash vs PowerShell comparison (3 equivalencies). The skill operates as an **Expert (decision tree)** — it produces command recommendations, script patterns, and syntax guidance. It does not execute commands, modify files, or access the shell.
|
|
48
|
+
|
|
49
|
+
**Contract Version:** 2.0.0
|
|
50
|
+
**Backward Compatibility:** breaking (first hardened version)
|
|
51
|
+
**Breaking Changes:** None — new spec for first hardening
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 2. Problem Statement
|
|
56
|
+
|
|
57
|
+
Shell scripting at scale faces four quantified problems:
|
|
58
|
+
|
|
59
|
+
| Problem | Measurement | Impact |
|
|
60
|
+
|---------|-------------|--------|
|
|
61
|
+
| Missing error handling | 60% of scripts lack `set -euo pipefail` | Silent failures |
|
|
62
|
+
| Wrong operator syntax | 40% of multi-command scripts use `;` where `&&` is needed | Cascading errors |
|
|
63
|
+
| No cleanup on exit | 50% of scripts skip `trap` cleanup | Orphaned temp files |
|
|
64
|
+
| Platform confusion | 35% of scripts mix Bash and PowerShell syntax | Cross-platform failures |
|
|
65
|
+
|
|
66
|
+
Shell Script eliminates these with a fixed script template (mandatory `set -euo pipefail`), deterministic operator routing, trap-based cleanup, and explicit Bash vs PowerShell mapping.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 3. Design Goals
|
|
71
|
+
|
|
72
|
+
| ID | Goal | Measurable Constraint |
|
|
73
|
+
|----|------|-----------------------|
|
|
74
|
+
| G1 | Operator syntax | 4 operators with defined semantics |
|
|
75
|
+
| G2 | File operations | 5 commands by task |
|
|
76
|
+
| G3 | Process management | 5 commands by task |
|
|
77
|
+
| G4 | Text processing | 4 tools by purpose (grep/sed/awk/cut) |
|
|
78
|
+
| G5 | Script template | `set -euo pipefail` + main() + log functions |
|
|
79
|
+
| G6 | Common patterns | 4 patterns (command check, default value, loop, trap) |
|
|
80
|
+
| G7 | Cross-platform | Bash vs PowerShell mapping (3 tasks) |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 4. Non-Goals
|
|
85
|
+
|
|
86
|
+
| ID | Excluded | Rationale |
|
|
87
|
+
|----|----------|-----------|
|
|
88
|
+
| NG1 | CI/CD pipeline scripts | Owned by `cicd-pipeline` skill |
|
|
89
|
+
| NG2 | Server operations | Owned by `server-ops` skill |
|
|
90
|
+
| NG3 | Command execution | Guidance only; execution is caller's responsibility |
|
|
91
|
+
| NG4 | PowerShell deep expertise | Bash/Linux focused |
|
|
92
|
+
| NG5 | Zsh/Fish shell specifics | Bash only |
|
|
93
|
+
| NG6 | Windows batch scripting | Unix/macOS only |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 5. System Boundaries
|
|
98
|
+
|
|
99
|
+
| Boundary | Owned | Not Owned |
|
|
100
|
+
|----------|-------|-----------|
|
|
101
|
+
| Operator syntax | 4 operators with semantics | Shell execution |
|
|
102
|
+
| File operations | Command routing by task | File system access |
|
|
103
|
+
| Process management | Command routing by task | Process control |
|
|
104
|
+
| Text processing | Tool routing (grep/sed/awk/cut) | Text file access |
|
|
105
|
+
| Script template | set -euo pipefail + main | Script execution |
|
|
106
|
+
| Cross-platform | Bash ↔ PowerShell mapping | PowerShell expertise |
|
|
107
|
+
|
|
108
|
+
**Side-effect boundary:** Shell Script produces command recommendations, script patterns, and syntax guidance. It does not execute commands, access files, or modify the shell environment.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 6. Integration Model
|
|
113
|
+
|
|
114
|
+
### 6.1 Agent Contract
|
|
115
|
+
|
|
116
|
+
#### Input Schema
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
Request_Type: string # "operator" | "file-ops" | "process" | "text-processing" |
|
|
120
|
+
# "env-vars" | "network" | "template" | "pattern" |
|
|
121
|
+
# "cross-platform" | "full-guide"
|
|
122
|
+
Context: {
|
|
123
|
+
task: string | null # What the user wants to accomplish
|
|
124
|
+
platform: string | null # "linux" | "macos" | "both"
|
|
125
|
+
shell: string | null # "bash" | "powershell" | null
|
|
126
|
+
}
|
|
127
|
+
contract_version: string # "2.0.0"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
#### Output Schema
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
Status: "success" | "error"
|
|
134
|
+
Data: {
|
|
135
|
+
operator: {
|
|
136
|
+
symbol: string # ";", "&&", "||", "|"
|
|
137
|
+
meaning: string
|
|
138
|
+
example: string
|
|
139
|
+
} | null
|
|
140
|
+
commands: Array<{
|
|
141
|
+
task: string
|
|
142
|
+
command: string
|
|
143
|
+
example: string | null
|
|
144
|
+
}> | null
|
|
145
|
+
template: {
|
|
146
|
+
shebang: string # "#!/bin/bash"
|
|
147
|
+
options: string # "set -euo pipefail"
|
|
148
|
+
log_functions: string # log_info, log_error
|
|
149
|
+
main_pattern: string # main() + main "$@"
|
|
150
|
+
} | null
|
|
151
|
+
pattern: {
|
|
152
|
+
name: string
|
|
153
|
+
code: string # Complete Bash snippet
|
|
154
|
+
purpose: string
|
|
155
|
+
} | null
|
|
156
|
+
cross_platform: {
|
|
157
|
+
task: string
|
|
158
|
+
bash: string
|
|
159
|
+
powershell: string
|
|
160
|
+
} | null
|
|
161
|
+
security: {
|
|
162
|
+
rules_of_engagement_followed: boolean
|
|
163
|
+
} | null
|
|
164
|
+
code_quality: {
|
|
165
|
+
problem_checker_run: boolean
|
|
166
|
+
} | null
|
|
167
|
+
metadata: {
|
|
168
|
+
contract_version: string
|
|
169
|
+
backward_compatibility: string
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
Error: ErrorSchema | null
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
#### Error Schema
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
Code: string # From Error Taxonomy (Section 11)
|
|
179
|
+
Message: string
|
|
180
|
+
Request_Type: string
|
|
181
|
+
Recoverable: boolean
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### Deterministic Guarantees
|
|
185
|
+
|
|
186
|
+
- Operator routing is fixed: sequential → `;`; conditional success → `&&`; conditional failure → `||`; pipe output → `|`.
|
|
187
|
+
- Text tool routing is fixed: search → `grep`; replace → `sed`; column extraction → `awk`; field cutting → `cut`.
|
|
188
|
+
- Script template is fixed: `#!/bin/bash` + `set -euo pipefail` + log functions + main pattern.
|
|
189
|
+
- Bash vs PowerShell mapping is fixed for 3 tasks: list files, env vars, pipeline type.
|
|
190
|
+
- Same task = same command recommendation.
|
|
191
|
+
|
|
192
|
+
#### What Agents May Assume
|
|
193
|
+
|
|
194
|
+
- Bash is available on target system (Linux/macOS).
|
|
195
|
+
- Standard coreutils are present (ls, grep, find, sed, awk, cut, curl).
|
|
196
|
+
- Shell is Bash (not zsh, fish, or sh).
|
|
197
|
+
- File paths follow Unix conventions (forward slash).
|
|
198
|
+
|
|
199
|
+
#### What Agents Must NOT Assume
|
|
200
|
+
|
|
201
|
+
- PowerShell is available on Unix systems.
|
|
202
|
+
- All commands support same flags across Linux and macOS (BSD vs GNU).
|
|
203
|
+
- User has root/sudo access.
|
|
204
|
+
- `/tmp` is writable.
|
|
205
|
+
|
|
206
|
+
#### Side-Effect Boundaries
|
|
207
|
+
|
|
208
|
+
| Operation | Side Effects |
|
|
209
|
+
|-----------|-------------|
|
|
210
|
+
| Operator guidance | None; syntax recommendation |
|
|
211
|
+
| File operations | None; command recommendation |
|
|
212
|
+
| Process management | None; command recommendation |
|
|
213
|
+
| Text processing | None; tool recommendation |
|
|
214
|
+
| Script template | None; template output |
|
|
215
|
+
| Cross-platform | None; mapping output |
|
|
216
|
+
|
|
217
|
+
### 6.2 Workflow Contract
|
|
218
|
+
|
|
219
|
+
#### Invocation Pattern
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
1. Identify task type (file, process, text, network, etc.)
|
|
223
|
+
2. Invoke appropriate request type for command guidance
|
|
224
|
+
3. For scripts: invoke template for boilerplate
|
|
225
|
+
4. For patterns: invoke pattern for reusable snippets
|
|
226
|
+
5. Write and execute script (caller's responsibility)
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
#### Execution Guarantees
|
|
230
|
+
|
|
231
|
+
- Each invocation produces a complete recommendation.
|
|
232
|
+
- All decisions are independent (can be invoked in any order).
|
|
233
|
+
|
|
234
|
+
#### Failure Propagation Model
|
|
235
|
+
|
|
236
|
+
| Failure Severity | Propagation | Workflow Action |
|
|
237
|
+
|-----------------|-------------|-----------------|
|
|
238
|
+
| Unknown task type | Return error | Specify valid type |
|
|
239
|
+
| Unsupported platform | Return error | Use linux or macos |
|
|
240
|
+
| Invalid request type | Return error | Use supported type |
|
|
241
|
+
|
|
242
|
+
#### Retry Boundaries
|
|
243
|
+
|
|
244
|
+
- Zero internal retries. Deterministic output.
|
|
245
|
+
|
|
246
|
+
#### Isolation Model
|
|
247
|
+
|
|
248
|
+
- Each invocation is stateless and independent.
|
|
249
|
+
|
|
250
|
+
#### Idempotency Expectations
|
|
251
|
+
|
|
252
|
+
| Operation | Idempotent | Notes |
|
|
253
|
+
|-----------|-----------|-------|
|
|
254
|
+
| Operator | Yes | Same semantics = same symbol |
|
|
255
|
+
| File ops | Yes | Same task = same command |
|
|
256
|
+
| Text processing | Yes | Same purpose = same tool |
|
|
257
|
+
| Template | Yes | Fixed boilerplate |
|
|
258
|
+
| Pattern | Yes | Same pattern = same code |
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## 7. Execution Model
|
|
263
|
+
|
|
264
|
+
### 2-Phase Lifecycle
|
|
265
|
+
|
|
266
|
+
| Phase | Action | Output |
|
|
267
|
+
|-------|--------|--------|
|
|
268
|
+
| **Classify** | Parse task, platform, shell | Classification |
|
|
269
|
+
| **Guide** | Generate command, template, or pattern | Complete output |
|
|
270
|
+
|
|
271
|
+
All phases synchronous. No async pipeline.
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 8. Deterministic Design Principles
|
|
276
|
+
|
|
277
|
+
| Principle | Enforcement |
|
|
278
|
+
|-----------|-------------|
|
|
279
|
+
| Operator routing | Sequential → `;`; Conditional success → `&&`; Conditional failure → `\|\|`; Pipe → `\|` |
|
|
280
|
+
| File operations | List → `ls -la`; Find → `find . -name "pattern" -type f`; Search → `grep -r "pattern"`; Size → `du -sh *`; Head/Tail → `head -n N` / `tail -n N` |
|
|
281
|
+
| Process management | List → `ps aux`; Find by name → `ps aux \| grep name`; Kill → `kill -9 PID`; Find port → `lsof -i :PORT`; Kill port → `kill -9 $(lsof -t -i :PORT)` |
|
|
282
|
+
| Text processing | Search → `grep -rn`; Replace → `sed -i 's/old/new/g'`; Columns → `awk '{print $N}'`; Cut fields → `cut -d',' -fN` |
|
|
283
|
+
| Script template | `#!/bin/bash` + `set -euo pipefail` + `log_info()` + `log_error()` + `main() { ... }` + `main "$@"` |
|
|
284
|
+
| Common patterns | Command check → `command -v name &> /dev/null`; Default value → `${1:-"default"}`; Loop files → `for file in *.ext; do ...; done`; Cleanup trap → `trap 'cleanup' EXIT` |
|
|
285
|
+
| Bash vs PowerShell | List files: `ls` vs `Get-ChildItem`; Env var: `$VAR` vs `$env:VAR`; Pipeline: text-based vs object-based |
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## 9. State & Idempotency Model
|
|
290
|
+
|
|
291
|
+
Stateless. Fully idempotent. No persistent state.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## 10. Failure Handling Strategy
|
|
296
|
+
|
|
297
|
+
| Failure Class | Behavior | Caller Recovery |
|
|
298
|
+
|---------------|----------|-----------------|
|
|
299
|
+
| Unknown task type | Return `ERR_UNKNOWN_TASK` | Specify valid task |
|
|
300
|
+
| Unsupported platform | Return `ERR_UNSUPPORTED_PLATFORM` | Use linux or macos |
|
|
301
|
+
| Invalid request type | Return `ERR_INVALID_REQUEST_TYPE` | Use supported type |
|
|
302
|
+
|
|
303
|
+
**Invariant:** Every failure returns a structured error. No partial guidance.
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## 11. Error Taxonomy
|
|
308
|
+
|
|
309
|
+
| Code | Category | Recoverable | Description |
|
|
310
|
+
|------|----------|-------------|-------------|
|
|
311
|
+
| `ERR_INVALID_REQUEST_TYPE` | Validation | No | Request type not supported |
|
|
312
|
+
| `ERR_UNKNOWN_TASK` | Validation | Yes | Task not recognized |
|
|
313
|
+
| `ERR_UNSUPPORTED_PLATFORM` | Validation | Yes | Platform not linux or macos |
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## 12. Timeout & Retry Policy
|
|
318
|
+
|
|
319
|
+
| Parameter | Default | Maximum | Rationale |
|
|
320
|
+
|-----------|---------|---------|-----------|
|
|
321
|
+
| Decision generation | N/A | N/A | Synchronous; < 50ms |
|
|
322
|
+
| Internal retries | Zero | Zero | Deterministic output |
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## 13. Observability & Logging Schema
|
|
327
|
+
|
|
328
|
+
### Log Entry Format (OpenTelemetry Event Array)
|
|
329
|
+
|
|
330
|
+
```json
|
|
331
|
+
{
|
|
332
|
+
"traceId": "uuid",
|
|
333
|
+
"spanId": "uuid",
|
|
334
|
+
"events": [
|
|
335
|
+
{
|
|
336
|
+
"name": "script_analysis_started",
|
|
337
|
+
"timestamp": "ISO8601",
|
|
338
|
+
"attributes": {
|
|
339
|
+
"task": "automation",
|
|
340
|
+
"platform": "linux"
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"name": "command_recommended",
|
|
345
|
+
"timestamp": "ISO8601",
|
|
346
|
+
"attributes": {
|
|
347
|
+
"purpose": "text_processing",
|
|
348
|
+
"tool": "awk"
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"name": "template_generated",
|
|
353
|
+
"timestamp": "ISO8601",
|
|
354
|
+
"attributes": {
|
|
355
|
+
"shebang": "#!/bin/bash",
|
|
356
|
+
"flags": "euo pipefail"
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"name": "analysis_completed",
|
|
361
|
+
"timestamp": "ISO8601",
|
|
362
|
+
"attributes": {
|
|
363
|
+
"lines_generated": 25,
|
|
364
|
+
"security_flags_set": true
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
]
|
|
368
|
+
}
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### Required Log Points
|
|
372
|
+
|
|
373
|
+
| Event | Log Level | Fields |
|
|
374
|
+
|-------|-----------|--------|
|
|
375
|
+
| Command recommended | INFO | task, tool_recommended |
|
|
376
|
+
| Template generated | INFO | template_type |
|
|
377
|
+
| Pattern provided | INFO | pattern_name |
|
|
378
|
+
| Decision failed | ERROR | error_code, message |
|
|
379
|
+
|
|
380
|
+
### Metrics
|
|
381
|
+
|
|
382
|
+
| Metric | Type | Unit |
|
|
383
|
+
|--------|------|------|
|
|
384
|
+
| `shellscript.decision.duration` | Histogram | ms |
|
|
385
|
+
| `shellscript.request_type.distribution` | Counter | per type |
|
|
386
|
+
| `shellscript.tool.distribution` | Counter | per tool |
|
|
387
|
+
| `shellscript.platform.distribution` | Counter | per platform |
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## 14. Security & Trust Model
|
|
392
|
+
|
|
393
|
+
### Data Handling
|
|
394
|
+
|
|
395
|
+
- Shell Script produces command syntax and patterns only.
|
|
396
|
+
- No credentials, no PII, no server addresses.
|
|
397
|
+
- No command execution, no file access, no network calls.
|
|
398
|
+
- Commands are text output; the caller is responsible for safe execution.
|
|
399
|
+
|
|
400
|
+
### Security Principles in Generated Scripts
|
|
401
|
+
|
|
402
|
+
- Always include `set -euo pipefail` (exit on error, undefined vars, pipe failures).
|
|
403
|
+
- Never embed credentials in scripts (use env vars).
|
|
404
|
+
- Use `trap` for cleanup of temporary resources.
|
|
405
|
+
- Quote variables: `"$VAR"` (prevent word splitting).
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
## 15. Scalability Model
|
|
410
|
+
|
|
411
|
+
| Dimension | Constraint | Mitigation |
|
|
412
|
+
|-----------|-----------|------------|
|
|
413
|
+
| Throughput | CPU-bound decision tree | < 50ms; scales linearly |
|
|
414
|
+
| Concurrency | Stateless invocations | Unlimited parallel |
|
|
415
|
+
| Memory per invocation | < 1 MB | No accumulation |
|
|
416
|
+
| Network | Zero network calls | No external dependency |
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
## 16. Concurrency Model
|
|
421
|
+
|
|
422
|
+
Fully parallel. No shared state. No coordination required.
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
## 17. Resource Lifecycle Management
|
|
427
|
+
|
|
428
|
+
All resources scoped to invocation. No persistent handles.
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## 18. Performance Constraints
|
|
433
|
+
|
|
434
|
+
| Operation | P50 Target | P99 Target | Hard Limit |
|
|
435
|
+
|-----------|-----------|-----------|------------|
|
|
436
|
+
| Command recommendation | < 2 ms | < 5 ms | 20 ms |
|
|
437
|
+
| Template generation | < 2 ms | < 5 ms | 20 ms |
|
|
438
|
+
| Full guide | < 10 ms | < 30 ms | 50 ms |
|
|
439
|
+
| Output size | ≤ 2,000 chars | ≤ 5,000 chars | 8,000 chars |
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
## 19. Operational Risks
|
|
444
|
+
|
|
445
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
446
|
+
|------|-----------|--------|------------|
|
|
447
|
+
| BSD vs GNU flag differences | Medium | macOS commands differ | Document Linux/macOS variants |
|
|
448
|
+
| Bash version differences | Low | Feature unavailability | Target Bash 4+ |
|
|
449
|
+
| Shell deprecation (sh → bash) | Low | Compatibility issues | Explicit `#!/bin/bash` shebang |
|
|
450
|
+
| coreutils availability | Low | Missing commands | Document required packages |
|
|
451
|
+
|
|
452
|
+
---
|
|
453
|
+
|
|
454
|
+
## 20. Compliance with skill-design-guide.md
|
|
455
|
+
|
|
456
|
+
| Requirement | Status | Evidence |
|
|
457
|
+
|-------------|--------|----------|
|
|
458
|
+
| YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
|
|
459
|
+
| SKILL.md < 200 lines | ✅ | Entry point under 200 lines |
|
|
460
|
+
| Prerequisites documented | ✅ | Bash shell on Linux/macOS |
|
|
461
|
+
| When to Use section | ✅ | Situation-based routing table |
|
|
462
|
+
| Core content matches skill type | ✅ | Expert type: operator routing, command guidance, templates |
|
|
463
|
+
| Troubleshooting section | ✅ | Anti-patterns table |
|
|
464
|
+
| Related section | ✅ | Cross-links to cicd-pipeline, server-ops |
|
|
465
|
+
| Content Map for multi-file | ✅ | Link to engineering-spec.md |
|
|
466
|
+
| Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
|
|
467
|
+
| Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
|
|
468
|
+
|
|
469
|
+
---
|
|
470
|
+
|
|
471
|
+
## 21. Production Readiness Checklist
|
|
472
|
+
|
|
473
|
+
| Category | Check | Status |
|
|
474
|
+
|----------|-------|--------|
|
|
475
|
+
| **Functionality** | 4 operators with semantics | ✅ |
|
|
476
|
+
| **Functionality** | 5 file operation commands | ✅ |
|
|
477
|
+
| **Functionality** | 5 process management commands | ✅ |
|
|
478
|
+
| **Functionality** | 4 text processing tools (grep/sed/awk/cut) | ✅ |
|
|
479
|
+
| **Functionality** | Script template with set -euo pipefail | ✅ |
|
|
480
|
+
| **Functionality** | 4 common patterns | ✅ |
|
|
481
|
+
| **Functionality** | Bash vs PowerShell mapping | ✅ |
|
|
482
|
+
| **Contracts** | Input/output/error schemas in pseudo-schema format | ✅ |
|
|
483
|
+
| **Contracts** | Contract versioning with semver | ✅ |
|
|
484
|
+
| **Failure** | Error taxonomy with 3 categorized codes | ✅ |
|
|
485
|
+
| **Failure** | Zero internal retries | ✅ |
|
|
486
|
+
| **Determinism** | Fixed operator routing, fixed tool routing, fixed template | ✅ |
|
|
487
|
+
| **Security** | No command execution, no credentials, set -euo pipefail enforced | ✅ |
|
|
488
|
+
| **Observability** | Structured log schema with 5 mandatory fields | ✅ |
|
|
489
|
+
| **Observability** | 4 metrics defined | ✅ |
|
|
490
|
+
| **Performance** | P50/P99 targets for all operations | ✅ |
|
|
491
|
+
| **Compliance** | All skill-design-guide.md sections mapped with evidence | ✅ |
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
⚡ PikaKit v3.9.134
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shell-script
|
|
3
|
+
description: >-
|
|
4
|
+
Bash/Linux terminal patterns, commands, piping, error handling, and shell scripting.
|
|
5
|
+
Use when writing shell scripts, running Linux commands, or automating terminal tasks on macOS/Linux.
|
|
6
|
+
NOT for Windows PowerShell or application code.
|
|
7
|
+
category: shell-scripter
|
|
8
|
+
triggers: ["shell", "bash", "script", "automation", "CLI"]
|
|
9
|
+
coordinates_with: ["cicd-pipeline", "server-ops", "knowledge-compiler", "problem-checker"]
|
|
10
|
+
success_metrics: ["Script Reliability", "Cross-Platform Compatibility", "Error Handling Coverage"]
|
|
11
|
+
metadata:
|
|
12
|
+
author: pikakit
|
|
13
|
+
version: "3.9.134"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Shell Script — Bash/Linux Patterns
|
|
17
|
+
|
|
18
|
+
> `set -euo pipefail` always. Quote variables. Trap cleanup. Think Unix.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 5 Must-Ask Questions (Before Scripting)
|
|
23
|
+
|
|
24
|
+
| # | Question | Options |
|
|
25
|
+
|---|----------|---------|
|
|
26
|
+
| 1 | Task? | Automation / File Ops / Process / Network |
|
|
27
|
+
| 2 | Platform? | Linux / macOS / Cross-platform |
|
|
28
|
+
| 3 | Shell? | Bash / Zsh / sh (POSIX) |
|
|
29
|
+
| 4 | Dependencies? | coreutils / curl / jq / custom tools |
|
|
30
|
+
| 5 | Current State? | New script / Modifying existing / Debugging |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## When to Use
|
|
35
|
+
|
|
36
|
+
| Situation | Approach |
|
|
37
|
+
|-----------|----------|
|
|
38
|
+
| Automation scripts | Use script template |
|
|
39
|
+
| File operations | Check file commands |
|
|
40
|
+
| Process management | See process section |
|
|
41
|
+
| Text processing | Use grep/sed/awk/cut |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## System Boundaries
|
|
46
|
+
|
|
47
|
+
| Owned by This Skill | NOT Owned |
|
|
48
|
+
|---------------------|-----------|
|
|
49
|
+
| Operator syntax (4 operators) | CI/CD scripts (→ cicd-pipeline) |
|
|
50
|
+
| File/process/text commands | Server management (→ server-ops) |
|
|
51
|
+
| Script template + patterns | Command execution |
|
|
52
|
+
| Bash vs PowerShell mapping | PowerShell expertise |
|
|
53
|
+
|
|
54
|
+
**Expert decision skill:** Produces command recommendations. Does not execute commands.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Operator Syntax (4 — Fixed)
|
|
59
|
+
|
|
60
|
+
| Operator | Meaning | Example |
|
|
61
|
+
|----------|---------|---------|
|
|
62
|
+
| `;` | Run sequentially | `cmd1; cmd2` |
|
|
63
|
+
| `&&` | Run if previous succeeded | `npm install && npm run dev` |
|
|
64
|
+
| `\|\|` | Run if previous failed | `npm test \|\| echo "fail"` |
|
|
65
|
+
| `\|` | Pipe output | `ls \| grep ".js"` |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## File Operations (5 Commands)
|
|
70
|
+
|
|
71
|
+
| Task | Command |
|
|
72
|
+
|------|---------|
|
|
73
|
+
| List all | `ls -la` |
|
|
74
|
+
| Find files | `find . -name "*.js" -type f` |
|
|
75
|
+
| Search in files | `grep -r "pattern" --include="*.js"` |
|
|
76
|
+
| File size | `du -sh *` |
|
|
77
|
+
| First/Last N | `head -n 20` / `tail -n 20` |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Process Management (5 Commands)
|
|
82
|
+
|
|
83
|
+
| Task | Command |
|
|
84
|
+
|------|---------|
|
|
85
|
+
| List processes | `ps aux` |
|
|
86
|
+
| Find by name | `ps aux \| grep node` |
|
|
87
|
+
| Kill by PID | `kill -9 <PID>` |
|
|
88
|
+
| Find port user | `lsof -i :3000` |
|
|
89
|
+
| Kill port | `kill -9 $(lsof -t -i :3000)` |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Text Processing (4 Tools — Deterministic)
|
|
94
|
+
|
|
95
|
+
| Tool | Purpose | Example |
|
|
96
|
+
|------|---------|---------|
|
|
97
|
+
| `grep` | Search | `grep -rn "pattern" src/` |
|
|
98
|
+
| `sed` | Replace | `sed -i 's/old/new/g' file.txt` |
|
|
99
|
+
| `awk` | Columns | `awk '{print $1}' file.txt` |
|
|
100
|
+
| `cut` | Cut fields | `cut -d',' -f1 data.csv` |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Script Template (Fixed)
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
#!/bin/bash
|
|
108
|
+
set -euo pipefail # Exit on error, undefined var, pipe fail
|
|
109
|
+
|
|
110
|
+
log_info() { echo "[INFO] $1"; }
|
|
111
|
+
log_error() { echo "[ERROR] $1" >&2; }
|
|
112
|
+
|
|
113
|
+
main() {
|
|
114
|
+
log_info "Starting..."
|
|
115
|
+
# Your logic here
|
|
116
|
+
log_info "Done!"
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
main "$@"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Common Patterns (4)
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Check command exists
|
|
128
|
+
command -v node &> /dev/null && echo "Node installed"
|
|
129
|
+
|
|
130
|
+
# Default value
|
|
131
|
+
NAME=${1:-"default"}
|
|
132
|
+
|
|
133
|
+
# Loop files
|
|
134
|
+
for file in *.js; do echo "$file"; done
|
|
135
|
+
|
|
136
|
+
# Cleanup trap
|
|
137
|
+
trap 'rm -f /tmp/tempfile' EXIT
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Bash vs PowerShell
|
|
143
|
+
|
|
144
|
+
| Task | Bash | PowerShell |
|
|
145
|
+
|------|------|-----------|
|
|
146
|
+
| List files | `ls -la` | `Get-ChildItem` |
|
|
147
|
+
| Env var | `$VAR` | `$env:VAR` |
|
|
148
|
+
| Pipeline | Text-based | Object-based |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Error Taxonomy
|
|
153
|
+
|
|
154
|
+
| Code | Recoverable | Trigger |
|
|
155
|
+
|------|-------------|---------|
|
|
156
|
+
| `ERR_INVALID_REQUEST_TYPE` | No | Request type not supported |
|
|
157
|
+
| `ERR_UNKNOWN_TASK` | Yes | Task not recognized |
|
|
158
|
+
| `ERR_UNSUPPORTED_PLATFORM` | Yes | Platform not linux or macos |
|
|
159
|
+
|
|
160
|
+
**Zero internal retries.** Same task = same command.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Audit Logging (OpenTelemetry)
|
|
165
|
+
|
|
166
|
+
| Event | Metadata Payload | Severity |
|
|
167
|
+
|-------|------------------|----------|
|
|
168
|
+
| `script_analysis_started` | `{"task": "automation", "platform": "linux"}` | `INFO` |
|
|
169
|
+
| `command_recommended` | `{"purpose": "text_processing", "tool": "awk"}` | `INFO` |
|
|
170
|
+
| `template_generated` | `{"shebang": "#!/bin/bash", "flags": "euo pipefail"}` | `INFO` |
|
|
171
|
+
| `analysis_completed` | `{"lines_generated": 25, "security_flags_set": true}` | `INFO` |
|
|
172
|
+
|
|
173
|
+
All script outputs MUST emit `script_analysis_started` and `analysis_completed` events.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Anti-Patterns
|
|
178
|
+
|
|
179
|
+
| ❌ Don't | ✅ Do |
|
|
180
|
+
|---------|-------|
|
|
181
|
+
| Skip error handling | Always `set -euo pipefail` |
|
|
182
|
+
| Unquoted variables | Quote: `"$VAR"` |
|
|
183
|
+
| No cleanup | Use `trap 'cleanup' EXIT` |
|
|
184
|
+
| Embed credentials | Use environment variables |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 📑 Content Map
|
|
189
|
+
|
|
190
|
+
| File | Description | When to Read |
|
|
191
|
+
|------|-------------|--------------|
|
|
192
|
+
| [engineering-spec.md](rules/engineering-spec.md) | Full spec | Architecture review |
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## 🔗 Related
|
|
197
|
+
|
|
198
|
+
| Item | Type | Purpose |
|
|
199
|
+
|------|------|---------|
|
|
200
|
+
| `cicd-pipeline` | Skill | CI/CD scripts |
|
|
201
|
+
| `server-ops` | Skill | Server management |
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
⚡ PikaKit v3.9.134
|