Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/ariel-frischer/autospecWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/ariel-frischer/autospec/autospec.constitution)<a href="https://agentmods.dev/commands/ariel-frischer/autospec/autospec.constitution"><img src="https://agentmods.dev/badge/commands/ariel-frischer/autospec/autospec.constitution/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/ariel-frischer/autospec/autospec.constitution"><img src="https://agentmods.dev/badge/commands/ariel-frischer/autospec/autospec.constitution.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00009 | $0.01778 |
| Opus 5 | $0.00005 | $0.00889 |
| Sonnet 5 | $0.00002 | $0.00356 |
| Haiku 4.5 | $0.00001 | $0.00178 |
Grade A, and why
autospec.constitution scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 230 lines — stays where its author put it; the contents beside it link to each section on GitHub.
User Input
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Outline
You are creating or updating the project constitution. This file defines the non-negotiable principles and governance rules for the project that all specifications, plans, and implementations must adhere to.
Pre-computed Context
The following values have been pre-computed and are available for use:
- AUTOSPEC_VERSION:
{{.AutospecVersion}} - CREATED_DATE:
{{.CreatedDate}}
Follow this execution flow:
-
Load existing context:
- Check if
.autospec/constitution.yamlexists (preferred path) - Check if
.autospec/memory/constitution.yamlexists (legacy fallback) - Check if
.autospec/memory/constitution.mdexists (for migration) - Check if
AGENTS.mdexists at project root (or agent-specific file likeCLAUDE.mdas fallback) - Extract any existing principles, governance rules, or project guidelines
- Check if
-
Collect/derive values:
- If user input supplies principles, use them
- Otherwise infer from existing repo context (README, docs, prior constitution)
- For governance dates:
ratified: Original adoption date (if unknown, use today)last_amended: Today if changes are made
- For versioning: Use semantic versioning
- MAJOR: Backward incompatible governance/principle changes
- MINOR: New principle/section added
- PATCH: Clarifications, wording fixes
-
Generate constitution.yaml:
constitution: project_name: "<project name>" version: "1.0.0" ratified: "<YYYY-MM-DD>" last_amended: "<YYYY-MM-DD>" preamble: | <Brief statement of the project's purpose and why these principles matter. This should be 2-3 sentences that set the context for the principles below.> principles: - name: "Test-First Development" id: "PRIN-001" category: "quality" # quality | process | architecture | security | governance priority: "NON-NEGOTIABLE" # NON-NEGOTIABLE | MUST | SHOULD | MAY description: | All new code must have tests written before implementation. Tests define the expected behavior and serve as living documentation. rationale: "Ensures code quality and prevents regressions" enforcement: - mechanism: "Pre-commit hooks" description: "Automated checks prevent commits without tests" - mechanism: "CI pipeline" description: "Build fails if test coverage decreases" exceptions: - "Prototype/spike code explicitly marked as such" - "Configuration files and documentation" - name: "Performance Standards" id: "PRIN-002" category: "quality" priority: "MUST" description: | Validation functions must complete in <10ms. User-facing operations must complete in <1s. rationale: "Maintains responsive user experience" enforcement: - mechanism: "Benchmark tests" description: "Automated performance regression tests" exceptions: [] - name: "Idempotency & Retry Logic" id: "PRIN-003" category: "architecture" priority: "MUST" description: | All operations must be idempotent where possible. Configurable retry limits for recoverable failures. rationale: "Enables reliable distributed operations" enforcement: - mechanism: "Code review" description: "Reviewers check for idempotent patterns" exceptions: - "One-time initialization operations" sections: - name: "Code Quality" content: | All code must pass linting and formatting checks. No warnings allowed in production builds. Dependencies must be explicitly versioned. - name: "Documentation" content: | Public APIs must have documentation. Architecture decisions must be recorded. Breaking changes must be documented in CHANGELOG. - name: "Security" content: | No secrets in code or version control. Dependencies must be regularly audited. User input must be validated and sanitized. governance: amendment_process: - step: 1 action: "Propose change via pull request" requirements: "Include rationale and impact assessment" - step: 2 action: "Review period" requirements: "Minimum 48 hours for team review" - step: 3 action: "Approval" requirements: "Requires maintainer approval" - step: 4 action: "Merge and version bump" requirements: "Update version and last_amended date" versioning_policy: | Constitution versions follow semantic versioning. MAJOR: Changes that invalidate existing compliant code. MINOR: New principles or expanded guidance. PATCH: Clarifications without behavioral change. compliance_review: frequency: "quarterly" process: "Review all principles for relevance and enforcement effectiveness" rules: - "Changes require review by at least one maintainer" - "Breaking changes require explicit team discussion" - "Emergency changes may bypass review with post-hoc documentation" sync_impact: # This section is auto-generated when constitution is updated version_change: "1.0.0 -> 1.0.0" modified_principles: [] added_sections: [] removed_sections: [] templates_requiring_updates: [] follow_up_todos: [] _meta: version: "1.0.0" generator: "autospec" generator_version: "{{.AutospecVersion}}" created: "{{.CreatedDate}}" artifact_type: "constitution"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 230 lines · 9 tokens per session scan A ecdcd94672b8
autospec.constitution is a command published in the GitHub repository ariel-frischer/autospec (141 stars, last pushed 1mo ago), licensed MIT. It adds 9 tokens to every session and 1,778 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
speckit.companion.implement
Companion implement — execute tasks.md in dependency order, then mark complete.
speckit.companion.plan
Companion plan — implementation plan with research & design artifacts.
speckit.companion.doctor
Report on a spec's run health — unfinished steps, unjournaled tasks, step bleed, drift you can judge, a step that closed having verified nothing, a step that closed without the file it promised, and why completion did not land (read-only, retroactive, never halts).
speckit.companion.living-move
Move a living spec between central and colocated storage — file, tiers, and registry together (opt-in, reversible).
speckit.companion.living-validate
Check the shape of living specs and a feature spec's deltas — a requirement with no scenario, a scenario missing WHEN or THEN, a duplicate heading, a delta pointing at nothing (opt-in, read-only, never halts).
speckit.companion.after-specify
Capture the current spec-kit step into .spec-context.json for the Companion GUI.