Skip to main content

Create your first artifact

Artifacts are tracked outputs created by Consuelo OS. A file is just bytes. An artifact is the product record around those bytes: who created it, which skill created it, which records were used, where it is stored, what version it is, and how to audit it later.

When to create an artifact

Use an artifact when a skill produces something a person or team may need later:
  • daily brief
  • sales report
  • follow-up draft
  • campaign brief
  • landing page draft
  • exported dataset
  • generated PDF, DOCX, HTML, Markdown, CSV, or JSON
Do not treat temporary scratch files as artifacts. Scratch files belong in cache or temporary storage.

Artifact flow

skill produces durable output
  -> OS creates artifact record
  -> OS stores bytes locally or in cloud storage
  -> execution links to artifact
  -> user or team can inspect the result later

Local artifact storage

Local OS stores artifact bytes under the OS home and records metadata in SQLite.
~/.consuelo/os/artifacts/
~/.consuelo/os/consuelo.db
Local mode is still observable. A local artifact should still have an execution ID, trace ID, source refs, timestamps, and status.

Cloud artifact storage

Cloud OS stores artifact bytes in cloud storage and records metadata in the app. That makes artifacts visible to teams and lets Consuelo support shared access, signed URLs, retention, and audit trails.

Artifact metadata

FieldPurpose
idStable artifact identifier.
workspaceIdWorkspace that owns the artifact.
createdByUserIdUser who requested or created it.
skillExecutionIdExecution that produced it.
skillNameSkill that produced it.
titleHuman-readable name.
typeReport, brief, draft, export, document, page, or other category.
formatMarkdown, PDF, DOCX, HTML, JSON, CSV, image, or app-native.
statusDraft, published, archived, or deleted.
storageModeLocal, cloud, or external.
storageKeyPath or object key for stored bytes.
sourceObjectRefsStructured records used to create the output.
traceIdTrace linking artifact to logs and execution.

Versioning

The first versioning primitive can be simple: each edit creates a new artifact version or a new artifact linked to a previous one. Git can be useful in local mode, but the product model should not depend on Git forever. Cloud/team artifact versioning should be app-native.