Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/vinilana/workshop-yungas --skill refactoring명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| type | skill |
| name | Refactoring |
| description | Safe code refactoring with step-by-step approach |
| skillSlug | refactoring |
| phases | ["E"] |
| generated | "2026-03-02T00:00:00.000Z" |
| status | filled |
| scaffoldVersion | 2.0.0 |
Activate this skill when improving code structure without changing external behavior. Use it for extracting utilities, reducing duplication, improving naming, or simplifying complex logic.
FranchiseRow → Franchise mapping. Extract to packages/shared.lib/api.ts in Next.js and SvelteKit are nearly identical. Extract shared logic.packages/shared may still be refactored since they serve both stacks.Before (duplicated in both backends):
const franchise = {
id: row.id,
name: row.name,
ownerName: row.owner_name,
email: row.email,
phone: row.phone,
address: row.address,
city: row.city,
state: row.state,
status: row.status,
createdAt: row.created_at,
updatedAt: row.updated_at,
};
After (shared utility):
// packages/shared/src/mappers.ts
export function mapRowToFranchise(row: FranchiseRow): Franchise {
return {
id: row.id,
name: row.name,
ownerName: row.owner_name,
email: row.email,
phone: row.phone,
address: row.address,
city: row.city,
state: row.state,
status: row.status as FranchiseStatus,
createdAt: row.created_at,
updatedAt: row.updated_at,
};
}
SOC 직업 분류 기준