[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CWMWDM7WWRN2GTYMY71F8N":3,"skill-same:01M6CWMWDM7WWRN2GTYMY71F8N":57},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":42,"install":43,"resources":56},"01M6CWMWDM7WWRN2GTYMY71F8N","sensors-add-skill",null,"Use when registering or adding a new sensor type to the telemetry system's registry, codegen, migrations, and changelog","toejough\u002Fengram","toejough","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5317312?v=4","01M6CWKZ6HJN0226G1FYVY0H0N","01M6CWKZAGT1SPMDWCZ3V8C1HZ",10,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Ftoejough\u002Fengram\u002Fblob\u002Fmain\u002Fdev\u002Feval\u002Fcumulative\u002Frunbook_vs_skill\u002Ffixture-vaults\u002Fskill\u002Fsensors-add-skill\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30],"add skill","sensors add skill","telemetry","registry","changelog","system","use","migrations","2026-11-10 10:12:30",false,"---\nname: sensors-add-skill\ndescription: Use when registering or adding a new sensor type to the telemetry system's registry, codegen, migrations, and changelog\n---\n\n# Add Sensor Type to Telemetry System\n\nRegister a new sensor type in the telemetry system following the project's established conventions.\n\n## Procedure\n\n1. Add a new entry to lib\u002Fsensors\u002Fregistry.txt in tab-separated format: \u003Csensor_id>:\u003Cversion>\\t\u003Csensor_name>\\t\u003Cdate>. Example line: `pressure_v2:1.0\\tpressure\\t2024-02-01`\n\n2. Run the codegen script to update type definitions: `python3 scripts\u002Fsensors.py`\n\n3. Create a migration file in migrations\u002F with naming pattern NNNN_sensor_\u003Csensor_id>.go where NNNN is the next 4-digit sequence number (the first migration is 0001; use the next 4-digit number after the highest existing one). Example: for sensor_id pressure_v2 with no prior migrations, create 0001_sensor_pressure_v2.go. The migration must contain a func init() block that calls registerSensor(\u003Csensor_id>).\n\n4. Add an entry to TELEMETRY_CHANGELOG.log with exact format: `[YYYY-MM-DD HH:MM:SS] \u003Coperator> Added sensor \u003Cid>:\u003Cversion>`\n\n5. Verify all changes are staged in git (do not commit yet).\n\n6. Run `make validate` to verify the sensor registration is complete and correct.\n","# Add Sensor Type to Telemetry System\n\nRegister a new sensor type in the telemetry system following the project's established conventions.\n\n## Procedure\n\n1. Add a new entry to lib\u002Fsensors\u002Fregistry.txt in tab-separated format: \u003Csensor_id>:\u003Cversion>\\t\u003Csensor_name>\\t\u003Cdate>. Example line: `pressure_v2:1.0\\tpressure\\t2024-02-01`\n\n2. Run the codegen script to update type definitions: `python3 scripts\u002Fsensors.py`\n\n3. Create a migration file in migrations\u002F with naming pattern NNNN_sensor_\u003Csensor_id>.go where NNNN is the next 4-digit sequence number (the first migration is 0001; use the next 4-digit number after the highest existing one). Example: for sensor_id pressure_v2 with no prior migrations, create 0001_sensor_pressure_v2.go. The migration must contain a func init() block that calls registerSensor(\u003Csensor_id>).\n\n4. Add an entry to TELEMETRY_CHANGELOG.log with exact format: `[YYYY-MM-DD HH:MM:SS] \u003Coperator> Added sensor \u003Cid>:\u003Cversion>`\n\n5. Verify all changes are staged in git (do not commit yet).\n\n6. Run `make validate` to verify the sensor registration is complete and correct.\n",{"name":5,"description":7},"main","d2ce817c74ee4fc65645635887510b47b231230f","dev\u002Feval\u002Fcumulative\u002Frunbook_vs_skill\u002Ffixture-vaults\u002Fskill\u002Fsensors-add-skill",2,"https:\u002F\u002Fgithub.com\u002Ftoejough\u002Fengram","https:\u002F\u002Fgithub.com\u002Ftoejough","2026-10-25 06:42:30",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add toejough\u002Fengram --skill sensors-add-skill",{"tool":49,"command":50},"bunx","bunx skills add toejough\u002Fengram --skill sensors-add-skill",{"tool":52,"command":53},"pnpm","pnpm dlx skills add toejough\u002Fengram --skill sensors-add-skill","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftoejough\u002Fengram\u002Fblob\u002Fmain\u002Fdev\u002Feval\u002Fcumulative\u002Frunbook_vs_skill\u002Ffixture-vaults\u002Fskill\u002Fsensors-add-skill\u002FSKILL.md",true,[],[58,73,78,83,105,123],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":64,"publishedAt":31},"01M6CWPEHWS45MANQE0JW6Z146","recall","Use after any user request that might entail more than a single tool call or anything more than quick, shallow thinking. This surfaces relevant memories that are VITAL to recall for a good user experience and a greater chance at first-pass success for the user's request.","https:\u002F\u002Fgithub.com\u002Ftoejough\u002Fengram\u002Fblob\u002Fmain\u002Fdev\u002Feval\u002Fcumulative\u002Fskills_auto_l2\u002Frecall\u002FSKILL.md",[],[60,65,66,67,68,69,70,71,29,72],"surfaces","memories","first","call","thinking","tool","user","good",{"skillNo":74,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":31},"01M6CWPAZ9N9CE1RC754XEJ021","https:\u002F\u002Fgithub.com\u002Ftoejough\u002Fengram\u002Fblob\u002Fmain\u002Fdev\u002Feval\u002Fcumulative\u002Fskills_auto\u002Frecall\u002FSKILL.md",[],[60,67,70,71,29,72,65,69,68,66],{"skillNo":79,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":31},"01M6CWP862CSBPDF1QW19P6C0F","https:\u002F\u002Fgithub.com\u002Ftoejough\u002Fengram\u002Fblob\u002Fmain\u002Fdev\u002Feval\u002Fcumulative\u002Frunbook_vs_skill\u002Fphase2\u002Fencodings\u002FtaskWriteMemory\u002Frecall-learn\u002Frecall\u002FSKILL.md",[],[60,67,70,71,29,72,65,69,68,66],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":31},"01M6CWP4XPAJYCJMZAPYNWTN3A","learn","Use after work begun with recall, or any work requiring more than one tool call or non-trivial thought. Use immediately for explicit save requests (\"remember this\", \"save that\", \"note for next time\"), and the moment a review, failing check, or user correction confirms a lesson; capture it before applying the fix. Also use at session end when a presented conclusion, design, or finding was later overturned or corrected. Use when a specific approach is confirmed: the user praises a reusable behavior, or an uncertain choice succeeds with observable evidence. This preserves lessons for future recall.","https:\u002F\u002Fgithub.com\u002Ftoejough\u002Fengram\u002Fblob\u002Fmain\u002Fdev\u002Feval\u002Fcumulative\u002Frunbook_vs_skill\u002Fphase2\u002Fencodings\u002FtaskWriteMemory\u002Frecall-learn\u002Flearn\u002FSKILL.md",[],[85,90,91,92,93,94,60,70,95,96,97,98,99,100,29,101,102,103,104,68],"time","remember","design","review","next","choice","work","check","behavior","fix","session","evidence","reusable","later","lesson",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":31},"01M6CWP2649X2F3WZ6EBJHA4MS","write-memory","Executes a vault write handed off by another skill (recall, learn): composes the engram command from the provided fields, runs it, verifies the result, and reports the written note path. Requires a handoff — do not fire on your own judgment that something is worth remembering.","https:\u002F\u002Fgithub.com\u002Ftoejough\u002Fengram\u002Fblob\u002Fmain\u002Fdev\u002Feval\u002Fcumulative\u002Frunbook_vs_skill\u002Fphase2\u002Fencodings\u002FtaskWriteMemory\u002FWM-S\u002Fskills\u002Fwrite-memory\u002FSKILL.md",[],[112,113,114,115,85,116,60,117,118,119,120,121,122],"write memory","write","memory","handoff","vault","command","reports","do","engram","another skill","judgment",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":132,"publishedAt":31},"01M6CWNYJCGD4B180MM5852D1N","test-driven-development","Use when implementing any feature or bugfix, before writing implementation code","https:\u002F\u002Fgithub.com\u002Ftoejough\u002Fengram\u002Fblob\u002Fmain\u002Fdev\u002Feval\u002Fcumulative\u002Frunbook_vs_skill\u002Fphase2\u002Fencodings\u002FtaskTDD\u002FTDD-S\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[129],{"categoryNo":130,"categoryName":131,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",[133,134,135,136,137,29,138],"test","test driven development","development","writing","code","implementation"]