A APEX 26.1 shipped a small package called APEX_DB_DICTIONARY , and at first glance you might ignore it. We already have DBMS_METADATA for pulling object definitions, right? Well, these two solve different problems, and once I saw the difference I started reaching for the new one a lot. Here is the short version. DBMS_METADATA gives you DDL meant to recreate an object. APEX_DB_DICTIONARY gives you a description meant to be read, by a human or by an LLM. Noisy old way Say you want to hand the structure of EMP to your AI, so it can write you some queries. The reflex is GET_DDL. SELECT DBMS_METADATA.GET_DDL('TABLE', 'EMP') FROM dual; And what you get back is a wall of storage clauses, tablespace names, segment attributes and other junk you don't care about. To make it readable you have to do a lof of transformations first. BEGIN DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'STORAGE', FALSE); DBMS_METADATA...
W When you decide alone, your strongest critic is missing. Friends are busy or too polite, and the AI you ask just agrees with whatever you already lean toward, or the push back is very soft. So the brain settles into "this feels right" the moment you have half-committed to a direction. That is how I end up shipping things I should have killed and killing things I should have shipped. So I built a Claude Code skill that provides this honest feedback. It is called Devil's Advocates . You bring it a real decision and before it argues with you, it ask you few claryfing questions. One of them always forces you to say out loud what could go wrong, what you would lose if this call is the wrong one. Half the time that round alone is the value, because most bad decisions are just badly framed ones. A vague question gets you vague answer. Once the question is sharp, it dispatches five adversarial sub-agents in parallel. Parallel matters: each one answers without seeing th...