Skill Authoring
- Repo stars 1,200
- Author repo space-agent
Use this skill when creating or updating skills for the onscreen chat agent.
Skill File Layout
- Onscreen chat-agent skills live inside browser modules under
mod/<author>/<repo>/ext/skills/.... - Repo-owned first-party shared onscreen skills should normally live under
app/L0/_all/mod/_core/skillset/ext/skills/.... - Module-specific skills that describe one module's private contracts may live under that owning module's
ext/skills/...tree. - Group-scoped or admin-only onscreen skills may live under readable customware roots such as
app/L0/_admin/mod/_core/<module>/ext/skills/.... - A skill file is always named
SKILL.md. - The skill id is the path relative to
ext/skills/with the trailing/SKILL.mdremoved.
Examples:
mod/_core/skillset/ext/skills/browser-control/SKILL.md->browser-controlmod/_core/skillset/ext/skills/development/SKILL.md->developmentmod/_core/skillset/ext/skills/development/modules-routing/SKILL.md->development/modules-routing
Catalog Rules
- The onscreen prompt catalog lists only top-level skills from
ext/skills/*/SKILL.md. - Nested skills are not listed by default.
- Both the catalog and explicit
space.skills.load(...)calls evaluate the current document's<x-context>tags before a skill is eligible. metadata.whenmay betrueor a{ tags: [...] }condition;metadata.when.tagsrequires all listed tags before the skill becomes catalog-loadable.metadata.placementacceptssystem,transient, orhistory; ordinary skills default missing or invalid placement tohistory, but auto-loaded skills may not resolve tohistory, so missing or invalid placement and explicithistoryall fall back tosystemunless the skill explicitly setstransient.- Only top-level
ext/skills/*/SKILL.mdskills can auto-load through prompt discovery. Nested skills stay explicit-load-only routing targets even if they definemetadata.loaded. - Auto-loaded skills appear after the catalog in the
auto loadedprompt block when their effective placement issystem, or in the transient channel when they explicitly setmetadata.placement: transient. - Routing skills should tell the agent which deeper skill ids to load next.
space.skills.load("<path>")loads the full skill file on demand and applies the same placement rule.historyplacement keeps the loaded skill body in ordinary execution-output history.systemplacement stores the loaded skill in the current chat's runtime system-skill registry and execution reportsskill loaded to system message.transientplacement stores the loaded skill in the current chat's runtime transient-skill registry and execution reportsskill loaded to transient area.- Auto-loaded skills cannot resolve to
history; if they also setmetadata.loaded, thenmetadata.placement: historyis treated assystem. - A plain top-level
await space.skills.load("<path>")is enough to apply the placement; usereturnonly if you also want the execution result value explicitly.
Conflict Rules
- Skill ids must be unique across readable mods.
- If a skill is visible only to a narrower audience, still give it a top-level id that will not collide with shared
_allskills that those users can also read. - Conflicting ids are omitted from the catalog.
- Loading a conflicting id fails with an ambiguity error.
Skill Content Rules
- Start with frontmatter containing
name,description, and optional runtime-ownedmetadata. - Framework bootstrap already exports exactly one runtime context:
data-runtime="browser"in normal web sessions ordata-runtime="app"in the packaged desktop runtime, plus the derived tagruntime-browserorruntime-app; packaged app routes derive that from the desktop bridge before falling back to launcher runtime info or frontend config. - Import
/mod/_core/framework/js/context.jswhen code needs to read the current live<x-context>set directly; usegetTags(...)for tag collection,getAttributeValues("data-runtime", ...)for raw runtime reads, and the other helpers for broader context inspection. - Use
<x-context>tags in mounted DOM when a module needs to expose additional live skill-filter state such asonscreen,admin,route:spaces, orspace:open. - Use
metadata.when.tagswhen the skill should exist only in those live contexts. - Use
metadata.loadedonly when the skill should be auto-injected without an explicitspace.skills.load(...)call. - Use
metadata.placement: systemwhen the skill body is durable instruction,metadata.placement: transientwhen it should live in the mutable transient block, and let the defaulthistoryplacement stand only for ordinary non-auto-loaded skills that should behave like normal conversation context. - Prompt-facing skill text is token-budgeted. Keep wording terse, avoid unnecessary markdown or filler, and measure before or after changes with the local tokenizer when you edit auto-loaded or catalog-facing skill text.
- When a skill needs reusable browser logic, prefer a small JS helper stored inside that skill's own folder and imported from a stable
/mod/<author>/<repo>/ext/skills/...path instead of pasting a long inline script intoSKILL.md. - Keep the top-level router skill directive and concise.
- Keep nested skills focused on one stable area.
- Prefer exact file paths, runtime names, and examples over vague guidance.
- If a skill subtree becomes complex, add an
AGENTS.mdfile inside that subtree and keep it current.
Maintenance Rules
- When a mirrored source contract changes, update the affected skill files in the same session.
- When a stable feature or workflow changes, update the relevant docs under
/mod/_core/documentation/docs/and the documentation skill at/mod/_core/documentation/ext/skills/documentation/SKILL.mdin the same session. - Do not let skill guidance drift away from the owning
AGENTS.mdfiles. - For the development super-skill specifically, keep
/mod/_core/skillset/ext/skills/development/AGENTS.mdcurrent whenever the framework, router, API, layer, or auth contracts it mirrors change.
- Fluxly category
- AI
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @agent0ai · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Guided setup
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Unspecified
- Detected file/system behavior
-
- Read-only
- Write / modify
- Shell exec
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. Onscreen chat-agent skills live inside browser modules under mod/<author>/<repo>/ext/skills/.... Repo-owned first-party shared onscreen skills should normally live under app/L0/all/mod/core/skillset/ext/skills/.... Module-specific skills that describe one…
The onscreen prompt catalog lists only top-level skills from ext/skills//SKILL.md. Nested skills are not listed by default. Both the catalog and explicit space.skills.load(...) calls evaluate the current document's <x-context> tags before a skill is eligible.
Skill ids must be unique across readable mods. If a skill is visible only to a narrower audience, still give it a top-level id that will not collide with shared all skills that those users can also read. Conflicting ids are omitted from the catalog.
Start with frontmatter containing name, description, and optional runtime-owned metadata. Framework bootstrap already exports exactly one runtime context: data-runtime="browser" in normal web sessions or data-runtime="app" in the packaged desktop runtime, plus…
When a mirrored source contract changes, update the affected skill files in the same session. When a stable feature or workflow changes, update the relevant docs under /mod/core/documentation/docs/ and the documentation skill at…
Use this skill when creating or updating skills for the onscreen chat agent.
## Skill File Layout
- Onscreen chat-agent skills live inside browser modules under `mod/<author>/<repo>/ext/skills/...`.
- Repo-owned first-party shared onscreen skills should normally live under `app/L0/_all/mod/_core/skillset/ext/skills/...`.
- Module-specific skills that describe one module's private contracts may live under that owning module's `ext/skills/...` tree.
- Group-scoped or admin-only onscreen skills may live under readable customware roots such as `app/L0/_admin/mod/_core/<module>/ext/skills/...`.
- A skill file is always named `SKILL.md`.
- The skill id is the path relative to `ext/skills/` with the trailing `/SKILL.md` removed.
Examples:
- `mod/_core/skillset/ext/skills/browser-control/SKILL.md` -> `browser-control`
- `mod/_core/skillset/ext/skills/development/SKILL.md` -> `development`
- `mod/_core/skillset/ext/skills/development/modules-routing/SKILL.md` -> `development/modules-routing`
## Catalog Rules
- The onscreen prompt catalog lists only top-level skills from `ext/skills/*/SKILL.md`.
- Nested skills are not listed by default.
- Both the catalog and explicit `space.skills.load(...)` calls evaluate the current document's `<x-context>` tags before a skill is eligible.
- `metadata.when` may be `true` or a `{ tags: [...] }` condition; `metadata.when.tags` requires all listed tags before the skill becomes catalog-loadable.
- `metadata.placement` accepts `system`, `transient`, or `history`; ordinary skills default missing or invalid placement to `history`, but auto-loaded skills may not resolve to `history`, so missing or invalid placement and explicit `history` all fall back to `system` unless the skill explicitly sets `transient`.
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> Skill File Layout → Catalog Rules → Conflict Rules → Skill Content Rules → Maintenance Rules
terms -> Use this skill when creating or updating skills for the onscreen chat agent. · - Onscreen chat-agent skills live inside browser modules under mod/<author>/<repo>/ext/skills/.... · - The onscreen prompt catalog lists only top-level skills from ext/skills//SKILL.md. · - Skill ids must be unique across readable mods. · - Start with frontmatter containing name, description, and optional runtime-owned metadata. · - When a mirrored source contract changes, update the affected skill files in the same session.
files/cmd -> mod/<author>/<repo>/ext/skills/... · app/L0/all/mod/core/skillset/ext/skills/... · ext/skills/... · app/L0/admin/mod/core/<module>/ext/skills/... · ext/skills/ · /SKILL.md · mod/core/skillset/ext/skills/browser-control/SKILL.md · browser-control
body sha256 -> b625effd2728
Decide Fit First
Design Intent
How To Use It
Boundaries And Review