decided-artifacts

A writing workflow for structured requirements-as-code files: Markdown documents that record requirements, decisions, plans, prompts, and designs in a consistent format.

In plain words
What is it for?
Use it to create, read, update, validate, and link AsDecided artifacts inside a project's decisions/ directory.
Why use it?
It keeps these project documents machine-checkable and prevents identity, structure, and relationship errors.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/asdecided/core/decided-artifacts
Any agent
npx skills add asdecided/core --skill decided-artifacts
Clone the repo
git clone --depth 1 https://github.com/asdecided/core

Made for: Claude Code, Codex.

Per session 62 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 805 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00062 $0.00805
Opus 5 $0.00031 $0.00402
Sonnet 5 $0.00012 $0.00161
Haiku 4.5 $0.00006 $0.00081

Measured 2d ago against content hash 34ee0cf808a9, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

decided-artifacts 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 2d 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.

.claude/skills/decided-artifacts/SKILL.md · 93 lines

How it starts

The opening of the file, as written. The whole thing — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.

RAC artifacts

RAC models product artifacts as typed, deterministic Markdown files. Five types exist: requirement, decision, roadmap, prompt, design. Type is inferred from ## section headings, never declared. Frontmatter carries identity only and is machine-generated.

Hard constraints

  • Write artifact files only inside the host project's decisions directory (decisions/ by default; if the project keeps artifacts elsewhere, confirm the path before writing). Never create or edit RAC artifacts outside that directory, and never modify files elsewhere in the project on this skill's behalf.
  • Never hand-write or alter an artifact id or its frontmatter identity block. decided new mints ids. Do not edit .decisions/config.yaml.
  • Do not invent sections or frontmatter fields. Use decided schema <type> to see what a type expects.
  • Validation must pass before the work is done: decided validate exits 0 and, if the project uses relationship links, decided relationships <dir> --validate exits 0.

Create an artifact

decided new requirement decisions/requirements/<slug>.md

decided new <type> <path> writes the canonical template with a minted id. It never overwrites an existing file. Then edit the file and replace every TODO placeholder with real content, keeping the ## headings intact. Requirements use testable statements of the form - [REQ-001] ... under ## Requirements.

If the project has no .decisions/config.yaml yet, run decided init once at the project root first (optionally --key <PREFIX> for the id prefix).

Read and classify

decided inspect <file>          # type, confidence, present/missing sections
decided schema                  # list registered types
decided schema <type>           # sections for one type; --template prints a starter

An invalid but recognisable file still classifies as its type and then fails validation — classification and validation are separate.

Validate

decided validate <file-or-dir>              # structural checks; exit 0 = pass
decided relationships <dir> --validate      # link integrity across the corpus

Read the full file on GitHub · 93 lines

Changes

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.

  1. 2d ago First seen · 93 lines · 62 tokens per session scan A 34ee0cf808a9

Subscribe to this mod's changes

decided-artifacts is a skill published in the GitHub repository asdecided/core (292 stars, last pushed 2d ago), licensed Apache-2.0. It adds 62 tokens to every session and 805 once invoked, about $0.0003 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.

Related

Other skills, from other repositories

project-docs

Software development project documentation management and progress tracking. Use when: (1) Initializing a new software project and need to create all required documentation (MRD, PRD, Technical Plan, Roadmap), (2) Updating project roadmap after completing tasks, (3) Getting a summary of current project progress, (4)…

lorissun2025/project-docs · 97 tokens

ingest-l1

L1 analysis loop for the abapwiki knowledge base: for each batch it launches the abap-analyzer sub-agent in parallel, then the adversarial judge abap-deepcheck (separate session), applies only the analyses that pass the fail-closed gate, and commits. Resumes exactly after an interruption. Use this skill to document…

Gixsy95/abap_wiki · 91 tokens

research-l2

Executes Phases 1-3 of the L2 process of the abapwiki knowledge base on a slice: launches the abap-functional-researcher sub-agent (gap discovery + multi-source auto-research: wiki -> raw/docs -> MCP abap-fs on the system read-only -> standard knowledge), ingests gaps and evidence, and generates questionnaires for…

Gixsy95/abap_wiki · 115 tokens

capture-answer

Ingests an expert's answers to an L2 questionnaire in the abapwiki knowledge base: transforms the answers (filled in the interviews/ file or given verbally) into a canonical citable expert-answer (slices/ /inputs/expert-answers/), moves gaps to 'answered' and closes the questions. Use this skill when the owner/expert…

Gixsy95/abap_wiki · 88 tokens

slice-init

Creates an L2 slice in the abapwiki knowledge base: a business process on which to build functional documentation. Writes the manifest (curated anchors + mandatory real owner) and derives the membership from the dependency graph (BFS hop<=2). Use this skill to start the L2 process on a custom domain. Does not promote…

Gixsy95/abap_wiki · 86 tokens

ingest-l0

L0 bootstrap of the abapwiki knowledge base: creates stubs for all custom objects from the TADIR. Use this skill to initialize the repo from scratch or to ingest a new TADIR export. Deterministic operations (no LLM sub-agent), idempotent.

Gixsy95/abap_wiki · 64 tokens