docs: chainlink setup and usage for 5 Whys skill#82
Conversation
Chainlink gives 5 Whys persistent storage with parent-child relationships, labels, search, and falsification cascades. Three changes: - CHAINLINK_SETUP.md: Rust install, chainlink install, dedicated RCA database init (separate from task tracking DBs) - CHAINLINK_USAGE.md: Full workflow — creating trees as subissues, labeling conventions, falsification, cross-analysis querying - SKILL.md: New "Storage" section pointing to chainlink as preferred backend when available, markdown as fallback Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
tkellogg
left a comment
There was a problem hiding this comment.
Do you use the relationship types from our chainlink fork?
|
|
||
| ```bash | ||
| curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | ||
| source "$HOME/.cargo/env" |
There was a problem hiding this comment.
issue: this needs to go into ~/.zshrc bashrc etc. Also, should include someething for windows.
There was a problem hiding this comment.
Fixed — shell profile persistence now in the Rust install section (bash + zsh). Also added Windows install instructions.
| storage. Trees become issues with parent-child relationships, action items become | ||
| trackable issues with labels, and chains survive across sessions. | ||
|
|
||
| This is optional. The 5 Whys skill works without chainlink — you can write trees as |
There was a problem hiding this comment.
suggestion: Tell the agent to warn the user that this could take a long time. Also, installing Rust & compiling Rust apps can really bog down their computer.
There was a problem hiding this comment.
Added warning before both Rust install and chainlink compile steps. Agents should tell the user it'll take 10-20 min and may slow the machine.
| cargo install chainlink-tracker | ||
| ``` | ||
|
|
||
| This compiles from source and takes a few minutes. On resource-constrained machines |
There was a problem hiding this comment.
suggestion: Good, yeah, also tell them to warn their operator
There was a problem hiding this comment.
Added explicit 'tell your operator' warning before the compile step.
|
|
||
| ```bash | ||
| # Create a dedicated RCA directory | ||
| mkdir -p ~/rca |
There was a problem hiding this comment.
question: should it instead go inside their home repo? Might be better. Just have to make sure it's in the .gitignore
There was a problem hiding this comment.
Changed to rca/ inside the home repo with .gitignore for the SQLite DB. Keeps it discoverable and backed up without polluting git history.
|
|
||
| ```bash | ||
| # Reduce parallel compilation | ||
| CARGO_BUILD_JOBS=1 cargo install chainlink-tracker |
There was a problem hiding this comment.
question: Did my chainlink PR get merged? if no, then should we use my fork?
There was a problem hiding this comment.
Your upstream PR (dollspace-gay/chainlink#20, typed relations) is still open. Changed install to cargo install --git https://github.com/tkellogg/chainlink.git with a note to switch to cargo install chainlink-tracker once it merges. I was wrong earlier when I said PR #69 was the chainlink PR — that was the open-strix backlog worker, completely different thing.
- PATH setup moved to Rust install section with shell profile persistence - Windows install instructions added - Warn user/operator about compilation time and system load - Install from tkellogg/chainlink fork (upstream PR #20 not merged yet) - DB location changed to rca/ inside home repo with .gitignore - Troubleshooting section replaces redundant PATH section Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Install from dollspace-gay/chainlink instead of Tim's fork. The skill doesn't use typed relations — everything works with built-in chainlink primitives (parent-child, labels, blocking). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merged upstream changes: - PR tkellogg#80: Cycle detection prompts reflection instead of just stopping - PR tkellogg#81: Five-whys integration into harness failure paths - PR tkellogg#82: Five-whys chainlink docs - PR tkellogg#83: Phone book → JSONL migration + alias enrichment Conflict resolution: - app.py: Kept both _withhold_final_text (ours) and _last_turn_failure (upstream) - prompts.py: Preserved auto-send model while adding aliases/failure sections - tools.py: Added missing file tools to tools list (read_file, glob_files, edit_file, write_file) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Summary
CHAINLINK_SETUP.mdto the five-whys builtin skill — covers Rust install, chainlink install, and initializing a dedicated RCA database separate from task-trackingCHAINLINK_USAGE.md— full workflow for creating 5 Whys trees as chainlink subissues, labeling conventions (rca, bedrock, action-item), falsification cascades, cross-analysis queryingSKILL.mdwith a new "Storage" section that routes to chainlink when available, markdown as fallbackKey design decision: Separate databases for RCA vs task tracking. Chainlink uses
.chainlink/issues.dbrelative to the nearest.chainlink/directory, so~/rca/gets its own init. RCA chains and task backlogs serve different purposes — mixing them creates noise in both directions.Tim's third idea (self-modification file to make chainlink route more obvious if available) — intentionally left out per "ignore me." Can add later if wanted.
Test plan
🤖 Generated with Claude Code