スキル一覧に戻る
pluginagentmarketplace

vue-fundamentals

by pluginagentmarketplace

Vue Development Plugin

1🍴 0📅 2026年1月7日
GitHubで見るManusで実行

SKILL.md


name: vue-fundamentals description: Master Vue.js core concepts - Components, Reactivity, Templates, Directives, Lifecycle sasmp_version: "1.3.0" bonded_agent: 01-vue-fundamentals bond_type: PRIMARY_BOND version: "2.0.0" last_updated: "2025-01"

Vue Fundamentals Skill

Production-grade skill for mastering Vue.js core concepts and building robust component-based applications.

Purpose

Single Responsibility: Teach and validate understanding of Vue.js fundamentals including component architecture, reactivity system, template syntax, directives, and lifecycle hooks.

Parameter Schema

interface VueFundamentalsParams {
  topic: 'components' | 'reactivity' | 'templates' | 'directives' | 'lifecycle' | 'all';
  level: 'beginner' | 'intermediate' | 'advanced';
  context?: {
    current_knowledge?: string[];
    learning_goal?: string;
    time_available?: string;
  };
}

Learning Modules

Module 1: Components (Foundation)

Prerequisites: HTML, CSS, JavaScript basics
Duration: 2-3 hours
Outcome: Build reusable Vue components
TopicConceptExercise
SFC Structure<template>, <script>, <style>Create first component
PropsPassing data downBuild Card component
Events$emit for child→parentButton with click handler
SlotsContent distributionLayout component
RegistrationLocal vs globalComponent organization

Module 2: Reactivity (Core)

Prerequisites: Module 1
Duration: 3-4 hours
Outcome: Understand Vue's reactivity system
TopicConceptExercise
ref()Primitive reactivityCounter app
reactive()Object reactivityForm state
computed()Derived valuesShopping cart total
watch()Side effectsAPI calls on change
watchEffect()Auto-trackLogging changes

Module 3: Templates (Syntax)

Prerequisites: Module 1
Duration: 2 hours
Outcome: Master template syntax
TopicConceptExercise
Interpolation{{ }} bindingDisplay data
v-bindAttribute bindingDynamic classes
v-onEvent handlingForm submission
v-modelTwo-way bindingInput forms
v-if/v-showConditional renderToggle visibility
v-forList renderingTodo list

Module 4: Directives (Built-in & Custom)

Prerequisites: Module 3
Duration: 2 hours
Outcome: Use and create directives
TopicConceptExercise
v-if/elseConditionalAuth display
v-for + keyIterationData tables
v-model modifiers.lazy, .trimForm validation
v-on modifiers.prevent, .stopEvent control
Custom directivesReusable DOM logicv-focus directive

Module 5: Lifecycle (Hooks)

Prerequisites: Modules 1-4
Duration: 2 hours
Outcome: Manage component lifecycle
HookUse CaseExample
onMountedDOM readyFetch initial data
onUpdatedAfter reactivityScroll position
onUnmountedCleanupClear intervals
onErrorCapturedError boundaryGraceful degradation

Validation Checkpoints

Beginner Checkpoint

  • Create SFC with props and events
  • Use ref() for counter
  • Apply v-if and v-for
  • Handle form with v-model

Intermediate Checkpoint

  • Build multi-slot component
  • Use computed for derived state
  • Implement watch with cleanup
  • Create custom directive

Advanced Checkpoint

  • Design component composition patterns
  • Optimize with shallowRef
  • Implement error boundaries
  • Build async components

Retry Logic

const skillConfig = {
  maxAttempts: 3,
  backoffMs: [1000, 2000, 4000],
  onFailure: 'provide_hint'
}

Observability

tracking:
  - event: module_started
    data: [module_name, user_level]
  - event: checkpoint_passed
    data: [checkpoint_name, attempts]
  - event: skill_completed
    data: [total_time, score]

Troubleshooting

Common Issues

IssueCauseSolution
Component not showingNot registeredCheck import/registration
Props not reactiveWrong prop typeUse correct type
v-for no keyMissing :keyAdd unique key
Infinite loopwatch causing watched changeGuard the update

Debug Steps

  1. Check Vue Devtools component tree
  2. Verify props are passed correctly
  3. Confirm reactive values have .value
  4. Check lifecycle hook placement

Unit Test Template

import { describe, it, expect } from 'vitest'
import { mount } from '@vue/test-utils'
import MyComponent from './MyComponent.vue'

describe('MyComponent', () => {
  it('renders props correctly', () => {
    const wrapper = mount(MyComponent, {
      props: { title: 'Test' }
    })
    expect(wrapper.text()).toContain('Test')
  })

  it('emits event on action', async () => {
    const wrapper = mount(MyComponent)
    await wrapper.find('button').trigger('click')
    expect(wrapper.emitted('action')).toBeTruthy()
  })
})

Usage

Skill("vue-fundamentals")
  • vue-composition-api - Next level after fundamentals
  • vue-typescript - Adding type safety
  • vue-testing - Testing fundamentals

Resources

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です