Install
$ agentstack add skill-zengliangyi-chatcrystal-chatcrystal-task-writeback ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
ChatCrystal Task Writeback
Use this skill after meaningful work completes. Let ChatCrystal Core decide whether a memory should be skipped, merged, or created.
Workflow
- Trigger only after substantive work completes and the result produced reusable knowledge.
- Good candidates include:
- a durable fix
- a meaningful pitfall
- a reusable pattern
- an explicit engineering decision
Quality Gate Preflight
Before calling write_task_memory, verify the candidate is an experience asset, not a work log.
Do not call write_task_memory when:
- The summary only says what changed, without why it mattered.
- There is no clear problem, decision, pitfall, resolution, or reusable pattern.
- The task produced no durable lesson for future work.
Required field shape by memory.outcome_type:
fix: includeroot_causeorresolution.pitfall: includepitfallsplusresolutionorreusable_patterns.decision: includedecisions.pattern: includereusable_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.
- If
write_task_memoryis 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_agentwhen knownmemory.summary: concise and durable, not chattymemory.outcome_type: one ofpitfall,fix,pattern,decisionmemory.root_cause,memory.resolution,memory.error_signatures,memory.files_touched,memory.tagswhen relevant
- Use
mode: "manual"only for an explicit manual save flow, never as a silent fallback for automatic writeback. - Default to project-scoped knowledge. Only use global scope for clearly cross-project knowledge and only in an explicit manual save flow.
- Report the persistence result accurately:
createdmergedskipped
Example MCP Input
Use 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
Full mode requires ChatCrystal Core plus MCP access to write_task_memory.
- Do not reimplement skip or merge logic in the skill.
- Trust Core to decide whether the memory should be skipped, merged, or created.
- If the tool reports
skipped, keep the task result but do not force persistence.
Degraded Mode
If ChatCrystal Core or the MCP tool is unavailable, or if no stable run key exists for automatic writeback:
- Do not claim that the memory was saved.
- Emit a structured memory candidate in the response for later save.
- Keep the candidate aligned with the
write_task_memory.memorypayload shape so it can be reused later. - Do not instruct the runtime to auto-install ChatCrystal Core as part of the skill flow.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ZengLiangYi
- Source: ZengLiangYi/ChatCrystal
- License: Apache-2.0
- Homepage: https://zengliangyi.github.io/ChatCrystal/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.