artifact-management
Create, retrieve, query, and update Artifacts — tangible deliverables produced by the project. Use when storing or retrieving documents, designs, datasets, build outputs, slide decks, or any completed deliverable that should be registered in the project catalog.
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- artifact-management
- metadata
- { "processkit": { "id": "SKILL-artifact-management", "uses": [ { "skill": "event-log", "purpose": "Log events to keep the audit trail accurate after every write." }, { "skill": "index-management", "purpose": "Query existing entities and keep the SQLite index fresh after writes." }, { "skill": "id-management", "purpose": "Allocate unique entity identifiers via central ID generation." } ], "layer": 2, "created": 1775865600000, "version": "1.0.0", "category": "processkit", "provides": { "mcp_tools": [ "create_artifact", "get_artifact", "query_artifacts", "update_artifact" ], "primitives": [ "Artifact" ] }, "apiVersion": "processkit.projectious.work/v1" } }
- description
- Create, retrieve, query, and update Artifacts — tangible deliverables produced by the project. Use when storing or retrieving documents, designs, datasets, build outputs, slide decks, or any completed deliverable that should be registered in the project catalog.
02 资源文件 3
- 参考文档mcp/mcp-config.json221 B
- 参考文档mcp/SERVER.md1.2 KB
- 脚本mcp/server.py9.3 KB
03 SKILL.md 正文
Artifact Management
Intro
Artifacts are tangible deliverables — documents, design files, datasets, build outputs, slide decks, videos, or external URLs. Unlike Notes (thoughts in transit), Artifacts are completed deliverables registered in the project catalog. Unlike WorkItems (units of tracked work), Artifacts have no state lifecycle — they exist or they don't.
Two storage patterns are equally valid:
- Self-hosted: the artifact content is the Markdown body of the
entity file;
spec.locationmay reference the file's own path or be omitted. Use for documents that belong in the repository (PRDs, runbooks, research reports, work instructions). - Pointer: the deliverable lives elsewhere (external URL, cloud
storage, build artifact);
spec.locationis the canonical address. processkit stores only the metadata card.
MCP server. This skill ships a self-contained MCP server at
mcp/server.py(PEP 723 script — requiresuvand Python ≥ 3.10 on PATH). Agent harnesses reach its tools by reading a single MCP config file at startup, so the contents ofmcp/mcp-config.jsonmust be merged into the harness's MCP config and placed at the harness-specific path before this skill is usable.
Overview
Artifact kinds
spec.kind classifies the artifact:
| kind | When to use |
|---|---|
document |
Prose documents — PRDs, runbooks, reports, guides |
design |
Design files — Figma, Excalidraw, wireframes |
dataset |
Structured data — CSV, JSON, Parquet |
build |
Compiled outputs — binaries, bundles, tarballs |
slides |
Presentation decks — PPTX, PDF slide decks |
video |
Recorded content — demos, walkthroughs |
spec |
Formal specifications — OpenAPI, JSON Schema, proto |
diagram |
Architecture and flow diagrams |
url |
External web resources, dashboards, hosted tools |
other |
Anything that doesn't fit the above |
When to create an Artifact
Create an Artifact when:
- A deliverable is complete enough to reference and share.
- Something produced by the project should be discoverable later (a report, a shipped binary, an approved design).
- A Note has been promoted to a finished document.
- A work item produced a document or design that should be cataloged.
Do not create Artifacts for in-progress work — use a WorkItem or a Note while the thing is still being made.
Creating
- Choose
kindfrom the table above. - Write a short, descriptive
name. - Set
locationfor pointer artifacts (URL, path, bucket key). Omit or set to the entity file path for self-hosted artifacts. - Set
produced_byto the WorkItem or Process ID that produced it. - Set
ownerto the responsible Actor ID. - Add
tagsfor retrieval (topic, project, format, etc.). - Write the file to
context/artifacts/ART-<id>.md. - Log
artifact.created.
Querying
Common queries via query_artifacts:
- All artifacts of a given kind (e.g., all
documentartifacts) - All artifacts owned by an actor
- All artifacts tagged with a given tag
- Full-text search via
index-management
Updating
Use update_artifact to revise metadata (new version, updated
location, changed owner). To replace the body content of a
self-hosted artifact, update the Markdown body via update_artifact
or by editing the file directly followed by reindex.
Gotchas
Agent-specific failure modes:
- Creating an Artifact for in-progress work. An Artifact is a completed deliverable. If the thing isn't done yet, use a WorkItem (for tracked work) or a Note (for an idea still forming). Premature Artifact registration pollutes the catalog with incomplete items.
- Omitting
locationfor pointer artifacts. If the content lives outside the repository (a URL, a cloud bucket path, a release binary),locationis the only way to find it. Omitting it makes the catalog entry useless as a pointer. - Duplicate registration. Before
create_artifact, runquery_artifactsand check for an existing entry with the same name or location. Duplicates create confusion about which entry is canonical. - Using Artifact for ephemeral build outputs. Not every build artifact needs a catalog entry. Register the ones that matter for the release, for compliance, or for future reference. Registering every intermediate build output creates noise.
- Forgetting
produced_by. Linking the artifact back to the WorkItem or Process that produced it is cheap and makes the catalog navigable. Always set it when the provenance is known.
Full reference
Full field list
See src/context/schemas/artifact.yaml for the authoritative schema.
| Field | Required | Description |
|---|---|---|
name |
yes | Human-readable name |
kind |
yes | Subtype (see table above) |
location |
no* | Path, URL, or storage key (* required for pointers) |
format |
no | File format or MIME type (e.g. pdf, image/png) |
version |
no | Version identifier for the artifact |
checksum |
no | Hash for integrity verification |
owner |
no | Actor ID responsible for the artifact |
produced_by |
no | Entity ID (WorkItem, Process) that produced this |
produced_at |
no | ISO 8601 datetime when the artifact was produced |
tags |
no | Freeform tags for retrieval |
Note vs Artifact decision rule
| State | Use |
|---|---|
| Idea, half-formed thought | Note |
| In-progress document | Note or WorkItem body |
| Finished, shareable deliverable | Artifact |
| External resource to reference | Artifact (pointer) |
Relationship to WorkItems
A WorkItem is the unit of work that produces an Artifact. Link the
two via spec.produced_by on the Artifact (pointing to the WorkItem
ID). This gives a navigable trail from deliverable back to the work
that created it.
04 同仓库更多 Skills
skill-management
Manage Skill package manifests as v1 ontology entities.
schema-management
Manage generated processkit schema contracts through deterministic MCP rebuild and inspection workflows.
proposition-management
Record claims, risks, beliefs, world facts, WSJF estimates, and assumptions through the Proposition interface.
ontology-management
Manage generated v1 ontology entities that do not require a dedicated domain server.
okf-compatibility
Import, export, and validate conformant Open Knowledge Format bundles.
capability-management
Manage versioned Capability entities and their governed lifecycle.