Skip to content
Report library
Purpose / Other

Teach Skill Security Audit

What the author says it does (original text)

Teach the user a new skill or concept, within this workspace.

Independent security check

Security risks found

Files checked
6
Risks found
3
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.Risks found: 1
Medium risk

Suggests opening generated HTML through an unspecified CLI command

Source references: 4
What we found

The Skill tells the agent to run a command to open a lesson when possible, without constraining the command, browser, or confirmation flow. Lessons may also contain interactive scripts and shared components.

Why this matters

The agent may invoke a system default handler and run scripts from the generated page; if existing shared assets in the workspace were tampered with, opening the lesson would execute them in a local browser context. The supplied evidence does not show that such abuse will necessarily occur.

What this evidence establishes

The source does recommend opening a generated lesson through a CLI and permits interactive components, so scripts in a local HTML lesson could run when opened. However, it supplies no command, script implementation, external-program arguments, or mandatory automatic execution. The evidence therefore cannot establish that an unsafe command or malicious content would run, and opening a requested lesson is a normal teaching action. Users can require file generation only, or demand the full command and confirmation before execution.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:55In the instructionsOpen original file
If possible, open the lesson file for the user by running a CLI command.
Show 3 other places
SKILL.md:65In the instructionsOpen original file
Lessons are built from reusable **components**, stored in `./assets/`: stylesheets, quiz widgets, simulators, diagram helpers, and anything else a second lesson could reuse.Reuse is the default, not the exception. Before authoring a lesson, read `./assets/` and build from the components already there. When a lesson needs something new and reusable, write it as a component in `./assets/` and link to it; never inline code a future lesson would duplicate.
SKILL.md:103In the instructionsOpen original file
For skill acquisition, difficulty is the tool. Effortful retrieval is what builds storage strength. Skills should be taught through interactive lessons. There are several tools at your disposal:- Interactive lessons, using quizzes and light in-browser tasks- Lessons which guide the user through a list of real-world steps to take (for instance, yoga poses)
SKILL.md:105In the instructionsOpen original file
- Interactive lessons, using quizzes and light in-browser tasks- Lessons which guide the user through a list of real-world steps to take (for instance, yoga poses)
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 1
Medium risk

Persists the user's goals, preferences, abilities, and misconceptions in workspace files

Source references: 7
What we found

The Skill explicitly records real-world goals, constraints, teaching preferences, prior knowledge, evidence of understanding, and past misconceptions. These may reveal work, health, budget, or personal circumstances and are stored in ordinary Markdown files.

Why this matters

If the workspace is committed, cloud-synced, or shared, this learner profile and history could be disclosed unintentionally. Superseded records are retained rather than deleted.

The Skill persistently records teaching preferences, real-world goals, constraints, prior knowledge, evidence of understanding, and corrected misconceptions in ordinary workspace files. These fields could include budget, work, health, or other personal details, while the source sets no minimization, retention, or access-control rules. Risk depends on what the user discloses and whether the workspace is shared or synced; the evidence does not show automatic uploading. Users can require minimal records, exclusion of sensitive details, and disclosure of where files are stored.

