[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BVJF5D1XNEB64VN39ECHMR":3,"skill-same:01M6BVJF5D1XNEB64VN39ECHMR":269},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":21,"linkOnly":22,"markdownContent":23,"markdownBody":23,"frontMatter":24,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M6BVJF5D1XNEB64VN39ECHMR","Lua_Reference",null,"vcmi\u002Fvcmi","vcmi","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2861395?v=4","01M6BVJ7TZDT00Q32CNZ4AR7CG","VCMI Project","01M6BVJ7ZKPKHAVP37ZQSSPXZX",6034,"GPL-2.0","https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FSkill.md",[],[18,19,20],"lua","Lua Reference","reference","2026-11-10 10:12:30",false,"# Skill\n\nA secondary-skill definition (Wisdom, Tactics, Logistics, …). Database metadata; per-hero skill levels are read off HeroInstance.\n\n### getJsonKey\n\nReturns the JSON key (mod-scoped identifier) of this entity.\n\n- returns `string`\n",{},"develop","f9b043143b24cc2dc792c457e8b15c27fff7a8fa","docs\u002Fmodders\u002FLua_Reference",772,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi","https:\u002F\u002Fvcmi.eu\u002F","https:\u002F\u002Fgithub.com\u002Fvcmi","http:\u002F\u002Fvcmi.eu","Open-source engine for Heroes of Might and Magic III","2026-11-14 16:23:34",{"source":7,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add vcmi\u002Fvcmi --skill Lua_Reference",{"tool":41,"command":42},"bunx","bunx skills add vcmi\u002Fvcmi --skill Lua_Reference",{"tool":44,"command":45},"pnpm","pnpm dlx skills add vcmi\u002Fvcmi --skill Lua_Reference","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FSkill.md",true,[49,55,59,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,233,237,241,245,249,253,257,261,265],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"AdventureServer.md","REFERENCE","参考文档",13799,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FAdventureServer.md",{"path":56,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":57,"sourceHtmlUrl":58},"AimType.md",453,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FAimType.md",{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"api.lua","OTHER","其他",101184,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002Fapi.lua",{"path":66,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":67,"sourceHtmlUrl":68},"API.md",1776,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FAPI.md",{"path":70,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":71,"sourceHtmlUrl":72},"Artifact.md",594,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FArtifact.md",{"path":74,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":75,"sourceHtmlUrl":76},"Battle.md",7866,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBattle.md",{"path":78,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":79,"sourceHtmlUrl":80},"BattleHex.md",2066,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBattleHex.md",{"path":82,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":83,"sourceHtmlUrl":84},"BattleHexArray.md",921,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBattleHexArray.md",{"path":86,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":87,"sourceHtmlUrl":88},"BattleServer.md",9002,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBattleServer.md",{"path":90,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":91,"sourceHtmlUrl":92},"BattleSide.md",528,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBattleSide.md",{"path":94,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":95,"sourceHtmlUrl":96},"Bonus.md",1960,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBonus.md",{"path":98,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":99,"sourceHtmlUrl":100},"BonusDescriptor.md",2432,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBonusDescriptor.md",{"path":102,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":103,"sourceHtmlUrl":104},"BonusDuration.md",1110,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBonusDuration.md",{"path":106,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":107,"sourceHtmlUrl":108},"BonusFilter.md",698,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBonusFilter.md",{"path":110,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":111,"sourceHtmlUrl":112},"BonusLimitEffect.md",311,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBonusLimitEffect.md",{"path":114,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":115,"sourceHtmlUrl":116},"BonusList.md",1088,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBonusList.md",{"path":118,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":119,"sourceHtmlUrl":120},"BonusSource.md",1573,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBonusSource.md",{"path":122,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":123,"sourceHtmlUrl":124},"BonusValueType.md",823,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBonusValueType.md",{"path":126,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":127,"sourceHtmlUrl":128},"Building.md",610,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FBuilding.md",{"path":130,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":131,"sourceHtmlUrl":132},"Calendar.md",1136,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FCalendar.md",{"path":134,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":135,"sourceHtmlUrl":136},"Component.md",558,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FComponent.md",{"path":138,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":139,"sourceHtmlUrl":140},"ComponentType.md",1267,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FComponentType.md",{"path":142,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":143,"sourceHtmlUrl":144},"Creature.md",1777,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FCreature.md",{"path":146,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":147,"sourceHtmlUrl":148},"Difficulty.md",375,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FDifficulty.md",{"path":150,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":151,"sourceHtmlUrl":152},"Enums.md",2169,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FEnums.md",{"path":154,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":155,"sourceHtmlUrl":156},"Faction.md",389,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FFaction.md",{"path":158,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":159,"sourceHtmlUrl":160},"Game.md",4071,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FGame.md",{"path":162,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":163,"sourceHtmlUrl":164},"HealLevel.md",412,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FHealLevel.md",{"path":166,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":167,"sourceHtmlUrl":168},"HealPower.md",286,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FHealPower.md",{"path":170,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":171,"sourceHtmlUrl":172},"HeroClass.md",252,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FHeroClass.md",{"path":174,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":175,"sourceHtmlUrl":176},"HeroInstance.md",3993,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FHeroInstance.md",{"path":178,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":179,"sourceHtmlUrl":180},"HeroType.md",275,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FHeroType.md",{"path":182,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":183,"sourceHtmlUrl":184},"MapObject.md",525,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FMapObject.md",{"path":186,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":187,"sourceHtmlUrl":188},"MapSetup.md",902,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FMapSetup.md",{"path":190,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":191,"sourceHtmlUrl":192},"MetaString.md",694,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FMetaString.md",{"path":194,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":195,"sourceHtmlUrl":196},"Obstacle.md",641,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FObstacle.md",{"path":198,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":199,"sourceHtmlUrl":200},"ObstacleType.md",497,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FObstacleType.md",{"path":202,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":203,"sourceHtmlUrl":204},"PlayerColor.md",462,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FPlayerColor.md",{"path":206,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":207,"sourceHtmlUrl":208},"PlayerStatus.md",289,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FPlayerStatus.md",{"path":210,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":211,"sourceHtmlUrl":212},"PrimarySkill.md",408,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FPrimarySkill.md",{"path":214,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":215,"sourceHtmlUrl":216},"ResourceType.md",264,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FResourceType.md",{"path":218,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":219,"sourceHtmlUrl":220},"Services.md",2084,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FServices.md",{"path":222,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":223,"sourceHtmlUrl":224},"Spell.md",2778,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FSpell.md",{"path":226,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":227,"sourceHtmlUrl":228},"SpellCastProblem.md",1224,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FSpellCastProblem.md",{"path":230,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":231,"sourceHtmlUrl":232},"SpellMechanics.md",3923,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FSpellMechanics.md",{"path":234,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":235,"sourceHtmlUrl":236},"SpellObstacleDescriptor.md",2448,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FSpellObstacleDescriptor.md",{"path":238,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":239,"sourceHtmlUrl":240},"SpellProblem.md",970,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FSpellProblem.md",{"path":242,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":243,"sourceHtmlUrl":244},"SpellSchool.md",349,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FSpellSchool.md",{"path":246,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":247,"sourceHtmlUrl":248},"StackInstance.md",455,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FStackInstance.md",{"path":250,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":251,"sourceHtmlUrl":252},"TargetStepDescriptor.md",779,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FTargetStepDescriptor.md",{"path":254,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":255,"sourceHtmlUrl":256},"TownInstance.md",989,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FTownInstance.md",{"path":258,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":259,"sourceHtmlUrl":260},"Unit.md",6844,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FUnit.md",{"path":262,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":263,"sourceHtmlUrl":264},"UnitState.md",5269,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FUnitState.md",{"path":266,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":267,"sourceHtmlUrl":268},"WallPart.md",1041,"https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002Fdocs\u002Fmodders\u002FLua_Reference\u002FWallPart.md",[270],{"skillNo":271,"name":272,"nameZh":6,"description":273,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":274,"categories":275,"keywords":286,"publishedAt":21},"01M6BVJBZ3N3EWHMETJ5Q73V1S","vcmi-code-review","Review VCMI code changes when explicitly requested. Accepts an optional task specification and custom review instructions, or infers intent from the change and repository. Uses a seven-dimension scorecard, VCMI-specific invariants, and test-usefulness analysis without editing code.","https:\u002F\u002Fgithub.com\u002Fvcmi\u002Fvcmi\u002Fblob\u002Fdevelop\u002F.claude\u002Fskills\u002Fvcmi-code-review\u002FSKILL.md",[276,281],{"categoryNo":277,"categoryName":278,"taxonomyType":279,"taxonomyTypeDesc":280},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":282,"categoryName":283,"taxonomyType":284,"taxonomyTypeDesc":285},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304],"review","code review","code","vcmi code review","when","custom","changes","scorecard","invariants","task","intent","specification","instructions","editing","analysis","repository","change","test"]