Learn-skills.dev causal-abel
git clone https://github.com/NeverSight/learn-skills.dev
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/abel-ai-causality/abel-skills/causal-abel" ~/.claude/skills/neversight-learn-skills-dev-causal-abel && rm -rf "$T"
data/skills-md/abel-ai-causality/abel-skills/causal-abel/SKILL.mdUse this skill for cause-effect questions on the Abel CAP wrapper. Financial markets are the signal layer, not the product: the CAP server exposes finance and crypto price or volume nodes, and those nodes can be used either directly or as proxy signals for larger real-world questions.
First-Use Update Check
Treat skill update detection as a soft prerequisite on the first use of this skill in a session.
- Before the first live Abel API call in a session, attempt the bundled update check from
.references/update-flow.md - Prefer the bundled script:
.python scripts/check_skill_update.py - If the script reports
, tell the user the current version, latest version, and a concise summary fromupdate_available: true
.CHANGELOG.md - Keep the update prompt warm, concise, and human. Avoid mechanical release-note dumps.
- End the prompt with a short
choice so the user can answer quickly.Y/N - Ask for approval before running the single-skill refresh command returned by the script.
- Only check and refresh the installed
skill. Do not propose a fullcausal-abel
.npx skills update - If the update check fails, times out, or returns malformed data, continue with the normal skill flow without blocking the user.
- Do not repeat the update check again in the same session once you have recorded that it was attempted.
- Do not assume a freshly updated skill has been reloaded into the current turn. Continue safely, and treat the next skill invocation as the point where the updated files are guaranteed to apply.
Authorization Gate
Authorization is a required entry step for this skill when it will call Abel APIs on the user's behalf.
- Before any live Abel CAP or business API call, check whether an Abel user API key is already available in session state,
, or--api-key
..env.skills - If no key is available, stop and follow
immediately. Do not start CAP probing, capability inspection, or any other live API call first.references/setup-guide.md - The agent entrypoint is
.GET https://api.abel.ai/echo/web/credentials/oauth/google/authorize/agent - Return only the resulting
to the user, storedata.authUrl
ordata.resultUrl
, and poll until the result isdata.pollToken
,authorized
, or expired.failed - Never ask the user to paste an email address, OAuth code, or raw API key when the handoff flow can obtain the key directly.
When To Use
Use
causal-abel when the user needs causal structure, reachability, intervention meaning, or capability inspection on the Abel CAP surface.
Typical triggers:
- what is driving a node
- why a node moved
- which nodes matter around a node
- whether one node can reach another
- what changes under intervention
- what a counterfactual preview implies
- what the server supports at CAP core versus
extensions.abel.* - off-graph human questions that should be routed through market proxies
Do not use this skill for:
- pure quote lookups
- generic news summaries
- raw node dumps with no causal question
- unrelated coding or repo tasks
How To Use
-
Check authorization state before any live API call.
- On the first use of this skill in the session, attempt the soft update check from
before live Abel API usage.references/update-flow.md - If the check reports an available update, summarize the changelog briefly and ask whether to run the single-skill refresh command returned by the script.
- Phrase that prompt in a friendly way and end with a short
.Y/N - If the user declines, or the check cannot complete, continue normally.
- If
is missing from session state,ABEL_API_KEY
, and--api-key
, start the OAuth handoff from.env.skills
first.references/setup-guide.md - Treat missing credentials as a hard stop for live Abel API usage, not as a minor warning.
- On the first use of this skill in the session, attempt the soft update check from
-
Start from the user's causal question and the live CAP surface.
- Default CAP target:
unless the user provides anotherhttps://cap.abel.ai
.base_url
is the SIT variant when you need the staging environment.https://cap-sit.abel.ai- Treat
as the OAuth and business API host fromhttps://api.abel.ai/echo/
, not as the default public CAP probe target.references/setup-guide.md - Use the bundled probe path first for deterministic execution.
- Default CAP target:
-
Classify the task.
- First do user-intent inversion: infer the result the user actually wants, then map that intent to direct graph or proxy-routed analysis.
: what the server exposescapability_discovery
: direct node, path, blanket, or intervention questiondirect_graph
: real-world question that must be represented through market proxiesproxy_routed
-
Read structure before telling a story.
- Start with local or path structure first.
- Move to observational, intervention, or preview surfaces only after the structural question is clear.
- Pick one intent-first workflow and stay on it:
,driver_explanation
,reachability_check
,intervention_effect
, orcounterfactual_read
.capability_audit - Do not stack overlapping local-structure verbs by default. Start with one core structural read, then escalate only if a specific open question remains.
-
Normalize node inputs before any live probe.
- If the user already gives a legal Abel node id, keep it as is.
- If the user gives a bare ticker such as
orNVDA
, default toSPOT
unless the question is explicitly about trading activity or volume.<ticker>_close - If the user gives a company or proxy phrase such as
orSpotify
, map it to a real ticker first; do not probe a free-form phrase.music streaming - If you cannot honestly map the phrase to a ticker, stop and say the live CAP call is not grounded enough yet.
-
For capability discovery, avoid redundant full-surface dumps.
- Start with
when the question is "what surfaces or tiers exist here?"meta.capabilities - Move to
only when you need invocation metadata such asmeta.methods
orarguments
.result_fields - If you only care about a few verbs, prefer targeted
queries withmeta.methods
instead of pulling the whole registry and filtering it afterward.params.verbs - Prefer the bundled probe command
over ad hocpython skill/causal-abel/scripts/cap_probe.py methods observe.predict traverse.parents
payloads when you need a stable method read.curl
- Start with
-
Read structure before telling a story.
- Start with local or path structure first.
- Move to observational, intervention, or preview surfaces only after the structural question is clear.
- Pick one intent-first workflow and stay on it:
,driver_explanation
,reachability_check
,intervention_effect
, orcounterfactual_read
.capability_audit - Do not stack overlapping local-structure verbs by default. Start with one core structural read, then escalate only if a specific open question remains.
-
Normalize node inputs before any live probe.
- If the user already gives a legal Abel node id, keep it as is.
- If the user gives a bare ticker such as
orNVDA
, default toSPOT
unless the question is explicitly about trading activity or volume.<ticker>_close - If the user gives a company or proxy phrase such as
orSpotify
, map it to a real ticker first; do not probe a free-form phrase.music streaming - If you cannot honestly map the phrase to a ticker, stop and say the live CAP call is not grounded enough yet.
-
Use decision gates, not verb dumps.
- For
, start withdriver_explanation
ortraverse.parents
, then addgraph.neighbors(scope=parents)
only if direct drivers are still unclear.graph.markov_blanket - For
, start withreachability_check
on the specific proposed source and target. Usegraph.paths
only when screening a small candidate set is more honest than many repeated path probes.extensions.abel.validate_connectivity - For
, do a minimal structural confirmation first, then callintervention_effect
only if the structural question is already clear.intervene.do - For
, do not pair a fullcapability_audit
dump with a fullmeta.capabilities
dump unless the user explicitly needs both views. Inventory first, then targeted method detail for the verbs that remain in question.meta.methods - Only upgrade from CAP core to
when CAP core cannot answer the user's actual question.extensions.abel.* - After each call, ask what single open causal question remains. If none remains, stop.
- For
-
Answer in layers.
- Lead with a plain-language conclusion.
- Then say which CAP surface supports it.
- Then state the caveats that materially change interpretation.
- When organizing a fuller write-up, follow
: start from the user's original question, map that question to graph nodes, then separate each verb's result from what that result means for the question.assets/report-template.md
-
Stay semantically honest.
- Distinguish CAP core from Abel extensions when that matters.
- Treat proxy-routed answers as market-signal reads, not direct models of people or life outcomes.
- Treat
as observational,observe.predict
as intervention, andintervene.do
as preview-only.counterfactual_preview
Install And Authorization
If the user installs this skill, asks to connect Abel, or the workflow is missing an Abel API key, follow
references/setup-guide.md exactly.
- If this is the first session use and update check has not yet been attempted, run the soft update check first from
.references/update-flow.md - Start the Abel agent OAuth handoff immediately instead of asking for manual credentials.
- Return
to the user, not thedata.authUrl
API URL./authorize/agent - Store
ordata.resultUrl
and poll until the result isdata.pollToken
,authorized
, or expired.failed - Persist the resulting
in session state anddata.apiKey
when local storage is available..env.skills - Do not continue to live CAP probing until that key is present.
- Never ask the user to paste an email address or Google OAuth code.
Detailed References
- Detailed routing logic, proxy dimensions, narration rules, and semantic guardrails:
references/question-routing.md - User-intent inversion from desired answer to graph mapping and capability choice:
references/inversion-flow.md - Report organization for results and meaning:
assets/report-template.md - OAuth install flow, polling behavior, and API key reuse:
references/setup-guide.md - First-use soft update detection and changelog summary flow:
references/update-flow.md - Probe script commands and reusable examples:
references/probe-usage.md - Capability layering and progressive disclosure:
references/capability-layers.md