بنقرة واحدة
structured-logging-contract
Apply a stable method/step structured logging contract without using jig.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Apply a stable method/step structured logging contract without using jig.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
When the user wants to codify a repeatable code generation pattern into a jig recipe — design variables, choose operations (create/inject/patch/replace), write Jinja templates, and validate the result. Use when someone says "I keep writing this same boilerplate", "make a recipe for X", or wants to turn a manual edit into an automated pattern.
When the user needs to chain multiple jig recipes into a multi-step workflow with conditional execution and shared variables. Use when a pattern spans multiple files that need coordinated creation and modification, like scaffolding an entire endpoint or a full feature slice.
Scaffold queryset/manager/selector layers and wire view reads through selector entrypoints with jig.
Generate two-step rollout-safe Django migrations plus model-field patching using jig.
Insert consistent method/step structured logging lines into target functions using jig.
Write deterministic service tests with stable fixtures and boundary mocks without using jig.
| name | structured-logging-contract |
| description | Apply a stable method/step structured logging contract without using jig. |
Use this skill for code paths that need stable observability. Implement the file edits directly. Do not return a checklist-only response.
target_filefunction_nameevent_namespacestep_nameentity_id_exprtarget_file.import logging and define logger = logging.getLogger(__name__) at module scope.event_namespace + ".start" with the provided variable value.event_namespace + ".done" with the provided variable value.extra={...} with exactly these keys:"method": function_name using the provided function name literal"step": step_name using the provided step name literal"entity_id": entity_id_expr using the provided entity id expression.done suffix, not an alternate phase name such as .complete.extra data.