agentleFS
arch3rProarch3rPro/ark-space/AGENTS.md

ark-space

AGENTS.md1 starsChanged 32 days agoMITView on GitHub

ArkSpace is a creative workspace for reusable Agent Skills and their supporting tools. This repository is a greenfield redesign; keep the existing ArkSpace repository unchanged unless a task explicitly targets it. Prefer a narrow concrete module over a speculative framework. Introduce an extension point only when multiple implementations or consumers need to vary independently.

  • Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.

    Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.

  • In this repository11 other files it gives its agents.

The file

Show its rules and text

We split this AGENTS.md into the rules it gives an agent

26 rules. About 1 is common, 14 are distinctive, and 11 are very specific to this project.

  • ≈1

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈14

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read README.md for product scope.

    line 7
  2. Very specific:

    Read docs/architecture.md before changing boundaries, protocols, provider execution, credentials, or state.

    line 8
  3. Very specific:

    Read docs/migration.md before porting behavior or fixtures from the existing project.

    line 9
  4. Very specific:

    Read INSTALL.md before installing, upgrading, configuring credentials, or registering MCP for a user.

    line 10
  5. Distinctive:

    Read the relevant ADR before implementing or changing a decision it owns.

    line 11
  6. Very specific:

    Keep canonical Skills in skills/<skill-name>/SKILL.md.

    line 15
  7. Very specific:

    Keep shared Node/TypeScript implementation under src/.

    line 16
  8. Distinctive:

    Keep deterministic, self-contained Skill scripts inside the owning Skill.

    line 17
  9. Very specific:

    Do not require guidance-only, skill-local, or external-tool Skills to use arks.

    line 19
  10. Distinctive:

    Keep plugin version metadata aligned only during an explicit release.

    line 21
  11. Distinctive:

    Add host adapters, roles, workflows, registries, or broader plugin systems only for a concrete consumer.

    line 22
  12. Common:

    Keep private credentials, endpoints, state, and personal configuration outside version control.

    line 23
  13. Distinctive:

    Verify behavior through contract, real-entry, isolated-Skill, and applicable cross-platform tests.

    line 31
  14. Distinctive:

    Prefer a narrow concrete module over a speculative framework.

    line 34
  15. Distinctive:

    Follow the open Agent Skills directory and frontmatter specification.

    line 38
  16. Very specific:

    Keep SKILL.md focused on activation, operation selection, safety, and result use.

    line 39
  17. Distinctive:

    Test each published Skill outside the repository so sibling directories cannot satisfy hidden dependencies.

    line 43
  18. Very specific:

    Use arks invoke <capability> --input <file> as the stable machine boundary.

    line 47
  19. Distinctive:

    Keep stdout machine-readable.

    line 48
  20. Distinctive:

    Before running checks, name the changed behavior, affected callers/boundaries, and the smallest test set that covers them.

    line 57
  21. Very specific:

    Do not run the full suite after every small change.

    line 64
  22. Distinctive:

    Do not delete tests merely to reduce the count.

    line 65
  23. Very specific:

    Use commands defined by the repository's package.json.

    line 70
  24. Very specific:

    Follow docs/maintenance.md#plugin-release-boundary: plugins load canonical sources directly.

    line 73
  25. Distinctive:

    Do not publish packages, create tags, push releases, or change versions unless explicitly requested.

    line 74
  26. Distinctive:

    Leave unrelated and user-created files untouched.

    line 75

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

Agent Guidance

ArkSpace is a creative workspace for reusable Agent Skills and their supporting tools. This repository is a greenfield redesign; keep the existing ArkSpace repository unchanged unless a task explicitly targets it.

Start Here

  • Read README.md for product scope.
  • Read docs/architecture.md before changing boundaries, protocols, provider execution, credentials, or state.
  • Read docs/migration.md before porting behavior or fixtures from the existing project.
  • Read INSTALL.md before installing, upgrading, configuring credentials, or registering MCP for a user.
  • Read the relevant ADR before implementing or changing a decision it owns.

Project Contract

  • Keep canonical Skills in skills/<skill-name>/SKILL.md.
  • Keep shared Node/TypeScript implementation under src/.
  • Keep deterministic, self-contained Skill scripts inside the owning Skill.
  • Let Skills depend on the arks machine protocol only when shared execution is necessary.
  • Do not require guidance-only, skill-local, or external-tool Skills to use arks.
  • Support native plugin installation through manifests that reference canonical Skills directly.
  • Keep plugin version metadata aligned only during an explicit release; do not create generated plugin mirrors.
  • Add host adapters, roles, workflows, registries, or broader plugin systems only for a concrete consumer.
  • Keep private credentials, endpoints, state, and personal configuration outside version control.

