Skip to content

Turn the charming skill into an app-building guide, not just a CLI reference - #9

Merged
michaelmagan merged 1 commit into
mainfrom
skill-app-building-guide
Aug 23, 2026
Merged

Turn the charming skill into an app-building guide, not just a CLI reference#9
michaelmagan merged 1 commit into
mainfrom
skill-app-building-guide

Conversation

@michaelmagan

Copy link
Copy Markdown
Contributor

Summary

  • skills/charming/SKILL.md only documented CLI verbs (auth, apps create/list/describe/source/update/call/delete). It said nothing about the app contract itself, so an agent following it had no way to know what a working module.js/ui.js needs to contain.
  • Ported the transport-agnostic parts of the contract (manifest shape, capability imports, env.storage rules, window.charming.api calling convention, sandbox gotchas, the stone design system, and hard-won patterns like undo-toast deletes and migration discipline) from the internal MCP-flavored skill, adapted for the CLI's actual workflow (full-bundle update with ETag matching, not MCP's edits[]/revision).
  • Split into SKILL.md + resources/contract.md (long-form capability/permissions/secrets/images reference) + resources/patterns.md, mirroring the existing resources/ convention.
  • Added templates/crud/ (module.js + ui.js + styles.css) as a real, copyable starter — cp -r "$(npm root -g)/usecharming/templates/crud" ./my-app — instead of building a scaffold-generator command. Added templates to package.json's files.
  • Fixed examples/hello/module.js, which was still on a pre-contract manifest shape (version, displayName, capabilities.exports, readOnly instead of annotations.readOnlyHint) that the current API would reject.

Test plan

  • bun run typecheck — passes (no TS files touched)
  • bun run test — 111/111 passing
  • node --check on every new/changed .js file
  • node bin/run.js apps create ./templates/crud --dry-run and ... ./examples/hello --dry-run — both bundle and print correctly

🤖 Generated with Claude Code

skills/charming/SKILL.md was a command reference with no mention of the
app contract: manifest shape, capabilities, env.storage rules, the
window.charming.api calling convention, sandbox gotchas, or the design
system an agent needs to build something that actually works.

Port the universal (transport-agnostic) parts of the contract, split
into SKILL.md plus resources/contract.md and resources/patterns.md,
and add a templates/crud starter so agents copy a working skeleton
instead of free-handing one from memory. Also fix examples/hello,
which was still on the pre-contract manifest shape (version,
displayName, capabilities.exports) and would fail create against the
current API.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@michaelmagan
michaelmagan force-pushed the skill-app-building-guide branch from 111dce1 to 9b0f374 Compare August 23, 2026 18:17
@michaelmagan
michaelmagan merged commit be4c1ee into main Aug 23, 2026
3 checks passed
@michaelmagan
michaelmagan deleted the skill-app-building-guide branch August 23, 2026 18:18
michaelmagan added a commit that referenced this pull request Aug 23, 2026
#11)

main shipped a literal leftover '>>>>>>> 111dce1 (...)' conflict-marker
line from #9's merge, live on the public repo and served by ClawHub
and Hermes. Also re-applies the version pin on the npm install
example, lost in the same merge (ClawHub's security scan flags a
bare, unpinned npm install -g as MEDIUM supply_chain risk).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant