button-play-apollo-skill
Installation
SKILL.md
Skill: ButtonPlayApollo (Reusable)
When To Use
Use this skill when implementing a play/video CTA with @rds-vue-ui/button-play-apollo in a Vue 3 project.
Success Criteria
- Component renders using base theme styles.
ctaClickis wired and tested.- Disabled state is validated.
- Demo route/page is available.
- Build passes.
Inputs
- Framework:
Vue 3 - Package manager:
yarn(or npm/pnpm equivalent) - Private registry (required):
https://npm.edpl.us - Storybook docs URL:
https://rds-vue-ui.edpl.us/?path=/docs/components-button-buttonplayapollo--docs - Target files (project-specific):
<APP_ENTRY>(example:src/main.ts)<ROUTER_FILE>(example:src/router.ts)<DEMO_PAGE_FILE>(example:src/pages/demos/ButtonPlayApolloDemoPage.vue)<DEMOS_INDEX_FILE>(example:src/pages/AllDemosPage.vue)
Dependencies
@rds-vue-ui/button-play-apollo@rds-vue-ui/rds-theme-basesass-embedded(required if package styles includelang="scss")
Registry Configuration (Required)
- Add/update project
.npmrc:@rds-vue-ui:registry=https://npm.edpl.us/
- Validate package resolution:
npm view @rds-vue-ui/button-play-apollo version --registry=https://npm.edpl.us/
Component Contract (Source-Aligned)
- Props:
buttonText?: stringbuttonTextSize?: "small" | "medium" | "large" | "xl"buttonTextVariant?: stringbackgroundVariant?: string(default:dark-1)disabled?: boolean(default:false)
- Events:
ctaClick(void)
- Docs IDs:
- Docs:
components-button-buttonplayapollo--docs - Story:
components-button-buttonplayapollo--primary
- Docs:
Implementation Steps
- Configure scoped registry:
- Add/update
.npmrcwith@rds-vue-ui:registry=https://npm.edpl.us/.
- Add/update
- Install packages from private registry:
yarn add @rds-vue-ui/rds-theme-base @rds-vue-ui/button-play-apolloyarn add -D sass-embedded(if build fails on SCSS preprocessing).
- Import base theme once in
<APP_ENTRY>:import '@rds-vue-ui/rds-theme-base/dist/css/rds-theme-base.css';
- Implement demo page
<DEMO_PAGE_FILE>:- Import
ButtonPlayApollo. - Add one enabled and one disabled example.
- Wire
@ctaClickto a visible state change or console log.
- Import
- Register route in
<ROUTER_FILE>. - Add card/link entry in
<DEMOS_INDEX_FILE>. - Build and resolve any dependency/style issues.
Verification Checklist
-
.npmrccontains@rds-vue-ui:registry=https://npm.edpl.us/. -
@rds-vue-ui/button-play-apolloresolves from private registry. - Theme CSS imported exactly once in app entry.
- Enabled button emits
ctaClick. - Disabled button does not emit interaction behavior.
- No hardcoded palette overrides when base theme is required.
- Demo route is navigable from the demos index.
-
yarn buildcompletes successfully.
Failure Handling
- Registry/auth failure:
- Verify
.npmrcscope is set to@rds-vue-ui:registry=https://npm.edpl.us/. - Retry
npm view @rds-vue-ui/button-play-apollo version --registry=https://npm.edpl.us/. - If still blocked, confirm VPN/SSO/token requirements for private registry access.
- Verify
- SCSS preprocessor failure:
- Install
sass-embeddedand rebuild.
- Install
- Color mismatch:
- Confirm base theme CSS import order and remove local button color overrides.
Outputs
README.md(usage + install)spec/component-spec.md(confirmed API and behavior)examples/*(minimal integration pattern)checklists/qa.md(testable completion criteria)
Related skills
More from ashwinikarnik/rds-skills
button-skill
Reusable workflow for implementing and validating the RDS Button component using @rds-vue-ui packages from the private registry, including theme wiring, examples, and QA checks.
10form-checkbox-skill
Reusable workflow for implementing and validating @rds-vue-ui/form-checkbox from the private npm registry, including theme wiring, v-model behavior, demos, and verification gates.
3