Design Workflow

  1. Name the user task and its completion semantics.
  2. Decide whether the behavior belongs in guidance, a Skill-local script, an external tool, or a shared capability.
  3. For shared capabilities, define the request, result, error, cancellation, and side-effect contract before implementation.
  4. Implement the smallest real vertical slice through the installed arks entry path.
  5. Verify behavior through contract, real-entry, isolated-Skill, and applicable cross-platform tests.
  6. Select tests by the change's impact: run the smallest relevant test file or command first; expand only when shared boundaries, generated artifacts, installation, or release behavior are affected.

Prefer a narrow concrete module over a speculative framework. Introduce an extension point only when multiple implementations or consumers need to vary independently.

Skill Rules

  • Follow the open Agent Skills directory and frontmatter specification.
  • Keep SKILL.md focused on activation, operation selection, safety, and result use.
  • Move operation-specific reference material behind explicit relative links.
  • Declare required tools, system packages, network access, and supported hosts in compatibility and the Skill instructions.
  • A missing CLI may trigger guided installation, but environment changes require user consent and an official, verifiable source.
  • Test each published Skill outside the repository so sibling directories cannot satisfy hidden dependencies.

Runtime and Security Rules

  • Use arks invoke <capability> --input <file> as the stable machine boundary.
  • Keep stdout machine-readable; send diagnostics and progress to stderr.
  • Validate CLI input, config, persisted state, provider responses, and other untrusted boundaries.
  • Store credential references and key metadata, never raw keys, in state.
  • Redact secrets from errors, logs, fixtures, snapshots, and telemetry.
  • Model timeout, cancellation, partial output, retries, and provider fallback as separate outcomes.
  • Browser and monitor operations require explicit ownership, confirmation for material side effects, and verified cleanup.

Test Scope

  • Before running checks, name the changed behavior, affected callers/boundaries, and the smallest test set that covers them. Reuse passing evidence while its relevant inputs are unchanged.
  • Documentation-only changes: check affected links, examples, and factual alignment; run npm run validate only when structure, metadata, or validation rules are affected. Do not run runtime tests for prose-only edits.
  • Small bug fixes and isolated module changes: run the directly related test file(s), plus npm run typecheck when TypeScript types or imports changed. Use npm test -- tests/<related>.test.ts to filter the existing test command; reuse a current build with npm run test:watch -- --run tests/<related>.test.ts when no build inputs changed.
  • Capability, protocol, provider, config, persistence, CLI entry, or security changes: run the directly related contract and real-entry tests; include npm run validate when project structure or manifests are touched.
  • Setup TUI changes: run the relevant TUI unit tests and npm run test:setup for PTY, installed-entry, or terminal behavior changes.
  • Packaging, dependency, build, manifest, or installation changes: run npm run verify:package (already includes a build) and the directly related tests; add npm run test:hosts only when installed host integration is affected. Skill prose changes need only relevant guidance/link checks; changed Skill scripts or dependency boundaries need isolated-Skill checks.
  • Cross-platform, release, or broad shared-boundary changes: run npm run check and the applicable platform/installed-entry checks.
  • Do not run the full suite after every small change. Run npm test or npm run check when the impact justifies it, before a release, or when the user explicitly requests full regression.
  • Do not delete tests merely to reduce the count. Remove or merge only tests that duplicate the same observable contract; retain security, redaction, persistence, cancellation, concurrency, real-entry, and cross-platform coverage.
  • Report the exact test scope and any deliberately skipped broader checks.

Validation and Release

  • Use commands defined by the repository's package.json; do not document validation commands that do not exist.
  • Documentation changes must leave local links valid and English/Chinese README facts aligned.
  • Structural changes require applicable cross-platform and installed-entry evidence before completion.
  • Follow docs/maintenance.md#plugin-release-boundary: plugins load canonical sources directly; only the Node/TypeScript CLI is built, while plugin versions change during an explicitly requested release.
  • Do not publish packages, create tags, push releases, or change versions unless explicitly requested.
  • Leave unrelated and user-created files untouched.

Agent skills

Issue tracker

Issues and specs live as markdown files under .scratch/<feature-slug>/; there is no remote tracker. See docs/agents/issue-tracker.md.

Domain docs

Single-context: one root CONTEXT.md and status-split ADRs under docs/adr/. See docs/agents/domain.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.