[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M756Q2HSA384M5BDFWWP6PRN":3,"skill-same:01M756Q2HSA384M5BDFWWP6PRN":61},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M756Q2HSA384M5BDFWWP6PRN","development",null,"Repairs, implements, tests, and validates automovie source, tests, workflows, and package wiring. Use before editing any of them; checklist answers belong to contracts and visual verification to visual-debugging.","samchon\u002Fautomovie","samchon","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13158709?v=4","01M756J7EYB6RAQ9XAAMEHS2Z3","Jeongho Nam","01M756J7FKD1YD703Y33FCK329",15,"MIT","https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdevelopment\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: development\ndescription: Repairs, implements, tests, and validates automovie source, tests, workflows, and package wiring. Use before editing any of them; checklist answers belong to contracts and visual verification to visual-debugging.\n---\n\n# Development\n\nThe rules on this page hold for every change to source, tests, workflows and package wiring. Each task adds its guide:\n\n| Task | Read |\n| --- | --- |\n| Changing existing behavior | [Repair](repair.md) |\n| Adding or changing tests | [Testing](testing.md) |\n| Running checks or finishing a change | [Validation](validation.md) |\n\n## Contracts\n\nEvery maintained declaration answers, in its doc comment, the checklists its package selects, always including `common.md`; the [contracts](..\u002Fcontracts\u002FSKILL.md) table says which declaration answers which.\n\n`human` selects none until its rebuild declares completion, then its production checklists at once.\n\n## Types and files\n\nAnnotate the type of every variable and parameter and the return type of every function. Leave a type to inference only where TypeScript takes no annotation, such as a `for...of` or `catch` binding.\n\nA source file has fewer than 500 lines and exports one symbol named after it, barrels excepted.\n\n## Comments and layout\n\nWrite code for the agent who changes it next. Give every declaration a JSDoc comment written to the contracts [Meaningful documentation](..\u002Fcontracts\u002Fdevelopment\u002Fcommon.md#meaningful-documentation) question, including in a package that selects no checklist.\n\nInside a body, separate the logical steps with blank lines so each step reads as one paragraph of code. Open each step whose purpose the code does not make obvious with a comment saying what it does and why.\n\nA comment gives the intent, premise, or reason the code cannot show, not a paraphrase of the code. Precede every comment inside a block with a blank line unless it opens the block, so a comment never sits directly under code.\n\n## Packages\n\nRespect the [package boundaries](..\u002Fproject\u002FSKILL.md#packages); review reads every new import and dependency against them. A public producer lands with its consumer, because test-only reach is not wiring.\n\n`interface` is pure types with no runtime dependency. It uses plain `string` and `number` without wrapper aliases or `typia` tags, states units and ranges in JSDoc for `engine` validators to enforce, and constrains structure only through closed `AutoMovie*` unions.\n\n## Specification\n\nTests, CI, wiring, dependencies, `interface` core types, and the range-of-motion and constraint tables are specification. Change them only on request or for a product reason, and say so.\n\n## Scripts and shared checkouts\n\n### Tracked code\n\nWrite every helper script in TypeScript as a tracked file and run it with `ttsx`. A build configuration that must start without compiling the project, such as the test package's esbuild configuration, is a tracked `.mts` file run by Node itself. Keep all program code, tests and tools in tracked paths and use gitignored paths for captured evidence and data, because an ignored file escapes review and cannot be recovered.\n\nRun an experiment as a tracked test, through a package's tracked debug tool, or as a type check.\n\n### Processes\n\nEnd every process you start for one result once that result is read. A shared server or type-check watch keeps running for every agent.\n\nA package's viewer runs as one server that every agent shares. Request one frame at a time, and restart the server only when its status shows an empty queue, because a restart drops every frame in flight and a second server competes for the same memory and CPU.\n\n### Several agents in one checkout\n\nGive each agent its own scratch directory, delete only inside its own directory, and commit with `git add` then `git commit --only \u003Cpaths>`. A shared index lets one commit sweep another agent's files, and a recursive delete can wipe every agent's scratch.\n","# Development\n\nThe rules on this page hold for every change to source, tests, workflows and package wiring. Each task adds its guide:\n\n| Task | Read |\n| --- | --- |\n| Changing existing behavior | [Repair](repair.md) |\n| Adding or changing tests | [Testing](testing.md) |\n| Running checks or finishing a change | [Validation](validation.md) |\n\n## Contracts\n\nEvery maintained declaration answers, in its doc comment, the checklists its package selects, always including `common.md`; the [contracts](..\u002Fcontracts\u002FSKILL.md) table says which declaration answers which.\n\n`human` selects none until its rebuild declares completion, then its production checklists at once.\n\n## Types and files\n\nAnnotate the type of every variable and parameter and the return type of every function. Leave a type to inference only where TypeScript takes no annotation, such as a `for...of` or `catch` binding.\n\nA source file has fewer than 500 lines and exports one symbol named after it, barrels excepted.\n\n## Comments and layout\n\nWrite code for the agent who changes it next. Give every declaration a JSDoc comment written to the contracts [Meaningful documentation](..\u002Fcontracts\u002Fdevelopment\u002Fcommon.md#meaningful-documentation) question, including in a package that selects no checklist.\n\nInside a body, separate the logical steps with blank lines so each step reads as one paragraph of code. Open each step whose purpose the code does not make obvious with a comment saying what it does and why.\n\nA comment gives the intent, premise, or reason the code cannot show, not a paraphrase of the code. Precede every comment inside a block with a blank line unless it opens the block, so a comment never sits directly under code.\n\n## Packages\n\nRespect the [package boundaries](..\u002Fproject\u002FSKILL.md#packages); review reads every new import and dependency against them. A public producer lands with its consumer, because test-only reach is not wiring.\n\n`interface` is pure types with no runtime dependency. It uses plain `string` and `number` without wrapper aliases or `typia` tags, states units and ranges in JSDoc for `engine` validators to enforce, and constrains structure only through closed `AutoMovie*` unions.\n\n## Specification\n\nTests, CI, wiring, dependencies, `interface` core types, and the range-of-motion and constraint tables are specification. Change them only on request or for a product reason, and say so.\n\n## Scripts and shared checkouts\n\n### Tracked code\n\nWrite every helper script in TypeScript as a tracked file and run it with `ttsx`. A build configuration that must start without compiling the project, such as the test package's esbuild configuration, is a tracked `.mts` file run by Node itself. Keep all program code, tests and tools in tracked paths and use gitignored paths for captured evidence and data, because an ignored file escapes review and cannot be recovered.\n\nRun an experiment as a tracked test, through a package's tracked debug tool, or as a type check.\n\n### Processes\n\nEnd every process you start for one result once that result is read. A shared server or type-check watch keeps running for every agent.\n\nA package's viewer runs as one server that every agent shares. Request one frame at a time, and restart the server only when its status shows an empty queue, because a restart drops every frame in flight and a second server competes for the same memory and CPU.\n\n### Several agents in one checkout\n\nGive each agent its own scratch directory, delete only inside its own directory, and commit with `git add` then `git commit --only \u003Cpaths>`. A shared index lets one commit sweep another agent's files, and a recursive delete can wipe every agent's scratch.\n",{"name":5,"description":7},"master","34270b2c269419d0a10b91fa8914cb4d1cfa7335",".agents\u002Fskills\u002Fdevelopment",3,"https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie","https:\u002F\u002Fsamchon.github.io\u002Fautomovie\u002F","https:\u002F\u002Fgithub.com\u002Fsamchon","AI Function Calling and Coding Agent Expert","2026-11-15 04:58:05",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add samchon\u002Fautomovie --skill development",{"tool":39,"command":40},"bunx","bunx skills add samchon\u002Fautomovie --skill development",{"tool":42,"command":43},"pnpm","pnpm dlx skills add samchon\u002Fautomovie --skill development","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdevelopment\u002FSKILL.md",true,[47,53,57],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"repair.md","REFERENCE","参考文档",725,"https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdevelopment\u002Frepair.md",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"testing.md",697,"https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdevelopment\u002Ftesting.md",{"path":58,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":59,"sourceHtmlUrl":60},"validation.md",2817,"https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdevelopment\u002Fvalidation.md",[62,70,77,83,90,97],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":69},"01M7BC09PZN2DYF0YNJHQD36JE","story-workflow","Chooses the story route and who writes the screenplay, and routes to each route's steps and to completion. Use when starting, resuming or completing narrative work.","https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002Fpackages\u002Ftemplate\u002Fscaffold\u002Finstructions\u002F.agents\u002Fskills\u002Fstory\u002Fworkflow\u002FSKILL.md",[],[],"2026-11-15 14:19:17",{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":19},"01M756WDZFDSPJJ51Q1H57GMKR","story-correction","Inspects a narrative body and repairs it by cause, at its earliest owner and within closed boundaries. Use before evidence, after review findings, or when requirements or scope change.","https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002Fpackages\u002Ftemplate\u002Fscaffold\u002Finstructions\u002F.agents\u002Fskills\u002Fstory\u002Fcorrection\u002FSKILL.md",[],[],{"skillNo":78,"name":5,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M756VXRACXEBQ58YQ798HX2C","Implements and tests production source, integrations, dependencies and commands, reusing installed packages before writing a capability. Use for code or host changes and behavioral tests; documentation owns technical writing and story owns creative bodies.","https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002Fpackages\u002Ftemplate\u002Fscaffold\u002Finstructions\u002F.agents\u002Fskills\u002Fdevelopment\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M756TZDN2WWESZ9R3HRGBXR2","pull-request","Branches, commits, pushes, opens, updates, and merges automovie pull requests. Use only when the user asks for one of those actions or a mandate names delivery.","https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fpull-request\u002FSKILL.md",[],[],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":19},"01M756RCT3HXE8TWTDR1M3VPJP","issue-campaign","Runs automovie's issue campaign, repeating full discovery rounds until one finds nothing new, publishing the issues, and landing them in one pull request per cycle. Use for a broad audit or repeated issue-to-pull-request work, not for one defined issue.","https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fissue-campaign\u002FSKILL.md",[],[],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":19},"01M756QJE4GPDADYKV10RGT0WN","documentation","Owns how any document is written, with its sentences, terms, paragraphs and lists, and what a README holds. Use before writing or changing a technical document, README or doc comment; instructions for an agent add the prompting skill's rules.","https:\u002F\u002Fgithub.com\u002Fsamchon\u002Fautomovie\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fdocumentation\u002FSKILL.md",[],[]]