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.
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
- Distinctive: line 7
Read README.md for product scope.
- Very specific: line 8
Read docs/architecture.md before changing boundaries, protocols, provider execution, credentials, or state.
- Very specific: line 9
Read docs/migration.md before porting behavior or fixtures from the existing project.
- Very specific: line 10
Read INSTALL.md before installing, upgrading, configuring credentials, or registering MCP for a user.
- Distinctive: line 11
Read the relevant ADR before implementing or changing a decision it owns.
- Very specific: line 15
Keep canonical Skills in skills/<skill-name>/SKILL.md.
- Very specific: line 16
Keep shared Node/TypeScript implementation under src/.
- Distinctive: line 17
Keep deterministic, self-contained Skill scripts inside the owning Skill.
- Very specific: line 19
Do not require guidance-only, skill-local, or external-tool Skills to use arks.
- Distinctive: line 21
Keep plugin version metadata aligned only during an explicit release.
- Distinctive: line 22
Add host adapters, roles, workflows, registries, or broader plugin systems only for a concrete consumer.
- Common: line 23
Keep private credentials, endpoints, state, and personal configuration outside version control.
- Distinctive: line 31
Verify behavior through contract, real-entry, isolated-Skill, and applicable cross-platform tests.
- Distinctive: line 34
Prefer a narrow concrete module over a speculative framework.
- Distinctive: line 38
Follow the open Agent Skills directory and frontmatter specification.
- Very specific: line 39
Keep SKILL.md focused on activation, operation selection, safety, and result use.
- Distinctive: line 43
Test each published Skill outside the repository so sibling directories cannot satisfy hidden dependencies.
- Very specific: line 47
Use arks invoke <capability> --input <file> as the stable machine boundary.
- Distinctive: line 48
Keep stdout machine-readable.
- Distinctive: line 57
Before running checks, name the changed behavior, affected callers/boundaries, and the smallest test set that covers them.
- Very specific: line 64
Do not run the full suite after every small change.
- Distinctive: line 65
Do not delete tests merely to reduce the count.
- Very specific: line 70
Use commands defined by the repository's package.json.
- Very specific: line 73
Follow docs/maintenance.md#plugin-release-boundary: plugins load canonical sources directly.
- Distinctive: line 74
Do not publish packages, create tags, push releases, or change versions unless explicitly requested.
- Distinctive: line 75
Leave unrelated and user-created files untouched.
≈ “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.
Files
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.mdfor product scope. - Read
docs/architecture.mdbefore changing boundaries, protocols, provider execution, credentials, or state. - Read
docs/migration.mdbefore porting behavior or fixtures from the existing project. - Read
INSTALL.mdbefore 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
arksmachine 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
- Name the user task and its completion semantics.
- Decide whether the behavior belongs in guidance, a Skill-local script, an external tool, or a shared capability.
- For shared capabilities, define the request, result, error, cancellation, and side-effect contract before implementation.
- Implement the smallest real vertical slice through the installed
arksentry path. - Verify behavior through contract, real-entry, isolated-Skill, and applicable cross-platform tests.
- 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.mdfocused 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
compatibilityand 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 validateonly 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 typecheckwhen TypeScript types or imports changed. Usenpm test -- tests/<related>.test.tsto filter the existing test command; reuse a current build withnpm run test:watch -- --run tests/<related>.test.tswhen 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 validatewhen project structure or manifests are touched. - Setup TUI changes: run the relevant TUI unit tests and
npm run test:setupfor 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; addnpm run test:hostsonly 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 checkand the applicable platform/installed-entry checks. - Do not run the full suite after every small change. Run
npm testornpm run checkwhen 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.
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
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.

