Update Project Skill
Re-analyze project source and regenerate one or more files under skills/.
User Input
$ARGUMENTS
Target Selection
- If
$ARGUMENTScontainsall, update both project skills. - Else if
$ARGUMENTScontainsduskmoon_bundlerorduskmoon-bundler, update onlyskills/duskmoon_bundler/. - Else if
$ARGUMENTScontainsphoenix-duskmoon-ui,phoenix_duskmoon, orphoenix-duskmoon, update onlyskills/phoenix-duskmoon-ui/. - Else if
$ARGUMENTSis empty, updateskills/phoenix-duskmoon-ui/for backward compatibility.
Only touch files for the selected target skill(s).
Phoenix Duskmoon UI Skill
Regenerate skills/phoenix-duskmoon-ui/SKILL.md and
skills/phoenix-duskmoon-ui/references/components.md.
1. Scan all component modules
Read every .ex file under:
apps/phoenix_duskmoon/lib/phoenix_duskmoon/component/apps/phoenix_duskmoon/lib/phoenix_duskmoon/css_art/
For each module, extract:
- Module name and category from the path: action, data_display, data_entry, feedback, navigation, layout, icon, fun
- All public
deffunctions with@doc type: :component - All
attr/3declarations: name, type, default, values - All
slot/2declarations: name, attrs - Whether the component requires a LiveView hook
2. Scan setup files
Read these files for integration details:
apps/phoenix_duskmoon/mix.exs- version, depsapps/phoenix_duskmoon/package.json- npm exportsapps/phoenix_duskmoon/assets/js/hooks/index.js- exported hooksapps/phoenix_duskmoon/assets/css/phoenix_duskmoon.css- CSS importsapps/phoenix_duskmoon/lib/phoenix_duskmoon/component.ex- main import moduleapps/phoenix_duskmoon/lib/phoenix_duskmoon/css_art.ex- CSS art import module
3. Regenerate SKILL.md
Update skills/phoenix-duskmoon-ui/SKILL.md with:
- Current version number from
mix.exs - Installation instructions: Hex and npm
- Setup steps: Elixir imports, CSS, JS hooks, element registration
- Architecture overview: v9 custom elements
- Hooks reference table
- Component quick reference tables organized by category
- Usage examples covering common patterns
- npm package exports table
Keep the YAML frontmatter name and description fields. Keep SKILL.md
under 500 lines and put detailed reference in the components file.
4. Regenerate components.md
Update skills/phoenix-duskmoon-ui/references/components.md with the full
attribute and slot reference for every component, organized by category.
5. Verify accuracy
After regenerating, spot-check 3-5 components by reading their source to confirm the documented attrs and slots match the actual code. Fix discrepancies.
6. Report changes
List what changed:
- New components added
- Components removed
- Attributes changed
- Version updated
Duskmoon Bundler Skill
Regenerate skills/duskmoon_bundler/SKILL.md and keep
skills/duskmoon_bundler/agents/openai.yaml aligned if the skill description or
default prompt changes.
1. Scan package metadata
Read:
apps/duskmoon_bundler/mix.exs- version, deps, aliases, docs groupsapps/duskmoon_bundler_runtime/mix.exs- runtime version and public modulesapps/duskmoon_npm/mix.exs- npm task package version and public docs groupsapps/duskmoon_bundler/package.json- package name and frontend/runtime deps- Root
config/config.exs,config/dev.exs, andconfig/test.exs- in-repo profile examples and lint config
Keep package versions current. If duskmoon_bundler,
duskmoon_bundler_runtime, and duskmoon_npm versions differ, document each
explicitly.
2. Scan user-facing docs
Read the current setup and feature docs before editing the skill:
apps/duskmoon_bundler/README.mdapps/duskmoon_bundler/guides/introduction/getting-started.mdapps/duskmoon_bundler/guides/deployment/production-builds.mdapps/duskmoon_bundler/guides/features/features.mdapps/duskmoon_bundler/guides/features/formatting-and-linting.mdapps/duskmoon_bundler/guides/features/tailwind.mdapps/duskmoon_npm/README.mdapps/duskmoon_npm/guides/introduction/getting-started.mdapps/duskmoon_npm/guides/reference/mix-tasks.mdapps/duskmoon_npm/guides/workflows/dependencies.mdapps/duskmoon_npm/guides/workflows/ci.md
Read feature-specific docs only when the skill needs that topic:
apps/duskmoon_bundler/guides/features/frameworks.mdapps/duskmoon_bundler/guides/features/plugins.mdapps/duskmoon_bundler/guides/features/environment-variables.mdapps/duskmoon_bundler/guides/features/static-assets.mdapps/duskmoon_bundler/guides/features/code-splitting.mdapps/duskmoon_bundler/guides/migration/from-esbuild.md
3. Scan implementation docs from source
Read module docs and task docs that define the real API:
apps/duskmoon_bundler/lib/duskmoon_bundler/config.exapps/duskmoon_bundler/lib/duskmoon_bundler/config/build.exapps/duskmoon_bundler/lib/duskmoon_bundler/config/server.exapps/duskmoon_bundler/lib/duskmoon_bundler/dev_server.exapps/duskmoon_bundler/lib/duskmoon_bundler/formatter.exapps/duskmoon_bundler/lib/mix/tasks/duskmoon_bundler.install.exapps/duskmoon_bundler/lib/mix/tasks/duskmoon_bundler.build.exapps/duskmoon_bundler/lib/mix/tasks/duskmoon_bundler.dev.exapps/duskmoon_bundler/lib/mix/tasks/duskmoon_bundler.js.format.exapps/duskmoon_bundler/lib/mix/tasks/duskmoon_bundler.js.check.exapps/duskmoon_bundler/lib/mix/tasks/duskmoon_bundler.lint.exapps/duskmoon_bundler_runtime/lib/duskmoon_bundler.exapps/duskmoon_bundler_runtime/lib/duskmoon_bundler/preload.exapps/duskmoon_bundler_runtime/lib/duskmoon_bundler/runtime/config.exapps/duskmoon_npm/lib/mix/tasks/npm.install.exapps/duskmoon_npm/lib/mix/tasks/npm.ci.exapps/duskmoon_npm/lib/mix/tasks/npm.run.exapps/duskmoon_npm/lib/mix/tasks/npm.exec.ex
Use source docs over older guides when they disagree.
4. Regenerate SKILL.md
Update skills/duskmoon_bundler/SKILL.md with:
- YAML frontmatter with
name: duskmoon-bundler; keep the directory nameduskmoon_bundler - A trigger-rich
descriptioncovering install, config, dev server, runtime helpers, production builds, Tailwind, formatter, lint, named profiles, and migration from esbuild, Tailwind CLI, Bun, npm, and yarn workflows - Current package version(s)
- Recommended setup path using
mix igniter.install duskmoon_bundler - Manual dependency setup with
:duskmoon_bundler_runtimeand:duskmoon_bundler duskmoon_npmusage for package management and when to add:duskmoon_npmexplicitly- Replacement guidance: use DuskmoonBundler for esbuild/Tailwind assets and
mix npm.installinstead ofbun add,bun install,npm install, oryarn install - npm workflow commands:
mix npm.init,mix npm.install,mix npm.install package,mix npm.install package --save-dev,mix npm.ci,mix npm.install --frozen,mix npm.verify,mix npm.run script, andmix npm.exec binary - Umbrella npm workspace guidance: root
package.json, per-web-app manifests, rootnpm.lock, and runningmix npm.installfrom the umbrella root - Warning not to use
only: :devfor:duskmoon_bundler - Single-app and named-profile config examples
- Dev server plug and watcher examples, including profile usage
- Layout helper examples for
DuskmoonBundler.static_path/2andDuskmoonBundler.Preload.tags/2 - Production build commands and alias guidance
- Formatting and linting setup and commands
- Validation commands for normal apps and profile-specific umbrella builds
- Troubleshooting for dev asset 404s, manifest misses, Tailwind source misses, and umbrella dependency resolution
Keep SKILL.md concise and under 500 lines. Do not create extra README,
quick-reference, changelog, or installation guide files inside the skill.
5. Update agents/openai.yaml if needed
If the generated skill changes the user-facing purpose, update
skills/duskmoon_bundler/agents/openai.yaml so it still matches:
interface:
display_name: "Duskmoon Bundler"
short_description: "Setup and use Duskmoon Bundler"
default_prompt: "Use $duskmoon-bundler to set up Phoenix assets with DuskmoonBundler."
Keep strings quoted and keep the default prompt explicitly mentioning
$duskmoon-bundler.
6. Verify accuracy
Spot-check at least these flows against source or docs:
- Installer edits from
Mix.Tasks.DuskmoonBundler.Install mix duskmoon_bundler.buildandmix duskmoon_bundler.devoptions- Runtime helper ownership in
duskmoon_bundler_runtime - Named profile usage in
config/config.exsand dev watcher config mix npm.install,mix npm.ci,mix npm.run, andmix npm.execbehavior- JS/TS format and lint commands
Validate the skill structure:
uv run --with pyyaml python /home/gao/.codex/skills/.system/skill-creator/scripts/quick_validate.py skills/duskmoon_bundler
7. Report changes
List what changed:
- Version updated
- Setup/config instructions changed
- Commands or options changed
- Runtime helper behavior changed
- Metadata changed
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.