Codex Skills: कोड रिव्यू टास्क पर निर्माण, निष्पादन और सत्यापन
लोकल Codex Skill बनाने के लिए एक व्यावहारिक गाइड: डायरेक्टरी संरचना, SKILL.md सिंटैक्स, CLI में स्पष्ट और अप्रत्यक्ष निष्पादन, और एक वास्तविक पेजिनेशन बग पर परिदृश्य का सत्यापन।
विषय-सूची

Codex में Skills मैकेनिज़्म
आधिकारिक दस्तावेज़ में वर्णित स्किल्स (skills) मैकेनिज़्म, सिस्टम संदर्भ को ओवरलोड किए बिना एजेंट से विशेष कार्यों के लिए निर्देश और टेम्पलेट जोड़ता है।
एक स्किल अनिवार्य SKILL.md फ़ाइल वाली एक डायरेक्टरी होती है। इसके YAML frontmatter में name और description फ़ील्ड अनिवार्य हैं, जबकि मुख्य भाग में मॉडल के लिए नियम होते हैं:
.agents/skills/boundary-review/
└── SKILL.md
Codex प्रोग्रेसिव डिस्क्लोज़र का उपयोग करता है: स्टार्टअप पर, उपलब्ध स्किल्स का एक कॉम्पैक्ट इंडेक्स तैयार किया जाता है। एजेंट द्वारा SKILL.md का पूरा पाठ केवल तभी पढ़ा जाता है जब वह किसी विशिष्ट स्किल को लागू करने का निर्णय लेता है।
स्किल्स की खोज चार स्तरों पर की जाती है:
- रिपॉजिटरी (
REPO): वर्तमान डायरेक्टरी में और Git रूट तक ऊपर की ओर.agents/skills। - यूज़र (
USER):$HOME/.agents/skills। - एडमिन (
ADMIN):/etc/codex/skills। - सिस्टम (
SYSTEM): एनवायरनमेंट सिस्टम डायरेक्टरी (bundled)।
कॉल या तो स्पष्ट रूप से ($имя प्रीफ़िक्स के माध्यम से) या अप्रत्यक्ष रूप से (प्रॉम्प्ट और description के बीच सिमेंटिक मिलान के आधार पर) की जाती है। उपलब्धता और विरोधों को config.toml फ़ाइल में प्रबंधित किया जाता है।
पूर्वापेक्षाएँ और आइसोलेशन
इस परिदृश्य को दोहराने के लिए निम्नलिखित आवश्यक हैं:
- Python 3;
- एक इंस्टॉल और अधिकृत Codex CLI कमांड-लाइन इंटरफ़ेस।
परीक्षण डेटा 2026-09-16 को Codex CLI संस्करण 0.153.3 पर दर्ज किया गया था।
सभी कमांड Git रिपॉजिटरी के बाहर एक तैयार स्थानीय डायरेक्टरी में निष्पादित किए जाते हैं। चूँकि SKILL.md में दिए गए टेक्स्ट निर्देश मॉडल के व्यवहार को निर्देशित करते हैं लेकिन ऑपरेटिंग सिस्टम अलगाव की गारंटी नहीं देते हैं, इसलिए रन निम्नलिखित फ़्लैग्स के साथ निष्पादित किए जाते हैं:
--ephemeral: सत्र की स्थिति को सहेजने से रोकता है;--skip-git-repo-check: Git के बिना एक अलग फ़ोल्डर में चलाने की अनुमति देता है;--sandbox read-only: निष्पादन परिवेश स्तर पर प्रक्रिया की राइट एक्सेस को प्रतिबंधित करता है।
CLI वैश्विक कॉन्फ़िगरेशन इनहेरिट कर सकता है और तीसरे पक्ष के हुक के बारे में सर्विस चेतावनियाँ जारी कर सकता है, इसलिए वास्तविक सत्यापन पूरी तरह से लक्षित स्किल के पढ़ने की घटनाओं पर निर्भर करता है।
boundary-review स्किल बनाना
वर्तमान डायरेक्टरी में स्किल डायरेक्टरी बनाएं:
mkdir -p .agents/skills/boundary-review
निम्नलिखित सामग्री को .agents/skills/boundary-review/SKILL.md में सहेजें:
---
name: boundary-review
description: Review Python pagination code for boundary errors and show one minimal failing input. Use when asked to review pagination boundaries.
---
Read the provided Python file. Do not edit it. Begin your answer with BOUNDARY_REVIEW. Report a specific failing input, expected and actual result, and a minimal correction. Do not inspect files outside this project.
यह टेक्स्ट निर्देश मॉडल को फ़ाइलों को संशोधित करने से रोकता है और एक विफल इनपुट मान की रिपोर्ट करते हुए अपने उत्तर को BOUNDARY_REVIEW सिग्नल मार्कर से शुरू करने की आवश्यकता रखता है।
त्रुटिपूर्ण टेस्ट फ़ाइल
पेज संख्या की गणना करते समय एक सामान्य ऑफ-बाय-वन त्रुटि के साथ pages.py फ़ाइल बनाएं:
def page_count(total, size):
return total // size + 1
size > 0 और total >= 0 की शर्तों के तहत, यह फ़ंक्शन सीमा मानों पर विफल हो जाता है: total = 1 और size = 1 के साथ, यह 1 के बजाय 2 लौटाता है। इसके अतिरिक्त, total = 0 वाली खाली सूची के लिए, फ़ंक्शन 1 लौटाएगा।
निष्पादन और कॉल का सत्यापन
क्वेरी को सिंगल कोट्स में पास किया जाता है ताकि कमांड प्रोसेसर $ प्रतीक को एनवायरनमेंट वेरिएबल के रूप में व्याख्यायित न करे।
1. नाम से स्पष्ट कॉल
सीधे स्किल निर्दिष्ट करते हुए एक स्पष्ट जाँच चलाएँ:
codex exec --ephemeral --skip-git-repo-check --sandbox read-only 'Review pages.py using $boundary-review'
मॉडल परिणाम लौटाता है:
BOUNDARY_REVIEW
Failing input:
page_count(1, 1)
Expected result: 1
Actual result: 2
Minimal correction:
def page_count(total, size):
return (total + size - 1) // size
केवल BOUNDARY_REVIEW मार्कर की उपस्थिति यह साबित नहीं करती है कि SKILL.md लोड किया गया था, क्योंकि मार्कर टेक्स्ट प्रॉम्प्ट के संदर्भ से उत्पन्न किया जा सकता था। 2026-09-16 के वास्तविक रन में, सिस्टम लॉग ने .agents/skills/boundary-review/SKILL.md फ़ाइल को पढ़ने वाली कमांड घटना को दर्ज किया। लॉग में फ़ाइल-रीड घटना, BOUNDARY_REVIEW प्रीफ़िक्स और page_count(1, 1) जवाबी उदाहरण का संयोजन लक्षित निर्देश के निष्पादन की पुष्टि करता है।
2. विवरण के आधार पर अप्रत्यक्ष कॉल
$boundary-review पहचानकर्ता का उल्लेख किए बिना प्राकृतिक भाषा में कार्य तैयार करें:
codex exec --ephemeral --skip-git-repo-check --sandbox read-only 'Review the pagination boundaries in pages.py'
इस रन के लॉग ने भी क्वेरी वाक्यांश और description फ़ील्ड के बीच सिमेंटिक मिलान के कारण .agents/skills/boundary-review/SKILL.md के पढ़े जाने को रिकॉर्ड किया। एजेंट ने BOUNDARY_REVIEW मार्कर और इनपुट (1, 1) पर विफलता के विश्लेषण के साथ एक समान संरचित प्रतिक्रिया उत्पन्न की।
लॉजिक सत्यापन और पाठक के लिए चरण
आइए स्थानीय Python इंटरप्रेटर का उपयोग करके मूल फ़ंक्शन व्यवहार की जाँच करें:
python3 -c "from pages import page_count; print(page_count(1, 1))"
यह कमांड 2 आउटपुट देता है, जिससे दोष की पुष्टि होती है।
2026-09-16 के बेंचमार्क रन के दौरान, मूल pages.py फ़ाइल अपरिवर्तित रही; संशोधित फ़ाइल पर कोई दोबारा CLI रन नहीं किया गया। total >= 0 और size > 0 के लिए प्रस्तावित सूत्र (total + size - 1) // size की गणितीय शुद्धता को सीमा सेटों पर सत्यापित किया गया:
(0, 10)->0;(1, 1)->1;(10, 10)->1;(11, 10)->2।
इसे मैन्युअल रूप से ठीक करने के लिए, पाठक pages.py को इस प्रकार अपडेट कर सकते हैं:
def page_count(total, size):
if total == 0:
return 0
return (total + size - 1) // size
परिवर्तनों को सहेजने के बाद, पाठक पुष्टि जाँच निष्पादित कर सकते हैं:
python3 -c "from pages import page_count; assert page_count(0, 10) == 0; assert page_count(1, 1) == 1; assert page_count(10, 10) == 1; assert page_count(11, 10) == 2; print('OK')"
फ़ाइल को मैन्युअल रूप से संपादित करने के बाद कमांड का अपेक्षित आउटपुट OK है।
समस्या निवारण
यदि कोई स्किल नहीं मिलती है या स्वचालित रूप से ट्रिगर होने में विफल रहती है:
- फ़ाइल पाथ: सत्यापित करें कि कार्यशील डायरेक्टरी के सापेक्ष पाथ बिल्कुल
.agents/skills/<skill-name>/SKILL.mdहै। - रजिस्ट्री रीफ़्रेश: यदि सक्रिय सत्र के दौरान फ़ाइलें जोड़ी गई थीं, तो डायरेक्टरी को फिर से स्कैन करने के लिए CLI प्रक्रिया को पुनरारंभ करें।
- कॉन्फ़िगरेशन ब्लॉक:
~/.codex/config.tomlकी जाँच करें। यदि स्किल अक्षम थी, तो इस प्रकार की प्रविष्टि:
इसके लोड होने को ब्लॉक कर देगी। ब्लॉक को हटा दें या[[skills.config]] path = "/полный/путь/к/.agents/skills/boundary-review/SKILL.md" enabled = falseenabled = trueसेट करें। - नाम विरोध: यदि रिपॉजिटरी और यूज़र स्तर दोनों पर समान
nameमान मौजूद हैं, तो प्राथमिकता नियम अस्पष्टता पैदा कर सकते हैं। - description की सटीकता: अप्रत्यक्ष कॉल के लिए, मुख्य ट्रिगर (“pagination boundaries”, “boundary errors”) विवरण की शुरुआत के करीब होने चाहिए।
- थर्ड-पार्टी स्किल्स: जब बाहरी पैकेज लोड करने की आवश्यकता होती है, तो प्रवेश बिंदु
$skill-installerउपयोगिता है। किसी भी तीसरे पक्ष के कौशल के निष्पादन से पहले उनकीSKILL.mdफ़ाइलों औरscripts/डायरेक्टरी का अनिवार्य मैन्युअल ऑडिट आवश्यक है। वर्णित परिदृश्य में, कोई भी थर्ड-पार्टी घटक स्थापित नहीं किए गए थे।