Activation Contract
Load when the user asks for the state of a project or sub-project: "tablero", "dónde vamos", "estado", "avance", "cómo vamos", "status board", or asks to update a tablero published earlier.
Do NOT load for a one-line status answer, a commit log summary, or a plain checklist.
Hard Rules
- Every number comes from a primary source read in THIS session (git, pipeline runs, cloud CLI, tickets, transcripts). Never from memory or a summary. If a figure cannot be sourced, mark it as an estimate and say what would confirm it.
- Hours are session hours with a human present, cutting pauses > 20 min — never pipeline wall-clock. State the cutoff rule in the artifact.
Σ actacrossPHASESmust match totalSESSIONShours within 0,5 h. Reconcile the data before publishing; never adjust one side to hide the gap.- Costs are incremental: only what is new. Name the price source and date, and list what is excluded because it was already paid.
- Never invent qualitative claims about rhythm or productivity.
EVAL_EXTRAentries need a time and a result. CONTEXTO.estadomeasures whether the project can proceed unblocked, NOT how much is done. Green only when nothing but hours is missing; red when a decision, credential or answer someone else owes is what stands in the way. Everyfaltaentry names the owner or the input it waits on.- The
stampis one short plain-text line (date-time · milestone in ≤ 8 words · sources, ≤ 120 characters, no<b>/<code>), kept inside the<span>after the dot. Progress narrative belongs in the "Siguiente bloque" meter and inCONTEXTO, never in the stamp. EMBLEMA.emojimust match the artifactfavicon, andporquemust justify the choice in two sentences. If you cannot, pick a different emoji.- Do not edit the CSS in
assets/template.html: the palette, typography and motion ARE the format. Extend by adding sections, not by restyling. - If you add movement, follow the performance rules in
references/design-system.md: nothing animates off-screen, nothing that moves carries adrop-shadow, and a re-render is not a re-animation. - Keep the footer
.brandblock: logo slot + credit line + MIT link. - Default output is a LOCAL html file. Publish to claude.ai only when the user asks for it in this session — publishing is an outward action.
- If the host has no Artifact tool (Claude Cowork, Claude Desktop), the local file IS the deliverable: report its path and stop. Never try to publish by other means, and never treat the missing tool as an error.
- One artifact per project. To update, republish the same file path (or pass its
url) — never create a second URL. - Before republishing over an existing URL, read the LIVE version and merge onto it. Never rebuild from the copy you downloaded when the session started: another session may have published in between, and its version may be fresher than yours. If the live version and your evidence disagree, re-check the primary source before overwriting — the tablero published last is not automatically the one that is right, and a wrong figure inherited silently is worse than a stale one.
- The artifact is written in Spanish (neutral,
tú); code identifiers stay in English. - When publishing with the Artifact tool, load the
artifact-designskill before writing the file, as that tool requires.
Decision Gates
| Invocation | Output |
|---|---|
/tablero (default) |
Write the self-contained html file and report its path. Offer to publish in one line only if the Artifact tool exists. Do NOT publish. |
/tablero publicar |
Write the file and publish it as an Artifact in the same turn. Without the Artifact tool: write the file and say publishing is not available in this host. |
/tablero <url> |
Update that published tablero: read it, rebuild DATA from current state, republish to the SAME url. |
| Situation | Section to use |
|---|---|
| Infrastructure, services, data flow | #arq as SVG diagram with data-s states + evidence table |
| No topology (research, migration, audit) | Replace the diagram with a coverage or detection-layer table |
| Work is time-boxed in sessions | Keep #ritmo (session blocks) |
| Work is calendar-driven, several people | Replace #ritmo with Riesgos vivos (risk · impact · trigger · mitigation) |
| Nothing is blocked | Drop the col bad column, keep 3-column grid balanced |
| No money involved | Keep #costos with hours only; delete the money table |
Execution Steps
- Gather evidence first. Read the primary sources; list what you could NOT verify.
- Copy
assets/template.htmlto the working file (scratchpad, or where the user asks). For a local file, wrap it withassets/local-wrapper.html— the template is a fragment and only the Artifact tool supplies the html/head/body shell. - When updating an existing tablero: read the live version FIRST, diff it against your evidence, and keep every fact it has that you did not re-verify. Check its data block against
references/data-contract.md: a tablero built with an older version may lack whole blocks (EMBLEMAandCONTEXTOarrived in 1.1.0), so add what is missing from evidence instead of merging figures only. If the Artifact tool hands you the live version as a file, read it whole, line 1 included: the tool rejects a republish built on a partial read. Publish only additions and corrections you can source. - Fill the
// ---------- data ----------block only:EMBLEMA,CONTEXTO,PHASES,SESSIONS,COSTS,DONE_BARS,TODAY,PHASE_ORDER,COST_NOTE,EVAL_RECO,EVAL_EXTRA. Seereferences/data-contract.md. - Replace every
{{...}}placeholder in the HTML. Search for{{and confirm zero matches before publishing. Check thestamp: one<span>of plain text, ≤ 120 characters. - Adjust the diagram per
references/sections.md; the LED, packets and power-on view are injected by JS — only author<g data-s>,<path class="edge">,<rect class="zone">. Give every component adata-titleand adata-infoexplaining what it is and why it sits in that state: that is what the reader gets when tapping the box. - Render the local file and LOOK at it before handing it over: open it, or capture it with headless Chrome. Reading the code is not enough; visual checks have caught defects the code did not show. Fonts come from Google Fonts and need network; the fallback stack must keep it readable offline.
- Only when publishing: use the Artifact tool with a
faviconstable across redeploys,title= short project name,description= one line. - Report the file path (or URL), what is estimated and what is verified.
Output Contract
Return: the file path (or the artifact URL when published), the three headline numbers (effort %, hours done, hours left with buffer), the current blocker, and an explicit list of figures that are estimates.
References
references/data-contract.md— shape of every data structure and how each metric is derived.references/sections.md— section catalogue, diagram rules, when to swap a section.references/design-system.md— tokens, components, motion and accessibility rules.assets/template.html— the format itself.assets/local-wrapper.html— html/head/body shell for local files.assets/logo.svg— brand slot for the footer.