Environment
- Surface: Web
- Browsers tested: Firefox and Google Chrome, including Chrome Incognito mode
- Devices tested: Multiple computers
- Affected feature: ChatGPT Skills
- Affected scope: All installed Skills on this account, more than 40 Skills in total
- Example Skill used for testing: Prompt Steward (
prompt-steward)
Bug
I’m seeing different Skill behavior with the same ChatGPT account depending on where I use it.
In Work mode, Skill access is available. For example, the Prompt Steward Skill can be accessed successfully: the system can read both the Skill instructions and an internal resource file.
In regular Chat, Skill access is not available. I tested this in several brand-new chats. Regular Chat does not provide a way to list or read Skills in the session, so it cannot find or access installed Skills.
This is not limited to Prompt Steward. The same issue affects all Skills installed on this account, including more than 40 installed Skills. Prompt Steward is only being used as a simple and repeatable test example.
I would expect Skills installed for the account to be available in regular Chat as well.
Reproduction
- Sign in to the same ChatGPT account and open Work mode.
- Check Skill access using Prompt Steward as the test example.
- Read the Prompt Steward Skill entry and internal resource:
skills://prompt-steward/skill.mdskills://prompt-steward/references/bundled-prompt-aliases.md
- Both files are read successfully in Work mode.
- Open a new regular Chat conversation using the same account.
- Run the same Skill access check.
- Regular Chat has no available Skill list or Skill reading capability, so it cannot access Prompt Steward or any of the other installed Skills.
I get the same result in Firefox, Chrome, and Chrome Incognito mode. I also restarted my computer and tested on another computer. The result is the same in every case.
Diagnostics
Work mode result:
- Skill access is available.
- The Prompt Steward Skill entry can be read successfully.
- The specified internal resource can also be read successfully.
Regular Chat result:
- No Skill list or Skill reading capability is available in the chat session.
- As a result, none of the more than 40 Skills installed on this account can be accessed or used in regular Chat.
- Prompt Steward is only the test example; the issue affects all installed Skills.
When it happened and how often:
- First noticed: September 22, 2026
- Frequency: Happens in every new regular Chat conversation I tested
- Duration: This has been happening for several days
I have attached screenshots showing the difference between Work mode and regular Chat.
The prompt is as below:【ChatGPT Skill Runtime Universal Access Check】This is a real Runtime verification of the current Chat, not a knowledge Q&A.
Test Objective
The following Skill serves as a test probe:
Display name: Prompt Steward
canonical slug: prompt-steward
Expected entry: skills://prompt-steward/skill.md
Verification resource: skills://prompt-steward/references/bundled-prompt-aliases.md
This test only determines:
whether the callable tool surface actually projected to you in this current Chat can truly read an installed Skill.
Do not judge whether the entire ChatGPT product supports Skills, and do not speculate about hidden tools.
- Find the currently truly callable Skill capabilities
First inspect the tools that actually exist in the current session.
Do not assume the tool must be named:
skills.read
skills__read
call_skill
open_skill_resource
Interface names may change.
Search by functional semantics:
List currently available Skills;
Read Skill instructions;
Read Skill supporting resources.
If a generic tool executor currently exists and can call other registered tools, also check the Skill list/read capabilities actually callable within it.
But do not discuss unverifiable hidden/deferred tools.
Only inspect the execution surface that is actually callable right now.
- Prioritize resolving the real Skill URI
If a Skill List / Directory capability exists, actually call it.
Look for:
Prompt Steward
prompt-steward
If found, use what the Runtime actually returns:
name;
slug;
URI
as authoritative.
Do not substitute ordinary Files, Library, Web, GitHub, Memory, or Plugin search for the Skill Directory.
If there is currently no List but there is a Skill Reader, you may directly try the known entry:
skills://prompt-steward/skill.md
- First-level real read
You must actually read the target Skill Entry.
Target:
skills://prompt-steward/skill.md
or the equivalent URI actually returned by the Skill Directory this time.
Only a successful real read counts as successful first-level verification.
None of the following count:
The Skill is visible in the UI;
@Prompt Steward can be displayed;
knowing what Prompt Steward is;
it was used in past chats;
it once succeeded in Work;
the Skill shows as installed.
- Second-level Resource verification
Only after the Skill Entry has been successfully really read, continue to read:
skills://prompt-steward/references/bundled-prompt-aliases.md
If the Skill Directory returned a different real Skill root, read this resource based on the real root.
After a successful read:
Confirm that internal Skill resources are accessible;
List the Preferred / Active aliases from the actual file content of this run.
Do not supplement based on past chats or memory.
- Diagnostic boundaries
If the Skill Reader really exists but the target returns:
not found
permission denied
inaccessible
or an equivalent real error
Do not say the Runtime does not exist.
This is a current access failure of the target Skill.
If, in the actually callable surface of the current Chat:
there is no Skill List;
there is no Skill Reader;
and there is no generic executor capable of calling an equivalent Skill Reader;
then only state:
The current Chat has not projected a callable Skill Read capability.
Do not further infer:
Skill package corruption;
ZIP error;
YAML error;
metadata error;
slug error;
Skill not installed;
ChatGPT as a whole does not support Skills.
- Do not do these things first
Before there is direct evidence from the Skill file, do not ask me to:
uninstall the Skill;
reinstall the Skill;
modify YAML;
modify metadata;
repackage the ZIP;
upload a knowledge base;
change the Skill name.
- Only four final outcomes are allowed
A. SKILL_RUNTIME_ACCESSIBLE
Satisfies:
The Skill Entry has been successfully really read;
the specified internal resource has been successfully really read.
This is a complete pass.
B. SKILL_ENTRY_ACCESSIBLE_RESOURCE_FAILED
Satisfies:
The Skill Entry has been successfully really read;
the specified internal resource has been actually attempted but failed.
Report the real error.
C. SKILL_READER_PRESENT_TARGET_FAILED
Satisfies:
The current Skill List/Reader truly exists and has actually been called;
but the target Skill returns not found, permission denied, inaccessible, or an equivalent real error.
D. SKILL_READ_SURFACE_ABSENT
Satisfies:
The actually callable tool surface of the current Chat has no Skill list/read;
and no generic executor capable of actually calling an equivalent Skill reader.
D only means:
The current Chat has not received a projection of Skill Read capability.
D does not mean the Skill package is corrupted.
- Final output format
Return only:
Final Result
A / B / C / D + status name
Skill Runtime
Actually discovered Skill List interface:
Actually discovered Skill Read interface:
Whether a real call occurred:
Skill Entry
Actual URI:
Status:
Call result:
Internal Resource
Actual URI:
Status:
Call result:
Aliases
List only when the second-level resource was successfully read, based on the actual file content.
Conclusion Boundary
Only write facts that the current call can prove.
Do not provide installation instructions.
Do not continue modifying the Skill.
Now directly execute the real Runtime verification.

