원클릭으로
base
Author and maintain GemiHub .base compatibility files for filtered table, card, and list views over workspace files.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Author and maintain GemiHub .base compatibility files for filtered table, card, and list views over workspace files.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Agent Skills: bundles of custom instructions, reference material, and workflows for the AI agent.
Create GemiHub Dashboards (.dashboard files) — a grid of widgets that embed Bases views, folder card/table/kanban views, notes, web pages, and workflow output. Use when the user asks for a dashboard, a home/overview page, or to arrange .base views and data widgets in a grid.
Create and edit GemiHub .canvas files using JSON Canvas nodes, edges, groups, colors, and file/link references.
Create and edit GemiHub Markdown notes using GFM, frontmatter, callouts, Mermaid diagrams, tables, task lists, and links.
Use when building or editing the user's webpage / website — static HTML pages, magic-link login pages, protected pages, workflow-based JSON APIs (web/api/*.yaml), publishing blog posts or announcements, wiring sheet/calendar/gmail data into pages, setting up sign-in, building contact/booking forms, or operating the admin side of an existing site. Triggering keywords include web/, gemihub.*, requireAuth, sheet-read/sheet-write, "公開する" / "サイトに追加" / "Webページ作成". Lean toward using this skill whenever the user wants to put something on their site or expose data as a JSON endpoint — even if they don't name a file under web/.
| name | base |
| description | Author and maintain GemiHub .base compatibility files for filtered table, card, and list views over workspace files. |
Use this skill to create or edit a .base YAML file consumed by GemiHub. The format is GemiHub's portable query-and-view interchange format and is designed to remain compatible with the supported subset of Base files.
order to choose displayed fields and sort to order rows.table, cards, or list.formulas.Create files with create_drive_file; update existing files with update_drive_file. Dashboards/Bases/ is the conventional location, but any workspace folder is valid.
This example lists active project notes and gives the same data two presentations:
filters:
and:
- 'file.inFolder("Projects")'
- 'note.archived != true'
formulas:
age_days: '((today() - file.mtime) / 86400000).round(0)'
properties:
note.owner:
displayName: Owner
formula.age_days:
displayName: "Days since update"
views:
- type: table
name: "Active projects"
order:
- file.name
- note.owner
- note.stage
- formula.age_days
sort:
- property: file.mtime
direction: DESC
- type: cards
name: "Project cards"
order:
- file.name
- note.owner
- note.summary
groupBy:
property: note.stage
direction: ASC
| Key | Purpose |
|---|---|
filters | Scope shared by every view |
formulas | Named computed properties |
properties | Labels and display metadata for properties |
summaries | Named aggregate expressions |
views | One or more rendered views |
All sections are optional, though a useful file normally has at least one view.
A filter may be a quoted expression or a recursive object containing one logical key:
filters:
or:
- 'file.hasTag("priority")'
- and:
- 'file.inFolder("Clients")'
- 'note.status == "active"'
- not:
- 'file.hasTag("hidden")'
Global filters and view filters are combined with AND. Supported comparison operators are ==, !=, >, <, >=, and <=; boolean expressions use &&, ||, and !.
Quote expressions containing punctuation or nested string literals. Prefer single-quoted YAML strings around expressions that contain double quotes.
| Namespace | Example | Meaning |
|---|---|---|
note | note.status | Markdown frontmatter property |
file | file.mtime | Workspace file metadata |
formula | formula.age_days | Value declared in formulas |
A bare name such as status is treated as a note property. Explicit note.status is clearer in generated files.
Common file fields include name, basename, path, folder, ext, size, ctime, mtime, tags, links, backlinks, embeds, and properties.
Formula values are expressions stored as YAML strings:
formulas:
estimate_label: 'if(note.hours, note.hours.toString() + " h", "Unestimated")'
stale: 'file.mtime < today() - "30 days"'
Reference them as formula.estimate_label and formula.stale. Do not create circular dependencies. See references/functions.md for the supported function surface.
Use properties to rename fields without changing expression identifiers:
properties:
note.stage:
displayName: Stage
formula.stale:
displayName: Needs review
Every view should have a unique name. GemiHub supports:
table: rows with selected columns.cards: a responsive card grid with optional image selection.list: a compact list.The first view is used when no view name is selected. Key distinction:
order selects fields and their display order.sort controls row ordering.views:
- type: list
name: "Recently changed"
filters: 'file.ext == "md"'
order:
- file.name
- file.mtime
sort:
- property: file.mtime
direction: DESC
limit: 25
See references/views.md for grouping, card images, and summaries.
A dashboard Base widget references the file and optionally a named view:
widgets:
- id: project-index
type: base
config:
base: Dashboards/Bases/projects.base
view: "Active projects"
The same .base file can back several widgets. Older inline card, table, and file-list widgets can be migrated to this file-backed representation.
GemiHub deliberately implements a supported compatibility subset:
table, cards, list.sort list; order remains display order.formula.X reference has a matching formula.summaries.ASC or DESC.