Agent skill

Requirement Tracing

by eclipse-ankaios in eclipse-ankaios/ankaios

Manage requirement tracing — write new or update existing requirements/design decisions, link implementations and tests to existing ones, and maintain tracing consistency.

Apache-2.0Auto-check passedDevelopment

Install Requirement Tracing

skills CLI
$ npx skills add eclipse-ankaios/ankaios --skill requirement-tracing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install eclipse-ankaios/ankaios requirement-tracing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/eclipse-ankaios/ankaios.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/requirement-tracing .claude/skills/requirement-tracing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
requirement-tracing
GitHub stars
125
Token cost
~2.4k tokens
SKILL.md length
952 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Manage requirement tracing — write new or update existing requirements/design decisions, link implementations and tests to existing ones, and maintain tracing consistency.

  • Works in 2 steps: Increment the version number in the ID:… → Update all tracing comments in…
  • Tasks that involve Architecture decision records
  • SKILL.md covers Overview, Requirement locations, Requirement format and Design decisions, plus 9 more sections
  • Calls just

What it does

Requirement Tracing is an agent skill from eclipse-ankaios/ankaios. Manage requirement tracing — write new or update existing requirements/design decisions, link implementations and tests to existing ones, and maintain tracing consistency. Applies automatically when implementing features or fixing bugs.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Architecture decision records. It works with gRPC. The repository describes itself as: Eclipse Ankaios provides workload and container orchestration for embedded devices like automotive HPCs. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Architecture decision records

Example prompts

  • “/requirement-tracing”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Increment the version number in the ID: swdd~name~1 → swdd~name~2
  2. Update all tracing comments in code/tests that reference the old version

What it can do on your machine

Read from SKILL.md and the folder at commit ae46412. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • just

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Requirement Tracing loads about 2.4k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 952 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from eclipse-ankaios/ankaios at commit ae46412, republished under its Apache-2.0 licence (© eclipse-ankaios). 952 words, ~2,423 tokens.

