chatcrystal-task-writeback — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited chatcrystal-task-writeback (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill after meaningful work completes. Let ChatCrystal Core decide whether a memory should be skipped, merged, or created.
Before calling write_task_memory, verify the candidate is an experience asset, not a work log.
Do not call write_task_memory when:
Required field shape by memory.outcome_type:
fix: include root_cause or resolution.pitfall: include pitfalls plus resolution or reusable_patterns.decision: include decisions.pattern: include reusable_patterns.Write memory.summary as a durable experience conclusion, not as "I did X". Automatic writeback must include source_run_key; without it, emit a structured candidate for later save instead of silently writing manual memory.
write_task_memory is available and the runtime has a stable run or session key, call it with:mode: "auto"source_run_key: the stable run or session keytask.goal, task.task_kind, task.project_dir, task.cwd, task.branchtask.source_agent when knownmemory.summary: concise and durable, not chattymemory.outcome_type: one of pitfall, fix, pattern, decisionmemory.root_cause, memory.resolution, memory.error_signatures, memory.files_touched, memory.tags when relevantmode: "manual" only for an explicit manual save flow, never as a silent fallback for automatic writeback.createdmergedskippedUse this shape when calling write_task_memory after a completed task with a stable run key:
{
"mode": "auto",
"source_run_key": "agent-session-or-run-id",
"scope": "project",
"task": {
"goal": "Fix MCP recall schema validation",
"task_kind": "debug",
"project_dir": "/path/to/project",
"cwd": "/path/to/project",
"branch": "fix/mcp-recall-schema",
"files_touched": [
"server/src/services/memory/schemas.ts",
"server/src/cli/mcp/server.ts"
],
"error_signatures": [
"invalid_type",
"recall_for_task schema mismatch"
],
"source_agent": "codex"
},
"memory": {
"summary": "MCP tool schemas must stay aligned with memory service request shapes; mismatches surface as validation failures before tool execution.",
"outcome_type": "fix",
"root_cause": "The MCP tool input shape diverged from the service schema.",
"resolution": "Reused the shared request shape in the MCP server registration.",
"files_touched": [
"server/src/services/memory/schemas.ts",
"server/src/cli/mcp/server.ts"
],
"tags": [
"mcp",
"memory-loop",
"schema"
]
}
}Full mode requires ChatCrystal Core plus MCP access to write_task_memory.
skipped, keep the task result but do not force persistence.If ChatCrystal Core or the MCP tool is unavailable, or if no stable run key exists for automatic writeback:
write_task_memory.memory payload shape so it can be reused later.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.