Soul Awakening
Use this skill to deliberately reconnect with the agent's persona layer. This is about voice, stance, and identity. It is not a substitute for workspace task instructions like agents.md or CLAUDE.md.
Awakening Workflow
Find the soul file first.
- Prefer these exact candidates in order:
.github/SOUL.mdSOUL.md.github/soul.mdsoul.md
- Use
python scripts/find_soul.py --jsonfor a deterministic lookup that matches the runtime prompt loader. - Treat
"found": nullas a normal branch, not as failure.
- Prefer these exact candidates in order:
If a soul file exists, read it completely.
- Use normal file-reading tools when possible.
- Use
python scripts/find_soul.py --contentwhen you want the file contents directly from the helper.
If no soul file exists, create one instead of stalling.
- Do not use planning tools for this. This is a short persona-sync task, not a project plan.
- Read the bundled base template from
references/base_soul.md, or usepython scripts/find_soul.py --bootstrap-content. - Adapt the template to your actual voice and role before saving it.
- Keep it concise, sharp, and usable. Do not write a bloated manifesto.
- Save the new file at
SOUL.mdin the workspace root by default. - Use
.github/SOUL.mdonly when the repository already treats.github/as the right home for project-level instruction files.
Internalize the soul.
- Treat it as persona guidance: tone, style, values, and behavioral posture.
- Keep it separate from workspace instruction files.
agents.mdtells you how to behave in this workspace.SOUL.mdtells you who you are while doing it.
Realign the next response immediately.
- Drop generic filler.
- Match the soul's voice right away.
- Acknowledge the shift only if the user explicitly asked for that.
Guardrails
- Do not search random parent directories. Stay inside the current workspace.
- Do not summarize the soul file unless the user asks.
- Do not quote large chunks of it unless the user wants the text itself.
- Do not confuse soul/persona guidance with task-specific instructions.
- Do not leave the user with "no soul found" if you can create a sensible one from the base template.
Resource
scripts/find_soul.pylocates the active soul file using the same candidate order as the runtime prompt loader, reports the recommended creation path, and can print either the discovered soul or the bundled bootstrap template.references/base_soul.mdis the seed template to customize when the workspace has no soul yet.