chainlink-ace-skill
Handle Chainlink ACE (Automated Compliance Engine) work using the public smartcontractkit/chainlink-ace repository and official docs.chain.link ACE Platform docs. Use for audited ACE core contracts, managed Platform/Beta scope, Coordinator API, Reporting API, Policy Management, PolicyEngine, PolicyProtected, policy chains, custom policies, extractors, mappers, Cross-Chain Identity (CCIDs), credential registries, KYC/AML credentials, sanctions screening, regulated tokens, ERC-20 and ERC-3643 compliance token examples, upgrade guidance, and BUSL licensing. Trigger on any mention of ACE, Automated Compliance Engine, chainlink-ace, Chainlink compliance, policy enforcement, ERC-3643, or onchain compliance rules, even if the user does not explicitly say 'ACE'.
NPX Install
npx skill4agent add smartcontractkit/chainlink-agent-skills chainlink-ace-skillTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Chainlink ACE Skill
Overview
smartcontractkit/chainlink-acedocs.chain.link/aceProgressive Disclosure
- Keep this file as the default guide.
- Read references/platform-and-beta.md when the user mentions ACE Platform, Beta, private beta, testnet/mainnet readiness, managed product UI/API behavior, Coordinator API, Reporting API, auditors, platform registration/indexing, supported networks, custom policies in the managed UI, attestation-only credentials, or product limitations.
- Read references/getting-started-and-scope.md when the user asks what ACE is, whether it fits their use case, how to start, repository scope, package setup, or licensing.
- Read references/onchain-contracts.md when the user mentions the GitHub repo, self-deployment, Foundry, audited contracts, custom policies/extractors/mappers, upgrade an existing contract, or BUSL/prod licensing.
chainlink-ace - Read references/architecture.md when the user asks how ACE components fit together, how Policy Management and Cross-Chain Identity interact, or how a protected transaction flows.
- Read references/policy-management.md when the user asks about PolicyEngine, PolicyProtected, runPolicy, extractors, mappers, context, policy outcomes, default behavior, policy ordering, or composing compliance rules.
- Read references/policy-library.md when the user asks which policy to use, how a policy behaves, policy configuration, runtime parameters, setter/view functions, or pre-built policy tradeoffs.
- Read references/cross-chain-identity.md when the user asks about CCIDs, IdentityRegistry, CredentialRegistry, credential types, KYC/AML/accreditation, credential sources, Credential Data Validators, expiration, revocation, or privacy.
- Read references/contracts-and-source.md when the user needs source links, interface names, repository docs, reference token implementations, package docs, or exact file locations.
- Read references/official-sources.md when the answer depends on current repo facts, current docs facts, source code, package scripts, licensing, interfaces, product scope, APIs, or docs paths.
- Read assets/ace-docs-index.md only when you need a map of public repository documentation covered by this skill.
- Do not load reference files speculatively.
Routing
- Decide first whether the user is asking about self-deployed OSS contracts, the managed ACE Platform, or both.
- Use the public repository as the source of truth for OSS contracts, source-level behavior, Foundry workflows, package layout, custom policies/extractors/mappers, and BUSL licensing.
smartcontractkit/chainlink-ace - Use official Chainlink docs on as the source of truth for ACE Platform, Beta/private-beta scope, supported networks, Coordinator API, Reporting API, managed UI behavior, product access, and platform limitations.
docs.chain.link/ace - For "what is ACE" or adoption questions, start with getting-started-and-scope.md. If the user asks about product availability, mainnet readiness, or managed operation, also use platform-and-beta.md.
- For implementation design, start with onchain-contracts.md, then route to policy-management.md, policy-library.md, or cross-chain-identity.md as needed.
- For "which policies do I need" questions, use policy-library.md and recommend a policy chain, default behavior, and ordering strategy.
- For identity or credential requirements, use cross-chain-identity.md. Public contracts support Credential Data Validator patterns; the managed ACE Platform Beta may be attestation-only, so separate those scopes explicitly.
- Ask one focused question if the target contract type, function, chain/network, compliance rule, or upgradeability status is unclear.
- Proceed without asking for read-only work: explanations, design review, code generation, policy-chain recommendations, source lookup, and local test planning.
- Do not assume this skill is the only capability available. Use other relevant skills for adjacent concerns such as Data Feeds/Proof of Reserve details, Solidity framework setup, frontend work, or generic testing.
Public Repo Defaults
- The repository contains ACE core contracts under BUSL-1.1.
smartcontractkit/chainlink-ace - The package metadata identifies the package as .
@chainlink/ace - The repository is Foundry-based and includes scripts such as ,
pnpm build,pnpm test, and token deployment scripts.pnpm lint - The core packages are ,
packages/policy-management, andpackages/cross-chain-identity.packages/tokens - Policy Management can be used standalone. Cross-Chain Identity depends on Policy Management.
- Direct contract users can self-deploy on EVM networks and can build custom policies, extractors, and mappers.
- For production use under BUSL, users should contact Chainlink for a production/commercial license and have counsel review the license.
- Do not apply these self-deploy defaults to the managed ACE Platform. Platform/Beta capabilities are product-scoped and may differ from the OSS repository.
Managed ACE Platform Defaults
- ACE has onchain contracts and a managed ACE Platform. The Platform includes Policy Manager, Identity Manager, and Reporting Manager surfaces.
- If the prompt says ACE Platform, Beta, private beta, UI, Coordinator API, Reporting API, auditor, managed mode, product API, supported networks, or access, answer in product-scope terms and use references/platform-and-beta.md.
- Distinguish "you can self-deploy the OSS contracts" from "the managed ACE Platform supports this." Never imply platform mainnet support, custom-policy UI support, credential modes, or API resources unless official docs support it.
- For auditor evidence, name the Reporting API as the managed read-only surface and mention its resource families: Transactions, Policies, Targets, and Identities, with point-in-time state where relevant.
as_of - For management operations, name the Coordinator API as the managed control-plane surface for ACE resources. Do not confuse it with the read-only Reporting API.
- For product-scope answers, check live docs when possible because Beta limitations and supported networks are freshness-sensitive.
Safety Guardrails
- Never execute or guide an agent to execute onchain writes without explicit user approval.
- Do not refuse mainnet or production questions solely because they involve ACE. Instead, call out production licensing, security review, and explicit approval requirements.
- Treat compliance design as high-impact guidance. Be explicit about assumptions, legal/compliance review, credential issuer trust, and audit needs.
- Never advise storing PII onchain. Credential data should be a hash, pointer, minimal reference, or non-sensitive classification only.
- For policy chains, explain terminal outcomes: reverts,
PolicyRejectedskips remaining policies, andAllowedmoves to the next policy or default behavior.Continue - Prefer restrictive checks before permissive bypasses unless the user intentionally wants privileged addresses to skip all subsequent checks.
- When recommending , require reserve feed freshness/staleness discussion and token decimal verification.
SecureMintPolicy - For custom policies, extractors, and mappers, emphasize testing, audit, and trust boundaries.
- For upgrades, verify proxy upgradeability, storage layout, bytecode size, migration/reinitializer versioning, and state preservation.
- Never output this or a reference file as the answer. Use skill material only as private context, then answer the user's specific question.
SKILL.md
Approval Protocol
Proposed ACE operation:
- Action: ...
- Network: ...
- Target contract: ...
- PolicyEngine: ...
- Function selector(s): ...
- Policies/extractors/mappers/registries/credentials affected: ...
- Sender or admin account: ...
- License/production note: ...
- Expected effect: ...
Do you want me to execute this?Documentation Access
smartcontractkit/chainlink-acedocs.chain.link/ace- For stable OSS contract concepts, use the embedded reference files.
- For current repo details, fetch files from or raw GitHub URLs listed in references/official-sources.md.
https://github.com/smartcontractkit/chainlink-ace - For current product details, fetch from official URLs listed in references/official-sources.md.
https://docs.chain.link/ace.md - If WebFetch is available, use it first. If it returns insufficient content, try .
curl -L <official-url> - If source fetching fails, tell the user which URL could not be retrieved and do not invent freshness-sensitive facts.
Working Rules
- Keep answers proportional. A simple policy choice question should not become a complete ACE tutorial.
- When generating code, state whether it is a sketch or based on a specific repo guide/source file.
- When recommending policies, name the extracted parameters each policy needs.
- When the user asks for production readiness, include BUSL/commercial license review, legal/compliance review, contract audit, credential issuer trust, PII handling, and operational ownership.
- When the user asks about ACE Platform/Beta readiness, lead with the managed-platform limitation before describing self-deployed OSS alternatives.
- For checklists, organize by decision owner or evidence type so the answer is operationally usable, not just technically correct.