一键导入
refreshing-artifacts
Re-validate an artifact and update its confidence inputs. Routes to appropriate re-validation skill based on artifact type.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Re-validate an artifact and update its confidence inputs. Routes to appropriate re-validation skill based on artifact type.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Capture point-in-time MER (MiDi Experience Record) for a wallet — data state, visual screenshot, perception context, and decision metadata.
Compare user expectations (UTCs) with code reality to identify gaps. Use when you need to understand discrepancies between what users expect and what code actually does.
Batch scan canvases for GAP sections, deduplicate, route to correct repos, draft issue bodies, and file confirmed issues.
Parallel multi-user processing using Claude Code native teams. Leader spawns workers per user, each runs /ingest-dm, leader aggregates for cross-canvas patterns.
Validate gap hypotheses by manually simulating features for individual users and measuring commitment, not satisfaction.
Automated end-to-end feedback pipeline that pulls new Supabase entries, enriches, classifies, routes to canvases, and generates a synthesis report.
| name | refreshing-artifacts |
| description | Re-validate an artifact and update its confidence inputs. Routes to appropriate re-validation skill based on artifact type. |
| user-invocable | true |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
Re-validate an artifact by routing to the appropriate re-validation skill, then update confidence inputs (NOT the computed score) in frontmatter.
Update inputs, not outputs. This skill updates last_validated_at, last_validated_commit, and validation_count in frontmatter. It never stores a computed confidence score — that is always derived by /stale and /drift.
/refresh {artifact-path}
Examples:
/refresh grimoires/keeper/canvas/xabbu-canvas.md
/refresh grimoires/artisan/taste.md
/refresh grimoires/keeper/reality/profile.md
/stale or /drift shows an artifact needs refreshingParse YAML frontmatter:
- type (user-canvas, journey, reality, taste, etc.)
- confidence block (may be missing)
IF confidence block is MISSING:
Initialize confidence metadata:
confidence:
created_at: {now, RFC 3339 UTC}
last_validated_at: {now}
last_validated_commit: {git rev-parse HEAD}
validation_count: 0
related_paths: {infer from artifact type — see defaults below}
Write frontmatter and report "Confidence tracking initialized for {path}"
Skip Phase 2 (no re-validation needed for initialization)
Proceed to Phase 3
Based on artifact type, suggest and perform the appropriate re-validation:
IF type == "user-canvas":
→ Suggest: /observe --enrich @{user} --wallet {wallet}
→ Run Score API enrichment to refresh snapshot
→ Update frontmatter score_snapshot if wallet available
IF type == "journey":
→ Suggest: /shape {journey-id}
→ Re-validate journey against current canvases
IF type == "reality":
→ Suggest: /ground {component}
→ Re-extract from current codebase
IF type == "taste" or artifact is grimoires/artisan/taste.md:
→ Suggest: Review taste tokens against current design
→ Validate taste.md still reflects current brand direction
IF type is unknown or unrecognized:
→ Inform user: "Cannot auto-route — please validate manually"
→ Still update confidence inputs in Phase 3
Update ONLY these frontmatter fields:
confidence:
last_validated_at: "{now, RFC 3339 UTC}"
last_validated_commit: "{git rev-parse HEAD}"
validation_count: {previous + 1}
# created_at: UNCHANGED (immutable)
# related_paths: UNCHANGED (unless user specifies)
Do NOT store a computed current score. Score is always derived.
Emit to grimoires/shared/feedback/events/{YYYY-MM-DD}.jsonl:
{
"schema_version": 1,
"id": "fe-{unix_timestamp}-{random4hex}",
"timestamp": "{RFC 3339 UTC}",
"domain": "{inferred from artifact type: research for canvas, design for taste, code for reality}",
"source_pack": "observer",
"source_skill": "refreshing-artifacts",
"target": {
"type": "artifact",
"selector": "{artifact path relative to repo root}"
},
"signal": {
"direction": "positive",
"weight": 0.7,
"specificity": 0.8,
"content": "Artifact re-validated, confidence inputs updated (validation #{N})",
"kind": "behavioral"
},
"context": {
"artifact_path": "{artifact path}",
"confidence_at_time": "{computed score at time of refresh (for reference only)}"
}
}
✓ Artifact refreshed: {artifact-path}
Validation: #{validation_count}
Baseline commit: {last_validated_commit[:7]}
Previous confidence: {computed score before refresh}
Current confidence: {computed score after refresh}
Boost applied: +{boost value}
Re-validation: {what was done or suggested}
Next steps:
→ /stale (check overall artifact health)
→ /drift {path} (see detailed drift report)
When initializing confidence for the first time, infer related_paths from artifact type:
| Artifact Type | Default related_paths |
|---|---|
| user-canvas | ["lib/score-api/**", "grimoires/keeper/canvas/"] |
| journey | ["grimoires/keeper/canvas/", "grimoires/keeper/journeys/"] |
| reality | ["src/", "lib/"] |
| taste | ["grimoires/artisan/", "src/components/"] |
| unknown | [] (empty — user should configure) |
| Error | Resolution |
|---|---|
| Artifact not found | Error with path suggestion |
| Git not available | Use current timestamp, skip commit SHA, warn |
| Frontmatter parse error | Attempt repair, or error with backup suggestion |
| Re-validation skill not available | Update inputs anyway, note in report |
| No wallet for canvas enrichment | Skip enrichment, update inputs only |
/observe --enrich, /shape, /ground (depending on type)/stale and /drift (after refresh, scores improve)