Michat skill implementation
Skill filmicgaze/MiChat-desktop/.codex/skills/michat-skill-implementation
Windows desktop chat client for profile-based agents with gated local tools and skills.
npx -y skills add filmicgaze/MiChat-desktop --skill michat-skill-implementationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Repo guidance for implementing a new MiChat agent skill and its tool wiring.
SKILL.md
2.4 KB, 518 tokens by cl100k_base, as published. Nobody here has run it
Architecture assumptions
- MiChat is profile-driven:
profiles/<profile>/holdsprofile.json,system_prompt.txt,skills/,ui.json. - Agent skills are
SKILL.mdfiles underprofiles/<profile>/skills/<slug>/SKILL.md. - Tool capability boundaries are enforced by toolsets +
enabled_toolsetsinprofile.json. - MiChat requires a profile; no legacy root
./skillsfallback exists.
Implementation loop
Follow the steps in order. Do not improvise or skip steps. If anything is unclear or missing, ask for clarification before editing.
A) Decide placement
- Decide if this is a new toolset or belongs to an existing toolset.
- Choose which profiles should get it (toolset enablement + skill file).
B) Implement code
- Add/update the Python tool implementation.
- Register the tool in the correct toolset (toolsets registry).
- Ensure only profiles that enable the toolset can see/use the tool.
C) Add MiChat agent skill files
-
Create/edit
SKILL.mdunder the relevant profile(s) only. -
YAML frontmatter: require only
nameanddescription. -
If
allowed_toolsis used (per spec), list only tool names that exist in enabled toolsets for that profile.
D) Wire and sanity check
- Ensure manifest injection lists available skills for the active profile.
- Ensure
read_skillreads from the selected profile skills dir only.
E) Output verification steps (for Nicholas)
- Provide exact commands, e.g.:
python -m michat.shell --profile <name> --debugpython -m michat.chat --profile <name> --debug
- State exactly what to check (tool list, skill list, expected behavior).
- Use the repo’s current run entrypoints; the examples above are current as of this repo state.
House rules / constraints
- Follow the steps above as written; do not improvise or skip steps.
- Ask for clarification when information is missing or ambiguous.
- Never create/copy secrets or tokens; never commit
token.jsonorclient_secret*.json. - Do not use AppData or write outside the repo/exe folder; runtime state belongs under ./data and profile resources under profiles/<profile>/...
- Keep changes small and reversible; avoid refactors unless asked.
- If behavior depends on runtime UI, ask Nicholas to run and paste logs instead of guessing.
What ships with it: 1 file
246 B alongside SKILL.md
agents/
- openai.yaml246 B