Download SKILL.mdSave it as .claude/skills/requirement-tracing/SKILL.md (or your agent's skills folder).
name
requirement-tracing
description
Manage requirement tracing — write new or update existing requirements/design decisions, link implementations and tests to existing ones, and maintain tracing consistency. Applies automatically when implementing features or fixing bugs.

Requirement Tracing Skill

This skill describes how to write, link, and maintain requirements and design decisions in the Ankaios project.

Overview

Ankaios uses OpenFastTrace for bidirectional requirement tracing. Every feature must be traceable from its software design decision (swdd) through implementation and tests.

The tracing chain is:

text
swdd (requirement/design decision)
  ← impl (source code)
  ← utest (unit test)
  ← itest (integration test)
  ← stest (system test)

Requirement locations

Requirements and design decisions live in the SW design document of the crate they belong to:

CrateFile
serverserver/doc/swdesign/README.md
agentagent/doc/swdesign/README.md
commoncommon/doc/swdesign/README.md
ank (CLI)ank/doc/swdesign/README.md
grpcgrpc/doc/swdesign/README.md
ank_schemaank_schema/doc/swdesign/README.md
ankaios_apiankaios_api/doc/swdesign/README.md

Requirement format

Each requirement is a Markdown section with this structure:

markdown
#### Human-readable title
`swdd~<crate-prefix>-<descriptive-name>~<version>`

Status: approved

[When <condition separated by and>,] <object> shall <do something>.

Comment:
<Optional additional context.>

Rationale:
<Optional explanation of why this requirement exists.>

Tags:
- <UnitName>

Needs:
- impl
- utest
Wording rules
  • Requirements shall use "shall" — never "should", "will", "is", etc.

  • Only one object (subject) is allowed per requirement.

  • Use the pattern: [When <condition>,] <object> shall <action>.

  • When a requirement describes a sequence of actions by the same object, use one "shall" statement followed by an ordered list:

    markdown
    When X happens, the server shall do Y by performing the following actions in order:
    
    1. First action
    2. Second action
    3. Third action
  • When a requirement describes multiple independent behaviors, split into separate requirements.

  • Attributes of a configurable entity can be listed:

    markdown
    The server shall support configuring X with the following attributes:
    
    - `name` — description (required)
    - `prio` — description (optional, default `0`)
  • Comment and Rationale sections are optional; omit them only when the reason is obvious and the rationale would not add new information. In all other cases, include a Rationale.

  • Avoid term shadowing: do not reuse a term in a different requirement with a different meaning. For example, if "veto" means rejecting an entire state update, do not use "vetoed workloads" to describe individual workloads dropped from a list.

ID naming conventions
  • Prefix with the crate/component: server-, agent-, cli-, grpc-, common-, ank-schema-
  • Use lowercase kebab-case for the descriptive part
  • Version starts at 1 and increments when the requirement text changes materially
Needs field

Specify which artifact types must cover this requirement:

ArtifactWhen to include
implAlways (every requirement needs implementation)
utestWhen unit-testable logic exists
itestWhen integration between components is tested using mocked components
stestWhen end-to-end system behavior must be validated
Tags field

Tags reference the structural unit(s) (from the "Structural view" section of the swdesign doc) that implement this requirement. Use PascalCase unit names. Add tags to the Structural view in case new units are added with the implementation.

Design decisions

Design decisions use the same format but add the following fields between Rationale or Comment and Needs:

markdown

Assumptions:
<What was assumed to be true.>

Considered alternatives:
- **Alternative A**: <description and why rejected>
- **Alternative B**: <description and why rejected>

Linking implementation to requirements

In source code, add a tracing comment on the line(s) that implement the requirement:

rust
// [impl->swdd~server-loads-startup-state-file~3]
fn load_startup_state(path: &Path) -> Result<State> {
    // ...
}

Rules:

  • Place the comment directly above the line(s) that satisfy the requirement

  • If the whole code in a .rs file implements the requirement, place the tracing anchor after the use statements

  • One comment per requirement per logical block (don't repeat on every line)

  • Multiple requirements can be traced from the same code block using separate comments:

    rust
    // [impl->swdd~server-validates-desired-state-api-version~1]
    // [impl->swdd~server-fails-on-invalid-startup-state~1]

Linking unit tests to requirements

In test functions, add a tracing comment directly above the test:

rust
// [utest->swdd~server-loads-startup-state-file~3]
#[test]
fn test_loads_startup_state() {

    let result = load_startup_state(&path);
    assert!(result.is_ok());
}

If a test covers multiple requirements, add multiple comments.

Linking system tests to requirements

In Robot Framework .robot files, add a tracing comment above or inside the test case:

robot
# [stest->swdd~server-loads-startup-state-file~3]
*** Test Cases ***
Server loads startup state from file
    [Documentation]    Verify server loads state from YAML file
    ...

When to write new requirements

Write a new requirement when:

  • Implementing new user-visible behavior or a new feature
  • Adding a new constraint or validation rule
  • The behavior is not already described by an existing requirement

Write a new design decision when:

  • Making a non-obvious architectural choice
  • Choosing between multiple viable alternatives
  • The decision has long-term implications or trade-offs
Show full SKILL.md (414 more words)Show less

Link to an existing requirement without changes when:

  • The implementation satisfies the requirement as written
  • Adding new code that covers an already-documented behavior

Update an existing requirement (bump version) when:

  • The implementation changes the behavior described by the requirement
  • The requirement text no longer accurately describes what the code does
  • When bumping version: update the version in the ID AND update all existing [impl->...], [utest->...], [stest->...] references to the new version

Version bumping

When updating a requirement:

  1. Increment the version number in the ID: swdd~name~1 → swdd~name~2
  2. Update all tracing comments in code/tests that reference the old version

Important: Only bump the version when the requirement was already published on the main branch. If you are working on a feature branch and the requirement was introduced or last changed on that same branch (i.e., it has not been merged to main yet), update the requirement text in place without incrementing the version number. Version bumps are reserved for changes to requirements that are already part of the released baseline. 3. Update the requirement text to match the new behavior 4. Make sure that the traced implementation and tests are updated to satisfy the new version of the requirement

Validation

Ankaios uses OpenFastTrace (OFT) to verify that every requirement is covered by the required artifact types (impl, utest, etc.). OFT scans the src/, doc/ and tests/ directories, parses requirement IDs from Markdown and tracing comments from source code, and checks coverage.

Quick check via just
bash
just trace-requirements

This runs oft trace and generates an HTML report at build/req/req_tracing_report.html.

Running OFT directly
bash
oft trace <directories...> -a <artifact-types> [options]

Key options:

  • -a swdd,impl,utest,itest,stest — artifact types to include (always use this set)
  • -v all — show all requirements, not just problems (default only shows uncovered ones)
  • -o html -f report.html — generate an HTML report instead of plain text

Example showing all requirements:

bash
oft trace $(find . -type d \( -name 'src' -o -name 'doc' -o -name 'tests' \) -not -path './doc') -a swdd,impl,utest,itest,stest -v all
Comparing against main
bash
just compare-requirements

This compares the tracing report of the current branch against main and prints newly uncovered requirements.

VS Code snippets

Use the existing code snippets for quick insertion:

  • Type impl → expands to // [impl->$1]
  • Type utest → expands to // [utest->$1]
  • Type req → expands to a full requirement template

Workflow summary

When implementing a feature:

  1. Check if a matching requirement already exists in the relevant doc/swdesign/README.md
  2. If yes: add // [impl->swdd~requirement-name~version] tracing comments to implementation code
  3. If no: write a new requirement in the appropriate swdesign document, then trace it
  4. For tests: add // [utest->swdd~...] or # [stest->swdd~...] comments
  5. Verify with just trace-requirements that coverage is complete

© eclipse-ankaios, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/requirement-tracing of eclipse-ankaios/ankaios.

Open the folder on GitHubat commit ae46412

Compare with similar skills

Requirement Tracing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Requirement Tracing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Requirement Tracing this skilleclipse-ankaios/ankaios125—~2.4kAutomated safety check: PassApache-2.0
Project Knowledgeradix-ng/primitives2741 repos~833Automated safety check: PassMIT
Record A Decisioninkeep/open-knowledge4.4k—~3.5kAutomated safety check: PassGPL-3.0
Change Impactqshanx/docs-governance134—~395Automated safety check: PassMIT
Coding Standardtestdouble/han279—~8.6kAutomated safety check: PassMIT
Harness Drift From Historyruvnet/ruflo74k—~632Automated safety check: NotesMIT

Similar skills

  • Project Knowledge

    radix-ng/primitives

    A skill your agent uses when you need information about this project's architecture, tech stack, coding patterns, data model, deployment setup, git workflow, or UX guidelines.

    274 GitHub starsUsed in 1 repo~833 tokens
    DevelopmentAuto-check passed
  • Record A Decision

    inkeep/open-knowledge

    Records an architecture decision as a Nygard/MADR-shaped ADR under decisions/ — capturing the context that forced the choice, the options weighed, the decision itself, and its consequences in both…

    4.4k GitHub stars~3.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Change Impact

    qshanx/docs-governance

    在改代码、数据、接口或治理文档前做有证据的影响分析,并在实施后把计划影响与实际 diff 对照;覆盖代码调用、数据/Schema、API 契约、测试、文档、ADR、部署、迁移和回滚。用于跨模块修改、高风险变更、数据库迁移、认证、公共接口、用户问“会影响哪里”“改之前检查一下”或实施后需要反思偏差时。English triggers: change impact analysis, blast…

    134 GitHub stars~395 tokensUpdated today
    DevelopmentAuto-check passed
  • Coding Standard

    testdouble/han

    Creates and updates coding standards, conventions, rules, and guidelines for the current project.

    279 GitHub stars~8.6k tokensUpdated 8 days ago
    DevelopmentAuto-check passed
  • One-command drift detection. An agent skill from ruvnet/ruflo.

    74k GitHub stars~632 tokensUpdated today
    DevelopmentAuto-check: notes
  • Dotfile From Spec

    harperreed/dotfiles

    A skill your agent uses when you have a spec, design doc, structured plan, or promptplan and need to generate a pipeline Graphviz DOT file for headless autonomous building.

    334 GitHub stars~8.6k tokensUpdated 6 days ago
    DevelopmentAuto-check: notes

More from eclipse-ankaios/ankaios

  • Security Vulnerability Analysis

    eclipse-ankaios/ankaios

    Analyze potential Ankaios security vulnerabilities from pasted reports, local evidence, or advisory URLs.

    125 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Examples Checker

    eclipse-ankaios/ankaios

    Check Ankaios examples by building and running each example in the devcontainer and validating they work correctly.

    125 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Tutorial Checker

    eclipse-ankaios/ankaios

    Check Ankaios tutorials by executing safe documented shell steps and validating expected outputs.

    125 GitHub stars~1.8k tokensUpdated today
    Auto-check passed

Works with

Questions about Requirement Tracing

What does Requirement Tracing do?

Manage requirement tracing — write new or update existing requirements/design decisions, link implementations and tests to existing ones, and maintain tracing consistency. Requirement Tracing is an agent skill from eclipse-ankaios/ankaios. Manage requirement tracing — write new or update existing requirements/design decisions, link implementations and tests to existing ones, and maintain tracing consistency.

When should I use Requirement Tracing?

Requirement Tracing fits situations like: tasks that involve Architecture decision records.

How do I install Requirement Tracing in Claude Code?

Run `npx skills add eclipse-ankaios/ankaios --skill requirement-tracing -a claude-code`. Or copy the skill folder (.github/skills/requirement-tracing in eclipse-ankaios/ankaios) into .claude/skills/requirement-tracing in your project. Claude Code loads it when a task matches its description.

How do I install Requirement Tracing in Codex?

Run `npx skills add eclipse-ankaios/ankaios --skill requirement-tracing -a codex`. Or copy the skill folder (.github/skills/requirement-tracing in eclipse-ankaios/ankaios) into .agents/skills/requirement-tracing in your project. Codex loads it when a task matches its description.

Can I use Requirement Tracing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add eclipse-ankaios/ankaios --skill requirement-tracing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/requirement-tracing, .gemini/skills/requirement-tracing, .github/skills/requirement-tracing and .opencode/skills/requirement-tracing in your project.

What does Requirement Tracing need to run?

Going by SKILL.md and its folder, Requirement Tracing needs the command-line tools its instructions call (just).

Does Requirement Tracing access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Requirement Tracing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Requirement Tracing use?

Requirement Tracing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Requirement Tracing use?

About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Requirement Tracing?

Skills that share tags, products or a category with Requirement Tracing: Project Knowledge (radix-ng/primitives, 274 stars), Record A Decision (inkeep/open-knowledge, 4.4k stars), Change Impact (qshanx/docs-governance, 134 stars) and Coding Standard (testdouble/han, 279 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Requirement Tracing?

eclipse-ankaios (a GitHub organization) maintains it in eclipse-ankaios/ankaios, which has 125 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 8, 2026.

Source: eclipse-ankaios/ankaios on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.