SKILL.md:20In the instructionsOpen original file
- `./assets/*`: Reusable **components** shared across lessons. See [Assets](#assets).- `NOTES.md`: A scratchpad for you to jot down user preferences, or working notes.
Show 6 other places
MISSION-FORMAT.md:10In the instructionsOpen original file
## Why{1-3 sentences. The concrete real-world goal the user is chasing. What changes in their life or work when they have this skill? Avoid abstract framings like "to understand X"; push for the underlying outcome.}## Success looks like- {A specific, observable thing the user will be able to do}- {Another specific thing}- {…}## Constraints- {Time, budget, prior commitments, learning preferences, anything that bounds the approach}
LEARNING-RECORD-FORMAT.md:33In the instructionsOpen original file
1. **The user demonstrated genuine understanding of something non-trivial**: not just exposure, but evidence they can use the concept correctly. This sets a new floor for what to teach next.2. **The user disclosed prior knowledge**: "I already know X." Record it so future sessions don't re-teach it. Also record the _depth_ claimed.3. **A misconception was corrected**: the user previously believed something wrong and now sees why. These are high-value: they predict future stumbling blocks for related topics.4. **The mission shifted in response to learning**: the user discovered they cared about something different than they thought. Cross-link to [[MISSION.md]] and update it.
LEARNING-RECORD-FORMAT.md:46In the instructionsOpen original file
When a later record contradicts an earlier one (the user's understanding deepened or corrected), mark the old record `Status: superseded by LR-NNNN` rather than deleting it. The history of how understanding evolved is itself useful signal.
SKILL.md:140In the instructionsOpen original file
The user will sometimes express preferences of how they want to be taught, or things you should keep in mind. This is the place to record those preferences, so you can refer back to them when designing lessons or working with the user.
MISSION-FORMAT.md:11In the instructionsOpen original file
## Why{1-3 sentences. The concrete real-world goal the user is chasing. What changes in their life or work when they have this skill? Avoid abstract framings like "to understand X"; push for the underlying outcome.}
MISSION-FORMAT.md:19In the instructionsOpen original file
## Constraints- {Time, budget, prior commitments, learning preferences, anything that bounds the approach}
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
Medium risk

Persistently creates and modifies several kinds of files in the current directory

Source references: 6
What we found

The Skill declares the current directory to be the teaching workspace and directs the agent to create fixed-name root files, directories, HTML, styles, and learning records. It does not require confirmation that the directory is dedicated to teaching or specify safe handling of name collisions.

Why this matters

When invoked in an existing project or a directory with matching names, it may mix in many teaching artifacts or alter existing MISSION.md, RESOURCES.md, NOTES.md, and shared assets.

The Skill explicitly treats the current directory as its teaching workspace and persistently writes lessons, records, and shared components there. If invoked in an existing project, it may create or update several fixed paths; the source does not require confirming the directory, backing up name collisions, or avoiding overwrites. This supports a plausible risk to existing files, but does not show that an overwrite occurred. Users can require a dedicated subdirectory and confirmation before existing files are changed.

SKILL.md:12In the instructionsOpen original file
Treat the current directory as a teaching workspace. The state of their learning is captured in this directory in several files:
Show 5 other places
SKILL.md:49In the instructionsOpen original file
A lesson is the main thing you produce: the unit in which knowledge and skills reach the user. Each lesson is one self-contained HTML file, saved to `./lessons/` and titled `0001-<dash-case-name>.html` where the number increments each time.
SKILL.md:65In the instructionsOpen original file
Lessons are built from reusable **components**, stored in `./assets/`: stylesheets, quiz widgets, simulators, diagram helpers, and anything else a second lesson could reuse.Reuse is the default, not the exception. Before authoring a lesson, read `./assets/` and build from the components already there. When a lesson needs something new and reusable, write it as a component in `./assets/` and link to it; never inline code a future lesson would duplicate.A shared stylesheet is the first component every workspace earns: every lesson links it, so the lessons look like one consistent course rather than a pile of one-offs. As the workspace grows, so should the component library.
MISSION-FORMAT.md:30In the instructionsOpen original file
- **Push back on vagueness.** If the user cannot articulate why, interview them before writing anything. A bad mission is worse than no mission.- **Revise when reality shifts.** Missions change. When the user's goal moves, update this file: don't leave a stale mission steering future sessions.- **Keep it short.** If `MISSION.md` runs past a screen, it has stopped being a compass and started being a plan.
SKILL.md:67In the instructionsOpen original file
Reuse is the default, not the exception. Before authoring a lesson, read `./assets/` and build from the components already there. When a lesson needs something new and reusable, write it as a component in `./assets/` and link to it; never inline code a future lesson would duplicate.
SKILL.md:79In the instructionsOpen original file
Missions may change as the user develops more skills and knowledge. This is normal - make sure to update the `MISSION.md` and add a learning record to capture the change. Confirm with the user before changing the mission.
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

8 instruction sections

The Skill treats the current directory as a persistent teaching workspace and maintains mission, resource, note, lesson, reference, and learning-record files there.

View source
SKILL.md:12In the instructionsOpen original file
Treat the current directory as a teaching workspace. The state of their learning is captured in this directory in several files:
SKILL.md:14In the instructionsOpen original file
- `MISSION.md`: A document capturing the _reason_ the user is interested in the topic. This should be used to ground all teaching. Use the format in [MISSION-FORMAT.md](./MISSION-FORMAT.md).- `./reference/*.html`: A directory of reference materials. These are the compressed learnings from the lessons - cheat sheets, reference algorithms, syntax, yoga poses, glossaries. They are the raw units of learning. They should be beautiful documents which print out well, and are designed for quick reference.- `RESOURCES.md`: A list of resources which can be explored to ground your teaching in contextual knowledge, or to acquire knowledge and wisdom. Use the format in [RESOURCES-FORMAT.md](./RESOURCES-FORMAT.md).- `./learning-records/*.md`: A directory of learning records, which capture what the user has learned. These are loosely equivalent to architectural decision records in software development - they capture non-obvious lessons and key insights that may need to be revised later, or drive future sessions. These should be used to calculate the zone of proximal development. They are titled `0001-<dash-case-name>.md`, where the number increments each time. Use the format in [LEARNING-RECORD-FORMAT.md](./LEARNING-RECORD-FORMAT.md).- `./lessons/*.html`: A directory of lessons. A **lesson** is a single, self-contained HTML output that teaches one tightly-scoped thing tied to the mission. This is the primary unit of teaching in this workspace.- `./assets/*`: Reusable **components** shared across lessons. See [Assets](#assets).- `NOTES.md`: A scratchpad for you to jot down user preferences, or working notes.

Lessons are generated as self-contained HTML files and may contain in-browser quizzes, tasks, and links to external sources.

View source
SKILL.md:49In the instructionsOpen original file
A lesson is the main thing you produce: the unit in which knowledge and skills reach the user. Each lesson is one self-contained HTML file, saved to `./lessons/` and titled `0001-<dash-case-name>.html` where the number increments each time.
SKILL.md:59In the instructionsOpen original file
Each lesson should recommend a primary source for the user to read or watch. This should be the most high-quality, high-trust resource you found on the topic.
SKILL.md:103In the instructionsOpen original file
For skill acquisition, difficulty is the tool. Effortful retrieval is what builds storage strength. Skills should be taught through interactive lessons. There are several tools at your disposal:- Interactive lessons, using quizzes and light in-browser tasks- Lessons which guide the user through a list of real-world steps to take (for instance, yoga poses)

The Skill requires confirmation before changing the learning mission, while continually adding or updating learning records based on the user's demonstrated progress.

View source
SKILL.md:79In the instructionsOpen original file
Missions may change as the user develops more skills and knowledge. This is normal - make sure to update the `MISSION.md` and add a learning record to capture the change. Confirm with the user before changing the mission.
LEARNING-RECORD-FORMAT.md:31In the instructionsOpen original file
Write one when any of these is true:1. **The user demonstrated genuine understanding of something non-trivial**: not just exposure, but evidence they can use the concept correctly. This sets a new floor for what to teach next.2. **The user disclosed prior knowledge**: "I already know X." Record it so future sessions don't re-teach it. Also record the _depth_ claimed.3. **A misconception was corrected**: the user previously believed something wrong and now sees why. These are high-value: they predict future stumbling blocks for related topics.4. **The mission shifted in response to learning**: the user discovered they cared about something different than they thought. Cross-link to [[MISSION.md]] and update it.
Start here · InstructionsSKILL.md
teach
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source. 3 more sections are available in the original file.

File reference map

References: 4
Files making referencesReferenced content
Lines show actual file references, not execution order. Select a node to highlight its connections and inspect the files and source locations. Dashed lines include files that still need locating.
Files and check records6 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included
  • LEARNING-RECORD-FORMAT.mdFull text included
  • MISSION-FORMAT.mdFull text included
  • RESOURCES-FORMAT.mdFull text included
  • agents/openai.yamlFull text included
  • GLOSSARY-FORMAT.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • GLOSSARY-FORMAT.mdSupporting file
  • LEARNING-RECORD-FORMAT.mdSupporting file
  • MISSION-FORMAT.mdSupporting file
  • RESOURCES-FORMAT.mdSupporting file
  • SKILL.mdInstructions
  • agents/openai.yamlSupporting file

Operations mentioned in code and instructions

Connect to websites
RESOURCES-FORMAT.md:12In the instructionsOpen original file
- [Book: _The Science and Practice of Strength Training_ by Zatsiorsky & Kraemer](https://example.com)  Foundational text on programming and adaptation. Use for: anything to do with periodisation, recovery, intensity zones.
RESOURCES-FORMAT.md:14In the instructionsOpen original file
  Foundational text on programming and adaptation. Use for: anything to do with periodisation, recovery, intensity zones.- [Article: "How Much Should I Train?" by Greg Nuckols (Stronger By Science)](https://example.com)  Evidence-based review of volume landmarks. Use for: weekly set targets per muscle group.
RESOURCES-FORMAT.md:19In the instructionsOpen original file
- [r/weightroom](https://reddit.com/r/weightroom)  High-signal subreddit, moderated against bro-science. Use for: programme critique, plateau troubleshooting.
Lines read
295
File checksum (to compare versions)
1d19c159fb73bcd1cf47da7ad129f42c3c629f327f82437f23e065672e99f204