Chalk Labs
Need help deploying api-audit?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nrdxp-api-audit
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, backend, security, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/api-audit
What's inside
- Skill name
api-audit- Description
- Protocol for auditing API surface coherence and type safety. Trigger when: - Evaluating API designs, interface type safety, or design elegance. - Prompt contains: /api-audit, API surface, API coherence, type safety.
- License
- MIT
- Instructions
- 340 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# API Coherence Audit Protocol A thorough, piecemeal framework for auditing code API surfaces. Designed to maintain agent coherence by working iteratively through the codebase with explicit human checkpoints. > **Adversarial path anchor.** This lens is invoked on the Verification Dual's adversarial path ([rules.md](../../rules.md) §2 Invariant 1): when no deterministic evaluator can close an API-surface correctness condition, context-free agents using this protocol supply the decorrelated review. See [skills/refine/SKILL.md](../refine/SKILL.md) AUDIT §"Sibling Skills Consultation" for the wiring point. > **Guiding Principle:** An ideal API is minimal, well-scoped, type-safe, elegantly composable, and monosemic. It leverages language features to make error states unrepresentable. --- ## Phase 0: Scope Definition Before beginning, establish the audit scope with the user. Confirm: target language and version; type system strength; public API entry points; explicit exclusions (generated code, vendored deps); user-defined constraints (e.g., no breaking changes, no-std compatibility). ## **Checkpoint:** Present scope to user for approval before proceeding. ## Phase 1: Surface Discovery (Full Codebase Ingestion) **Objective:** Build a complete mental model of the public API surface before any analysis. ### 1.1 Enumerate Public Surface For each entry point, catalog: - [ ] **Exported Types:** Structs, enums, classes, interfaces, type aliases - [ ] **Exported Functions:** Free functions, associated functions, methods - [ ] **Exported Constants:** Public constants, static values - [ ] **Re-exports:** Items re-exported from internal modules - [ ] **Traits/Interfaces:** Abstractions meant for external implementation ### 1.2 Generate Surface Map Produce a structured inventory: ``` ## Module: `crate::auth` ### Types - `Principal` (struct) — L23-L45 - `AuthState` (enum) — L47-L62 ### Functions - `Principal::verify(&self, sig: &Signature) -> Result<()>` — L67 - `validate_token(token: &str) -> Result<Claims>` — L89 ### Traits - `Authenticator` — L12-L21 - `fn authenticate(&self, credentials: &Credentials) -> Result<Session>` ``` **Checkpoint:** Present surface map to user. Ask: 1. Is this complete? Are there missing entry points? 2. Are there items here that should NOT be public? --- ## Phase 2: Iterative Component Audit **Objective:** Audit each logical component systematically, one at a time. > **Coherence Strategy:** Analyze ONE component per iteration. Present findings. Await user acknowledgment before proceeding to the next. ### Audit Dimensions ## For each component, evaluate against all dimensions. Rate each: `[PASS | WARN | FAIL]` #### Dimension A: Minimal Surface (Encapsulation) The API should expose only what external consumers need. | Check | Description | Anti-Pattern | |:------|:------------|:-------------| | A.1 | Internal implementation details are hidden | `pub` on helper functions; `_internal` prefixes on public items | | A.2 | Configuration uses sensible defaults | Requiring 10 parameters when 2 would suffice | | A.3 | No "god objects" with excessive responsibility | Single type with 50+ methods across unrelated concerns | | A.4 | Private fields with controlled accessors where appropriate | All fields `pub` when mutation should be constrained | **Remediation Patterns:** - Use visibility modifiers (`pub(crate)`, `internal`, `private`) - Builder pattern for complex construction - Facade pattern to simplify overly complex subsystems --- #### Dimension B: Type Safety & Error Unrepresentability Leverage the type system to make invalid states impossible to construct. | Check | Description | Anti-Pattern | |:------|:------------|:-------------| | B.1 | Domain values use newtypes, not primitives | `user_id: String` instead of `UserId(String)` | | B.2 | Enums are exhaustive over valid states | Magic strings like `status: "pending"` vs `Status::Pending` | | B.3 | Result/Option used properly; no null/nil abuse | Returning `null` for "not found" vs `Option<T>` | | B.4 | Builder/factory patterns prevent invalid construction | Partially-constructed objects allowed to exist | | B.5 | Phantom types or typestate for protocol enforcement | State machine transitions not enforced at compile time | | B.6 | Deserialization targets concrete types | Deserializing to `Map<String, Any>` then validating at runtime | **Language-Specific Checks:** - **Rust:** Proper `#[non_exhaustive]` usage; no unwrap in library code; correct `Send`/`Sync` bounds - **Go:** Proper error wrapping; unexported fields for invariants; meaningful zero values - **TypeScript:** Strict mode; no `any`; discriminated unions over string literals - **Python:** Type hints on public API; @dataclass for structured data; no Dict[str, Any] leakage **Remediation Patterns:** - Parse, don't validate (deserialize to concrete types) - Newtype pattern for domain primitives - Typestate pattern for state machines - `#[must_use]` on Result-returning functions --- #### Dimension C: Composability & Self-Reuse Higher-level APIs should compose lower-level primitives, not duplicate logic. | Check | Description | Anti-Pattern | |:------|:------------|:-------------| | C.1 | Higher abstractions compose lower ones | Convenience function re-implements core logic | | C.2 | Common patterns extracted to reusable utilities | Same validation logic in 5 different functions | | C.3 | Trait/interface hierarchies are coherent | Trait with 20 methods when 3 would compose | | C.4 | Extension points via composition, not inheritance | Deep inheritance hierarchies | **Remediation Patterns:** - Extract shared logic to internal helpers, call from public API - Use decorator/wrapper types for cross-cutting concerns
From nrdxp/predicate, MIT.
More from nrdxp/predicate
- 0.591score
refine
nrdxp
SOP for the automated refinement loop (/refine) workflow.
SkillBFreshness: B★ 10Claude Code +9 - 0.590score
remediation
nrdxp
Discipline for repairing a false claim once it has propagated: select what depends on it, produce a replacement, and accept with an expiring verdict.
SkillBFreshness: B★ 10Claude Code +9 - 0.590score
record
nrdxp
Durable categorized record-keeping for any predicate-enabled walk.
SkillBFreshness: B★ 10Claude Code +9 - 0.590score
boundary
nrdxp
Normative sufficiency conditions for Initial Boundary Conditions (IBCs) and the SOP for the cheap-tier boundary refinement loop (/boundary).
SkillBFreshness: B★ 10Claude Code +9 - 0.590score
council
nrdxp
The LAW a council SEAT is bound by — deliberation protocol, pact obligations, governance, and decision-ledger recording — the discipline half of a seat.
SkillBFreshness: B★ 10Claude Code +9 - 0.545score
commit-hygiene
nrdxp
Rules, conventions, and constraints for formatting git commit messages and committing at logical boundaries.
SkillCFreshness: C★ 10Claude Code +9 - 0.545score
chronicle
nrdxp
Maintain and update the persistent project chronicle (docs/chronicle.md).
SkillCFreshness: C★ 10Claude Code +9 - 0.545score
security-audit
nrdxp
Phased risk-centric security assessment framework.
SkillCFreshness: C★ 10Claude Code +9 - 0.540score
ai-audit
nrdxp
SOP for auditing AI-generated code.
SkillCFreshness: C★ 10Claude Code +9 - 0.540score
formal-foundations
nrdxp
Mathematical foundations, logical structures, and formal verification guidance.
SkillCFreshness: C★ 10Claude Code +9 - 0.540score
core
nrdxp
SOP for the micro-execution C.O.R.E.
SkillCFreshness: C★ 10Claude Code +9 - 0.540score
engineering
nrdxp
Core technical, safety, and maintainability rules for codebase edits.
SkillCFreshness: C★ 10Claude Code +9
Signals
- Stars
- 10
- Forks
- 2
- Open issues
- 1
- Last commit (this folder)
- Jun 20, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/nrdxp/predicate
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from nrdxp
- 0.591score
refine
nrdxp
SOP for the automated refinement loop (/refine) workflow.
SkillBFreshness: B★ 10Claude Code +9 - 0.590score
record
nrdxp
Durable categorized record-keeping for any predicate-enabled walk.
SkillBFreshness: B★ 10Claude Code +9 - 0.590score
boundary
nrdxp
Normative sufficiency conditions for Initial Boundary Conditions (IBCs) and the SOP for the cheap-tier boundary refinement loop (/boundary).
SkillBFreshness: B★ 10Claude Code +9 - 0.590score
remediation
nrdxp
Discipline for repairing a false claim once it has propagated: select what depends on it, produce a replacement, and accept with an expiring verdict.
SkillBFreshness: B★ 10Claude Code +9 - 0.590score
council
nrdxp
The LAW a council SEAT is bound by — deliberation protocol, pact obligations, governance, and decision-ledger recording — the discipline half of a seat.
SkillBFreshness: B★ 10Claude Code +9 - 0.545score
commit-hygiene
nrdxp
Rules, conventions, and constraints for formatting git commit messages and committing at logical boundaries.
SkillCFreshness: C★ 10Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get api-audit running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
api-audit skill. Agent Mart. https://agentmart.dev/skills/nrdxp-api-audit (last updated 2026-10-24)