solmate-skills 1.0.2 → 2.0.1
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/AGENTS.md +49 -15
- package/CLAUDE.md +77 -0
- package/README.md +114 -60
- package/bin/cli.js +20 -0
- package/{business-plan → docs-business}/SKILL.md +8 -8
- package/{dev-docs → docs-dev}/SKILL.md +9 -6
- package/{pitch-deck → docs-pitch}/SKILL.md +8 -35
- package/{plan-docs → docs-plan}/SKILL.md +3 -5
- package/ext-awesome-design/SKILL.md +19 -0
- package/ext-k-skill/SKILL.md +21 -0
- package/hooks/install.sh +131 -0
- package/hooks/suggest-skills.sh +94 -0
- package/hooks/watch-files.sh +86 -0
- package/manage-decisions/SKILL.md +215 -0
- package/package.json +1 -1
- package/{dev-conventions → rules-dev}/SKILL.md +2 -2
- package/{manage-docs → rules-docs}/SKILL.md +14 -10
- package/{product-workflow → rules-product}/SKILL.md +90 -100
- package/{react-components → rules-react}/README.md +1 -1
- package/rules-react/SKILL.md +39 -0
- package/rules-react/package.json +15 -0
- package/{implementation-workflow → rules-workflow}/SKILL.md +2 -2
- package/{obsidian-sync → tools-obsidian}/SKILL.md +2 -2
- package/{shadcn-ui → tools-shadcn}/SKILL.md +1 -1
- package/verify-code/SKILL.md +134 -0
- package/verify-docs/SKILL.md +3 -2
- package/verify-performance/SKILL.md +221 -0
- package/verify-security/SKILL.md +205 -0
- package/design-md/README.md +0 -34
- package/design-md/SKILL.md +0 -172
- package/design-md/examples/DESIGN.md +0 -154
- package/enhance-prompt/README.md +0 -34
- package/enhance-prompt/SKILL.md +0 -204
- package/enhance-prompt/references/KEYWORDS.md +0 -114
- package/react-components/SKILL.md +0 -47
- package/react-components/package.json +0 -16
- package/remotion/README.md +0 -105
- package/remotion/SKILL.md +0 -393
- package/remotion/examples/WalkthroughComposition.tsx +0 -78
- package/remotion/examples/screens.json +0 -56
- package/remotion/resources/composition-checklist.md +0 -124
- package/remotion/resources/screen-slide-template.tsx +0 -123
- package/remotion/scripts/download-stitch-asset.sh +0 -38
- package/stitch-loop/README.md +0 -54
- package/stitch-loop/SKILL.md +0 -203
- package/stitch-loop/examples/SITE.md +0 -73
- package/stitch-loop/examples/next-prompt.md +0 -25
- package/stitch-loop/resources/baton-schema.md +0 -61
- package/stitch-loop/resources/site-template.md +0 -104
- /package/{awesome-design-md → ext-awesome-design}/.github/FUNDING.yml +0 -0
- /package/{awesome-design-md → ext-awesome-design}/.github/ISSUE_TEMPLATE/design-md-request.yml +0 -0
- /package/{awesome-design-md → ext-awesome-design}/CONTRIBUTING.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/LICENSE +0 -0
- /package/{awesome-design-md → ext-awesome-design}/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/airbnb/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/airbnb/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/airbnb/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/airbnb/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/airtable/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/airtable/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/airtable/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/airtable/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/apple/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/apple/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/apple/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/apple/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/bmw/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/bmw/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/bmw/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/bmw/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cal/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cal/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cal/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cal/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/claude/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/claude/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/claude/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/claude/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/clay/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/clay/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/clay/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/clay/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/clickhouse/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/clickhouse/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/clickhouse/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/clickhouse/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cohere/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cohere/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cohere/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cohere/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/coinbase/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/coinbase/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/coinbase/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/coinbase/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/composio/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/composio/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/composio/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/composio/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cursor/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cursor/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cursor/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/cursor/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/elevenlabs/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/elevenlabs/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/elevenlabs/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/elevenlabs/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/expo/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/expo/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/expo/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/expo/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/figma/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/figma/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/figma/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/figma/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/framer/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/framer/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/framer/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/framer/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/hashicorp/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/hashicorp/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/hashicorp/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/hashicorp/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/ibm/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/ibm/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/ibm/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/ibm/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/intercom/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/intercom/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/intercom/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/intercom/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/kraken/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/kraken/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/kraken/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/kraken/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/linear.app/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/linear.app/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/linear.app/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/linear.app/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/lovable/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/lovable/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/lovable/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/lovable/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/minimax/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/minimax/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/minimax/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/minimax/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mintlify/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mintlify/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mintlify/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mintlify/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/miro/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/miro/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/miro/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/miro/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mistral.ai/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mistral.ai/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mistral.ai/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mistral.ai/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mongodb/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mongodb/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mongodb/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/mongodb/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/notion/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/notion/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/notion/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/notion/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/nvidia/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/nvidia/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/nvidia/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/nvidia/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/ollama/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/ollama/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/ollama/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/ollama/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/opencode.ai/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/opencode.ai/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/opencode.ai/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/opencode.ai/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/pinterest/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/pinterest/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/pinterest/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/pinterest/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/posthog/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/posthog/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/posthog/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/posthog/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/raycast/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/raycast/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/raycast/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/raycast/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/replicate/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/replicate/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/replicate/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/replicate/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/resend/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/resend/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/resend/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/resend/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/revolut/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/revolut/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/revolut/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/revolut/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/runwayml/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/runwayml/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/runwayml/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/runwayml/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/sanity/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/sanity/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/sanity/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/sanity/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/sentry/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/sentry/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/sentry/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/sentry/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/spacex/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/spacex/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/spacex/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/spacex/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/spotify/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/spotify/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/spotify/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/spotify/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/stripe/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/stripe/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/stripe/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/stripe/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/supabase/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/supabase/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/supabase/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/supabase/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/superhuman/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/superhuman/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/superhuman/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/superhuman/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/together.ai/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/together.ai/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/together.ai/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/together.ai/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/uber/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/uber/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/uber/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/uber/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/vercel/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/vercel/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/vercel/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/vercel/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/voltagent/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/voltagent/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/voltagent/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/voltagent/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/warp/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/warp/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/warp/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/warp/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/webflow/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/webflow/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/webflow/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/webflow/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/wise/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/wise/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/wise/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/wise/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/x.ai/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/x.ai/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/x.ai/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/x.ai/preview.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/zapier/DESIGN.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/zapier/README.md +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/zapier/preview-dark.html +0 -0
- /package/{awesome-design-md → ext-awesome-design}/design-md/zapier/preview.html +0 -0
- /package/{k-skill → ext-k-skill}/.changeset/config.json +0 -0
- /package/{k-skill → ext-k-skill}/.github/release-please/python-config.json +0 -0
- /package/{k-skill → ext-k-skill}/.github/release-please/python-manifest.json +0 -0
- /package/{k-skill → ext-k-skill}/.github/workflows/ci.yml +0 -0
- /package/{k-skill → ext-k-skill}/.github/workflows/release-npm.yml +0 -0
- /package/{k-skill → ext-k-skill}/.github/workflows/release-python.yml +0 -0
- /package/{k-skill → ext-k-skill}/AGENTS.md +0 -0
- /package/{k-skill → ext-k-skill}/CLAUDE.md +0 -0
- /package/{k-skill → ext-k-skill}/LICENSE +0 -0
- /package/{k-skill → ext-k-skill}/README.md +0 -0
- /package/{k-skill → ext-k-skill}/blue-ribbon-nearby/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/coupang-product-search/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/daiso-product-search/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/delivery-tracking/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/assets/k-skill-thumbnail.png +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/blue-ribbon-nearby.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/coupang-product-search.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/daiso-product-search.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/delivery-tracking.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/fine-dust-location.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/hwp.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/k-skill-proxy.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/kakao-bar-nearby.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/kakaotalk-mac.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/kbo-results.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/kleague-results.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/korean-law-search.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/ktx-booking.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/lotto-results.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/seoul-subway-arrival.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/srt-booking.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/toss-securities.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/used-car-price-search.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/features/zipcode-search.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/install.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/releasing.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/roadmap.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/security-and-secrets.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/setup.md +0 -0
- /package/{k-skill → ext-k-skill}/docs/sources.md +0 -0
- /package/{k-skill → ext-k-skill}/ecosystem.config.cjs +0 -0
- /package/{k-skill → ext-k-skill}/examples/secrets.env.example +0 -0
- /package/{k-skill → ext-k-skill}/fine-dust-location/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/hwp/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/k-skill-setup/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/kakao-bar-nearby/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/kakaotalk-mac/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/kbo-results/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/kleague-results/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/korean-law-search/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/ktx-booking/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/lotto-results/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/package.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/CHANGELOG.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/README.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/package.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/src/index.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/src/parse.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/test/fixtures/restaurants-map.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/test/fixtures/search-zone.html +0 -0
- /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/test/index.test.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/CHANGELOG.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/README.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/package.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/src/index.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/src/parse.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/online-stock.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/search-goods.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/store-detail.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/store-pickup-stock.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/store-search.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/index.test.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-lotto/CHANGELOG.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-lotto/README.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-lotto/package.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-lotto/src/index.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-lotto/src/parse.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-lotto/test/fixtures/latest-result.html +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-lotto/test/fixtures/round-1216.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-lotto/test/index.test.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/README.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/package.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/src/airkorea.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/src/server.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/test/airkorea.test.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/test/server.test.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/CHANGELOG.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/README.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/package.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/src/index.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/src/parse.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/anchor-panel.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/anchor-search.html +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/bar-search.html +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/closed-bar-panel.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/non-bar-panel.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/open-bar-panel.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/index.test.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/kleague-results/CHANGELOG.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/kleague-results/README.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/kleague-results/package.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/kleague-results/src/index.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/kleague-results/src/parse.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/kleague-results/test/fixtures/schedule-kleague1-2026-03.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/kleague-results/test/fixtures/standings-kleague1-2026.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/kleague-results/test/index.test.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/toss-securities/CHANGELOG.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/toss-securities/README.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/toss-securities/package.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/toss-securities/src/index.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/toss-securities/src/parse.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/toss-securities/test/index.test.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/CHANGELOG.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/README.md +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/package.json +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/src/index.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/src/providers/sk-tagobuy.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/src/search.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/src/util.js +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/test/fixtures/tb-empty.html +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/test/fixtures/tb-page.html +0 -0
- /package/{k-skill → ext-k-skill}/packages/used-car-price-search/test/index.test.js +0 -0
- /package/{k-skill → ext-k-skill}/python-packages/README.md +0 -0
- /package/{k-skill → ext-k-skill}/scripts/check-setup.sh +0 -0
- /package/{k-skill → ext-k-skill}/scripts/fine_dust.py +0 -0
- /package/{k-skill → ext-k-skill}/scripts/fixtures/delivery-tracking-public-provenance.json +0 -0
- /package/{k-skill → ext-k-skill}/scripts/fixtures/delivery-tracking-public-samples.json +0 -0
- /package/{k-skill → ext-k-skill}/scripts/fixtures/fine-dust-measurements.json +0 -0
- /package/{k-skill → ext-k-skill}/scripts/fixtures/fine-dust-stations.json +0 -0
- /package/{k-skill → ext-k-skill}/scripts/ktx_booking.py +0 -0
- /package/{k-skill → ext-k-skill}/scripts/run-k-skill-proxy.sh +0 -0
- /package/{k-skill → ext-k-skill}/scripts/skill-docs.test.js +0 -0
- /package/{k-skill → ext-k-skill}/scripts/test_fine_dust.py +0 -0
- /package/{k-skill → ext-k-skill}/scripts/test_ktx_booking.py +0 -0
- /package/{k-skill → ext-k-skill}/scripts/validate-skills.sh +0 -0
- /package/{k-skill → ext-k-skill}/seoul-subway-arrival/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/srt-booking/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/toss-securities/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/tsconfig.json +0 -0
- /package/{k-skill → ext-k-skill}/used-car-price-search/SKILL.md +0 -0
- /package/{k-skill → ext-k-skill}/zipcode-search/SKILL.md +0 -0
- /package/{react-components → rules-react}/examples/gold-standard-card.tsx +0 -0
- /package/{react-components → rules-react}/resources/architecture-checklist.md +0 -0
- /package/{react-components → rules-react}/resources/component-template.tsx +0 -0
- /package/{react-components → rules-react}/resources/stitch-api-reference.md +0 -0
- /package/{react-components → rules-react}/resources/style-guide.json +0 -0
- /package/{react-components → rules-react}/scripts/fetch-stitch.sh +0 -0
- /package/{react-components → rules-react}/scripts/validate.js +0 -0
- /package/{shadcn-ui → tools-shadcn}/README.md +0 -0
- /package/{shadcn-ui → tools-shadcn}/examples/auth-layout.tsx +0 -0
- /package/{shadcn-ui → tools-shadcn}/examples/data-table.tsx +0 -0
- /package/{shadcn-ui → tools-shadcn}/examples/form-pattern.tsx +0 -0
- /package/{shadcn-ui → tools-shadcn}/resources/component-catalog.md +0 -0
- /package/{shadcn-ui → tools-shadcn}/resources/customization-guide.md +0 -0
- /package/{shadcn-ui → tools-shadcn}/resources/migration-guide.md +0 -0
- /package/{shadcn-ui → tools-shadcn}/resources/setup-guide.md +0 -0
- /package/{shadcn-ui → tools-shadcn}/scripts/verify-setup.sh +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: product
|
|
2
|
+
name: rules-product
|
|
3
3
|
description: Orchestrates the full product development pipeline from planning to development docs. Diagnoses current project phase, checks gate conditions, and delegates to the correct sub-skill at each step. Use this as the entry point for new projects or when resuming work mid-flow.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -10,11 +10,12 @@ You are a **workflow lead** who guides the user through the full product develop
|
|
|
10
10
|
## Pipeline Overview
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
Phase 1: 기획문서 → plan
|
|
14
|
-
Phase 2: UI 설계 문서 → plan
|
|
15
|
-
Phase 3:
|
|
16
|
-
Phase 4:
|
|
17
|
-
Phase 5:
|
|
13
|
+
Phase 1: 기획문서 → docs-plan (Concept_Design)
|
|
14
|
+
Phase 2: UI 설계 문서 → docs-plan (UI_Screens)
|
|
15
|
+
Phase 3: React 변환 → rules-react
|
|
16
|
+
Phase 4: 개발문서 → docs-dev
|
|
17
|
+
Phase 5: 품질 검증 → verify-implementation (verify-docs / verify-code / verify-security / verify-performance)
|
|
18
|
+
Phase 6: 최종 전달물 → docs-pitch / docs-business (선택)
|
|
18
19
|
```
|
|
19
20
|
|
|
20
21
|
---
|
|
@@ -29,10 +30,9 @@ Run these checks in order:
|
|
|
29
30
|
|-------|--------|---------|
|
|
30
31
|
| `docs/01_Concept_Design/` 존재 여부 | 없으면 Phase 1 미완 | 기획문서 필요 |
|
|
31
32
|
| `docs/02_UI_Screens/` 존재 여부 | 없으면 Phase 2 미완 | UI 설계 필요 |
|
|
32
|
-
|
|
|
33
|
-
| `
|
|
34
|
-
|
|
|
35
|
-
| `docs/03_Technical_Specs/` 존재 여부 | 없으면 Phase 5 미완 | 개발문서 필요 |
|
|
33
|
+
| `src/components/` 또는 React 코드 존재 여부 | 없으면 Phase 3 미완 | React 개발 필요 |
|
|
34
|
+
| `docs/03_Technical_Specs/` 존재 여부 | 없으면 Phase 4 미완 | 개발문서 필요 |
|
|
35
|
+
| verify-* 스킬 실행 이력 또는 사용자 확인 여부 | 없으면 Phase 5 미완 | 품질 검증 필요 |
|
|
36
36
|
|
|
37
37
|
진단 결과를 다음 형식으로 보고한다:
|
|
38
38
|
|
|
@@ -60,9 +60,9 @@ Run these checks in order:
|
|
|
60
60
|
**위임 지시**:
|
|
61
61
|
|
|
62
62
|
```
|
|
63
|
-
사용할 스킬: plan
|
|
63
|
+
사용할 스킬: docs-plan
|
|
64
64
|
작업 범위: Layer 1 (Concept_Design)
|
|
65
|
-
필수 질문 선행: plan
|
|
65
|
+
필수 질문 선행: docs-plan의 Phase 1 질문 (Why / Who / What / How / Distribution / Layout&Brand)
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
Phase 1 완료 확인 후 다음을 묻는다:
|
|
@@ -82,8 +82,8 @@ Phase 1이 완료된 후 언제든 작성 가능하다. Phase 2 진입과 독립
|
|
|
82
82
|
|
|
83
83
|
**위임 지시**:
|
|
84
84
|
```
|
|
85
|
-
사용할 스킬: pitch
|
|
86
|
-
출력 모드 선택: Markdown / Reveal.js HTML
|
|
85
|
+
사용할 스킬: docs-pitch
|
|
86
|
+
출력 모드 선택: Markdown / Reveal.js HTML
|
|
87
87
|
참조 문서: docs/01_Concept_Design/ 전체
|
|
88
88
|
```
|
|
89
89
|
|
|
@@ -95,15 +95,11 @@ Phase 1이 완료된 후 언제든 작성 가능하다. Phase 2 진입과 독립
|
|
|
95
95
|
|
|
96
96
|
**위임 지시**:
|
|
97
97
|
```
|
|
98
|
-
사용할 스킬: business
|
|
98
|
+
사용할 스킬: docs-business
|
|
99
99
|
저장 경로: docs/01_Concept_Design/XX_BUSINESS_PLAN.md
|
|
100
100
|
참조 문서: docs/01_Concept_Design/ 전체
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
> 피치덱과 사업계획서는 같은 Phase 1 데이터를 소스로 사용하지만 목적과 독자가 다르다.
|
|
104
|
-
> 피치덱 — 3-10분 발표, 투자자/심사위원 대상, 임팩트와 스토리 중심
|
|
105
|
-
> 사업계획서 — 정식 문서, 정부/기관 대상, 구체적 수치와 실행 계획 중심
|
|
106
|
-
|
|
107
103
|
---
|
|
108
104
|
|
|
109
105
|
## Phase 2: UI 설계 문서 (UI_Screens)
|
|
@@ -120,129 +116,127 @@ Phase 1이 완료된 후 언제든 작성 가능하다. Phase 2 진입과 독립
|
|
|
120
116
|
**위임 지시**:
|
|
121
117
|
|
|
122
118
|
```
|
|
123
|
-
사용할 스킬: plan
|
|
119
|
+
사용할 스킬: docs-plan
|
|
124
120
|
작업 범위: Layer 2 (UI_Screens)
|
|
125
121
|
참조 문서: docs/01_Concept_Design/ 전체 읽기 후 시작
|
|
126
122
|
```
|
|
127
123
|
|
|
128
124
|
Phase 2 완료 확인 후 다음을 묻는다:
|
|
129
|
-
> "Phase 2 문서가 완성되었습니다. Phase 3(
|
|
125
|
+
> "Phase 2 문서가 완성되었습니다. Phase 3(React 변환 및 개발)으로 넘어갈까요?"
|
|
130
126
|
|
|
131
127
|
---
|
|
132
128
|
|
|
133
|
-
## Phase 3:
|
|
129
|
+
## Phase 3: React + Tailwind 개발
|
|
134
130
|
|
|
135
|
-
**목표**: UI 설계 문서를 기반으로
|
|
131
|
+
**목표**: UI 설계 문서를 기반으로 실제 React 컴포넌트와 페이지를 구현한다.
|
|
136
132
|
|
|
137
133
|
**Gate In**:
|
|
138
134
|
- Phase 2 문서 (`02_UI_Screens/`) 존재
|
|
139
135
|
|
|
140
136
|
**Gate Out** (다음 단계 진입 조건):
|
|
141
|
-
- [ ]
|
|
142
|
-
- [ ]
|
|
143
|
-
- [ ] `
|
|
137
|
+
- [ ] `src/components/` 에 주요 컴포넌트 존재
|
|
138
|
+
- [ ] `src/data/mockData.ts` 존재 (필요 시)
|
|
139
|
+
- [ ] `npm run dev` 정상 작동 확인
|
|
144
140
|
|
|
145
|
-
|
|
141
|
+
**위임 지시**:
|
|
146
142
|
|
|
147
|
-
### Step 3-1: 프롬프트 최적화
|
|
148
143
|
```
|
|
149
|
-
사용할 스킬:
|
|
150
|
-
입력:
|
|
151
|
-
|
|
144
|
+
사용할 스킬: rules-react
|
|
145
|
+
입력: docs/02_UI_Screens/ 의 화면 설계 및 디자인 가이드
|
|
146
|
+
순서: 화면 중요도 순으로 처리 (홈 → 주요 기능 화면 → 기타)
|
|
152
147
|
```
|
|
153
148
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
사용할 스킬: stitch-loop
|
|
157
|
-
입력: next-prompt.md
|
|
158
|
-
작업: 첫 화면 생성 및 stitch.json 저장
|
|
159
|
-
```
|
|
149
|
+
Phase 3 완료 확인 후 다음을 묻는다:
|
|
150
|
+
> "Phase 3이 완료되었습니다. Phase 4(개발문서)로 넘어갈까요?"
|
|
160
151
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Phase 4: 개발문서 (Technical_Specs / Logic_Progress / QA_Validation)
|
|
155
|
+
|
|
156
|
+
**목표**: 구현된 코드베이스를 기반으로 기술 명세, 로직 설계, QA 체크리스트를 작성한다.
|
|
157
|
+
|
|
158
|
+
**Gate In**:
|
|
159
|
+
- React 컴포넌트 구현 완료 (Phase 3)
|
|
160
|
+
|
|
161
|
+
**Gate Out** (프로젝트 완성 조건):
|
|
162
|
+
- [ ] `docs/03_Technical_Specs/00_DEVELOPMENT_PRINCIPLES.md` 존재
|
|
163
|
+
- [ ] `docs/03_Technical_Specs/01_DB_SCHEMA.md` 존재 (DB 사용 시)
|
|
164
|
+
- [ ] `docs/03_Technical_Specs/02_API_SPECS.md` 존재 (API 사용 시)
|
|
165
|
+
- [ ] `docs/04_Logic_Progress/00_ROADMAP.md` 존재
|
|
166
|
+
- [ ] `docs/05_QA_Validation/02_QA_CHECKLIST.md` 존재
|
|
167
|
+
|
|
168
|
+
**위임 지시**:
|
|
168
169
|
|
|
169
|
-
### Step 3-4: 나머지 화면 반복 생성
|
|
170
170
|
```
|
|
171
|
-
사용할 스킬:
|
|
172
|
-
|
|
173
|
-
|
|
171
|
+
사용할 스킬: docs-dev
|
|
172
|
+
순서: Technical_Specs → Logic_Progress → QA_Validation
|
|
173
|
+
시작 전: 코드베이스 분석 (아키텍처, 패턴, 스탠다드, 툴링)
|
|
174
174
|
```
|
|
175
175
|
|
|
176
|
-
Phase
|
|
177
|
-
|
|
178
|
-
- `DESIGN.md` 존재
|
|
179
|
-
- `00_SCREEN_FLOW.md`에 정의된 주요 화면 커버 여부
|
|
180
|
-
|
|
181
|
-
Phase 3 완료 확인 후 다음을 묻는다:
|
|
182
|
-
> "Phase 3이 완료되었습니다. Phase 4(React + Tailwind 변환)으로 넘어갈까요?"
|
|
176
|
+
Phase 4 완료 확인 후 다음을 묻는다:
|
|
177
|
+
> "Phase 4 문서가 완성되었습니다. Phase 5(품질 검증)로 넘어갈까요?"
|
|
183
178
|
|
|
184
179
|
---
|
|
185
180
|
|
|
186
|
-
## Phase
|
|
181
|
+
## Phase 5: Quality Gate (품질 검증)
|
|
187
182
|
|
|
188
|
-
**목표**:
|
|
183
|
+
**목표**: 코드·문서·보안·성능 전 영역을 통합 검증하여 배포 가능 수준임을 확인한다.
|
|
189
184
|
|
|
190
185
|
**Gate In**:
|
|
191
|
-
-
|
|
192
|
-
-
|
|
186
|
+
- Phase 4 문서 (`03_Technical_Specs/`, `04_Logic_Progress/`, `05_QA_Validation/`) 존재
|
|
187
|
+
- React 코드 구현 완료 (Phase 3)
|
|
193
188
|
|
|
194
189
|
**Gate Out** (다음 단계 진입 조건):
|
|
195
|
-
- [ ] `
|
|
196
|
-
- [ ] `
|
|
197
|
-
- [ ] `
|
|
190
|
+
- [ ] `verify-docs` PASS — 문서 구조·메타데이터 정합성
|
|
191
|
+
- [ ] `verify-code` PASS — 코드 품질 (로직, 타입, 중복, 사이드 이펙트)
|
|
192
|
+
- [ ] `verify-security` PASS — OWASP Top 10 기준 보안 이슈 없음
|
|
193
|
+
- [ ] `verify-performance` PASS — Lighthouse Performance 90+, Core Web Vitals 기준 충족
|
|
194
|
+
- [ ] `verify-drizzle-schema` PASS — DB 스키마 정합성 (DB 사용 시)
|
|
198
195
|
|
|
199
196
|
**위임 지시**:
|
|
200
197
|
|
|
201
198
|
```
|
|
202
|
-
사용할 스킬:
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
순서: 화면 중요도 순으로 처리 (홈 → 주요 기능 화면 → 기타)
|
|
199
|
+
사용할 스킬: verify-implementation
|
|
200
|
+
동작: 위 verify-* 스킬을 순차 실행하고 통합 보고서 생성
|
|
201
|
+
FAIL 항목 발견 시: 해당 스킬로 돌아가 수정 후 재검증
|
|
206
202
|
```
|
|
207
203
|
|
|
208
|
-
Phase
|
|
209
|
-
> "
|
|
204
|
+
FAIL 항목이 있으면 해당 Phase로 되돌아가 수정 후 재실행한다. 모든 항목 PASS 확인 후 다음을 묻는다:
|
|
205
|
+
> "모든 검증을 통과했습니다. Phase 6(최종 전달물)으로 넘어갈까요?"
|
|
210
206
|
|
|
211
207
|
---
|
|
212
208
|
|
|
213
|
-
## Phase
|
|
209
|
+
## Phase 6: 최종 전달물 (선택)
|
|
214
210
|
|
|
215
|
-
**목표**:
|
|
211
|
+
**목표**: 완성된 제품을 바탕으로 외부 커뮤니케이션 자료를 생성한다.
|
|
216
212
|
|
|
217
213
|
**Gate In**:
|
|
218
|
-
-
|
|
214
|
+
- Phase 5 Quality Gate 전체 PASS
|
|
219
215
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
216
|
+
**선택 항목** (하나 이상 선택, 복수 가능):
|
|
217
|
+
|
|
218
|
+
| 전달물 | 사용 스킬 | 용도 |
|
|
219
|
+
|--------|-----------|------|
|
|
220
|
+
| 피치덱 | `docs-pitch` | 투자자·해커톤·데모데이 발표 자료 |
|
|
221
|
+
| 사업계획서 | `docs-business` | 정부 지원·투자 심사·파트너십 문서 |
|
|
226
222
|
|
|
227
223
|
**위임 지시**:
|
|
228
224
|
|
|
229
225
|
```
|
|
230
|
-
사용할 스킬:
|
|
231
|
-
|
|
232
|
-
시작 전: 코드베이스 분석 (아키텍처, 패턴, 스탠다드, 툴링)
|
|
226
|
+
사용할 스킬: docs-pitch 또는 docs-business (사용자 선택)
|
|
227
|
+
참조 문서: docs/01_Concept_Design/ + docs/03_Technical_Specs/ 전체
|
|
233
228
|
```
|
|
234
229
|
|
|
235
230
|
전체 파이프라인 완료 후 최종 보고:
|
|
236
231
|
|
|
237
232
|
```
|
|
238
233
|
전체 워크플로우 완료
|
|
239
|
-
- Phase 1: docs/01_Concept_Design/
|
|
240
|
-
- Phase 2: docs/02_UI_Screens/
|
|
241
|
-
- Phase 3:
|
|
242
|
-
- Phase 4:
|
|
243
|
-
- Phase 5:
|
|
244
|
-
|
|
245
|
-
검증 권장: /verify-docs, /verify-db (해당 시)
|
|
234
|
+
- Phase 1: docs/01_Concept_Design/ 기획문서
|
|
235
|
+
- Phase 2: docs/02_UI_Screens/ UI 설계 문서
|
|
236
|
+
- Phase 3: src/components/ React 컴포넌트
|
|
237
|
+
- Phase 4: docs/03~05_*/ 개발·진행·QA 문서
|
|
238
|
+
- Phase 5: verify-implementation PASS 품질 검증 완료
|
|
239
|
+
- Phase 6: docs-pitch / docs-business 최종 전달물 (선택)
|
|
246
240
|
```
|
|
247
241
|
|
|
248
242
|
---
|
|
@@ -259,20 +253,16 @@ Phase 4 완료 확인 후 다음을 묻는다:
|
|
|
259
253
|
|
|
260
254
|
사용자가 특정 Phase를 지정하면 해당 Phase의 Gate In 조건만 확인 후 바로 시작한다.
|
|
261
255
|
|
|
262
|
-
```
|
|
263
|
-
예: "Phase 3부터 시작하고 싶어요"
|
|
264
|
-
→ Gate In 확인: docs/02_UI_Screens/ 존재 여부만 체크
|
|
265
|
-
→ 바로 Step 3-1(enhance-prompt) 지시
|
|
266
|
-
```
|
|
267
|
-
|
|
268
256
|
---
|
|
269
257
|
|
|
270
258
|
## Related Skills
|
|
271
259
|
|
|
272
|
-
- **plan
|
|
273
|
-
- **
|
|
274
|
-
- **
|
|
275
|
-
- **
|
|
276
|
-
- **
|
|
277
|
-
- **
|
|
278
|
-
- **verify-
|
|
260
|
+
- **docs-plan**: Phase 1, 2 문서 작성
|
|
261
|
+
- **rules-react**: Phase 3 React 개발
|
|
262
|
+
- **docs-dev**: Phase 4 기술 문서 작성
|
|
263
|
+
- **verify-implementation**: Phase 5 품질 검증 통합 실행
|
|
264
|
+
- **verify-code**: Phase 5 코드 품질 리뷰
|
|
265
|
+
- **verify-security**: Phase 5 보안 점검
|
|
266
|
+
- **verify-performance**: Phase 5 성능 점검
|
|
267
|
+
- **docs-pitch**: Phase 6 피치덱 작성
|
|
268
|
+
- **docs-business**: Phase 6 사업계획서 작성
|
|
@@ -17,7 +17,7 @@ Convert my Landing Page screen in my Podcast Stitch Project to a React component
|
|
|
17
17
|
This repository follows the **Agent Skills** open standard. Each skill is self-contained with its own logic, validation scripts, and design tokens.
|
|
18
18
|
|
|
19
19
|
```text
|
|
20
|
-
skills/react
|
|
20
|
+
skills/rules-react/
|
|
21
21
|
├── SKILL.md — Core instructions & workflow
|
|
22
22
|
├── package.json — Validator dependencies
|
|
23
23
|
├── scripts/ — Networking & AST validation
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rules-react
|
|
3
|
+
description: Create modular, premium React components and pages based on UI design systems (docs-plan Layer 2). Applies best practices (Vercel) and ensures consistency with rules-dev. Use when implementing UI screens or refactoring existing components.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# React Component Implementation Skill
|
|
7
|
+
|
|
8
|
+
You are a senior frontend engineer focused on transforming UI designs into clean, premium, and performant React code. You follow a modular approach and use modern best practices.
|
|
9
|
+
|
|
10
|
+
## 1. Input Sources
|
|
11
|
+
- **docs-plan Layer 2**: Read `docs/02_UI_Screens/01_UI_DESIGN.md` for tokens and `XX_PROTOTYPE_REVIEW.md` for layout details.
|
|
12
|
+
- **rules-dev**: Follow coding standards, file naming, and state management rules.
|
|
13
|
+
- **Vercel Best Practices**: Follow the provided skills for performance and composition patterns.
|
|
14
|
+
|
|
15
|
+
## 2. Architectural Rules
|
|
16
|
+
* **Modular components**: Break the design into independent files. Avoid large, single-file outputs. Place shared components in `src/components/ui/` and feature-specific ones in their respective folders.
|
|
17
|
+
* **Logic isolation**: Move complex event handlers and business logic into custom hooks in `src/hooks/`.
|
|
18
|
+
* **Data decoupling**: Move all static text, image URLs, and lists into `src/data/mockData.ts` or appropriate JSON files. Use `generate_image` tool for visual assets instead of placeholders.
|
|
19
|
+
* **Type safety**: Every component must include a `Readonly` TypeScript interface named `[ComponentName]Props`. Use Zod for runtime validation where necessary.
|
|
20
|
+
* **Styling**: Use Vanilla CSS or TailwindCSS as defined in the project standard. Use theme-mapped variables instead of arbitrary hex codes.
|
|
21
|
+
* **Aesthetics**: Implement rich aesthetics, smooth transitions, and premium typography as per the "Web Application Development" guidelines.
|
|
22
|
+
|
|
23
|
+
## 3. Execution steps
|
|
24
|
+
1. **Analyze Design**: Read the UI Screens documentation and technical specs. Identify components, state requirements, and interactive elements.
|
|
25
|
+
2. **Draft Logic**: Decide on state management and hook structure.
|
|
26
|
+
3. **Data layer**: Prepare mock data or data fetching logic.
|
|
27
|
+
4. **Implement UI**: Build components starting from the most granular (atoms) to full pages.
|
|
28
|
+
5. **Quality check**:
|
|
29
|
+
- Verify against accessibility standards.
|
|
30
|
+
- Check performance (avoid unnecessary re-renders).
|
|
31
|
+
- Ensure responsive design works across all target devices.
|
|
32
|
+
- Start the dev server with `npm run dev` to verify the live result.
|
|
33
|
+
|
|
34
|
+
## 4. Related Skills
|
|
35
|
+
- **docs-plan**: Source for UI design and screen flows.
|
|
36
|
+
- **rules-dev**: Development standards and conventions.
|
|
37
|
+
- **docs-dev**: Technical specs and backend integration details.
|
|
38
|
+
- **vercel-react-best-practices**: Performance optimization.
|
|
39
|
+
- **vercel-composition-patterns**: Reusable component architecture.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rules-react",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Design-to-code prompt to React components",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"validate": "node scripts/validate.js"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@swc/core": "^1.3.100"
|
|
11
|
+
},
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": ">=18.0.0"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: rules-workflow
|
|
3
3
|
description: Guides the full implementation lifecycle from planning through PR. Use when implementing a new feature, planning implementation, before committing or creating a PR, or when the user asks for plan review, implementation review, deployment readiness check, or to follow the 18-step workflow (18단계). Ensures plan validation, implementation quality, side-effect checks, and deployment-ready quality.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Implementation Workflow (18 Steps)
|
|
6
|
+
# Implementation & Execution Workflow (18 Steps)
|
|
7
7
|
|
|
8
8
|
Follow this workflow for feature implementation and significant code changes. Complete each phase before advancing; use the checklists to avoid skipping steps.
|
|
9
9
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: obsidian
|
|
2
|
+
name: tools-obsidian
|
|
3
3
|
description: Manages the synchronization between the project's documentation and an Obsidian vault via symbolic links. Ensures metadata compatibility and provides tools to verify the link status.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -40,5 +40,5 @@ If the project directory moves, the symlink MUST be recreated:
|
|
|
40
40
|
`ln -sfn [NEW_PROJECT_PATH]/docs /Users/namhyeongseog/Documents/obsidian/Rural-Rest/docs`
|
|
41
41
|
|
|
42
42
|
## 5. Related Skills
|
|
43
|
-
- **
|
|
43
|
+
- **rules-docs**: The primary skill that generates the content being synced.
|
|
44
44
|
- **design-md**: Generates design-related documentation that will also be visible in Obsidian.
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verify-code
|
|
3
|
+
description: PR 또는 커밋 전 코드 품질을 종합 리뷰합니다. 로직 오류, 타입 안전성, 중복 구현, 사이드 이펙트, 가독성, 불필요 코드를 체계적으로 검토합니다. 코드 작성 완료 후 커밋·PR 전, 또는 "코드 리뷰해줘", "PR 전 확인" 요청 시 사용합니다.
|
|
4
|
+
argument-hint: "[선택사항: 리뷰할 파일 경로 또는 기능명]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 코드 리뷰 스킬 (verify-code)
|
|
8
|
+
|
|
9
|
+
PR 또는 커밋 전 코드 품질을 종합적으로 점검합니다. 구현이 완료된 코드를 대상으로 아래 6개 영역을 순서대로 검토하고 발견된 이슈를 보고합니다.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 실행 시점
|
|
14
|
+
|
|
15
|
+
- 기능 구현 완료 후 커밋·PR 전
|
|
16
|
+
- 다른 사람의 코드를 리뷰할 때
|
|
17
|
+
- `rules-workflow` Step 14 (코드 품질 검토) 수행 시
|
|
18
|
+
- "코드 좀 봐줘", "리뷰해줘" 요청 시
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Step 0: 리뷰 범위 확정
|
|
23
|
+
|
|
24
|
+
인자가 주어진 경우 해당 파일/기능에 집중한다. 없으면 `git diff HEAD` 또는 `git diff main` 기준으로 변경된 파일 목록을 확인한 후 리뷰 범위를 사용자에게 보고하고 진행한다.
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
git diff --name-only HEAD
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Area 1: 로직 정확성
|
|
33
|
+
|
|
34
|
+
- 요구사항·기능 목적 대비 구현이 올바른지 확인한다.
|
|
35
|
+
- 조건문·분기 처리에서 누락된 케이스(null, undefined, 빈 배열, 0 등)를 점검한다.
|
|
36
|
+
- 비동기 처리(async/await, Promise)에서 에러 핸들링이 누락된 경로가 없는지 확인한다.
|
|
37
|
+
- 체크:
|
|
38
|
+
- [ ] 핵심 시나리오가 의도대로 동작하는가?
|
|
39
|
+
- [ ] 엣지 케이스(빈 값, 경계값, 예외 입력)가 처리되었는가?
|
|
40
|
+
- [ ] 에러 핸들링이 빠진 비동기 경로가 없는가?
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Area 2: 타입 안전성
|
|
45
|
+
|
|
46
|
+
- `any` 사용 여부를 확인하고 `unknown` 또는 구체 타입으로 대체 가능한지 검토한다.
|
|
47
|
+
- 런타임 입력(API 응답, 폼 데이터, URL 파라미터)에 Zod 등 검증 로직이 적용되었는지 확인한다.
|
|
48
|
+
- 타입 단언(`as`)이 근거 없이 사용된 경우를 지적한다.
|
|
49
|
+
- 체크:
|
|
50
|
+
- [ ] `any` 사용이 정당화되었는가?
|
|
51
|
+
- [ ] 외부 입력에 런타임 검증이 적용되었는가?
|
|
52
|
+
- [ ] 불필요한 타입 단언(`as`)이 없는가?
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Area 3: 중복 및 재사용성
|
|
57
|
+
|
|
58
|
+
- 동일하거나 유사한 로직이 여러 곳에 복사되어 있는지 확인한다.
|
|
59
|
+
- 기존 유틸·훅·컴포넌트로 대체 가능한 새 구현이 있는지 점검한다.
|
|
60
|
+
- 한 함수/컴포넌트가 두 가지 이상의 책임을 갖는지 확인한다.
|
|
61
|
+
- 체크:
|
|
62
|
+
- [ ] 중복 구현이 없는가?
|
|
63
|
+
- [ ] 기존 코드를 재사용할 수 있는 경우가 없는가?
|
|
64
|
+
- [ ] 단일 책임 원칙이 지켜지는가?
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Area 4: 사이드 이펙트 및 회귀
|
|
69
|
+
|
|
70
|
+
- 변경된 코드가 다른 기능·라우트·공유 상태에 의도치 않은 영향을 주는지 확인한다.
|
|
71
|
+
- 전역 상태, Context, 공유 훅, 공통 유틸을 수정한 경우 영향 범위를 열거한다.
|
|
72
|
+
- DB 쿼리·API 호출에 side effect(쓰기, 삭제)가 의도치 않게 추가되지 않았는지 확인한다.
|
|
73
|
+
- 체크:
|
|
74
|
+
- [ ] 변경이 다른 기능에 영향을 주는 경우가 없는가?
|
|
75
|
+
- [ ] 공유 코드 수정 시 영향 범위를 파악했는가?
|
|
76
|
+
- [ ] 의도치 않은 쓰기/삭제 동작이 없는가?
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Area 5: 가독성 및 네이밍
|
|
81
|
+
|
|
82
|
+
- 변수·함수·컴포넌트 이름이 역할을 명확히 반영하는지 확인한다.
|
|
83
|
+
- 마법 숫자(magic number), 하드코딩된 문자열이 상수 또는 설정으로 분리되었는지 점검한다.
|
|
84
|
+
- 함수 길이가 과도하게 길어 분할이 필요한 경우를 지적한다.
|
|
85
|
+
- 체크:
|
|
86
|
+
- [ ] 이름만 보고 역할을 알 수 있는가?
|
|
87
|
+
- [ ] 마법 숫자·하드코딩된 값이 상수로 분리되었는가?
|
|
88
|
+
- [ ] 한 함수가 100줄을 넘지 않는가?
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Area 6: 불필요 코드 및 정리
|
|
93
|
+
|
|
94
|
+
- `console.log`, `console.error` 등 디버그 출력이 남아 있는지 확인한다.
|
|
95
|
+
- 사용하지 않는 `import`, 변수, 함수, 주석 처리된 코드 블록을 제거 대상으로 표시한다.
|
|
96
|
+
- TODO/FIXME 주석 중 이번 작업에서 해결되지 않은 것을 목록화한다.
|
|
97
|
+
- 체크:
|
|
98
|
+
- [ ] `console.*` 출력이 제거되었는가?
|
|
99
|
+
- [ ] 미사용 import·변수가 없는가?
|
|
100
|
+
- [ ] 주석 처리된 dead code가 없는가?
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 보고 형식
|
|
105
|
+
|
|
106
|
+
리뷰 결과는 다음 형식으로 보고한다:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
## 코드 리뷰 결과
|
|
110
|
+
|
|
111
|
+
### PASS 항목
|
|
112
|
+
- (문제 없는 영역 요약)
|
|
113
|
+
|
|
114
|
+
### 개선 필요 항목
|
|
115
|
+
| 위치 | 영역 | 내용 | 심각도 |
|
|
116
|
+
|------|------|------|:------:|
|
|
117
|
+
| src/foo.ts:42 | 타입 안전성 | API 응답에 any 사용 | 중 |
|
|
118
|
+
| src/bar.tsx:15 | 불필요 코드 | console.log 미제거 | 낮음 |
|
|
119
|
+
|
|
120
|
+
### 수정 권장 우선순위
|
|
121
|
+
1. [높음] ...
|
|
122
|
+
2. [중] ...
|
|
123
|
+
3. [낮음] ...
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
심각도 기준: **높음** (배포 차단 수준) / **중** (품질 저하) / **낮음** (권장 사항)
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 관련 스킬
|
|
131
|
+
|
|
132
|
+
- `rules-dev`: 프로젝트 코딩 컨벤션 기준
|
|
133
|
+
- `rules-workflow`: Step 14 코드 품질 검토와 연동
|
|
134
|
+
- `verify-security`: 보안 관련 이슈는 이 스킬로 위임
|
package/verify-docs/SKILL.md
CHANGED
|
@@ -12,7 +12,7 @@ description: 프로젝트 문서가 5단계 구조(01~05)와 메타데이터 표
|
|
|
12
12
|
2. 메타데이터 표준 (Created / Last Updated)
|
|
13
13
|
3. Related Documents 섹션
|
|
14
14
|
4. Rubric-First Writing
|
|
15
|
-
5. product
|
|
15
|
+
5. rules-product Gate Out 조건
|
|
16
16
|
|
|
17
17
|
## 실행 시점
|
|
18
18
|
|
|
@@ -58,13 +58,14 @@ AGENTS.md 또는 `docs/01_Concept_Design/00_COLLABORATION_GUIDE.md`를 읽어
|
|
|
58
58
|
| 레이어 | 기준 |
|
|
59
59
|
|:---|:---|
|
|
60
60
|
| QA_Validation (Layer 5) | 6개 루브릭 전체 테이블 포함 (필수) |
|
|
61
|
+
| Logic_Progress (Layer 4) | 실무 문서(BACKLOG, ROADMAP, EXECUTION_PLAN) 내 체크박스`[ ]` 활용 및 원자적 단위 분할 (필수) |
|
|
61
62
|
| Concept_Design (Layer 1) | Novelty, Business Plan, Potential Impact 언급 (권장) |
|
|
62
63
|
| Technical_Specs (Layer 3) | Functionality, UX (latency), Open-source 언급 (권장) |
|
|
63
64
|
| Logic_Progress (Layer 4) | Functionality, UX 언급 (권장) |
|
|
64
65
|
|
|
65
66
|
### Step 5: Gate Out 조건 검사
|
|
66
67
|
|
|
67
|
-
product
|
|
68
|
+
rules-product 기준으로 각 Phase의 필수 문서 존재 여부를 확인한다.
|
|
68
69
|
|
|
69
70
|
**Phase 1 (기획문서)**:
|
|
70
71
|
- [ ] `docs/01_Concept_Design/01_VISION_CORE.md`
|